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
70
JPHacks2021 発表資料(チームうどん)
imr0305
0
65
自己紹介スライド
imr0305
1
2.2k
技育展2021 発表資料(チームうどん)
imr0305
0
59
RLSP2021資料
imr0305
0
240
技育展2020 登壇資料(チームうどん)
imr0305
0
220
Other Decks in Technology
See All in Technology
生成AI時代、PMは事業責任者に進化するともっと面白い〜PMだからこそ事業構造を動かせる時代に〜
kakehashi
PRO
0
220
トークン化預金DCJPYの取り組みと活用ユースケース
finengine
0
220
コンテナ運用におけるネットワーク・コンテナコストの削減方法/How to Reduce Network and Container Costs in Container Operations
masakiokuda
2
370
LambdaWebFunctionsを試してみた / exploring-lambda-web-functions
koukihosaka
1
380
sue445's proposals 2026
sue445
0
130
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
170
Conditional PED-ANOVA: Hyperparameter Importance in Hierarchical & Dynamic Search Spaces
pfn
PRO
0
150
Let's Change Our World—Again
snoozer05
PRO
4
310
野蛮なアジャイル [サイボウズ発!]組織の常識を覆した反骨のスクラム実践記 / Barbaric Agile - Enterprise Agile Study Group
ama_ch
0
120
DevelopersIO2026 -バックアップは“消されないこと”が9割-
yoshida0129
0
260
データエンジニアの次の戦場は "プロセスエンジニアリング"
sansantech
PRO
1
150
Persisting Massive Data with Rails ~Designing for 60 billion rows, and fighting the bottlenecks~ Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
0
770
Featured
See All Featured
Statistics for Hackers
jakevdp
799
230k
A better future with KSS
kneath
240
18k
brightonSEO & MeasureFest 2025 - Winning Strategies for Black Friday CRO & PPC - Christian Goodrich
cargoodrich
3
870
Optimising Largest Contentful Paint
csswizardry
37
4k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
370
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
430
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
950
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
It's Worth the Effort
3n
188
29k
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!