このブログでは、工作の記録、実験の結果や考察が散逸しないように専ら備忘録に使ってます。プログラムのソースや設計データ等は載せていませんが、詳しく知りたい方がおりましたらコメントいただければ対応します。

所有する主な測定器はこちらです。


2017年9月17日日曜日

モーションセンサー評価ボード(ADZS-BF707-BLIP2)の設定

前回まで、モーションセンサー評価ボード(ADZS-BF707-BLIP2)の開発環境とファームウェア構築、そしてJTAGエミュレータICE1000を使用してボードへのファームウェア書き込みを行ってきました。

今回は、このモーションセンサーの詳細設定を行います。ADSP-BF707用のファームウェアは、VOS(Video Occupancy Sensor library)というアナデバ提供のライブラリです。
このライブラリの特徴は、センサーが取得した画像から動きのある物体の情報(矩形座標、重心)を数10バイトのBLOBデータとして出力できる点にあります。

typedef struct __Blob
{
    /*! X co-ord of Top Left Corner of Bounding Box of Blob */
    uint16_t nMinX;
    /*! Y co-ord of Top Left Corner of Bounding Box of Blob */
    uint16_t nMinY;
    /*! X co-ord of Bottom Right Corner of Bounding Box of Blob */
    uint16_t nMaxX;
    /*! Y co-ord of Bottom Right Corner of Bounding Box of Blob */
    uint16_t nMaxY;
    /*! Moment 1/Centroid X of Blob */
    uint32_t nCentroidX;
    /*! Moment 1/Centroid Y of Blob */
    uint32_t nCentroidY;
    /*! Moment 0/Size of Blob */
    uint32_t nArea;
}BLOB;

このBLOBデータはソースコード中ではこのように定義されています。矩形データの位置座標、重心が含まれています。

この矩形情報の抽出がどのようになるか、実際にやってみましょう。
いつもの通りADVisionSensorControllerを起動します。タブメニューの中からVOS Configuration を選択します。ここでは、モーションセンサーの詳細設定ができますが、プリセットのパラメータを呼び出します。ManageFilesボタンからdefaultoutdoor_parking_lotを右クリックしてセットします。
この状態で、VOSタブのEnableVOSボタンをクリックするとセンサー画像の左に青い升目調の画面が出現します。
センサーで手元にあったトミカのミニカーを映してみるとミニカーに合わせて矩形が表示されます。同時に矩形の中心に重心を表わす点も出現します。
通常こういう処理はOpenCVとか使用してゴリゴリやるものですが、DSPプロセッサを使ってデバイスの段階で軽いデータにしてしまうことで、メインCPU側の負荷を軽くできるのが大きな利点です。

さきほどはプリセットしたパラメータを使用しましたが、26個におよぶパラメータ(取り込み画像エリア、前景・背景の閾値や深度、学習係数など)をカスタマイズすることによって、実際のシチュエーションに沿った検出パターンを作ることが可能です。

VOSのライブラリは、検出した物体のBLOBデータをSPIインターフェースで取得することが可能です。SPIインターフェースは大抵の組み込み系マイコンには実装されているので、非力なマイコンでは到底不可能な動体検出も、このDSPプロセッサと組み合わせることで可能になります。

ーーー
応援クリックをお願いします!

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村 電子工作ランキング

0 件のコメント:

コメントを投稿