There are 4 sets of extreme points of 4 persons, which are issued by MC Face API. It is necessary to compare one person with 3 others and find from these 3 a person belonging to the person with the first set. Before that, for all persons, it is necessary to apply affine transformations, I think, with the help of cv2.transform. The problem is that I do not know how to create a transformation matrix. I want to ask what is the principle to make it so that the faces are transformed properly.
1 answer
As far as I understand your task - you need to compare two sets of points.
To do this, OpenCV has a function estimateRigidTransform , which finds an affine transformation that best combines the points.
- I need not to combine the points, but to transform all of them so that it is possible to determine whether individuals are the same or not, the fact is that the sets of points are taken from photos that people look in different directions, and these points need to be turned so that , for example, the eye line was parallel to the line of the corners of the mouth and the coordinate vector - Arseny Protsenko
- Yep There are key points for an exemplary face full face. When comparing the key points of an arbitrarily rotated face, there will be such a transformation so that when it is applied this face will “straighten up”. I am confused only - is the proportion of the horizontal-vertical not distorted? - MBo
- it’s not very clear about the key points of the exemplary person, because all people have full-face points are different, and you need to go to them - Arseny Protsenko
|