Skip to content

Face Identification

This module lets you search for a face from an image in a database of faces. Learn more in the Web Service section.

Function call

The function call is searchPerson(searchRequest, callback).

searchRequest is an object representing the search request, it contains the following properties:

  • The groups property is optional and specifies the groups where the search should be conducted. If no groups are provided, the search is performed in the default group.
  • The imageUpload property represents the image to be uploaded for the search.
  • The threshold property denotes the similarity threshold.
  • The limit property defines the maximum number of results to be returned.
  • The detectAll property enables the detection of all faces in the image. If set to false, only the most central face is detected.
  • The outputImageParams property allows specifying image settings, such as image size and aspect ratio, for the face images that are returned in the identification response.

callback is a function invoked once the search operation is completed. Includes search results as a list of SearchPerson objects.

let imageUpload = PersonDatabase.ImageUpload(imageData: yourImageData)
let searchRequest = PersonDatabase.SearchPersonRequest(imageUpload: imageUpload)
searchRequest.groupIdsForSearch = groupIds
searchRequest.detectAll = true

FaceSDK.service.personDatabase.searchPerson(searchRequest: searchRequest) { response in
  // handle response
RFSImageUpload *imageUpload = [[RFSImageUpload alloc] initWithImageData:yourImageData];
RFSSearchPersonRequest *searchRequest = [[RFSSearchPersonRequest alloc] initWithImageUpload:imageUpload];
searchRequest.groupIdsForSearch = groupIds;
searchRequest.detectAll = YES;

[RFSFaceSDK.service.personDatabase searchPerson:searchRequest completion:^(RFSSearchPersonResponse * _Nonnull response) {
  // handle response
val imageUpload = ImageUpload()  
val imageData = <byte array>  
imageUpload.imageData = imageData  

val searchPersonRequest = SearchPersonRequest()  
searchPersonRequest.groupIdsForSearch = <array of String>
searchPersonRequest.imageUpload = imageUpload
searchPersonRequest.detectAll = true

    .searchPerson(searchPersonRequest, object : PersonDBCallback<List<SearchPerson?>?> {  
        override fun onSuccess(response: List<SearchPerson?>?) {
            //Handle positive response
        override fun onFailure(message: String) {
            //Handle failed request here
ImageUpload imageUpload = new ImageUpload();  
imageUpload.setImageData(byte[] data);

SearchPersonRequest searchPersonRequest = new SearchPersonRequest();  
searchPersonRequest.setGroupIdsForSearch(String[] ids);

    new PersonDBCallback<List<SearchPerson>>() {  
        public void onSuccess(@Nullable List<SearchPerson> response) {


        public void onFailure(@NonNull String message) {
            //Handle failed request here


The in-detail information is available in the Face SDK OpenAPI specification: