連載
» 2017年04月28日 11時30分 UPDATE

レファレンスモデルからFPGA用サブシステムの作成まで:モデルベースデザイン手法を使ったProgrammable SoCの協調設計【実践編I】 (3/7)

[松本充史(MathWorks Japan),EDN Japan]

時間的な概念を加える

 ここまでの検討を基に、さらに時間的な概念を入れて、図4に示すレファレンスモデルをSimulinkで作成します。

図4:レファレンスモデル (クリックで拡大)

 モデルの左側にあるブロックでは、テスト用映像信号(Test Images)と、Webカメラ(From Video Device)で取得した信号が入力されていて、それが下に見えるロータリースイッチで切り替えられるようになっています。次にオブジェクトを検出するサブシステム(Object Detection)があり、その次はオブジェクトの重心点の座標を求めるサブシステムがあります。このサブシステム内では、MATLABプログラムではregionpropsコマンドで行っていた処理を図5に示すように、Blob AnalysisブロックでCentroid(重心)を計算するよう設定することで、等価な処理を行っています。求めた座標位置は、外乱に対する時系列の軌道補正をするためにカルマンフィルターに入力され、その座標位置をマーキングするDraw Shapesを経て、To Video Displayブロックにて結果表示を行います。入力から出力まで全て、映像信号の1フレームを1単位の行列信号として扱うフレームベースで処理を行っています。カルマンフィルターをはじめとするダイナミックな処理は、時間概念を持つSimulink環境の方が適しているため、MATLABのプログラムでは検討していませんが、Simulinkレファレンスモデルに追加しました。

図5:Blob Analysisブロック (クリックで拡大)

 Simulink Testで単体検証[※記事末のコラム1参照]を行いブラッシュアップした各サブシステムは最終的に統合モデルでシミュレーションを行います。処理結果画像を図6に示します。緑色のオブジェクトを検出、トラッキングし、赤丸でマーキングした結果が表示できました。

図6:入力映像(左)と出力結果(右) (クリックで拡大)

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

RSSフィード

EDN 海外ネットワーク

All material on this site Copyright © 2005 - 2017 ITmedia Inc. All rights reserved.
This site contains articles under license from UBM Electronics, a division of United Business Media LLC.