Face++ API consists of 5 core classes of objects: Image, Face, Person, FaceSet and Group.
- Image means the input image that User provides for detection and recognition. User can pass image via a URL parameter or upload its binary file via HTTP POST. Every Image has a unique
- Face refers to any face detected in the Image. Each Image may contain multiple Faces. Each Face is assigned a unique
- Person means a Face collection of the same person. Each Person has a unique
person_name. A face can be assigned to two or more Persons simultaneously.
- Faceset means a set of Faces, while the faces are not required to be from the same person. Each Faceset has a unique
faceset_name. A face can be assigned to two or more Persons or Facesets simultaneously.
- Group is a set of Persons. Usually, Group is used as a search pool for identifying some Person. Each Group has a unique
Note that all the ids for Image, Face, Person, Faceset and Group are unique within each App and automatically assigned by system. Developer may use XXX_name attributes of Person and Group objects to store App defined ids respectively.
Pipeline of a Typical Face++ App
- Detect Face： Invoke /detection/detect to extract face location and attributes from input Image, and generate the face_id of target Faces.
- Create Person： Invoke /person/create to create a Person, and use /person/add_face to add Faces into this Person.
- Create Group： Invoke /group/create to create a new Group, use /group/add_person to add candidate Persons.
- Train Model：Invoke /recognition/train to train the models for recognition and search use.
- Recognize Face：Invoke /recognition/recognize for recognizing queried Face within the candidate Group.