SlideShare una empresa de Scribd logo
1 de 13
Descargar para leer sin conexión
OCNet: Object Context Network
for Scene Parsing
東京大学大学院
情報理工学系研究科
電子情報学専攻
M2 谷合 廣紀
書誌情報
• 論文名
• OCNet: Object Context Network for Scene Parsing
• 著者
• Yuhui Yuan(Microsoft Research)
• Jingdong Wang (Microsoft Research)
• arXiv
• https://arxiv.org/abs/1809.00916
• 本スライド中の図は特に注釈がなければこの論文のもの
どんな内容?
• Semantic Segmentationのデコーダー部分にSelf Attention機構を導入
• Cityscapes, ADE20K, LIPでほぼSOTA
Semantic Segmentation
• ピクセル単位のクラス分類
• 最近はKaggleやSIGNATEなどのコンペの課題としてもよく出題される
• スコアをあげるための泥臭い知見も増えつつある
• UNet型とPSPNet型の2つに大別できる
CityScapes Dataset
UNet型
• いわいるEncoder-Decoder型
• Encoderは解像度を落としながら特徴マップの出力
• 1辺が元画像の1/16か1/32程度まで
• Decoderは解像度をあげながらピクセル単位の情報を復元
• スキップコネクションよってEncoderで失われた細かい情報も復元できる
• EncoderはResNetなどがよく使われる
• ImageNetで訓練済みだと精度があがる[2]
• DecoderはTransposeConvが一般的だが、
DilatedConvを使うなどバリエーション多数
[1] DeepLabV3+: https://arxiv.org/abs/1802.02611
[2] TernausNet: https://arxiv.org/abs/1801.05746 [1]より引用
PSPNet型
• Encoderは解像度を落としながら特徴マップを出力
• 1辺が元画像の1/8程度まで
• Spatial Pyramid Poolingで異なるサイズのプーリングを行い
さまざまなコンテキストを考慮した特徴を捉えることができる
• 最後に元画像のサイズまでアップサンプリング
• SPPのプーリング部分はAveragePoolingだが、
DilatedConvに置き換えるとDeepLabに使われるASPPに
[1] DeepLabV3+: https://arxiv.org/abs/1802.02611 [1]より引用
OCNet
• SPSがObject Context Moduleに置き換わったもの
• OCPをベースとしてBase-OC, Pyramid-OC, ASP-OCの3パターンが提案されている
Object Context Pooling
• OCPはSAGANで使われる2DのSelf Attention機構のようなもの
• 同じカテゴリに属するピクセルの特徴量を集約したいというのがモチベーション
• OCPは次の2ステージから構成される
• Object Context Estimation
• Object Context Aggregation
OCP – Object Context Estimation
• あるピクセルに対して同じラベルに属しているピクセルを探す機構
• 下図の十字で示してるピクセルを入力とすると
このピクセルは車のラベルを持つため画像中の車の領域が強く反応する
• この操作は画像をflattenしてから行うので、入力がH×Wの大きさの場合
出力されるコンテキストマップは(H×W)×(H×W)の大きさになる
OCP – Object Context Aggregation
• コンテキストマップで重み付けして特徴量を集積
• 強く反応したピクセル位置の特徴量を集めるイメージ
• (H×W)× (H×W) -> (H×W)×Cの特徴マップが求まる
• あとはreshapeしてH×Wの形に戻せばOCPが完了
OCP
• Query: 十字のピクセルの特徴量
• Key: 他のピクセルの特徴量
• QueryとKeyの類似度から
Context Mapを計算
• Value:
QueryやKeyとは別の特徴量
Result
• Cityscapes, ADE20K, LIPでSOTAなパフォーマンス
実装方針
• OCNet自体は著者らの実装がgithubにあがっている
• https://github.com/PkuRainBow/OCNet
• 何も実装しないのもつまらないので、Encoder部分やDecoder部分を入れ替えて
遊べるようにしたものをgithubにあげた(これも何番煎じかわからない)
• https://github.com/nyoki-mtl/pytorch-segmentation
• configファイルを書き換えるだけで55種類のネットワークを作れる!
• cityscapesとpascal vocに対応!
• エラーなくtrainできることは確認したものの、まだテスト中

Más contenido relacionado

La actualidad más candente

Improving neural networks by preventing co adaptation of feature detectors
Improving neural networks by preventing co adaptation of feature detectorsImproving neural networks by preventing co adaptation of feature detectors
Improving neural networks by preventing co adaptation of feature detectors
Junya Saito
 

La actualidad más candente (6)

Improving neural networks by preventing co adaptation of feature detectors
Improving neural networks by preventing co adaptation of feature detectorsImproving neural networks by preventing co adaptation of feature detectors
Improving neural networks by preventing co adaptation of feature detectors
 
畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化畳み込みニューラルネットワークの高精度化と高速化
畳み込みニューラルネットワークの高精度化と高速化
 
論文紹介 "DARTS: Differentiable Architecture Search"
論文紹介 "DARTS: Differentiable Architecture Search"論文紹介 "DARTS: Differentiable Architecture Search"
論文紹介 "DARTS: Differentiable Architecture Search"
 
20160901 jwein
20160901 jwein20160901 jwein
20160901 jwein
 
ResNetの仕組み
ResNetの仕組みResNetの仕組み
ResNetの仕組み
 
Network analysis and visualization by Google Colaboratory
Network analysis and visualization by Google ColaboratoryNetwork analysis and visualization by Google Colaboratory
Network analysis and visualization by Google Colaboratory
 

Similar a [DL Hacks]OCNet: Object Context Networkfor Scene Parsing

Similar a [DL Hacks]OCNet: Object Context Networkfor Scene Parsing (20)

画像処理分野における研究事例紹介
画像処理分野における研究事例紹介画像処理分野における研究事例紹介
画像処理分野における研究事例紹介
 
サブカルのためのWord2vec
サブカルのためのWord2vecサブカルのためのWord2vec
サブカルのためのWord2vec
 
Point net
Point netPoint net
Point net
 
学生からみた松江高専生とOpenStackで遊んだお話
学生からみた松江高専生とOpenStackで遊んだお話学生からみた松江高専生とOpenStackで遊んだお話
学生からみた松江高専生とOpenStackで遊んだお話
 
私とOSSの25年
私とOSSの25年私とOSSの25年
私とOSSの25年
 
2020 08 05_dl_DETR
2020 08 05_dl_DETR2020 08 05_dl_DETR
2020 08 05_dl_DETR
 
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
 
FPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うにはFPGAをロボット(ROS)で「やわらかく」使うには
FPGAをロボット(ROS)で「やわらかく」使うには
 
基礎演習V 河野ゼミ紹介20161025
基礎演習V 河野ゼミ紹介20161025基礎演習V 河野ゼミ紹介20161025
基礎演習V 河野ゼミ紹介20161025
 
令和元年度 実践セミナー - Deep Learning 概論 -
令和元年度 実践セミナー - Deep Learning 概論 -令和元年度 実践セミナー - Deep Learning 概論 -
令和元年度 実践セミナー - Deep Learning 概論 -
 
#TokyoR 39 高速に前処理するNYSOL
#TokyoR 39 高速に前処理するNYSOL#TokyoR 39 高速に前処理するNYSOL
#TokyoR 39 高速に前処理するNYSOL
 
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
大量時空間データの処理 ~ 現状の課題と今後OSSが解決すべきこと。(Open Source Conference 2021 Online/Osaka講演資料)
 
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
2015.6.5 EMC主催OpenStackセミナー - 日本仮想化技術様講演スライド
 
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
OpenStack最新動向と構築のポイント - EMC様セミナー 「あなたのビジネスを高速化! OpenStackが実現する戦略的なクラウドインフラ」
 
160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM160531 IoT LT #15 @ 日本IBM
160531 IoT LT #15 @ 日本IBM
 
100mpusとopc brick ev3 ご紹介
100mpusとopc brick ev3 ご紹介100mpusとopc brick ev3 ご紹介
100mpusとopc brick ev3 ご紹介
 
Cytoscapeの現状とCyberinfrastructure
Cytoscapeの現状とCyberinfrastructureCytoscapeの現状とCyberinfrastructure
Cytoscapeの現状とCyberinfrastructure
 
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
DLフレームワークChainerの紹介と分散深層強化学習によるロボット制御
 
Azure Antenna AI 概要
Azure Antenna AI 概要Azure Antenna AI 概要
Azure Antenna AI 概要
 
30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 

Más de Deep Learning JP

Más de Deep Learning JP (20)

【DL輪読会】AdaptDiffuser: Diffusion Models as Adaptive Self-evolving Planners
【DL輪読会】AdaptDiffuser: Diffusion Models as Adaptive Self-evolving Planners【DL輪読会】AdaptDiffuser: Diffusion Models as Adaptive Self-evolving Planners
【DL輪読会】AdaptDiffuser: Diffusion Models as Adaptive Self-evolving Planners
 
【DL輪読会】事前学習用データセットについて
【DL輪読会】事前学習用データセットについて【DL輪読会】事前学習用データセットについて
【DL輪読会】事前学習用データセットについて
 
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
【DL輪読会】 "Learning to render novel views from wide-baseline stereo pairs." CVP...
 
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
【DL輪読会】Zero-Shot Dual-Lens Super-Resolution
 
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
【DL輪読会】BloombergGPT: A Large Language Model for Finance arxiv
 
【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLM【DL輪読会】マルチモーダル LLM
【DL輪読会】マルチモーダル LLM
 
【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
 【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo... 【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
【 DL輪読会】ToolLLM: Facilitating Large Language Models to Master 16000+ Real-wo...
 
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
【DL輪読会】AnyLoc: Towards Universal Visual Place Recognition
 
【DL輪読会】Can Neural Network Memorization Be Localized?
【DL輪読会】Can Neural Network Memorization Be Localized?【DL輪読会】Can Neural Network Memorization Be Localized?
【DL輪読会】Can Neural Network Memorization Be Localized?
 
【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について【DL輪読会】Hopfield network 関連研究について
【DL輪読会】Hopfield network 関連研究について
 
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
【DL輪読会】SimPer: Simple self-supervised learning of periodic targets( ICLR 2023 )
 
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
【DL輪読会】RLCD: Reinforcement Learning from Contrast Distillation for Language M...
 
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
【DL輪読会】"Secrets of RLHF in Large Language Models Part I: PPO"
 
【DL輪読会】"Language Instructed Reinforcement Learning for Human-AI Coordination "
【DL輪読会】"Language Instructed Reinforcement Learning  for Human-AI Coordination "【DL輪読会】"Language Instructed Reinforcement Learning  for Human-AI Coordination "
【DL輪読会】"Language Instructed Reinforcement Learning for Human-AI Coordination "
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
 
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
【DL輪読会】"Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware"
 
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
【DL輪読会】Parameter is Not All You Need:Starting from Non-Parametric Networks fo...
 
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
【DL輪読会】Drag Your GAN: Interactive Point-based Manipulation on the Generative ...
 
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
【DL輪読会】Self-Supervised Learning from Images with a Joint-Embedding Predictive...
 
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
【DL輪読会】Towards Understanding Ensemble, Knowledge Distillation and Self-Distil...
 

[DL Hacks]OCNet: Object Context Networkfor Scene Parsing

  • 1. OCNet: Object Context Network for Scene Parsing 東京大学大学院 情報理工学系研究科 電子情報学専攻 M2 谷合 廣紀
  • 2. 書誌情報 • 論文名 • OCNet: Object Context Network for Scene Parsing • 著者 • Yuhui Yuan(Microsoft Research) • Jingdong Wang (Microsoft Research) • arXiv • https://arxiv.org/abs/1809.00916 • 本スライド中の図は特に注釈がなければこの論文のもの
  • 3. どんな内容? • Semantic Segmentationのデコーダー部分にSelf Attention機構を導入 • Cityscapes, ADE20K, LIPでほぼSOTA
  • 4. Semantic Segmentation • ピクセル単位のクラス分類 • 最近はKaggleやSIGNATEなどのコンペの課題としてもよく出題される • スコアをあげるための泥臭い知見も増えつつある • UNet型とPSPNet型の2つに大別できる CityScapes Dataset
  • 5. UNet型 • いわいるEncoder-Decoder型 • Encoderは解像度を落としながら特徴マップの出力 • 1辺が元画像の1/16か1/32程度まで • Decoderは解像度をあげながらピクセル単位の情報を復元 • スキップコネクションよってEncoderで失われた細かい情報も復元できる • EncoderはResNetなどがよく使われる • ImageNetで訓練済みだと精度があがる[2] • DecoderはTransposeConvが一般的だが、 DilatedConvを使うなどバリエーション多数 [1] DeepLabV3+: https://arxiv.org/abs/1802.02611 [2] TernausNet: https://arxiv.org/abs/1801.05746 [1]より引用
  • 6. PSPNet型 • Encoderは解像度を落としながら特徴マップを出力 • 1辺が元画像の1/8程度まで • Spatial Pyramid Poolingで異なるサイズのプーリングを行い さまざまなコンテキストを考慮した特徴を捉えることができる • 最後に元画像のサイズまでアップサンプリング • SPPのプーリング部分はAveragePoolingだが、 DilatedConvに置き換えるとDeepLabに使われるASPPに [1] DeepLabV3+: https://arxiv.org/abs/1802.02611 [1]より引用
  • 7. OCNet • SPSがObject Context Moduleに置き換わったもの • OCPをベースとしてBase-OC, Pyramid-OC, ASP-OCの3パターンが提案されている
  • 8. Object Context Pooling • OCPはSAGANで使われる2DのSelf Attention機構のようなもの • 同じカテゴリに属するピクセルの特徴量を集約したいというのがモチベーション • OCPは次の2ステージから構成される • Object Context Estimation • Object Context Aggregation
  • 9. OCP – Object Context Estimation • あるピクセルに対して同じラベルに属しているピクセルを探す機構 • 下図の十字で示してるピクセルを入力とすると このピクセルは車のラベルを持つため画像中の車の領域が強く反応する • この操作は画像をflattenしてから行うので、入力がH×Wの大きさの場合 出力されるコンテキストマップは(H×W)×(H×W)の大きさになる
  • 10. OCP – Object Context Aggregation • コンテキストマップで重み付けして特徴量を集積 • 強く反応したピクセル位置の特徴量を集めるイメージ • (H×W)× (H×W) -> (H×W)×Cの特徴マップが求まる • あとはreshapeしてH×Wの形に戻せばOCPが完了
  • 11. OCP • Query: 十字のピクセルの特徴量 • Key: 他のピクセルの特徴量 • QueryとKeyの類似度から Context Mapを計算 • Value: QueryやKeyとは別の特徴量
  • 12. Result • Cityscapes, ADE20K, LIPでSOTAなパフォーマンス
  • 13. 実装方針 • OCNet自体は著者らの実装がgithubにあがっている • https://github.com/PkuRainBow/OCNet • 何も実装しないのもつまらないので、Encoder部分やDecoder部分を入れ替えて 遊べるようにしたものをgithubにあげた(これも何番煎じかわからない) • https://github.com/nyoki-mtl/pytorch-segmentation • configファイルを書き換えるだけで55種類のネットワークを作れる! • cityscapesとpascal vocに対応! • エラーなくtrainできることは確認したものの、まだテスト中