6-01 conf-2〜6層のEXCEL化(続き)

●データを並び替えて整理する

 Module06で行う処理のイメージを図6‐05に示します。このように100行×126列だったものを600行×21列に並び替えます。21というのは種族(人
、馬、自動車など)の数、600というのはBBOXの数(10×10=100)に各BBOXの形状の数(6)を掛けたものです。

図6-05 並び替えのイメージ。100行×21×6列を600行×21列にする


●各列が種族に対応するように並び替え

 図6‐06はModule06の実行結果です。outChシートは600行×21列、各列が種族に対応し(*1)、各行はBBOXの位置と形状に対応します。

(*1)種族は21あり、左端の列が'background'(背景)、右に行くに従って'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor'と続く。


図6‐06 outChシートが生成


●SoftMax関数の整数版

 Module07を実行する前にinCh00〜inCh63, im2col00〜im2col63, im2col00_confW3〜im2col63_confW3など
消せるシートを削除しておきましょう。シートが多すぎるとVBAがとても遅くなります。

 Module07はこの処理を行います。全ての得点が0以上になるように最低点を減算する処理です。その結果は図6‐07のようになります。上記のように消せるシートを削除しても
15分程度かかると思います。


図6‐07 outOffsetシートが生成。
各行の最低点が0になっている


●foundと書かれたら物体検出

 Module08ではいよいよ物体検出の判定を行います。outOffsetシートの各行の「突出具合」を見て、閾値を超えたらD列に"
found"と記します。


図6‐08 conf-3層目の物体検出のようす


 ここではconf-3層目をEXCEL化しましたが、それ以外の層は以下からダウンロードし、実行してみてください。次節ではこれらEXCELの結果とPythonの結果を比較します。

表6‐01 クリックしてダウンロード
EXCELファイル 入力CSV 係数の種類
2 SSD_conf2.xlsm lay15out.zip 8種(±1,2,4,8)
4 SSD_conf4.xlsm ex4out.zip 8種(±1,2,4,8)
5 SSD_conf5.xlsm ex6out.zip 8種(±1,2,4,8)
6 SSD_conf6.xlsm ex8out.zip 8種(±1,2,4,8)


最初のページへ



目次へ戻る