Open wdgk opened 7 years ago
The faceId does not represent the results of facial recognition, and the API does not support facial recognition (i.e., identifying a specific individual).
The API does support continuous tracking of a face, based upon the position and motion of the face over time. When tracking a face in video, if the motion was relatively steady then the ID will be the same. But if the face is lost and a new face is detected (even if it was the same face as before), it will issue a new faceId to represent the start of a new face tracking session.
Thank you for your reply.
What I care about is that in the sample application we can track the face, but it is not possible in case of my own application.
I think that the difference between the sample application and my application is whether you are using bytebuffer or using bitmap.
Do you know why it is possible to face tracking on sample application and not possible to face tracking on my application?
Not sure. The choice of bytebuffer or bitmap shouldn't affect tracking.
If you're only looking to track one face -- the largest face visible -- you probably want to use LargestFaceFocusingProcessor instead of MultiProcessor. See this example:
umm... I want to track multi face finally but I tried LargestFaceFocusingProcessor instead of MultiProcessor.
FaceDetector fd = new FaceDetector.Builder(this.context)
.setTrackingEnabled(true)
.setClassificationType(FaceDetector.ALL_CLASSIFICATIONS)
.build();
fd.setProcessor(new LargestFaceFocusingProcessor.Builder(fd, new GraphicFaceTracker()).build());
As a result, there was no difference with LargestFaceFocusingProcessor and MultiProcessor.
FaceId coming to onNewItem () is a different Id every time.
Hi, did you find the solution?
This is a question.
I want to face tracking with FaceDetector like this. https://github.com/googlesamples/android-vision/tree/master/visionSamples/FaceTracker
In this sample, set ByteBuffer to Frame.imageData like this.
But, I set bitmap to Frame like this.
And use FaceDetector like this.
I expected that same faceId will be entered in onNewItem() as long as same face remain in the frame, but entered id was different every time. If I use bitmap instead of the bytebuffer, does it not works properly?
【Additional info】 ・In my application, it takes still pictures continuously at 7.5fps.