I had some time this weekend to 3D print a case for the HVC-P2 assembly. I just wanted something simple to protect the boards and to provide the capability to mount the unit on a tripod so that I would have a stable adjustable base for my testing. I also wanted something that will allow me to add a Raspberry Pi Zero Wireless later. I opted to to not do a "compact" design although I may want to do a redesign later.
I also spent some time reading through the 45 page manual for their evaluation software: http://omronfs.omron.com/en_US/ecb/products/pdf/B5T-007001_EvaluationSoftwareManual_B.pdf.
I found that there aren't as many handles to tweak as I thought. It seems a lot like the handles that are available for motion detection on ipcameras. You can set detection thresholds and detection regions, but there aren't any means (at least from the SDK) to tweak the underlying recognition algorithms. Not sure exactly what I was looking for.... maybe some image parameters. Anyway, the detection thresholds are based on the confidence level generated by the particular algorithm. The four categories (Human Body, Hand, Face, Recognition) of detection respond with a confidence level between 0-1000. You set the detection threshold for this confidence level. This can be done on a single snapshot or on a continuous basis. The detection regions are the roll, pitch and yaw of the object being detected (relative to a frontal image aligned to the camera axes). There are "stability" settings that are based on multiple frames (the number of frames is configurable), I think this was designed to be used with external software otherwise I don't think you could get repeatable detection results.
My first test was to go through all ten detection modes. There are 3 basic categories (Human Body, Hand, and Face) and under Face you can additionally detect 7 additional subcategories (Direction, Age, Gender, Gaze, Blink, Expression, and Recognition). Three out of the four categories with adjustable detection thresholds work fairly consistently with the default mid level of 500. Human Body will occasionally identify a can of air duster in the background as a human body. Face consistently works as long as you don't stress the detection region (e.g. turning your head to the side). Facial Recognition seems to work almost all of the time with high confidence scores. Recognition requires that you save (register) images that are associated with the person you are trying to identify. You can save up to 500 identities (users) with up to 10 images per user. The images are captured using the HVC-P2 camera. I don't see any capability of loading images from another source although you can save and restore the captured images. As a test I captured a couple of images of me and a couple from a Brenda Lee CD cover that I had handy.
The one category that hardly ever worked was Hand detection. That really surprised me. In the software manual it shows an example of it working with a perfect confidence level.
Here's an example of when it worked and then didn't work for me.
Hand detection only seemed to work about 5% of the time even with a lowered detection threshold of 50. I tried with different distances, different finger spacing, and different yaw angles. Not sure why this mode is consistently bad.
The other subcategories are more subjective and are harder to "grade". I do appreciate it when it reports my age under fifty, but I don't like being identified occasionally as female. Not knowing the algorithms, I think the most one would expect here is repeatability.
Lots of testing ahead. I'd like to quantify how well the HVC-P2 works at different distances and with different lighting conditions and backgrounds. And I'll want to try different people and a dog.