専門ゼミ(プレゼミ)で実施する深層学習ハッカソンの実施要領。
ハンズオン
- チーム分け
- 3チーム。各チーム3~4名。
- リーダは深層学習の経験、デュアルブートのPCを持っているかで決める。それ以外のメンバーは1組と2組が混成するようにくじで決める。
- チーム名を決めること。
- カメラの確認
- まず、Ubuntuでノートパソコン内蔵のカメラが使えるか確認する。cheeseというソフトウェアすでにインストール済みだと思うので以下のコマンドで実行する。もし、映らない場合は内臓カメラの設定がBIOSで無効になっていないか確認する。
- $ cheese
- まず、Ubuntuでノートパソコン内蔵のカメラが使えるか確認する。cheeseというソフトウェアすでにインストール済みだと思うので以下のコマンドで実行する。もし、映らない場合は内臓カメラの設定がBIOSで無効になっていないか確認する。
- 必要なパッケージのインストール
- $ sudo apt install ros-kinetic-image-*
- $ sudo apt install ros-kinetic-usb-cam
- カメラの起動 (Start up camera)
- $ roscore
- $ roslaunch usb_cam usb_cam-test.launch
- usb_cam-test.launchではカメラのデバイス名がvidoe0に指定されているので、使っているカメラのデバイス名が違う場合はlaunchファイルを編集する。
- データの記録 (Record data)
- $ rosbag record -a
-
- ROS Bagデータから画像データの作成 (Extract image files form ROS bag)
$ rosrun image_view extract_images _sec_per_frame:=0.05 _filename_format:=image%04d.jpg image:=/usb_cam/image_raw
- $ rosbag play bagfile_name
- なお、rosbagのログファイルサイズは大きいのでデスクの空き容量がなくなる場合がある。dfコマンドで空き容量を確認して、必要に応じてUSBメモリや外付けハードディ数を利用すること。
- 学習用データの作成 (Making data for Yolo)
- 上のリンクは、アノテーションツールLabelImageを使いYolo用のデータセットを手動で作る方法を説明している。顔を識別するツールはいろいろあるので、それらを使い、自動的に学習用データセットを作成してもよい。
- 学習用データは来年度のラボメンバーで、本日、研究所に来ている学生と教員の分だけでよい。
- Yolo V3のインストール
- 上のリンクは、学習に使用するYolo V3のインストール方法について説明している。学習はGPU搭載のコンピュータが必要なので研究室のマシンを使うが、推論は個人のノートパソコンを利用するのでYolo V3のインストールが必要となる。
- オリジナルデータの学習 (Yolo learning using original data)
- 上のリンクは、学習用データセットから具体的にYolo V3で学習する方法を説明している。
- ROS Bagデータから画像データの作成 (Extract image files form ROS bag)
コンテスト
-
- ラボメンバーを識別するシステムを開発し、識別率が最も高いチームが優勝。推論時間は問わない。以下の写真はYOLOを使った物体識別の例。これらの物体の代わりにラボメンバーを識別する。
- 学習は研究室のGPU搭載マシンで行い、推論は各グループが所有しているノートパソコンで実施する。カメラはそのノートパソコン搭載のものを使用する。
- テスト時の条件
- 場所はテスト直前に示す。
- 照明(蛍光灯の明るさ、ブラインドの開閉)を変えて複数回テストする。
- カメラには一度に1名しか映らないものとする。
- 各チームは5分程度、自分たちの手法をPPTを用いてプレゼンする。以下の項目は含めること。なお、darknetデフォルトを使っている場合でもハイパーパラメータ等は調べること。
- データの取得方法(撮影方法、明るさ、顔の向き等)
- 学習用データセットの作成方法(アノテーションツール、自動作成した場合はその方法、データ拡張等)
- 学習データ数
- 学習のハイパーパラメータ
- 学習結果(Epochs数)。交差検証結果。
コメント