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
RPNを完全に理解しよう
Search
Ryunosuke-Ikeda
July 28, 2021
Technology
390
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
RPNを完全に理解しよう
あまり詳しく解説されないFaster R-CNNのRPN(Region Proposal Network)を具体的なデータの形状を確認しながら理解しよう.
Ryunosuke-Ikeda
July 28, 2021
More Decks by Ryunosuke-Ikeda
See All by Ryunosuke-Ikeda
映像情報を活用した次世代のAIアシスタントシステム"Salieri" 資料
imr0305
0
240
Open Hack U 発表資料(チームうどん)
imr0305
0
73
JPHacks2021 発表資料(チームうどん)
imr0305
0
66
自己紹介スライド
imr0305
1
2.2k
技育展2021 発表資料(チームうどん)
imr0305
0
60
RLSP2021資料
imr0305
0
240
技育展2020 登壇資料(チームうどん)
imr0305
0
220
Other Decks in Technology
See All in Technology
分析作業をどこまで任せるか自分で決められる AIネイティブBI『Golden Analytics』が 良さげな話 /golden-analytics-is-ai-native-bi
shinyaa31
0
130
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
140
AI Agent 時代のデータ基盤: ClickHouse で実現する 超高速分析とコスト削減の両立
jozono
0
220
長い仕事を任せる (Workflows、クラウドセッション、Kiro Web) | 目指せ Kiro マスター 10
inariku
PRO
3
150
re:Invent2026 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
170
MCPでAIが自分で調べに行く
cdataj
0
110
Agent Harnessはどう作る?事例から学ぶAI Agentの設計思想
sergicalsix
0
220
コードレビューをなくして見えたもの
henteko
0
140
Context Ontology Accelerator 入門 (業務データの意味を、AI エージェントに渡す)
inariku
PRO
3
590
新米を「売り越さない」、Aurora DSQLで作る在庫ゼロ死守の限定ドロップEC
yama3133
0
190
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
140
視野はAIに、視座は人に / ai-for-breadth-humans-for-perspective
nkzn
6
3.2k
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.3k
Typedesign – Prime Four
hannesfritz
42
3.2k
Designing for Performance
lara
612
70k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
2
6.4k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
380
Visualization
eitanlees
153
17k
Practical Orchestrator
shlominoach
192
12k
Git: the NoSQL Database
bkeepers
PRO
433
67k
New Earth Scene 8
popppiees
4
2.8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
The agentic SEO stack - context over prompts
schlessera
0
1k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
370
Transcript
RPNを完全に理解しよう Ryunosuke Ikeda 1
よくある説明 ①K種類のアンカーボックスを用意する。 ②Sliding Windowで各アンカーボックスの 物体らしさと座標のオフセットを回帰 → CNNどこ? 学習どうするの?? 具体的な形状は?? 何か改善案はないだろうか?
RPNってなにしてるん? 2
・Torch VisionのFaster R-CNNのコードをベースにRPNの詳しい処理手順を 確認した。 ・入力画像は3*1280*720とする。 ・バッチサイズは1とする。 前提条件 3
RPN概略図 RPN CNN reg CNN cls CNN RPN Head Anchor
Generator NMS RPN 特徴マップ reshape reshape 4
バックボーンからRPNHead 特徴マップ 42 24 1280 CNN Reg_CNN Cls_CNN RPN Head
3*3conv [1,1280,24,42] [b,C,H,W] 1*1conv 1*1conv [1,1280,24,42] [1,60,24,42] [1,15,24,42] ①特徴抽出CNN 3*3conv , stride=padding=1 特徴抽出を行う。 この部分がSliding Windowに対応 論文実装はここでC=512に圧縮してる ②座標オフセット回帰CNN 1*1conv , stride=1, padding=0 アンカーの種類(15種類)と座標(xyxy) の15*4=60次元に圧縮 ②物体、背景クラス分類CNN 1*1conv , stride=1, padding=0 アンカーの種類(15種類) の15次元 に圧縮 Objectness Pred_bbox 5
出力形状の意味(Cls_CNN) 24 (H) 42 (W) 15 (アンカーの種類) 右図のオレンジの値は特徴マップの[1,1]の部分に1種類目の アンカーボックスを適用した時のObjectnessを直接予測している。
同様に緑の部分は特徴マップ[1,42]の部分に2種類目の アンカーボックスを適用した時のObjectnessを予測 各アンカーの特徴量を抽出しCNNに入力しているわけではない Cls_CNNの出力 ・ アンカーのイメージ (実際は特徴マップ) ・ 6
RPN Head Cls_CNN:各アンカーが物体か否かを予測 Reg_CNN:各アンカーを物体のボックスへと近づけるにはどれくらいずらせばよ いか学習。 CNN Reg_CNN Cls_CNN
RPN Head 3*3conv 1*1conv 1*1conv [1,1280,24,42] [1,60,24,42] [1,15,24,42] Objectness Pred_bbox 7
Anchor Generator 特徴マップの各要素にアンカーを配置した際のアンカーの座標値を取得。 この際の座標値は入力画像のスケールのもの 出力形状は[15*24*42,4]=[15120,4] Anchor Generator
入力画像 特徴マップ [1,1280,24,42] [1,3,720,1280] [15120,4] Anchors 8
Proposalsの作成 Reg_CNNで取得したアンカーボックス座標のオフセット値(相対座標)を アンカーボックスに足し合わせる。 →ずらした後の絶対座標が得られる。 Anchors Pred_bbox [1,60,24,42] [15120,4] [15120,4]
reshape [15120,4] Proposals 9
NMS NMSにかける前にObjectnessの上位2000個のproposalsを抽出 抽出した2000個に対してNMSをかけてboxを削減 Objectness [1,15,24,42] [15120,4] reshape [15120,1]
Proposals NMS Objectnessの 上位2000位の Proposalsを抽出 [2000,4] [2000-N,4] 10
RPN CNN reg CNN cls CNN RPN Head Anchor Generator
NMS RPN 特徴マップ reshape reshape 入力画像 [1,1280,24,42] [1,3,720,1280] [1,1280,24,42] [1,60,24,42] [1,15,24,42] [15120,4] [15120,4] [15120,4] [15120,1] [2000-N,4] 11
RPNの学習 Cls_CNNの教師データはもともとのアノテーションには存在しない為、作成する 必要がある。 全アンカーボックス中からGraund TruthとのIoU値が0.3以下であるなら背景(0) 0.7以上であるなら物体(1)とラベルとつける。 残りの部分は学習対象にはならない.(無視のラベルを付ける。)
GT 1 0 12
Lossの測り方(Regの例) NMSにかける前のpropとobjectnessを用いてLossを測る。 作成したTargetに物体ラベルがついているインデックスの値を抽出し、 そのインデックスの予測値とのLossを測る。 [112,85,115,95] Target_bbox [20,30,50,40] …
… Pred_bbox [24,32,50,42] [110,80,120,90] GTが 物体ラベルである インデックスの値 L1smooth Loss イメージ (実際は正規化された値) 13
14 Ryunosuke Ikeda Tokyo Denki University M1 THANK YOU!