问题
Lets say for each detected face, I have a set of landmarks like this (result from face detection API):
"eye_left": {
"x": 112.3,
"y": 210.3
},
"eye_right": {
"x": 217.5,
"y": 205.5
},
"nose": {
"x": 168.6,
"y": 269.7
},
"mouth l": {
"x": 119.1,
"y": 307.6
},
"mouth_l": {
"x": 119.1,
"y": 307.6
},
"mouth r": {
"x": 215,
"y": 302.9
},
"mouth_r": {
"x": 215,
"y": 302.9
},
"pose": {
"roll": -3.71,
"yaw": 3.92,
"pitch": -6.44
},
"b_ll": {
"x": 74.3,
"y": 184.6
},
"b_lm": {
"x": 103.7,
"y": 174.7
},
"b_lr": {
"x": 135.1,
"y": 182
},
"b_rl": {
"x": 194.1,
"y": 179.1
},
"b_rm": {
"x": 224.3,
"y": 167.9
},
"b_rr": {
"x": 253.3,
"y": 175.5
},
"e_ll": {
"x": 90.1,
"y": 210.5
},
"e_lr": {
"x": 134.5,
"y": 214.8
},
"e_lu": {
"x": 112.7,
"y": 201.1
},
"e_ld": {
"x": 111.9,
"y": 217.2
},
"e_rl": {
"x": 194.6,
"y": 212.6
},
"e_rr": {
"x": 239.9,
"y": 203.8
},
"e_ru": {
"x": 216.2,
"y": 195.8
},
"e_rd": {
"x": 219.1,
"y": 212.5
},
"n_l": {
"x": 144.1,
"y": 279.6
},
"n_r": {
"x": 190.9,
"y": 277.1
},
"m_u": {
"x": 167.9,
"y": 300.4
},
"m_d": {
"x": 169.2,
"y": 336.6
},
My question is, can I use these landmarks alone to compare faces for similarity? Perhaps using some mathematics algorithm?
Thank you.
回答1:
It's called geometric based face recognition algorithm. You can use it for face recognition. But suppose that faces you are dealing with, have a variety of facial pose variation. Then the appearance of image patches surrounding the corresponding points would be differ, so makes the recognition accuracy degrade. From this disadvantage, appearance based methods are used greatly than geometric based one for face recognition.
来源:https://stackoverflow.com/questions/27008830/comparing-faces-using-landmarks