Attractiveness of a face plays an important role in lots of social endeavors. Facial beauty may influence a person’s entertainment, careers and daily life. By doing research on facial beauty, some key features which make a person looks more beautiful will be found.
For many years, researchers keep wondering what features or the combination characteristics will improve the facial beauty. In this program, the linear relationship between the shapes of eyes and eyebrows on a human face will be analyzed.
Our program is based on beautiful faces; therefore, we may need a large database contains as more beautiful faces as possible. I used web crawler to collect the pictures of stars who are recognized as beautiful in appearance. The code can be viewed by clicking the button below.
Notice that the format of the images needs to be unified. Also, the name should be numbered so that the further analysis will be more convenient. The codes for renaming and reformating can be viewed by clicking the button below.
After rename the images, a database is built. I have uploaded the data to Google Drive, and there are totally 6383 figures in the database. Click to button to download the database.
Average Face Model can be applied to the images (reference[1]). Click the button below to view the codes.
The average faces for asia male, asia female, caucasian male and caucasian female can be synthesized.
The pictures need to be aligned for further analysis. The package dlib is used to mark the feature points on human faces. The line between the of two eye-centers will be rotated to be horizontal, and then the MTCNN package is used to crop the images. Click the button below to view the codes.
Use dlib package to collect the feature points of eyes and eyebrows. Write the feature points to txt-format files. By calculating the length of the eyes and eyebrows, a ratio can be found. The relative codes can be viewed by clicking the button below.
According to the files and data collected in the previous steps, the eyebrow-eye ratio figures can be ploted. Notice that there are slight difference between left and right eyes or eyebrows, therefore, the ratio on the left is not exactly the same with the ratio on the right. The most intuitionistic graph is the histograms.




The corresponding codes can be viewed by clicking the button below.
It can be easily found that male has higher eyebrow-eye length ratio compares to female; Caucasian female tends to have shorter eyebrows than Asian female, while Caucasian male tends to have longer eyebrows compares to Asian male.
Reference:
Average Face : OpenCV ( C++ / Python ) Tutorial
https://www.learnopencv.com/average-face-opencv-c-python-tutorial/