2024年5月24日LT会

371 Views

June 21, 24

スライド概要

サークルのLT会

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

活動報告 (SSDモデルによる物体検出) IS 2年 Discord名:shiga

2.

5月中の活動 • PyTorchの使い方の勉強 • 物体検出(SSD)の勉強 (参考)物体検出とGAN、オートエンコーダー、画像処理入門 Pytorch/TensorFlow2による発展的・実装ディープラーニング

3.

物体検出とは 以下のように、ある物体がどのクラスに属するかだけではなく、 その物体の場所を特定する。 物体検出は一つの画像から複数の物体を特定することができる。 画像中の枠をBounding Box(Bbox)と呼ぶ。

4.

有名なモデル • SSD(Single Shot MultiBox Detector) バランスが良い?? SSDの他にも、、、、、、、 • YOLO(You Only Look Once) SSDよりも高速 • Faster R-CNN(R-CNN→Fast R-CNN →Faster R-CNN) SSDよりも高精度

5.

SSDの構造 • 以下のような構造にすることで、小さい物体と大きい物体を検 出できるようにしている。 out1 out2 out3 out4 out5 out6 VGG層 extras層 loc&conf層

6.

SSDの構造(locとconf層の中身) out1 out2 1 2 1 2 out3 3 loc 3 out4 out5 out6 4 5 6 4 conf 5 6

7.

学習と推論の流れ ・学習 ①データの前処理をする。 ②各特徴マップの各セルごとにいくつかのデフォルトボックス (Dbox)を作る。 ③前処理したデータをネットワークに入れる。Dboxごとにloc (オフセット値)とconfを求める。 ④教師データとネットワークの出力値を比較して損失値を出す。 ⑤損失値が減るようにパラメータを更新する。 ⑥以上をエポック数分繰り返す。

8.

Dboxとは Bboxの元となるbox。右図のよう に一つのセルにつき、いくつかの 形のDboxがあり、特徴マップを埋 め尽くすように配置されている。 すべてのDboxについてlocとconf を求めて、 locを使ってBboxにし て、それぞれの物体につきconfを もとに一つのBboxを決定する。

9.

教師データの作成 各画像のBboxの座標をそのまま教師データには使用しない。そ れぞれのDboxがIoU値をもとに最もマッチするBboxをそれぞれ の画像で求める。そして、そのBboxのクラスとオフセット値 (DboxとBboxの座標がどれだけ離れているのか)が教師データ となる。 Bbox(xmin,ymin,xmax,ymax) Dbox(cx,cy,w,h) True(Δcx, Δcy, Δw, Δh)

10.

IoU(Intersection over Union)値とは IoU値=(A∩Bの面積)/(A∪Bの面積) A∩B A∪B

11.

学習と推論の流れ ・推論 ①検出したいデータの前処理をする。 ②前処理したデータをネットワークに入れる。各Dboxご とにlocとconfを求める。 ③ locをもとにDboxをBboxに変換する。その後、各クラ スごとにIoU値を利用して同じ物体を指しているか調べ る。同じ物体を指している場合は、最も大きいconfを持 つBbox以外は削除する。つまり、各物体はそれぞれのク ラスの最もconfが大きいBboxを持つ。 ④残ったBboxの座標をもとに、元のデータ上にBboxを 描写する。

12.

実際にVOC2012を使って、学習と推論 • VOC2012について クラス数は20(人、犬、猫など) データの数は約11,540枚 • 時間の都合上、30epochで切り上げた。まだ、過学習は起こっ ていなかったため、epoch数を増やすことで精度はもっとあげ られた。 (過学習とは、訓練画像に過剰に適用しすぎて、汎化性能を失っ てしまうこと)

13.

結果 • 以下のように検出に成功した。

14.

オリジナル画像で物体検出 公開されている画像だけではなく、自分で写真を撮り、バウン ディングボックスを作って物体検出をした。 今回作ったもの 「お気に入りのグミを検出するai」 練習で作ったものなので、学習に使用したデータ数は少ないが、 検出する種類は少ないため精度はそこそこ。ただし、学習データ に背面を映した写真は入れてないので検出は表面に限る。

15.

学習用データ作り お気に入りのグミ “つぶぐみ”、“かむかむレモン(グミ?)” この2種類を検出できるようにしたい。 それぞれ350枚ずつ(150枚は一つ入り、残り200枚は二つ入る) 学習データ数:評価データ数=8:2 使用したアノテーションツール Vott

16.

結果 以下のように検出できた。

17.

結果(2) しかし、以下のようにうまく検出できないこともあった。 次はしっかり時間をか けて、検出する種類が 多く、高い精度を持つ ものを作りたい。

18.

以上で発表を終わります。 発表した内容に間違いがあれば指摘していた だきたいです。