USB 3.0 ボードレベルカメラ搭載の組み込みビジョンソリューション

3D ビジョンやロボットビジョンなどマシンビジョンで注目を集めている最新の話題の 1 つに、組み込みビジョンがあります。注目される理由は、リアルタイムのマシンビジョンがなければ、インダストリー 4.0 環境における自律輸送システムやロボット、無人自動車、無人機 (ドローン) といった技術は実現しないからです。従来のマシンビジョンシステムでは空間やコストに制限があるため、同等の機能を発揮できません。加えて、いわゆるスマートカメラの機能は一般には非常に限定的です。小型化されたカメラ、コンパクトなプロセッサーボード、柔軟にプログラム可能なソフトウェアを組み合わせて初めて、カスタマイズされたマシンビジョンアプリケーションを開発し、マシンまたは車両に直接組み込むことができます。このようなカスタムアプリケーションの 1 つがマルチコプターで、災害地域の地図をリアルタイムで作成するために Braunschweig University of Technology が製作しました。地図は、ボードに取り付けられた組み込みビジョンシステムによって作成されます。このシステムは、ARM ベースのシングルボードコンピューターと IDS USB 3.0 ボードレベルカメラで構成されています。

用途
USB 3.0 ボードレベルカメラ搭載の組み込みビジョンソリューション
USB 3.0 ボードレベルカメラ搭載の組み込みビジョンソリューション

ドローンは災害時にどのように役立つのでしょうか。水質サンプルの取得、命綱の投下、さらには人間が立ち入りにくい、または立ち入れない場所からの地理的データや画像の提供など、ドローンはさまざまな用途に利用できます。最後の例について、Braunschweig University of Technology の学生と職員で結成されたワーキンググループ、AKAMAV チームは、同大学の Institute of Flight Guidance (IFF) の支援の下、特殊装備のマルチコプターを製作しました。

この超小型無人飛行機 (MAV) は、地震や洪水の被災地域の上空を飛行し、リアルタイムで地図を提供します。これを利用して救援チームは任務計画に基づいて速やかに被災者を救出できます。マルチコプターは無人で動作します。

動作範囲は、既存のジオリファレンスを設定した衛星画像を使用して定義されます。領域のサイズと必要な地上解像度に応じて、経由地点リストがこの画像から自動的に生成されます。マルチコプターは GNSS テクノロジー (全地球航法衛星システム) または GPS を使用してこの地域上空を飛行します。マルチコプターは離陸と着陸も自動操作です。

リアルタイムという要件から、現在市場で利用されている写真測量などのリモートセンシング手法は除外されます。このような手法では、すべての画像が撮影され、アルゴリズムに基づいて組み合わされるまで、結果が出ません。しかもこのアルゴリズムには通常、多大な処理能力が必要となります。この手法を使用して作成された地図は非常に精密ですが、災害時に初期状況を把握するには精密度は重要ではなく、ただ救助作業が無駄に遅れるだけです。それに対して、AKAMAV が設計したソリューションは画像モザイク生成、すなわちスティッチングの原則に基づいています。これは、多数の個々の画像を貼り合わせて大きな全体的な画像を非常に高速に作成する、実証済みの手法です。この原則をマルチコプターで実装するには、カメラから提供される画像をコンピューターですばやく近隣で処理する必要があります。

IDS USB 3.0 産業用カメラと ARMv7 シングルボードコンピューターを搭載したマルチコプター
IDS USB 3.0 産業用カメラと ARMv7 シングルボードコンピューターを搭載したマルチコプター//

「従来」のビジョンシステムは、産業用カメラをデスクトップ PC またはボックス PC に USB、GigE、または FireWire で接続して使用しています。実際の画像処理は適切なマシンビジョンソフトウェアによってコンピューター上で実行され、その他のコンポーネントがある場合は、アプリケーション内で管理されます。このタイプの構成には場所が必要となり、比較的高価で、豊富な機能を備えていますが結局は不要なものです。シングルボードコンピューターに基づき、オープンソースのオペレーティングシステムと組み合わせて使用される組み込みビジョンシステムは、非常にコンパクトで柔軟にプログラムでき、通常は安価に実装できます。USB インターフェース搭載のボードレベルカメラは ARM ベースのシングルボードコンピューターと完璧に連携します。十分な処理能力が生まれ、消費電力は最小で済みます。さまざまなフォームファクターを使用でき、その大半は超小型です。また、100 ユーロ未満で購入できます。よく知られている Raspberry Pi はその一例です。AKAMAV は小型ながら非常に強力な ODROID-XU4 ボードを利用しました。このボードのサイズはわずか 83 x 60 mm で、8 コア ARM CPU を搭載し、Linux で動作します。ただし、シングルボードコンピューターにはすべての基本的なインターフェース (GigE、USB 2.0、USB 3.0 など) が搭載され、航空システムの自動操縦装置に USB インターフェース経由で接続されます。コンピューターはこのデータリンクからステータス情報の他に、経度と緯度による現在の位置情報、気圧高度、準拠楕円体上の高度についての情報も受信します。

産業用カメラ

画像は IDS USB 3 uEye LE シリーズのボードカメラで撮影されます。USB 3.0 コネクター搭載産業用カメラのボードレベルバージョンは 36 x 36 mm と小型ですが、すべての基本機能を備えています。onsemi および e2v の最新世代の CMOS センサーも用意され、解像度は最大 18 メガピクセルです。5 V 給電、トリガーとフラッシュ、2 つの GPIO、周辺機器を制御する I2C バスを備えた 8 ピンコネクターにより、ほぼあらゆる接続用途に柔軟に使用できます。

AKAMAV チームは、2 メガピクセル CMOS センサーおよび S マウントホルダー搭載の UI-3251LE-C-HQ モデルをマルチコプターに取り付けました。AKAMAV チームの学生メンバーである Alexander Kern 氏はその理由を、この場合カメラ解像度の重要性は二の次だからだと述べています。「処理は元の画像データを使用して実行されますが、この画像のサイズを縮小して全体的なアルゴリズムに要求されるパフォーマンスを実現できます。カメラで画像が撮影されてシングルボードコンピューターに転送されると、システムは即座に画像からランドマークを探し出します。このランドマークはフィーチャと呼ばれており、システムによって抽出されます。システムは次の画像からもフィーチャを洗い出し、前の画像のフィーチャと照合します。対応するポイントのペアから、システムは画像が相互にどのような関係にあるか判定し、新しい画像をすばやく追加して、地図を完成させます」1 ヘクタールの面積では、マルチコプターが地図作成対象の領域の端から始めて着陸するまで、約 4 ~ 5 分かかります。約 40 m の飛行高度で目盛付き画像解像度 1200 x 800 ピクセルでは、地上分解能は平均して約 7 cm/ピクセルです。組み込みビジョンシステムは、最大飛行速度 5 m/s のマルチコプターに対応する設計です。したがって、比較的低い画像撮影率 1 ~ 2 fps で十分で、画像データのバッファリングも不要です。飛行機と制御ステーションとが無線接続されている場合、スティッチングプロセスを地上からライブで追跡できます。マッピングプロセスが終了したら、地図全体を、マルチコプターが無線アクセス範囲内にあるときにリモートでアクセスすることも、マルチコプターの着陸後に外部データ格納メディアにコピーして配布することもできます。

IDS USB 3.0 産業用カメラ
Mapping result

ソフトウェア

マシンビジョン技術は、AKAMAV チームがオープンソースコンピューターのビジョンライブラリ OpenCV と C++ を使用して実装されました。「ここでの問題はリアルタイムという要件でした。ソフトウェアは可能な限り強力でなければならず、そのため、検討対象は 1 つの高レベル言語に絞り込まれました。OpenCV はここ数年で研究分野でのマシンビジョンの標準となり、画像分析やマシンビジョンのあらゆる種類の画期的な機能を搭載しています」と、AKAMAV 学生ワーキンググループの Mario Gäbel 氏は語ります。

 カメラは uEye API を使用して統合されています。API はあらゆるビジョンアプリケーションで重要な役割を握っています。その理由は、カメラの機能を簡単に使えるというだけではなく、カメラの持つ潜在能力を引き出せるからです。IDS にはこの点について独自の「標準」を持つという、大きな強みがあります。この標準によって、組み込みビジョンアプリケーションの開発者は多大な利点を得られます。実のところ、どのメーカーのカメラを使用したか、どのインターフェース技術 (USB 2.0、USB 3.0、GigE) が必要か、使用するのはデスクトップなのか組み込みプラットフォームなのかは、問題ではありません。uEye API なら、このすべてに対応します。カメラまたはプラットフォームの相互交換を促進するだけではなく、開発者はデスクトップ PC でプロジェクトの作業をして、後でこれらのプロジェクトを組み込みコンピューターでも 1:1 で使用でき、時間をかけてコードを調整する必要はありません。カメラの統合と HALCON などのサードパーティのマシンビジョンソフトウェアの調整の両方のプロセスは、組み込みプラットフォームでもデスクトップ環境とまったく同じです。uEye Cockpit などの特殊ツールも IDS 独自のソフトウェア開発キットに含まれていますが、プログラミングに必要な作業量を削減します。「プログラミングに代わる構成」というモットーに基づいて、ほんの数回クリックするだけでカメラをデスクトップ PC にあらかじめ構成できます。構成を保存しておき、後で組み込みビジョンアプリケーションに簡単にロードできます。組み込みのセクターでは特に、クロスコンパイルによるプログラミングは一般に非常に長い時間を要し、ディスプレイポートやキーボードポートがないため、デバイス自体で接続したカメラを構成する方法は通常はありません。このような状況では特に、uEye Cockpit でカメラ設定を事前構成するオプションは、非常に高い価値があります。

USB 3 uEye LE - 手頃な価格の省スペースなプロジェクトカメラ

IDS USB 3.0 産業用カメラ