Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SSDモデルによる物体検出
Search
BruCandy
May 20, 2025
51
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SSDモデルによる物体検出
学園祭で展示したスライドです。
BruCandy
May 20, 2025
More Decks by BruCandy
See All by BruCandy
SDカードとのアクセス(FAT32について)
brucandy
0
61
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
4
4.4k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.8k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
A Tale of Four Properties
chriscoyier
163
24k
Into the Great Unknown - MozCon
thekraken
41
2.8k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
Designing for humans not robots
tammielis
254
26k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
590
Transcript
SSDモデルによる物体検出 ~リアルタイム物体検出アプリケーション~ BruCandy Rabbit:1.00 elephant:0.98 bird:0.78
物体検出とは 以下のように、ある物体がどのクラスに属するかだけではなく、 その物体の位置を特定する。 物体検出は一つの画像から複数の物体を特定することができる。 画像中の枠をBounding Box(Bbox)と呼ぶ。 今回の物体検出ではSSDモデルを使用する。
SSDの構造 • 以下のような構造にすることで、小さい物体と大きい物体を検 出できるようにしている。 VGG層 extras層 loc&conf層 out1 out2 out3
out4 out5 out6
SSDの構造(locとconf層の中身) out1 out2 out1 out4 out5 out3 out6 conf loc
1 1 2 2 6 5 6 5 4 4 3 3
学習と推論の流れ ・学習 ①データの前処理をする。 ②各特徴マップの各セルごとにいくつかのデフォルトボックス(Dbox) を作る。 ③前処理したデータをネットワークに入れる。 Dboxごとにloc(オフセット値)とconfを求める。 ④教師データとネットワークの出力値を比較して損失値を出す。 ⑤損失値が減るようにパラメータを更新する。 ⑥以上をエポック数分繰り返す。
Dboxとは Bboxの元となるbox。右図のよう に一つのセルにつき、いくつかの 形のDboxがあり、特徴マップを埋 め尽くすように配置されている。 すべてのDboxについてlocとconf を求めて、 locを使ってBboxにし て、それぞれの物体につきconfを もとに一つのBboxを決定する。
教師データの作成 各画像のBboxの座標をそのまま教師データには使用しない。そ れぞれのDboxがIoU値をもとに最もマッチするBboxをそれぞれ の画像で求める。そして、そのBboxのクラスとオフセット値 (DboxとBboxの座標がどれだけ離れているのか)が教師データ となる。 Bbox(xmin,ymin,xmax,ymax) Dbox(cx,cy,w,h) True(Δcx, Δcy,
Δw, Δh)
IoU(Intersection over Union)値とは IoU値=(A∩Bの面積)/(A∪Bの面積) A∩B A∪B
学習と推論の流れ ・推論 ①検出したいデータの前処理をする。 ②前処理したデータをネットワークに入れる。各Dboxごとに locとconfを求める。 ③ locをもとにDboxをBboxに変換する。その後、各クラスごとに IoU値を利用して同じ物体を指しているか調べる。 同じ物体を指している場合は、最も大きいconfを持つBbox以外 は削除する。つまり、各物体はそれぞれのクラスの最もconfが
大きいBboxを持つ。 ④残ったBboxの座標をもとに、元のデータ上にBboxを描写する。
実際にVOC2012を使って、学習と推論 VOC2012について クラス数は20(人、犬、猫など) データの数は約11,540枚 時間の都合上、30epochで切り上げた。過学習は起こっていなかったため、epoch数を増やすことで 精度はもっとあげられた。 (過学習とは、訓練画像に過剰に適用しすぎて、汎化性能を失ってしまうこと) 以下のように検出に成功した
オリジナル画像で物体検出 公開されている画像だけではなく、自分で写真を撮り、バウンディングボックスを作って物体検出をする。 今回はお気に入りのグミである“つぶグミ”、“かむかむレモン(グミ?)”の二種類の検出を目標にした。 学習に使用したデータ数は少ないが、検出する種類は少ないため精度はそこそこ。ただし、学習データに 背面を映した写真は入れていないので検出は表面に限る。 それぞれのグミの写真は350枚ずつ用意した (150枚は一つ入り、残り200枚は二つ入る。つまり合計700枚。) 学習データ数:評価データ数=8:2 使用したアノテーションツール Vott
(アノテーションツールはバウンディングボックスを作るのに使用) かむかむレモン つぶグミ
結果 以下のようにごちゃごちゃ とした状況でも検出に成功 した。 しかし、以下のようにうまく 検出ができないこともあった。
リアルタイム物体検出アプリケーション 精度にやや問題があるが、このグミ検出器を使ってリアルタイム物体検出アプリケーショ ンを作る。“リアルタイム”に物体(グミ)を検出するWebアプリである。 仕組みは以下の通り。 環境構築が面倒だったからGPUはwsl上で動かして、webカメラはwindowsで動かしている。 そして、webカメラを使うのはpythonのVideoCaptureを使いたかったから以下のようにや やこしくなってしまった。 フロント サイド API1
API2 要求 キャプチャした画像 検出した画像と ラベルのリスト 検出した画像と ラベルのリスト webカメラを使う 物体の検出
実際に使ってみる 1. Startボタンを押す 2. 画像が読み込まれるまで待機 3. Webカメラでキャプチャした 画像を表示 4. 対象のグミをWebカメラでとらえる
5. 対象のグミを検出したら、詳細ボタン を押す 6. 詳細画面が表示される
実際に使ってみる(2) 他の対象のグミでも同様 の操作が行われる 対象のグミを二つ以上検出してしまった場合は上の 写真のようにメッセージが表示される。
終わりに 検出の精度や、通信間の問題など改善点は多くあるが今回の Webアプリ制作の経験は他の様々な場面で活かせると考えた。 今後もサークルでの制作活動を楽しみたい。 以上で終わりです。 ここまでご覧いただき、ありがとうございました。