
ルールとレギュレーション
5月27日(月)に、課題用セッティングが行われたSDカードの刺さったKV260とアクセサリを送付します。連休中で申し訳ないのですが、受け取りをお願いします。このキットを用いて、このブログと、Wikiに従いセッティングを行ってください。yolov3が動作し、FPSとmAPの測定が可能になるはずです。今回のハッカソンは、動作速度と精度を共に満足させる設計に上位のポイントを与える方式とします。すなわち、
FPS×mAP
をポイントとしてランキングをします。高い方が上位です。
まず、yolov3が動作するまでのトラブルは当方で相談に乗ります。一応、現在の構成でVitis-AIを含んだUbuntuが上がり、当方のPCと接続することを確認してあります。なので、ブログの「FPGA上でのyolov3の実行」を見て、設定を行っていただければ動作すると思います。ただし、個々のPCの問題でうまく接続ができなかったり、当方で元のSDカードの初期化する際に、一部を失敗したため動作しない可能性もあります。ちなみにVScodeの問題は未解決です。すいません。問題あればSlackにて天野までご相談ください。
この後の最適化に関する質問は公平性を担保するため、受け付けません。基本的にVitisやVivadoをお持ちの方はハードウェアを徹底的に変更してもOKですし、GPUを利用可能な方はモデルを変えて、学習をし直して精度を上げることも可能です。ヒントはWikiに掲示してありますが、手法は何でもOKです。ただし、
お配りした動画と同種類の動画に対して認識ができなければならない。
お配りした静止画でmAPの測定ができなければならない
の2点は守ってください。入力の動画や静止画を変更して特殊なサイズに限定すると当日の評価とランキングができなくなります。もちろん、入力時に細工してデータを間引いて性能を上げるのはアリです。(これをやるとmAPは落ちます)。当日は、動画とmAPを測定する静止画のセットを指定しますので、これに基づいて計測を行うことができるようにしてください。
当日の流れ
当日は、現地での参加、リモートでの参加、事前に送って評価してもらうの3つから選ぶことができます。現地参加の方は宿泊のお申込みをした場合、夕食、朝食の費用は入っていますので、イベント中にちゃんと召し上がってください。本番は5分で終わるので食べる時間はあると思います。20時終了予定ですが、若干伸びる可能性があります。終わってから帰る人は終電を逃さないようにしましょう。
17:30 PCとキットを持ってイベント会場に集合、下準備。 場所については連休後ホテルと相談の上アナウンスします。
18:00 開会の挨拶、山口審査委員長、競技の趣旨、ルール説明 天野
18:15 順番に実演、最初に簡単に最適化の方針を口頭で説明(2分以内、スライドはなし)してから動画に画像認識をしてFPSを示し、静止画を認識してmAPを表示、スコアと順位を表示する。実演は番号順だがリモートは最後にまとめるかも。その場で全員に参加証を贈呈、現地参加16チーム×5分 = 80分
1チーム5分で、最初に最適化の方法をごく簡単に口頭で説明し、動画認識とmAPの測定をその場で行ってください。FPSとmAPを記録します。対象動画とmAPの測定方法は事前にお知らせします。以下のZoomに入って、画像共有をして測定プログラムを動かしてデモしてください。その場でポイントは記録してランキングを発表します。Zoomアカウントは以下です。
https://keio-univ.zoom.us/j/83378281502
ハウリングを防ぐため、マイク、スピーカともOFFにし、音声は会場のマイクで拾うようにしてください。
2つ前のチームくらいのタイミングでシステムを立ち上げてご準備ください。その場でうまく行かなかったら後に回しますが、大会中ずっと立ち上がらなければ棄権とみなします。
リモートで参加するチームは17:45までにZoomに入ってご準備ください。全チーム終了後:審査委員長の講評と表彰を行います。1-3位には盾と賞状を差し上げます。最後に参加者全員で写真を撮って終了とします。写真はAgile-Xのホームページに掲載しますのであらかじめご了承ください。
なお、参加者全員それぞれ参加証を差し上げます。(来れない人には郵送します)
19:45頃 片付け、基板は送ってきた箱に入れて天野に手渡し、まとめてdlabに送り返す
折角工夫したの
で自分の設計を取っておきたい方は、あらかじめご自身でデータを保存してください。SDカードはdlabで機械的に初期化します。
何かあればSlackで天野までご相談ください。今回は初めての試みで不手際もあるかと思います。皆で意義あるハッカソンにすべくご協力お願いします。
当日の実行方法
あらかじめお知らせしましたように、特定の画像に対して極端なチューニングを行うことを避けるため、当日の評価では別の動画を使います。また、現在1000個の静止画でmAPを測ると時間が掛かりすぎるため、画像の数を減らしました。この評価用の環境は、皆さんのSDカードの~/Vitis-AI/examples/Vitis-AI-Library/samples/yolov3/backupに置いてあります。まずこの画像traffic2.webmを標準画像adas.webmにコピーします。
cp traffic2.webm ../video/adas.webm
その後に動画を動かすデモを行ってください。次に、
mAPを測るデータですが、削りすぎてbycycleがなくなってしまったため、修正しました。このファイルはslackに貼っておく他、
https://drive.google.com/file/d/12X2lHHD4zonFgGBurrUh2dxnBzsUGMKm/view?usp=sharing
にも置いておきます。
このmAP.tar.gzを~/Vitis-AI/examples/Vitis-AI-Library/samples/yolov3のmAPに入れ替えてください。元のmAPはどこかにsaveしておくのがいいと思います。具体的にはまず、このmap.tar.gzをダウンロードして、WSL環境でcp /mnt/c/Users/hunga/Downloads/mAP.tar.gz ~/Vitis-AI/.でコピーします。(hungaは皆さんの環境に合わせてください)
次にDocker環境で、scp /workspace/mAP.tar.gz root@192.168.1.100:/Vitis-AI/examples/Vitis-AI-Library/samples/yolov3/mAP.tar.gz でコピーします。ここで、最初に/.ssh/known_hostを消しておくのがいいです。
KV260のウインドウで、コピーしたディレクトリに行って
tar xvfz mAP.tar.gzで解凍します。その前にmv mAP mAP.savなどでセーブしておきましょう。
mAP中には20枚分にしたval2017.txtがあるので、これを前のファイルと入れ替えます。
yolov3のディレクトリで、
cp mAP/val2017.txt .
です。これも以前のval2017.txtをセーブしておくのがいいかもしれません。
これで、以前と同じ流れでmAPの計測ができます。本番はこのデータを示してください。その場で計測して結果を示してもらうと思ったのですが、もうこうなったら、あらかじめ測定しておいて、結果のみ、mAP/main.pyで示すのもいいと思います。(それなら1000枚をあらかじめ測っておいてもよかったかも、、、)
ではご面倒をお掛けしますがよろしくお願いします。基本的な方法では、1000枚のと0.05%しか違わなかったので、ま、大丈夫かと思います。