模型都市によるAI・データサイエンス実践践(デー タ・AI活用 企画・実施・評価 )
1.概要
AI・データサイエンス実践では、レゴブロックで作った模型都市(オンラインフォーラム2022)を利用します。模型都市は、AIの推論モデルを作るのに、教材として、適度なノイズを持っており、AI教材に適していると考えています。
物体検出ライブラリ(YOLO)とアノテーションツール(LabelImg)を使って、模型都市のVR映像から取得した動画像や静止画像に対して物体検出を行いながら、数理・データサイエンス・AIの活用における一連のプロセスの理解を深めます。模型都市から得られる実データを使用することで、データ活用に取り組むまでの前処理に係る労力を実感するなど「手触り感」も含めて学修します。また、4~5名程度の履修学生がグループになってアノテーションを行って、グループ毎の観点から物体検出モデルを作り、最後に、オンライン上で、各グループで制作した物体検出映像を発表し合うことも計画しています。
2.物体検出モデル(YOLO)の構築
物体検出用の学習データを作るのがアノテーションツール(下記、補足参考)です。アノテーションツールで作成した学習データを使って物体検出モデルを構築します
補足1:アノテーションとは
学習データとなる画像ファイルごとに、1つずつアノテーションファイルを作ります。アノテーションファイルのファイル名は、画像ファイルと同じ(拡張子のみtxt)とします。
補足2:アノテーションファイルとは
アノテーションファイルには、該当する画像ファイルのなかで、検出したい物体の位置情報を保存します。 [oject-class]とは、検出したい物体のクラスです。クラスはyamlファイルで指定します。
# [oject-class] [x_center] [y_center] [width] [height]
1 0.268314 0.666667 0.125000 0.409357
0 0.592733 0.642909 0.081977 0.205409
2 0.529651 0.460526 0.246512 0.150585
補足3:yamlファイルとは
学習データの設定ファイルです。学習データ(画像ファイルとアノテーションファイル)の保存場所、検出する物体のクラスの個数、クラスの名称を記入したテキストファイルです。拡張子はyamlとします。
# train and val data
train: /content/lego
val: /content/lego
# number of classes
nc: 3
# class names
names: ['person','road','shop']
3.画像ファイルからの物体検出
[best.pt]ファイルの保存場所を確認して、物体検出をします。なお、どの精度までの物体を検出するかは --conf 0.01 等で指定します(例:精度1%まで検出)。
4.検出結果の確認
実行結果の最終行に検出結果を保存したファイルの場所が表示されます
北海道医療大学 情報センター・情報推進課
お問い合わせ先:情報推進課 ips(at)hoku-iryo-u.ac.jp