ケイエルブイは、ハイパースペクトルカメラ・光学部品・光源など世界中の光学機器を取り扱う専門商社です。

03-3258-1238

お問い合わせ
KLV大学 マシンビジョンコース

高速で動くモノをリアルタイム追跡
高フレームレートカメラ×FPGA BLOB検出の仕組みと検証結果

生産ラインの高速化と検査対象の微細化が進む中、マシンビジョンに求められる性能水準は年々高まっています。高フレームレートで撮像するだけでなく、撮像した膨大な画像データをいかにリアルタイムに処理し、必要な情報だけを取り出すかが、システム全体の性能を左右する分かれ目になっています。

Optomotiveのカメラは、最大10万fpsに達する高速CMOSイメージセンサーと、カメラ内部に搭載されたFPGA(Field-Programmable Gate Array)による画像前処理を組み合わせることで、この課題に応える設計になっています。本記事では、その中核技術のひとつであるBLOB検出(AXIS_BLOB IPコア)を取り上げ、高フレームレート撮像とFPGA処理を組み合わせることで得られるメリットを、実機検証の結果とあわせて紹介します。

FPGAによるカメラ内部で画像前処理が可能

FPGA

Optomotiveのカメラは、高速メモリと組み合わされたプログラマブルロジックデバイス(FPGA)を画像処理ユニットとして搭載しています。FPGAは回路構成を書き換えられる再構成可能なプロセッサであり、画像1枚全体をCPUやGPUに転送してからソフトウェアで処理するのではなく、センサーから出力される画素データをカメラ内部でハードウェア的に並列処理できる点が特長です。

この仕組みにより、レーザーライン位置検出(ピーク検出)、BLOB重心計算、カラー処理、圧縮といった画像処理アルゴリズムを、撮像と同時にカメラ内部で完結させることが可能になります。ホストPC側は画像そのものではなく、前処理済みの結果データを受け取るだけで済むため、システム全体の設計自由度が大きく広がります。

BLOB検出(AXIS_BLOB IPコア)とは何か

BLOBとは、画像中で隣接する画素がつながって形成された一つの領域(塊)を指す、画像処理分野で一般的に使われる用語です。通常は二値化した画像に対してBLOB解析を行い、対象物の面積や位置、大きさなどを求めます。OptomotiveのAXIS_BLOB IPコアも、この一般的なBLOB解析の考え方に基づいており、画像内で輝度がしきい値を超える画素のつながりをBLOBとして検出し、FPGA上でリアルタイムに処理します。

更に、AXIS_BLOB IPコアは、重心(センターオブグラビティ)の計算に二値化した情報だけでなく、グレースケールの輝度値を重み付けとして用いることが可能です。これにより、再帰反射マーカーのような対象でも高い精度で重心位置を求めることができます。検出には、背景を除去するための下限しきい値(背景しきい値)と、ノイズや過大な輝度領域を除外するための上限しきい値(除外しきい値)の2つを適切に設定する必要があります。

AXIS_BLOB IPコアには、次のような技術的な特長があります。

  • 画像内で輝度がしきい値を超える画素のつながりを判定し、BLOBごとに重心座標を算出します。
  • 重心の計算にはグレースケールの輝度値を重みとして用いるため、二値化情報のみを使う方式に比べて、非常に小さなBLOBに対しても高い精度で重心位置を求めることができます。
  • 重心座標に加えてBLOBのサイズも同時に算出するため、検出結果をさらに評価・フィルタリングする用途にも活用できます。
  • 検出対象とするBLOBの最大幅・最大高さ・最大検出数はレジスタで指定できるため、想定するサイズと異なる対象をあらかじめ検出対象から除外することも可能です。
  • 入出力信号は64ビット幅で構成されており、8画素分の情報を並列に扱うことで高速な処理を実現しています。

高フレームレート×FPGA BLOB検出、5つのメリット

高速CMOSセンサーによる高フレームレート撮像と、FPGA上で完結するBLOB検出処理を組み合わせることで、従来のPCベースの画像処理では実現しにくかった以下のようなメリットが生まれます。

1. 転送データ量の劇的な削減:
画像全体をホストPCへ転送する代わりに、カメラ内部でBLOBの重心座標とサイズのみを算出して出力するため、伝送すべきデータ量が大幅に減少します。これは特に高フレームレート・高解像度センサーを使う際に顕著で、ネットワーク帯域やストレージへの負荷を抑えつつ、より高速なセンサーへの置き換えを可能にします。
2. リアルタイム性の高い低遅延処理:
FPGAは画素データが到着するそばからハードウェアとして並列処理を行うため、ソフトウェア処理特有のオーバーヘッドがありません。8画素を同時に扱う64ビット幅のパイプライン処理により、高フレームレートの撮像速度に処理速度を追従させることができ、検出結果を実質的にリアルタイムで得ることができます。
3. 微小BLOBでも高精度な位置検出:
重心の算出にグレースケールの輝度値を用いる設計により、BLOBが数画素程度と小さい場合でも精度の高い重心位置を求めることができます。高フレームレート撮像によって1つのBLOBを捉える画素数が少なくなりがちな条件下でも、検出精度を維持しやすくなっています。
4. センサーの高速化・高解像度化への追従性:
画像処理をカメラ内部のFPGAで完結させる構成は、センサーの世代交代によりフレームレートや解像度が向上しても、処理系全体をスケールさせやすいという利点を持っています。PC側の処理能力に律速されることなく、センサー性能の進化をそのままシステム性能の向上につなげやすくなります。
5. システム構成のシンプル化とスタンドアロン動作:
BLOB検出処理をカメラ内で完結させることで、高性能な画像処理PCや専用のフレームグラバーを別途用意する必要性を減らすことができます。カメラ単体で重心・サイズという意味のあるデータを出力できるため、装置全体の小型化や設置の柔軟性、コスト低減にもつながります。

想定される応用分野

重心座標を高速かつ高精度に取得できるBLOB検出は、次のような用途との親和性が高いといえます。

  • モーションキャプチャ・位置トラッキング:反射マーカーなどの明るい点の位置をリアルタイムに追跡する用途です。
  • ナビゲーション・位置決め:移動体や搬送装置における基準点・ターゲットの検出に活用されます。
  • 外観検査・自動検査:輝点や特定パターンの位置・面積を高速に評価する検査工程に適しています。
  • レーザー計測との組み合わせ:ピーク検出などOptomotiveの他のFPGA処理技術と併用することで、より高度な3次元計測にも応用できます。

検証事例:六角ナットを用いたBLOB検出

KLVの技術担当が、実際にOptomotiveのAXIS_BLOB IPコアを使用して、大きさの異なる六角ナットを対象にBLOB検出の検証を行いました。以下はその結果です。

六角ナット検出
  • 大小さまざまな六角ナットを撮影し、IPコアによるBLOB検出を実施した結果、対象物を正しく検出できることを確認しました。
  • 検出対象とするBLOBの最大サイズをレジスタで指定することで、小さいナットの中に意図的に大きなナットを混在させても、その大きなナットだけを認識対象から除外することができました。この機能を応用すれば、大きさの異なる部品の識別・仕分けにも活用できる可能性があります。
  • 一方で、部品同士が隣接している場合や重なっている場合には、個々の対象物として正しく認識することができませんでした。

この検証から、レジスタの値を書き換えるだけで検出条件(しきい値・サイズ)を変更でき、ソフトウェアの再開発を伴わずに用途に応じた調整が可能な点が、このIPコアの強みであると確認できました。今後は、ベルトコンベア上を流れる部品を対象とした検証も候補として検討しています。

まとめ

高フレームレートカメラとFPGAによるBLOB検出処理の組み合わせは、単に「速く撮る」だけでなく、「撮ったその場で意味のあるデータに変換する」ことを可能にする技術です。データ転送量の削減、低遅延、微小対象への高精度、センサー高速化への追従性、システムのシンプル化という複数のメリットが、生産現場における高速・高精度な検査や計測ニーズに応える基盤となります。六角ナットを用いた実機検証でも、レジスタ設定だけで検出条件を柔軟に変更できることが確認されており、大きさの異なる部品の識別など幅広い応用が期待できます。Optomotiveでは、このBLOB検出(AXIS_BLOB IPコア)をはじめとするFPGAベースの画像前処理技術を、標準カメラからフルカスタム設計まで幅広く提供しています。

Optomotive

Optomotive

高フレームレートでFPGA搭載のカメラでお客様のニーズにお応えします。

Optomotiveの製品一覧

参考:
Optomotive - Blob detection
Optomotive - FPGA technology

用語集

マシンビジョンコース

ご質問・ご相談お気軽にお問い合せください

お電話でのお問合せ 03-3258-1238 受付時間 平日9:00-18:00(土日祝日除く)
Webでのお問い合わせ