特徴
OpenMVカメラは、小型で低消費電力のマイクロコントローラーボードであり、現実世界で機械視覚を活用したアプリケーションを容易に実装できます。C/C++ではなく、高水準のPythonスクリプト(MicroPythonオペレーティングシステムによる)でOpenMVカメラをプログラミングします。これにより、機械視覚アルゴリズムの複雑な出力処理や高水準データ構造の操作が容易になります。しかし、Pythonを使用してOpenMVカメラとそのI/Oピンを完全に制御できます。外部イベントに応じて写真や動画の撮影を簡単にトリガーしたり、機械視覚アルゴリズムを実行してI/Oピンの制御方法を判断したりすることが可能です。
OpenMVカメラの特徴:
- RT1062ARM Cortex M7プロセッサーは600 MHzで動作し、32MBのSDRAM、1MBのSRAM、および16 MBのプログラム/ストレージフラッシュを搭載しています。すべてのI/Oピンは3.3Vを出力し、3.3V耐性があります。プロセッサーは以下のI/Oインターフェースを備えています:
- コンピュータへの高速USB-C(480Mbps)インターフェース。OpenMVカメラを接続すると、仮想COMポートおよびUSBフラッシュドライブとして認識されます。
- 1.5A電流制限。
- EMIフィルタリングとTVS保護機能を搭載。
- 最大25MB/sの読み書きが可能なμSDカードソケットにより、OpenMVカメラは写真を撮影し、機械視覚アセットをμSDカードから容易に取り出すことができます。
- 最大60Mb/sで動作可能なSPIバスにより、システムからLCDシールドまたは他のマイクロコントローラへ画像データを容易にストリーミングできます。
- I2Cバス(最大1Mb/s)、CANバス(最大1Mb/s)、および他のマイクロコントローラやセンサとのインターフェース用の非同期シリアルバス(TX/RX、最大20Mb/s)を備えています。
- 12ビットADC(3.3V対応)。
- サーボ制御用の3つのI/Oピン。
- フレーム同期/トリガー(またはサーボ制御)用の1本のI/Oピン。
- 低電力ウェイクアップ用のI/Oピンが1本。
- また、デバイスの電源ボタンのON/OFFサポート用のピンも用意されています。
- すべてのI/Oピンで割り込み可能(ボード上には14本のI/Oピンがあります)。
- システムが低電力モード(システムの消費電力が低い状態)で動作している間も動作し続けるオンボードRTC。30μA低電力モード時)。
- ユーザー制御可能/調光可能なRGB LED。
- 充電、USB電源、VIN電源表示用の別のRGB LED。
- 外部16ビットSDRAM 32MB、160MHz駆動で帯域幅320MB/sを実現。
- 16 MBのプログラム/ストレージ用クワッドSPIフラッシュは、133 MHzでクロックされ、4ビットSDRモードで66 MB/sの帯域幅(読み取り速度)を実現します。
- カメラモジュールの下に配置された12ビットX/Y/Z加速度計(2/4/8g)。
- オンボードWiFi(a/b/g/n - 11/54/65 Mb/s)およびBluetooth(v5.1 - BR/EDR/BLE)モジュール、チップアンテナ付き。
- 10/100 Mb/sイーサネット搭載。
- 外部シールドを介したPoE対応イーサネットジャック。
- 強力な暗号認証セキュアエレメントサポート、SE050C1HQ1を介して実現。
- 取り外し可能なカメラモジュールシステムにより、OpenMV Cam RT1062は異なるセンサーと接続できます:
- 3.7Vリチウムイオン電池インターフェース、USB経由での電池充電をサポート。当社の3.7V-1000MAHリチウムイオン電池SingTown
- ARM 10ピンJTAGヘッダーは、デバッグおよびプログラミング用にSEGGER J-Linkデバイスと互換性があります。
- 外部5V VIN、逆供給保護付き。
詳細については、以下をご覧ください:SingTownhttps://singtown.com/openmv/
アプリケーション
現在、OpenMVカメラは以下のタスクに使用できます(将来的にはさらに増える予定です):
- ニューラルネットワーク物体検出
- OpenMVを使用してニューラルネットワークをトレーニングし、物体検出を行うことができます。検出したい任意のターゲットをトレーニング可能です。例えば、異なる数字、異なる果物、異なるマーカー、異なる部品、または任意の特定の不規則なターゲットをトレーニングし、特定のターゲットの番号、座標、および物体タイプ名を識別することができます。
- 当社のビデオチュートリアルに基づいて、実際の道路で交通標識を検出できます。例えば、クラクション禁止、駐車禁止、制限速度80などです。/learn/50918
- ニューラルネットワーク分類
- OpenMVを使用してニューラルネットワークをトレーニングし、任意の検出対象を認識させることができます。例えば、異なる数字、果物、マーカー、部品、または特定の不規則なターゲットなど、様々な対象をトレーニングして、特定ターゲットの数値、座標、オブジェクトタイプ名を識別できます。
- 当社のビデオチュートリアルに基づいて、人がマスクを着用しているかどうかを分類することができます。/learn/50872
- TensorFlow Lite for Microcontrollers
- TensorFlow Liteサポートにより、OpenMVカメラ上でカスタム画像分類およびセグメンテーションモデルを実行できます。TensorFlow Liteを使用すると、画像内の複雑な領域を容易に分類し、認識した内容に基づいて1/0ピンを制御することが可能です。

- フレーム差分アルゴリズム
- OpenMVカメラでフレーム差分アルゴリズムを使用すると、シーン内の動きを検出できます。フレーム差分アルゴリズムはセキュリティ用途に活用可能です。
- カラートラッキング
- OpenMVを使用すると、画像内で最大16色を同時に検出できます(通常4色以上を検出する必要はありません)。各色は任意の数の異なる色ブロックを持つことができ、OpenMVは各色ブロックの位置、サイズ、中心点、および方向を通知します。色追跡機能により、OpenMV Camは太陽追跡、ライン追跡、ターゲット追跡などにプログラムできます。ビデオデモンストレーション:/learn/49993
- マーカートラッキング
- OpenMVカメラを使用して、個々の色ではなく色のグループを検出することができます。これにより、オブジェクトにカラータグ(2色以上の色を持つタグ)を配置し、OpenMVがタグオブジェクトの内容を取得できるようになります。
- 顔検出
- OpenMVカメラ(または任意の一般物体)を使用して顔を検出できます。OpenMVカメラは一般物体検出用のHaarテンプレートを処理可能で、顔と目を検出するための内蔵の正面顔テンプレートおよび目用Haarテンプレートを備えています。/learn/50013
- アイトラッキング
- アイトラッキングを使用して、人の視線方向を検出できます。ロボットの制御に利用することも可能です。アイトラッキングは、画像内に目が存在するかどうかを検出しながら瞳孔の位置を特定します。
- 人物検知
- 組み込みの人物検出器(TensorFlow Liteモデル)を使用して、視野内に人がいるかどうかを検出できます。
- オプティカルフロー
- オプティカルフローを使用して、OpenMVカメラの前のシーンを検出することができます。例えば、クアッドコプターにオプティカルフローを適用して、空中での安定性を制御することが可能です。
- QRコード検出/デコード
- OpenMVカメラを使用して視野内のQRコードを読み取ることができます。QRコードの検出・デコードにより、スマートロボットが環境内のタグを読み取る機能を実現できます。
- Data Matrix検出/デコード
- OpenMVカメラはデータマトリックス(2次元バーコード)の検出とデコードも可能です。詳細はこちらの動画をご覧ください。
- リニアバーコードデコード
- OpenMVカメラは1次元バーコードも処理可能です。EAN2、EAN5、EAN8、UPCE、ISBN10、UPCA、EAN13、ISBN13、I25、DATABAR、DATABAR_EXP、CODABAR、CODE39、CODE93、CODE128のデコードに対応しています。詳細はこちらの動画をご覧ください:/learn/50017
- AprilTagトラッキング
- 上記のQRコードよりもさらに優れている点として、OpenMVカメラはAprilTagsも追跡できます。AprilTagsは最先端の基準マーカーであり、回転不変、スケール不変、せん断不変、照明不変の特性を備えています。詳細はこちらの動画をご覧ください:/learn/49590
- ライン検出
- OpenMVカメラは、ほぼ全フレームレートで無限長のライン検出を迅速に完了できます。また、非無限長の線分も検出可能です。詳細はこちらの動画をご覧ください:/learn/50009
- 円検出
- OpenMVを使用して画像内の円を簡単に検出できます。
- 矩形検出
- OpenMVは、AprilTagライブラリの正方形検出コードを使用して、長方形も検出できます。
- テンプレートマッチング
- OpenMVテンプレートマッチングを使用して、視野内にテンプレート類似の画像が存在するかどうかを検出できます。例えば、テンプレートマッチングはPCB上のマークを検出したり、ディスプレイ上の既知の数字を読み取るために使用できます。
- 画像キャプチャ
- OpenMVを使用してRGB565/グレースケールのBMP/JPG/PPM/PGM画像をキャプチャできます。Pythonスクリプトで直接画像のキャプチャ方法を制御できます。最も重要なのは、機械視覚アルゴリズムを使用して線を描画したり文字を描画したりし、その後保存することができる点です。
- ビデオ録画
- OpenMVカメラを使用して、RGB565/グレースケールのMJPEG動画やGIF画像(またはRAW動画)を記録することができます。Pythonスクリプトで各動画フレームの記録方法を直接制御でき、動画記録の開始と終了を完全に管理できます。さらに、画像をキャプチャする場合と同様に、機械視覚アルゴリズムを使用して線を描画したり文字を描画したりしてから保存することができます。
最後に、上記のすべての機能は、IOピン制御と組み合わせて、カスタムアプリケーションに合わせて現実世界と相互作用することができます。