Omron Human Vision Components Sensor Board - Review

Table of contents

RoadTest: Omron Human Vision Components Sensor Board

Author: ralphjy

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?:

What were the biggest problems encountered?:

Detailed Review:

This is the RoadTest Review for the Omron HVC-P2 Vision Sensor with the long distance camera (B5T-007001-010).




I chose to do the detailed review as a series of blog posts.  This document will be the review summary and explain the rationale for my scoring.


Blog Posts:

1) OmronHuman Vision Components Sensor Board Roadtest

2) Omron HVC-P2 Roadtest - Getting Started

3) Omron HVC-P2 Roadtest - Case Printed

4) Omron HVC-P2 Roadtest - Python Code running on Windows

5) Omron HVC-P2 Roadtest - Python Code running on RPi3

6) Omron HVC-P2 - OKAO Vision Technology

7) Omron HVC-P2 Roadtest - Software

8) Omron HVC-P2 Roadtest - Application Feasibility

9) Omron HVC-P2 Roadtest - Test Methodology

10) Omron HVC-P2 Roadtest - Test Results Part 1

11) Omron HVC-P2 Roadtest - Test Results Part 2

12) Omron HVC-P2 Roadtest - Integration with RPi0W

13) Omron HVC-P2 Roadtest - Application Results




When the roadtest for the Omron HVC-P2 Human Vision Sensor became available, I read their May 2018 White Paper and was quite impressed by its capabilities.  It is a sensor only module in that it cannot operate standalone but requires interfacing to a computer or other processor for configuration, control, and communication.  The module includes a 1600x1200 resolution camera and a vision processor to perform Human Recognition functions such as body and face detection and facial recognition.  The module communicates with the command processor via a USB UART.  The module was originally designed for store kiosk type functions such as digital signage and vending machines where advertising or products can be optimized based on customer attributes identified by the vision processor (age, gender, expression).


There are two versions of the HVC-P2, one with a long distance camera and one with a wide angle camera.  The wide angle camera (180 degree field of view) is appropriate for kiosk applications.  The roadtest was for the long distance version (human body detection up to 17 meters) and my intent was to try to use it in a security monitoring application to identify human presence and possibly intent within a fixed area.


Support materials:

Specification: The hardware specification and command level specification are both thorough and well done.


Evaluation software:  An evaluation program is provided for Windows that demonstrates all of the device functions and allows seeing the effect of different configuration settings.  The program and its documentation are well done.  The source code for this program was not available when I started the roadtest, but I noticed that C# code was added earlier this month.


Sample software:  Sample code is provided for C, Python and Android.  I had issues building the C code on Windows due to some dependency issues with Visual Studio.  The software was built using Visual Studio 2010 and Visual Studio 2015 (I am using Visual Studio 2017 and had issues reverting back).  I ended up using the Python code, first on Windows and then on a Raspberry Pi 3 and finally on a Raspberry Pi 0 W.  The only complaint that I have about the software is that I wish there had been the equivalent of an API document that described the various functions, their parameters, and return values.  Obviously this information is available in the code, but it would have been easier to use in a standard form.  I did have problems understanding some of the parameters of the stabilization library (STBLib), but I finally did find an API document for it down a few levels deep in the sample code directory.  The sample code is very helpful in getting started quickly without having to program down at the device command level.  Omron did a decent job with the sample software, I just wish they had kept it up to date with current versions of Python and Visual Studio.


Application support:  When I was having issues understanding the return values from the stabilization library, I submitted an email inquiry and received a response requesting more information about what I was doing.  I responded that I was doing a product review and I never heard from them again.  I would venture to say that if you are an individual user without much revenue potential that you probably won't get much direct support.  It may not be fair that I give them a '5' score on "Support was available" but I am scoring from my perspective.



I had reasonably high expectations for this device based on the product literature.  I was disappointed with the repeatability and accuracy during static image testing.  I accept that certain characteristics can be hard from an accuracy standpoint (e.g. age, gender, expression), but for a static (fixed) image I had expected that the repeatability should be very good.  With a static image the detection confidence had a large range of variation (300-900).  That translated into a higher probability of mis-detection with a live image.  It could be that my expectations were too high.  I have used point-and-shoot cameras that have similar functions (face detection, smile detection, auto-focusing) and I have to admit those features only sort of work.  It's possible that those cameras are even using the same vision technology.


One function that had good repeatabilty was the facial recognition.  If you registered an image, the detection confidence with that same image was close to 100%.  That resulted in good detection accuracy with live images (you can register 10 images per user id and 100 users).  Unfortunately, none of the detection modes worked very well if there was much motion.


I think that it would have been nice if the device had been able to capture images from the camera independent of the vision processing.  Based on the spec and also test results, the maximum detection rate is 4-5 frames per second.  This causes issues when there is movement between frame captures.  The stability function is only able to mitigate small amounts of movement between frames.  Decoupling the frame capture from the vision processing would have allowed for a faster capture rate.  This would require the additional memory/storage but would also have provided the ability to use the vision processor independent of the camera.


Price to performance ratio:

The current price for the HVC-P2 (B5T-007001-010) on Newark Element14 is $370.  Components related to vision recognition (cameras and processors) have been improving rapidly in cost and performance over the last decade.  Miniature high resolution cameras and multi-core application processors are now available for less than $50.  The HVC-P2 was first introduced in 2016 and it's possible that its price might have been justified at that time.  I think to justify that cost today would require an enhanced feature set like an embedded control processor and wifi communication.  I also would have given it a higher score if it had performed better.


Overall impression:

While I was disappointed in the performance, I did enjoy using the HVC-P2.  It was interesting to see what attributes it would assign to my family and friends.  I don't feel like this sensor would be suitable for a high reliability application, but I think that if the price were lower that the wide angle version could be the basis for a great toy or interactive robot.