Hacker News new | ask | show | jobs
Show HN: Perch-Eye – Cross-Platform Face Comparison SDK for Android and iOS (github.com)
3 points by vladimir_adt 364 days ago
Perch‑Eye is a lightweight, open-source SDK for on-device face comparison. It works natively on Android and iOS, supports custom detectors, and runs entirely offline — no cloud required. Ideal for privacy-focused mobile apps.
8 comments

Nice approach, but always wary of "lightweight" face recognition claims. What's the actual accuracy rate? False positive/negative rates? Have you published any benchmarks against industry standard datasets like LFW?
It's a bit challenging to create a dataset with all types of angled faces. We're currently working internally on a small dataset of around 128 images, but overall, testing is proceeding as planned.
Just cloned and built it - surprisingly easy setup! The demo app works well on my Pixel. One feature request: any plans for liveness detection? Would help prevent spoofing with photos.
It's already live and working with camera preview on both Android and iOS. We plan to update the demos to reflect that. A question for you in return: Are you satisfied with the non-Full HD live preview, or do you need a more detailed image for your project?
Quick question - what image formats does this support? Can it work directly with camera streams or just static images?
At a higher level, it supports all standard formats on Android (inherited from `BitmapFactory`). For a faster solution, you can pass the raw YUV image directly from the camera source. On iOS, the approach is similar, but the supported formats are limited to `UIImage`
Funny how face recognition went from sci-fi movie stuff to "just add this dependency" in like 10 years
Looks nice! Do you have any plans to extend the SDK to Flutter or ReactNative apps?
Yes, it's already available, though there are some issues on newer iOS devices, so we haven't officially released it yet. However, you can try it now using our Flutter demo here and React Native demo here. For now, I recommend starting on Android (both in Flutter and React Native), and then verifying on iOS.
how's the battery drain during continuous face detection? we're building a security app that might need to run this every few seconds
In terms of battery life, the AI doesn't even load the two performance cores — the main power consumption comes from the camera preview. On Android, it's more reliable to keep the device connected to a power source and use the battery as a backup. Camera preview can also be optimized by running continuously at a lower resolution, then switching to 720p to capture the actual image once a face is detected
what happens with edge cases like sunglasses, masks, or bad lighting? does it fail gracefully or just return garbage similarity scores?
Sunglasses mostly work, thanks to face shape recognition. Masks can be detected if they match common types included in the dataset (scary, ghost, cat, Halloween, etc.). We can calculate a 'human score,' but the robust solution is simple: if the face is detected as a human face, then it's not a rabbit mask
Overall this looks good for a v1. Offline strategy is the way to go with all the privacy concerns lately. Will be watching this project