Home / News

Blog - News

TensorFlow Lite and Person Detection

Hi everyone,

Firmware version v3.5.0 is finally available! Launch OpenMV IDE to automatically download and install it. Firmware v3.5.0 fixes a large number of bugs and improves your OpenMV Cam functionality:

  • Update CMSIS to v5.4.0
  • Update H7 HAL to v1.5
  • Update MicroPython to 1.11.
  • Update WINC1500 firmware to v19.6.1.
  • Update WINC1500 host driver to v19.3.0.
  • Add STM32Cube.AI support.
  • Add TensorFlow Lite for microcontrollers.
  • Add built-in person detector with TF Lite.
  • Add ulab and openrv libraries.
  • Add support for 32-bit SDRAM @100 MHz.
  • Add Arduino UART example.
  • Add new ADC example for internal channels.
  • Add new HTTPs client examples.
  • Fix fb_alloc bug introduced in v3.5.0-beta.2.
  • Fix ADC driver to work with new H7 HAL.
  • Fix BMP bug when reading 24-bit images.
  • Fix Lepton Hardfault when setting VGA/RGB565.
  • Fix SPI WFI bug on F7.
  • Fix cpufreq H7 frequencies.
  • Fix Makefile order dependency issues.
  • Fix VSCALE0 low-power mode.
  • Enable mod USSL with MBEDTLS.
  • Enable QSPI internal storage for OpenMV-4R2.
  • Enable VSCALE0 for rev V devices.
  • All the modules in scripts/libraries are now frozen.

In particular, we've updated to the latest version of MicroPython, enabled USSL support, and added TensorFlow Lite for Microcontrollers support! With TensorFlow Lite support on your OpenMV Cam M7/H7 you can now run 8-bit quantized TensorFlow Lite flat buffer models! Included with this new functionality is a person detector model built-in to the flash on your OpenMV Cam M7/H7 that is capable of detecting if there's a person or no person within your OpenMV Cam's fields of view!

We decided to include the person detector model into your OpenMV Cam's flash to make using this feature really easy. That said, after adding the person detector model, USSL, and TensorFlow we're out of free flash space. New features added to the OpenMV Cam firmware now will require us to remove other things and optimize code to make space for them.

TensorFlow Lite for Microcontroller Details

You can read all about the new TensorFlow module here. For our initial release we support image classification and segmentation. Once Google releases a micro object detection model we can add support for object detection too. Anyway, out of the box we support the following TensorFlow layers such as depth wise convolution layers, convolution layers, max pool layers, fully connected layers, and more.

Moving on, your OpenMV Cam M7 and H7 are now running official TensorFlow code so you now leverage Google's desktop TensorFlow library (along with Keras) to train models. To get started you can follow Google's in-depth guide here.

Also, if you are interested in adding TensorFlow Lite for Microcontroller support to any other Cortex-M4 or Cortex-M7 Microcontroller we have pre-compiled TensorFlow Lite for Microcontroller libraries here. The way Google ships TensorFlow Lite for Microcontrollers very much requires you to use their build system versus you integrating their code into your build system. Our library allows you to more easily integrate TensorFlow support into your firmware without having to deal with complex build system issues. Additionally, we've wrapped up all the C++ code running under hood with a simple C interface for easy integration.

So, launch OpenMV IDE, download the latest firmware update, and enjoy TensorFlow on your OpenMV Cam! 

Luxonis, DepthAI, an Industrial OpenMV Cam, and more!

Hi folks,

It's been a while since our last update! Sorry for the wait! We've been working hard on the firmware for a new OpenMV Cam H7 Plus model which will lift the resolution limits on the OpenMV Cam H7 for Color Tracking, April Tags, and more! We received a lot of requests for a high-res OpenMV Cam and we started developing a new product to meet the need. The OpenMV Cam H7 Plus will have an STM32H743 main processor, 32 MB of SDRAM, 32 MB of flash, and come with the OV5640 camera module that is capable of taking 5MP images.

We're working!

See the activity tracker above! We've been busy!

OpenMV Cam H7 Plus

Anyway, we'll send out more details about the OpenMV Cam H7 Plus later this month. There's still a little bit of driver development to do before it's ready to show off. That said, we've already started the production run and hope to accept pre-orders this month and deliver the product early next year in January/February.

Luxonis

Moving on, I'd like to introduce Luxonis who is partnering with OpenMV to build an Industrial OpenMV Cam. Luxonis is developing DepthAI, a RealTime Depth and Vision AI for the RasperryPi using the Movidius Myriad X. They're doing great work trying to make powerful high speed AI processing more accessible to the masses. If you're interested in DepthAI Luxonis just launched a Crowd Supply campaign to build the first production run of hardware.

The system is pretty amazing and is able to do stereo image processing on on two 720p global-shutter camera data feeds at 25 FPS and perform object classification and localization telling you where things actually in the real world accurately on the Myriad X without burdening the host processor.

Industrial OpenMV Cam

Next up is the Industrial OpenMV Cam!

Industrial OpenMV Cam

Luxonis took the design for the OpenMV Cam and put our system into a nice metal case with 1/4" screw holes for mounting the system anywhere. The industrial OpenMV Cam will have the same specs as the new OpenMV Cam H7 Plus above along with POE Ethernet support. Their goal with the industrial OpenMV Cam is to make the OpenMV Cam easier to integrate as a sensor into systems.

The product is still in the development phase and Luxonis is interested in getting user feed back about the camera. If you're interested in getting your hands on sample production units please email brandon@luxonis.com about the Industrial OpenMV Cam! They have about 20 units featuring the original OpenMV Cam H7 guts inside along with the global shutter camera module for folks to try out.

Anyway, that's all folks!

OpenMV IDE v2.2.0 Released

Hi everyone,

Here's what's new for OpenMV:

OpenMV IDE v2.2.0 Released

The next version of OpenMV IDE with firmware v3.3.1 has been released and is available for download. The new IDE features some minor quality of life improvements requested by customers along with a few bug fixes. Firmware v3.3.1 on the other hand brings in a lot of new features!

Firmware V3.3.1

The latest firmware release for your OpenMV Cam adds the following features:

  • More OpenMV Cam M4 features! We removed the YUV lookup table in the firmware for jpeg streaming. While this reduces jpeg performance it frees 192KB of flash up allowing us to bring the M4 back up to some type of feature parity as the OpenMV Cam M7/H7.
  • Fast Gamma/contrast/brightness correction. Yes, it's been missing for a while in the firmware. It's been added now. The adjustment method operates extremely fast on the image without any frame rate hit.
  • Image rotation by 90/180/270 and transpose. This is different from rotating the image pixels, this rotates the shape of the image (w/h change).
  • String drawing now supports rotating and mirroring/flipping characters and strings along with floating point scaling.
  • Image drawing is better with floating point scaling and alpha-blending.
  • Jpeg image quality for streaming has now been improved. No more MCU artifacts on non-multiple of 8x8 images.
  • TV broadcast module support added to the firmware.
  • CPU Frequency module updated to allow slowing the main processor down to save power.
  • Copy, Scale, and Crop support.
  • Ability to create new images more easily and copy images around and re-use data buffers.
  • Extract single color panes from RGB565 images.
  • Working exFat support.
  • Full Lepton 1/2/3 support with the ability now to set the lepton into temperature measurement mode such that the image pixels directly map to a temperature. Examples included in the IDE.
  • Full MT9V034 support for 752x480 triggered global shutter images.
  • General bug fixes.

STM32H7 Clock Freq Bump

ST has updated their documentation to saying that the STM32H743VIT6 chip can be run safely at 480 MHz. This improvement in clock speed increases the OpenMV Cam H7 coremark performance to 2400 making it slightly faster than a RaspberryPi 2 Cortex-A7 core with a coremark score of 2340.

Anyway, we'll be doing another firmware release soon with this improvement.

TensorFlow for Microcontrollers Support

Google released TensorFlow for Microcontrollers recently and we are currently porting it to the OpenMV Cam. With this new feature you'll be able to run networks trained using TensorFlow using more supported and easier to install tools. The initial release of TensorFlow for Microcontrollers supports depth-wise convolutions and fully-connected layers so we should be able to port Mobilenet to the OpenMV Cam. That said, the initial release be somewhat slow as Google has not yet implemented convolutions using ARM-CMSIS-NN for the best possible speed on Cortex-M7 CPUs. We made a new github repo for this work here: https://github.com/openmv/tensorflow-lib. The lib will be available for anyone to run on a cortex-m4/m7 core.

Moving forwards, after getting the firmware release out we will be working on integrating TensorFlow docker images into OpenMV IDE along with training scripts such that we can automate the process of transfer learning using MobileNet for everyone so you'll be able to train networks trivially using OpenMV IDE.

TV and Wireless TV Shield

The new TV Shield:

And Wireless TV Shield:

Are available for pre-order now. These two shields were designed by SingTown our Chinese Affiliate. The TV shield and the wireless TV shield give your OpenMV Cams the ability to display the frame buffer on a TV. In particular, the Wireless TV Shield is quite useful for displaying images from your OpenMV Cam on FPV screens.

The initial driver supports 160x120 RGB565 and GRAYSCALE images. However, we should be able to increase the resolution support to 320x240 with some more firmware work. TensorFlow support will take priority for right now.

Kickstarter Shipping

We're in the process of shipping most of our Kickstarter orders right now. We hope to finish this in 2/3-weeks. We're about half-way done shipping over 1K orders.

Store Backlog

Until we finish shipping all Kickstarter orders the store will sit in pre-order mode. We have everything in stock right now but we cannot give you a good time-line on when your order will ship. We had previously opened the store up on April 1st and got a flood of orders followed by people asking when their order will be shipped. We have since then completed those orders and shut the store back down again until we ship all Kickstarter orders as opening the store up at the same time caused a nightmare for us.

More Manufacturing

Finally, we've asked EtonTech to buy long lead-time parts for the next batch of 2.5K OpenMV Cam H7s. We already have 2.5K STM32H743VIT6 chips in stock so we just need to get the cameras and a few other parts. While it's a nice problem to have - we're going to try to avoid running out of stock for a while.