We need a small addition to the dlib c++ library.
The dlib library provides a facial key point detection algorithm with the following API:
face_points = find_face_keypoints(image, face_rectangle)
Where'face_rectangle' is a region of the image where a face is located, 'face_points' here refers to facial keypoints detected by the algorithm.
We need this new API:
face_points = find_face_keypoints_with_previous(image, previous_face_points)
Where 'previous_detection' is simply the result from a previous call to 'find_face_keypoints'
This new addition will allow for better initialization of the key point detection.
Note: this does not require tracking points over frames, it is simply another method of initializing the key point localization.
The function 'find_face_keypoints_with_previous' should be stateless and so will not have access to the previous frame.
The work will require digging in to dlib's shape_predictor and it's data structures, and writing a one or more utility functions to transform the data. ( e.g. estimating affine transforms -- though dlib provides the heavy lifting related to things like that )
You should have a solid grasp of c++ and data structures.
Your result should include a small patch to the dlib file 'shape_predictor.h',
The relevant function to look at is:
..dlib/image_processing/shape_predictor.h line 323
and an example program in c++ demonstrating that the new function works, including:
- show that you can call your new function with a face image + a previous detection from a slightly translated image and you get the correct facial keypoint predictions.
-- however you want to visualize the results is OK.. provided it's reproducible and easy to prove it's working.
- instructions for compiling
If you have read this far, congratulations.. please indicate you have done so by including 'dlib' in somewhere in your reply so we can filter out the robots.
If you know what you're doing, this job could be completed in a matter of hours.
P.S. If we like working together, we have many other opportunities where computer vision expertise is required.
Thanks for your time!