15-02 lisa-cropped FPGAにプログラミング
●重み係数、バイアス、カメラエミュレータ、推論パターンのHDLコピー
GTSRB(道路標識認識)を lisa-cropped(信号機認識)に変更してFPGAにプログラムします。
まず、ここで作成したQuartusプロジェクトのフォルダを開き、このアーカイブ内のHDLと置き換えます(図15‐20)。 |
図15‐20 lisa-cropped用に自動生成したHDLをコピー
●HDLを置き換えて論理合成
Quartus Primeからプロジェクトを開きます。図15‐21のようにHDLが置き換わっているか確認するとよいでしょう(*1)。確認後、Start Compilationボタンをクリック。
(*1)conv_layer6.vhdのBIAS_XXを確認。最終層のバイアスはGTSRBでは43個あったが、lisa-croppedでは7個になっている(BIAS_07以降は0) |
図15‐21 conv_layerX.vhdはバイアスだけが変わっていくる
●そのままでは閾値が低すぎる
エラーなくコンパイルが終了したら、ここに倣ってProgrammer→NiosII SBTと進みます。
一通り手順を終えると、図15‐22のように推論ラベルパターンだらけになっているかもしれません。GTSRBと違ってlisa-croppedはクラスが7種と少ないせいか、判定の閾値を高く設定する必要があるようです。 |
図15‐22 推論ラベルパターンで埋め尽くされている
●マイコンのCソースでしきい値を高くする
閾値(THRESH)はNiosIIマイコンで設定します。NiosII SBTを開いて、Cソースを図15‐23のように変更します(*2、3)。
(*2)Quartusの方で何か変更があった場合は以下を試してRunするとよい。
●app01を右クリックし、Nios II -> BSP Editor でGenerateをクリック、その後Build
Project
(*3)誤認識が多い(信号機がないのにGO等と出てくる)場合はTHRESHを高くする。HDLではなくCソース(マイコン)で設定すると論理合成の必要がないので素早く変更できる
|
図15‐23 0x32(50) -> 0xC0(192) と4倍近く大きくする
●夜の方が認識性能が良い(昼間は今一つ)
しきい値を高くすることにより推論パターンの出現頻度が減ります。図15‐23は緑・黄・赤のLEDを光らせてCMOSカメラを向けたようすです。部屋の照明を暗くするとよく認識されます(*4)。
(*4)lisa-croppedの画像データを見ると信号の背景が黒いものが多い。 |
図15‐24 GO, WarNing, STop と緑色で上書き
目次へ戻る
|