特徴抽出の高速化・効率化
ブロブ解析におけるFPGAの活用
特徴抽出:画像内の重要な情報のみを抽出
画像内の重要な情報のみを抽出し、データの次元を削減する手法を「特徴抽出」といい、デベイヤリング、色空間変換、HSI二値化、モルフォロジー処理、ブロブ解析など複数の工程を経て、生画像データを特徴量に変換します。図にある通り、最終工程のブロブ解析が完了すると、データがコンピューターの解釈できる形式に変換され、画像に映るブロックが64ビットのデータ(左の数値:バウンディングボックス、右の数値:エリア)として認識されます。
特徴抽出を高速化・効率化し、リアルタイムな物体検出・分類を実現するには、FPGAパイプラインを構築する方法が効果的です。Baslerでは、このことを証明するため、FPGAベースのシステムとCPUベースのシステムを構築し、比較試験を実施しました。
FPGAパイプライン:余計なCPU負荷なしで高速処理を実現
CXP-12対応カメラ(画素数:5MP、フレームレート:122fps)を使用し、CPUとFPGAによる特徴抽出を比較したところ、以下のような結果になりました。なお、FPGAベースのシステムでは、VisualAppletsを介してフレームグラバーのFPGAプログラミングを行っています。
CPUベースのシステム:CPU使用率が100%に上昇し、フレーレートが9fpsに低下
FPGAベースのシステム:わずか9%のCPU使用率で、122fpsのフレーレートを維持
このように、CPUに余計な負荷をかけることなく、カメラのフレームレートを維持するには、FPGAパイプラインの構築によるシステム全体の性能向上・高速化が欠かせません。続いて、FPGA上で直接ブロブ解析を行うメリットについて見ていきましょう。
ブロブ解析の役割
ブロブ解析は、二値化画像の特定領域(ブロブ)を検出し、その大きさ、形状、位置、面積、連結要素などの重要な情報を抽出する解析手法です。
FPGA搭載フレームグラバーの用途は、画像の前処理に限りません。特徴抽出の最終工程として大量のリソースを消費するブロブ解析にも活用できます。従来のCPUの代わりにFPGA上でブロブ解析を行えば、CPU負荷が大幅に軽減し、システム全体の性能が向上します。
FPGAによるブロブ解析
別の比較試験として、CXP-12対応カメラ(画素数:25MP、フレームレート:72fps)と51×51のドットパターン(ブロブ数:2601)を使用し、CPUベースのシステムとFPGAベースのシステムのブロブ解析におけるCPU使用率とフレームレートを測定したところ、以下のような結果になりました。
CPU上で膨大な計算処理が必要になるブロブ解析を行うと、組み立てラインの欠陥検査などリアルタイムな撮影が求められる用途において、システム全体の速度が大幅に低下してしまいます。一方、FPGA上でブロブ解析を行えば、ホスト側のCPUリソースが解放されるため、レイテンシーを最小限に抑えながら、カメラを最大フレーレートで運用できます。
Basler FPGAソリューションの特長
高速シート検査などリアルタイムな撮影が求められる用途において、FPGA上で画像の前処理や解析を行えば、ホスト側のCPUリソースを有効活用しながら、効率的に欠陥を検出することができます。Basler FPGAソリューションは、直感操作のFPGA画像処理開発環境VisualAppletsと、画像を一括で処理するシングルパスアルゴリズムを大きな特長としており、余計なCPU負荷をかけることなく、システム全体のレイテンシーを最小限に抑えられます。
お問い合わせはこちらFPGA上でブロブ解析を行うメリット
高速データ処理:FPGAパイプラインで前処理を行うことで、CPU負荷を軽減
低レイテンシー:撮影速度を維持したリアルタイムな画像処理が可能
効率的なシステム運用:カメラとシステムの性能を最大限に発揮
優れた柔軟性:動体撮影をはじめとする高度な用途に対応可能
使用製品
ご紹介したソリューションの導入には、以下の製品が最適です。