Cyclone V SoC 開発キットを使用したマシーンビジョンアプリケーション

アイウェーブはCyclone V SoC開発プラットフォームを使用して野菜/果物の傷/損傷を見分けるマシーンビジョンアプリケーションを開発しました。このシステムでは、ナスの傷/損傷を見つけることが出来ます。

アプリケーションの概要:
Cyclone V SoC プラットフォームは、Dual Core ARM(HPS) を備えFPGAをサポートしています。 FPGAはNTSCカメラでナス(茄子)の画像をキャプチャします。撮影された画像はFPGAのプレ・プロセッシングロジックに送られプレ・プロセッシングされた画像はFPGAフレーム入力バッファの中で更新されます。

HPSの中ではQT GUI アプリが走っており、QT GUIアプリがフレームバッファにアクセスしてプレ・プロセッシングされた画像を取り込みます。 OpenCVアルゴリズムを使ってプレ・プロセッシングされた画像を画像処理し傷/損傷部位を明らかにします。処理された画像はFPGAの出力バッファの中で更新されます。 傷/損傷の有無を処理した画像はQT GUI アプリに更新・反映されます。

最後に処理後の画像とQT GUIアプリの結果がFPGA ビデオ ミキサーロジックでアルファブレンドされて、ミックスされた画像が800×480 LCD ディスプレイ上に表示されます。

細部説明:
FPGAでは、NTSCカメラで画像がキャプチャされると以下のプレ・プロセッシングロジックが適用されます。

  • カラープレーンシーケンサー
  • クリッパー
  • デインターレース
  • クロマ リサンプラ―
  • バックグラウンド除去法
  • YCbCrからYをスプリット
  • Y コンポーネントの反転
  • 7×7メジアンフィルター
  • コントラスト拡張処理

プレ・プロセッシングロジックが適用されるとプレ・プロセッシングされた画像はFPGA入力フレームバッファの中で更新されます。
HPSサイドではアプリがFPGA入力フレームバッファにアクセスしてプレ・プロセッシングされた画像を入手し、以下の画像処理機能がプレ・プロセッシングされた画像に適用され処理画像を出力します

  • ナスの輪郭モデルを作成
  • バックグランドからセグメントオブジェクト
  • 輪郭モデルを塗りつぶし
  • セグメントオブジェクトから塗りつぶしモデルを除去して傷/損傷部位を抽出
  • 傷/損傷部位のコントラスト拡張
  • 損傷部位の最小値を求める
  • 傷/損傷部位のエリアを特定

損傷エリアを許容パーセンテージと比較して、もしそれが許容値よりも大きければそのナスは傷/損傷の分類に区分されQT GUI アプリが更新される。

処理された出力画像は傷/損傷部位(ある場合)と一緒に輪郭モデルと合成されてFPGA出力フレームバッファが更新される。 FPGAは処理出力画像にアクセスし、アルファチャンネルを追加して LCD (800×480)上に表示する。

ベネフィット:

  • マシーンビジョンはコストを削減
  • 野菜/果物の品質チェックが向上
  • 野菜/果物の傷/損傷の発見に関わる作業員の負担を軽減
  • 安定、効率的
  • しきい値の設定で広範な野菜/果物に適用可能
  • しきい値を設定することでユーザは野菜/果物の許容レベルを設定可能
  • 最先端GUIとしてQTを使用
  • 画像処理にOpenCV 2.4ライブラリを使用

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です