Portfolio Detail

Image 1 Image 2 Image 3 Image 4 Image 5 Image 6

Tip:Bar rectangle can move.

MachineLearning,Facial expression Similarity game

In my junior year I also started my thematic design project. As the team leader, I used face recognition to realize the subject of facial expression similarity comparison with 5 students, and made a game that can be played by one or two players. I took the responsibility of the main web page ui and core algorithm research. In order to make it easier to connect with the algorithm program, I re-learned PyQt5 by myself, and used qt designer to build our screen.

Then, after writing the game logic and using dlib to obtain the 68 key points of the face, the new challenge we faced was how to eliminate the difference between fat and thin faces and facial features when aligning faces. In order to solve this problem, my teammates and I studied the algorithm of Procrustes Analysis, performed face alignment to obtain the points we need to establish a matrix, and aligned the key point coordinate point sets of different faces. The alignment problem is solved by combining the projective transformation matrix with the idea of using the least squares method in machine learning to obtain a linear regression model to minimize the sum of sample point errors.

Faced with the question of how to quantify the similarity of facial expressions between people, I reviewed my AI course again. I remembered the distance measurement problem in the KNN algorithm for measuring data features, and I was inspired to use Euclidean distance The cosine distance solves the problem of the similarity algorithm of two facial expression features. But we found that the calculation was not accurate. Thinking that the human face is a non-Euclidean space, we borrowed foreign literature and used the idea of Riemannian distance measurement to embed the matrix into the Riemannian manifold by means of polar coordinate decomposition and singular value decomposition (SVD). and compute the Riemannian metric distance of two matrices to optimize our similarity algorithm.

In the end, we took our achievements to participate in the special practice competition held by the school, and finally won the second place among 15 teams in the system and software group. This practice expanded my AI technology application ability and helped me gain a deeper understanding of the application of AI technology in face recognition. At the same time, it also cultivates the ability of teamwork. The experience of being a team leader has also improved my communication, coordination and leadership skills. The biggest gain from this practice is that I learned how to solve the problem between the program and the demand. Some technical difficulties and practical problems we encountered during the project implementation process let us further cultivate innovation in the process of constantly trying to solve problems. ability.