18-04 Pythonの整数化→EXCELへと進む

●FPGA実装のために整数化

 次にPythonを整数化します(movobj_int.py)。整数化の手法はGTSRBやlisa-croppedと同じになります。実行すると正解率は
99.73%になりました(図18-30)。なお、整数化前の重み係数とバイアスはこれを使っています。

図18-30 正解率99.73%(整数化)

●FPGAに入りきるようにビット数削減

 最後にビット数削減、リミッタ追加したPython(movobj_pred.py)を実行します。正解率は図18-31のように
99.26%になりました。評価画像は1491個、そのうち1480個が正解、11個が不正解ということです。

図18-31 正解率99.26%(ビット数削減・リミッタ追加)

●人・車・バイク+背景7クラスの判定例を見る

 プログラムの最後に評価画像例とその判定結果が表示されます(図18‐32)。動くもの3クラス、背景7クラス、計10クラスそれぞれ3枚づつ、合計30枚あり、すべて正解しています。

図18-32 AccuracyとPredが一致している(各画像下に緑色で書かれる)

●PythonをEXCEL化する

 表18‐03は上記movobj_pred.pyを
EXCEL化したものです。その手法はGTSRBやlisa-croppedを参考にしてください。


 表18‐03 各層のEXCELファイル
1層目 mov_layer1.xlsm
2層目 mov_layer2.xlsm
3層目 mov_layer3.xlsm
4層目 mov_layer4.xlsm
5, 6層目 mov_dense56.xlsm

●重み係数とバイアスを生成してオーバライト

 VBAで
重み係数バイアスのHDLを生成します。重み係数のHDLは各フォルダ(w1rom, w2rom,... w6rom)のファイルと置き換え、バイアスのHDLはconv_layer1〜6.vhd内のBIAS_XXと置き換えます。これらもGTSRBやlisa-croppedと同じように進めます。

●カメラエミュレータROM、推論ラベルパターンROMも置き換え

 
カメラエミュレータのHDLはcamromフォルダのファイルと置き換え、推論パターンのHDLはROM_PAT.vhdの中身と置き換えます。それらHDLの生成にはmov_misc_gen.xlsmを使用します。このEXCELの作成法・使用法もGTSRBやlisa-croppedを参考にしましょう。


●FPGA実装へと進む

 生成されたHDLをQuartusプロジェクトにオーバライトして論理合成→プログラムします。それだけで認識のようすが違ってきます(道路標識/信号機認識だったものが人・車・バイクの認識になる)。

次のページへ

目次へ戻る