Project Description
Project Description
I am looking for an experienced Flutter developer with a strong background in Computer Vision and AI Face Recognition to fix a critical bug in our HRMS & Payroll application.
The Current Setup:
We have a Flutter app that acts as an offline-first face attendance kiosk.
Face Detection: Google ML Kit Face Detection (to find the bounding box and landmarks).
Processing: We extract the crop from the camera stream (YUV420 to RGB), resize it, and pass it to a custom FaceRecognitionService to generate a face vector (128D/512D).
Matching: We use Cosine Similarity/Euclidean distance to compare the live vector against a local database (stored in Hive) of employee vectors.
Backend: Node.js / Express (handles syncing pending punches and updating employee lists).
The Problem (False Positives):
Our system is experiencing severe false positives due to lighting conditions (the "Washed-Out Vector" effect). If an employee registers their face in bright/harsh lighting, the facial features are washed out, and the AI saves a "bright blob" vector.
Later, if a completely different person tries to register or punch in under similar bright lighting, the system calculates an 80%–82% similarity match and incorrectly assumes they are the same person.
What I Need Done:
Algorithm Tuning: Fix the face matching logic in Dart. Implement L2 Normalization on the vectors before comparison to ensure the algorithm measures facial structure, not just image brightness.
Strict Lighting Gatekeepers: Implement robust luminance checks on the live camera stream. If the image is too bright (overexposed) or too dark, the app must block the capture and show a UI warning ("Lighting too harsh - Move indoors"). This must be applied to both the Registration Screen and the Attendance Screen.
Threshold Optimization: Recalibrate our matching threshold (currently set to 80%) to an industry-standard baseline (e.g., 88%+) to completely eliminate false duplicate matches without making it impossible for real employees to punch in.
Math Optimization: Ensure the distance calculation is highly optimized so the offline matching remains under 1.5 seconds on mid-range Android devices.
Required Skills:
Expert in Flutter & Dart
Experience with Camera/Image streams in Flutter (YUV420 format)
Experience with Google ML Kit Face Detection
Strong understanding of Vector Math, Cosine Similarity, and L2 Normalization
Node.js (for minor backend adjustments if required)
To Apply:
Please start your proposal with the word "VECTOR" so I know you read this. Briefly explain how you handle lighting variance and false positives in face recognition models. Generic bids will be ignored.