iWave Cyclone V SoC開発キットを使ったトマト選別用アプリ
2016年5月10日 iWave Cyclone V SoC開発キットを使ったトマト選別用アプリ
アイウェーブはiWave Cyclone V SoC開発キットを使用してトマト選別用のMachine Visionアプリケーションを開発しました。
Machine Visionは手作業での点検をカメラ付きの低価格コンピュータ・ビジョンで置き換えるもので、この技術は工場での生産性の向上、製品品質の向上にも使われています。
今回のアプリケーションはオープン・ソース・コンピュータ・ビジョン(OpenCV)を使用してトマトの萼(がく)、ひび割れ、尻腐れ(BER)及び茎部分の良し悪しを区別するために開発しました。
アプリケーションの概要:
アルテラCyclone V SoC ハード・プロセッシング・システム (HPS)はFPGA及びデュアル・コアARM Cortex-A9プロセッサで構成されています。
FPGAはカメラからのビデオ・フレームをキャプチャし、また、処理されたフレームをLCDに表示します。
HPSにはQT GUIアプリケーション及び画像処理ライブラリが含まれます。
図 1:Cyclone V SoC開発キットを使ったMachine Visionアプリケーション
FPGAはNTSCカメラでビデオ・フレームを継続的に撮影します。
キャプチャされたフレームはプレ処理され、YCbCr 4:2:2インターレース・ビデオ・フレームは事後の処理に必要なRGBプログレッシブ・ビデオ・フレームに変換されます。
これはQuartus ツールにあるAltera VIP スイートを使えば簡単にできます。
IPコアはクロックされたビデオ入出力、Chromaリサンプラー、カラー・スペース・コンバータ、ミキサー、フレーム・バッファ及びフレーム・リーダ用に設定されます。
HPSの中で継続的に動いているQT GUI アプリケーションはFPGAからプレ処理されたフレームを受け取ります。
QT GUIアプリケーションは画像処理パラメータを調整するウィジェットを持っています。
OpenCVライブラリはQTで与えられる堰値に基づきプレ処理されたフレームを処理します。
アプリケーションはトマト表面の萼(がく)、ひび割れ、尻腐れ(BER)及び茎部分を識別、選別します。
最後に処理されたフレーム及び画像処理結果はFPGA ビデオミキサーロジック内のQT GUI アプリケーションでアルファブレンドされ、ミックスされた画像が800×480 LCD 上に表示されます。
図2:Cyclone V Soc 開発キット上のMachine Visionアプリケーション
画像処理モジュールは以下のように動作します:
- 傷部分(萼(がく)、ひび割れ、尻腐れ(BER)及び茎).の輪郭を明らかにします。
- オリジナル画像から輪郭を用いて傷部分を分割します。
- 輪郭の凸包を明らかにします。
- カラー・ファクタのピクセル値を読み取ります。
- 凸包とカラー・ファクタを解析してトマトを選別します。
ベネフィット:
- 効率的な果物/野菜の選別と品質によるグレード区分
- 手作業不要、全ての手作業をコンピュータ・ビジョンに置き換え
- グレード区分は様々なカラーモデル (RGB、RGBA、HSV、YCbCr)を用いて行い、結果が正確
- 正確性、堅牢性、信頼性、効率性
- 生ビデオ、処理出力の表示に最先端のQT GUIを使用
- QT GUIを堰値設定・調整のコントロールに使用
- 堰値設定で光等の周辺環境の変化を容易にコントロール
- データベースに基本カラー及び堰値設定をキープすることで広範な果実、野菜用のアプリケーションに拡張が容易.