よくある質問
まずは本書全体に目を通してください。以下の内容は本書の中で参照できます。
OpenMV3 M7、OpenMV4 H7、OpenMV4 H7 Plus、OpenMV RT1062 のどれを選ぶべきか?
より高性能で高解像度、機能も豊富な最新バージョンの OpenMV4 H7 Plus または OpenMV RT1062 をお勧めします。
OpenMV3 M7、OpenMV4 H7、OpenMV4 H7 Plus、OpenMV RT1062 の違いは何ですか?
- 周辺機能(ペリフェラル)が異なります。詳細は pyb の各種ペリフェラルを参照してください。
| 項目 | OpenMV2 M4 | OpenMV3 M7 | OpenMV4 H7 | OpenMV4 H7 Plus | OpenMV RT1062 |
|---|---|---|---|---|---|
| ピン数 | 9 | 10 | 10 | 10 | 14 |
| ADC | 1 | 1 | 1 | 1 | 1 |
| DAC | 1 | 1 | 1 | 1 | 0 |
| SPI | 1 | 1 | 1 | 1 | 1 |
| I2C | 1 | 2 | 2 | 2 | 1 |
| UART | 1 | 2 | 2 | 2 | 1 |
| Servo | 2 | 3 | 3 | 2 | 4 |
| CAN bus | 0 | 1 | 1 | 1 | 1 |
| 電源ボタン | 0 | 0 | 0 | 0 | 1 |
| カスタムボタン | 0 | 0 | 0 | 0 | 1 |
| ピン耐圧 | 5V | 5V | 5V | 5V | 3.3V |
| ピンレベル | 3.3V | 3.3V | 3.3V | 3.3V | 3.3V |
| IC | STM32F427 | STM32F765 | STM32H743 | STM32H743 | IMXRT1062 |
| RAM | 256KB | 512KB | 1MB | 32MB + 1MB | 32MB + 1MB |
| Flash | 1MB | 2MB | 2MB | 32MB + 2MB | 16MB |
| 動作周波数 | 180MHz | 216MHZ | 480MHZ | 480MHZ | 600MHZ |
| 標準センサー(感光素子) | OV7725(30万画素) | OV7725(30万画素) | OV7725(30万画素) | OV5640(500万画素) | OV5640(500万画素) |
ポイント: アルゴリズムとして、OpenMV2 は AprilTag を使用できませんが、OpenMV3 以降は使用できます。バージョンが上がるほど使用できる機能も増えます。\ 最大サポート解像度: OpenMV2 は 320x240、OpenMV3 は 640x480、OpenMV4 は 752x480 (MT9V034 グローバルシャッターモジュール使用時)、OpenMV4 Plus または OpenMV RT1062 は 2592x1944 です。
OpenMV はオープンソースですか?
はい、完全にオープンソースです。github: https://github.com/openmv/openmv
実行中にエラーが発生した場合はどうすればよいですか?
まず、IDE とファームウェアを最新バージョンにアップグレードしてください。
よくあるエラーのヒント を参照してください\ よくある不具合 を参照してください
ファームウェアのバージョンを確認する方法
OpenMV を接続したら、下図の矢印部分を確認してください。

ファームウェアのアップグレード方法
ファームウェアのアップグレード を参照してください
ターミナルを開く方法・printの内容を確認する方法
10分クイックスタート を参照してください
OpenMV と OpenCV の違いは何ですか?
OpenMV は画像処理アルゴリズムを組み込んだハードウェアプロジェクトであり、専用ハードウェアを使用します(オープンソース)。
OpenCV は汎用のソフトウェアプロジェクトであり、OS のサポートを必要とします。組み込み環境で動作させるには、多くのコードを移植・削減する必要があります。
OpenMV のアルゴリズムは OpenCV から移植したものですか?
いいえ。OpenCV はパソコン向けに設計されており組み込み用途には適さないため、アルゴリズムはすべて書き直されています。
Raspberry Pi と比較した OpenMV の利点は何ですか?
消費電力: OpenMV はアルゴリズム実行時でも 100mA~140mA 程度しか消費せず、USB 給電が可能です。Raspberry Pi は 700mA 必要で、USB 給電はできません。
開発が容易: OpenMV の開発は Arduino に似ており、10分もあれば動かせます。Raspberry Pi は OpenCV や NumPy などのソフトウェアをインストールする必要があり、専用の IDE もありません。
フレームレート(FPS)
もちろん、性能面では劣る部分もあります。
OpenMV はどのようなプログラミング言語を使用しますか?
Python、正確には MicroPython を使用します。参照: Python の背景知識
OpenMV は C言語でプログラミングできますか? IAR や Keil は使用できますか
C言語を使用することもできますが、必須ではありません。Python には多くの利点があります。基盤となるアルゴリズムを実装したい場合は、アルゴリズムをソースコードに追加する を参照してください。
OpenMV は MicroPython プロジェクトをベースにしているため、IAR や Keil を使用してプログラミングすることはできません。IAR や Keil を使用するということは OpenMV プロジェクトを放棄することに等しく、一から作り直すことになります。
OpenMV のファームウェアをコンパイルするにはどうすればよいですか?
参照: ファームウェアのコンパイル
Ubuntu 上の GCC を使用します。
OpenMV のファームウェアは Windows/IAR/Keil でコンパイルできますか?
いいえ。Ubuntu と GCC を使用してください。Windows での作業は推奨していません。
OpenMV は MicroPython を使うと動作が遅くなりますか?
確かに C言語を直接使用するよりは多少遅くなりますが、大幅に遅くなるわけではありません。
- コアとなるアルゴリズムは C言語で書かれています
- 初回実行時に、スクリプトは MicroPython によって自動的にバイトコードにコンパイルされます(パソコンの場合と同様です)
OpenMV はコードをオフラインで実行できますか?
はい、可能です。参照: 10分間チュートリアル
OpenMV の開発は難しいですか?
Arduino で LED を点灯させる程度の難易度であり、それほど難しくはありません。最初の Hello World は10分もかかりません。
小さなボールをトラッキングしたい場合も、サンプルコードを実行するだけで5分もかかりません。
Python は難しいですか?
Python は最も習得しやすい言語のひとつとして評価されています。
C/C++/Java などでのプログラミング経験がある方には\ 廖雪峰の Python チュートリアル をお勧めします
プログラミング経験がない方には\ Learn Python the Hard Way をお勧めします
ロジックがうまく書けない場合はどうすればよいですか? (たとえば2つの関数を組み合わせて書けない場合)
このような場合、プログラミング経験がないことが多いです。お勧めは\ Learn Python the Hard Way
選択肢は2つあります。
- 自分では学ばずに、お金を払って他の人に開発してもらう。
- プログラミングの知識を身につける(Python だけに限りません)
- まずは Learn Python the Hard Way に目を通す。
- より多くのサンプルを学び、さまざまなモジュールの使い方を理解する。
- 自分に必要なロジックを整理する。
NumPy や PIL のようなライブラリは使用できますか?
いいえ。これらのライブラリは CPython 用であるため、MicroPython では使用できません。
OpenMV はニューラルネットワーク(NN)/ディープラーニングを実行できますか?
はい。現在、OpenMV4/OpenMV4 Plus/OpenMV RT では、TensorFlow Lite による人物検出、cifar10、lenet 数字認識、STM32CubeAI など、さまざまなニューラルネットワークモデルをサポートしています。今後もさらに対応が拡充される予定です。
オンライントレーニングサイトの ai.singtown.com や www.edgeimpulse.com を利用すれば、分類や物体検出用の独自のニューラルネットワークモデルをトレーニングし、識別したい任意の対象を分類・検出できます。
OpenMV の解像度はどれくらいですか?
OpenMV2 M4 / OpenMV3 M7 / OpenMV4 H7: 30万画素、OV7725 / MT9M114 センサーを使用しています。\ プログラムでよく使用される解像度:
- QQVGA: 160x120
- QVGA: 320x240
最大サポート:
- VGA: 640x480
注記: VGA のカラー(多色)モードは圧縮フォーマットのため、画像処理アルゴリズムには対応していません。
OpenMV4 Plus / OpenMV RT1062 には OV5640 モジュールが標準搭載されており、最大500万画素をサポートします。
OpenMV は高解像度を使用できますか?
最新の OpenMV4 H7 Plus と OpenMV RT1062 では可能です。
OpenMV4 Plus / OpenMV RT1062 には OV5640 モジュールが標準搭載されており、最大500万画素をサポートします。
さらに、OpenMV4 Plus は外部32MB SDRAMと32MB QSPI Flashを、OpenMV RT1062は外部32MB SDRAMと16MB Flashを搭載しており、より高い性能を発揮します。
それ以外のバージョンでは対応していません。
- センサーの制約
- OpenMV の処理速度の制約
- OpenMV のメモリ不足(OpenMV3 はわずか512KB、OpenMV4 H7 も1MBしかありません)
OpenMV カメラのセンサーは交換できますか?
OpenMV RT、OpenMV4 H7 Plus、OpenMV4 H7 はセンサーの交換が可能です。標準センサーに加え、MT9V034 グローバルシャッターモジュールや Lepton 赤外線サーマルイメージングモジュールにも対応しています。
OpenMV3 M7 / OpenMV2 M4 は交換できません。
- 他のセンサー用のドライバが存在しない
- センサーは BGA パッケージで基板に実装されており、交換できない
- OpenMV2/3 では、より高画素のセンサーを使用できない
OpenMV はデュアルカメラを使用できますか?
いいえ、使用できません。
OpenMV は外部カメラ(USBカメラなど)を使用できますか?
いいえ、使用できません。
OpenMV のフレームレート(FPS)はどれくらいですか?
| サイズ | グレースケール/RGB565 | WiFi映像転送 | IDE映像転送 | FPS |
|---|---|---|---|---|
| QQVGA | グレースケール | いいえ | いいえ | 85 |
| QQVGA | グレースケール | いいえ | はい | 85 |
| QQVGA | グレースケール | はい | いいえ | 42 |
| QQVGA | グレースケール | はい | はい | 30 |
| QQVGA | カラー | いいえ | いいえ | 85 |
| QQVGA | カラー | いいえ | はい | 58 |
| QQVGA | カラー | はい | いいえ | 35 |
| QQVGA | カラー | はい | はい | 21 |
| QVGA | グレースケール | いいえ | いいえ | 85 |
| QVGA | グレースケール | いいえ | はい | 65 |
| QVGA | グレースケール | はい | いいえ | 21 |
| QVGA | グレースケール | はい | はい | 17 |
| QVGA | カラー | いいえ | いいえ | 85 |
| QVGA | カラー | いいえ | はい | 50 |
| QVGA | カラー | はい | いいえ | 21 |
| QVGA | カラー | はい | はい | 13 |
OpenMV の認識距離はどれくらいですか?
標準レンズの場合:
卓球ボール程度の大きさの物体: 0.5m~1m。
顔検出: 1m
参照: 画像処理の背景知識
OpenMV のレンズは交換できますか?
はい、標準の M12 サイズのレンズです。
レンズの違いは何ですか?
参照: 画像処理の背景知識
望遠レンズではどこまで見えますか?
卓球ボール程度の大きさの物体: 3m。
参照: 画像処理の背景知識
OpenMV にはどのようなアルゴリズムがありますか?
- カラートラッキング
- QRコード検出
- 顔トラッキング
- ライン検出
- テンプレートマッチング
- 特徴点検出
- 目の検出
- HAAR、LBP、HOG
- 画像の保存
- 動画の録画
- エッジ検出
- 虹彩検出
- ライン検出
- オプティカルフロー
- 顔検出
- AprilTag
参照: OpenMV の画像処理方法
各種アルゴリズムのドキュメントについては、image processing を参照してください。
OpenMV は数字を検出できますか?
TensorFlow による画像分類。参照: TensorFlow 画像分類
テンプレートマッチング。参照: テンプレートマッチング
OpenMV は文字を検出できますか?
テンプレートマッチング。参照: テンプレートマッチング
OpenMV は漢字を検出できますか?
テンプレートマッチング。参照: テンプレートマッチング
OpenMV は形状を検出できますか?
円の認識。参照: 円の認識
矩形の認識。参照: 矩形の認識
テンプレートマッチング。参照: テンプレートマッチング
OpenMV は顔を検出できますか?
はい、可能です。
OpenMV は QRコードを検出できますか?
はい。参照: コード認識
OpenMV はレーザースポットを検出できますか?
はい。カラー検出(色の検出)により可能です。
OpenMV は他のチップと通信できますか?
はい、可能です。\ シリアル通信(上)\ シリアル通信(下)
OpenMV は Arduino/51/STM32 と通信できますか?
はい、可能です。\ シリアル通信(上)\ シリアル通信(下)
OpenMV は PLC とどのように通信すればよいですか?
RS232 や RS485 は PLC のシリアルポートです。TTL-RS232 または TTL-RS485 変換モジュールを1つ使用すれば通信できます。\ シリアル通信(上)\ シリアル通信(下)
OpenMV はパソコンと通信できますか?
はい、可能です。\ シリアルポートまたは USB を使用して通信します。
USB: USB-VCP クラス/ドキュメント
OpenMV はステッピングモーター/DCモーター/サーボを駆動できますか?
はい。参照: 各種モーター
OpenMV はサーボを何個駆動できますか?
OpenMV2 は2個、OpenMV3 は3個、OpenMV4 H7 は3個、OpenMV4 H7 Plus は2個、OpenMV RT1062 は4個です。\ PCA9685 を使用すれば16チャンネル以上に拡張できます。
参照: 各種モーター
OpenMV は自動操縦(オートパイロット)に使用できますか?
はい、シリアル通信を使用すれば可能です。さらに、\ OpenMV は MavLink プロトコルに対応しています。
OpenMV への電源供給方法は?
以下のいずれかを選択してください。同時に給電することも可能です。
- USB から直接給電する
- Vin-GND 間に 3.7V~5V の電圧を接続する(5V 推奨)
OpenMV の 3.3V ピンは何のためのものですか?
3.3V 電圧の出力端子であり、他のモジュールに電源を供給できます。
OpenMV はリチウム電池で給電できますか?
はい。リチウム電池は通常3.7Vです。
OpenMV の動作電圧はいくつですか?
3.3V です。
ただし、STM32 をメインコントローラとする OpenMV2 M4/OpenMV3 M7/OpenMV4 H7/OpenMV4 H7 Plus は5V耐性があります(5V入力があってもチップは「1」と認識して正常に動作しますが、出力は常に3.3Vです)。
メインコントローラが IMXRT の OpenMV RT は 3.3V 耐性です(IO 入力は3.3Vを超えることはできません)。
OpenMV はコード実行時になぜ熱くなるのですか?
50℃程度であれば正常です。
LCD は何本のピンを使用しますか?
P0, P2, P3, P6, P7, P8
参照: OpenMV拡張パーツ
LCD は SPI を使用しますか?
はい
LCD の解像度はどれくらいですか?
sensor.QQVGA2: 128x160
画像を無線で転送できますか?
はい、可能です。
OpenMV2 M4/OpenMV3 M7/OpenMV4 H7/OpenMV4 H7 Plus は WiFi 拡張ボードを使用します。
OpenMV RT には WiFi が内蔵されています。
参照: OpenMV拡張パーツ
OpenMV の SDカードは何に使えますか?
画像や動画の保存に使用できます。
OpenMV がサポートする SDカードの最大容量は?
32G