SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
Mobility Technologies Co., Ltd.
物体検出コンペティション
Open Images に挑む
2020/6/12
株式会社Mobility Technologies 本多 浩大
Mobility Technologies Co., Ltd.2
1 About Me
Agenda
2 Kaggle and Open Images Challenge 2019
3 How to tackle Object Detection challenges
4 Schwert’s Solution
5 Take-Home Messages
Mobility Technologies Co., Ltd.3
1 About Me
Mobility Technologies Co., Ltd.4
自己紹介
本多 浩大 (ひろと)
https://hirotomusiker.github.io/
kaggle name : Schwert
https://www.kaggle.com/hirotoschwert
‘Schwert’ = ドイツ語でsword
大手電機メーカー (イメージセンサR&D)
→ DeNA (コンピュータビジョン) →Mobility Technologies へ移籍
 
Mobility Technologies Co., Ltd.5
ブログ書いてます
https://medium.com/@hirotoschwert/digging-into-detectron-2-47b2e794fabd
mediumでObject Detectionや超解像に関するブログを書いています
Mobility Technologies Co., Ltd.6
2 Kaggle and Open Images Challenge
Mobility Technologies Co., Ltd.
Val Data
7
Kaggleの進め方
Test data
→private leaderboard
→public leaderboard
Train Data
隠れたtest dataで最も性能を発
揮できるようにするには?
評価metrics
Evaluation に記載されている。例えばmAP、Dice Coefficient、など
特殊なmetricの場合も多く、Discussionで議論の対象になることも
Cross Validation and Test data
Mobility Technologies Co., Ltd.
Val Data
8
Kaggleの進め方
Test data
→private leaderboard
→public leaderboard
Train Data
Val Data
Train Data
隠れたtest dataで最も性能を発
揮できるようにするには?
評価metrics
Evaluation に記載されている。例えばmAP、Dice Coefficient、など
特殊なmetricの場合も多く、Discussionで議論の対象になることも
Cross Validation and Test data
Mobility Technologies Co., Ltd.
Val Data
9
Kaggleの進め方
Test data
→private leaderboard
→public leaderboard
Train Data
Val Data
Train Data
Train Data
Val Data
隠れたtest dataで最も性能を発
揮できるようにするには?
評価metrics
Evaluation に記載されている。例えばmAP、Dice Coefficient、など
特殊なmetricの場合も多く、Discussionで議論の対象になることも
Cross Validation and Test data
Mobility Technologies Co., Ltd.10
Open Images Dataset (v5)とは
Flickrから収集された900万枚の画像
・190万枚に1600万個、600クラスのbounding box アノテーション
・350クラスのセグメンテーションマスク
・329通りのrelationship
Open Imagesコンペの概要
kaggleサイト
https://www.kaggle.com/c/open-images-2019-object-detection/
open imagesサイト
https://storage.googleapis.com/openimages/web/challenge.html
Mobility Technologies Co., Ltd.11
学習アノテーションファイルが1GBある
画像データは500GBくらいある
Open Images Dataset : どのくらい巨大か
Mobility Technologies Co., Ltd.12
3 How to Tackle Object Detection
Challenges
Mobility Technologies Co., Ltd.13
Object Detection
- 画像から物体の位置とクラスを検出するタスク
- Deep Learningによって飛躍的に進歩した
- Faster R-CNN, YOLO, EfficientDetなどが有名
Mobility Technologies Co., Ltd.14
オススメできません!!
よし、Object Detectionをコーディングしてみよう
Mobility Technologies Co., Ltd.15
Object Detectorの構造
https://medium.com/@hirotoschwert/digging-into-detectron-2-47b2e794fabd
Mobility Technologies Co., Ltd.16
Object Detectorの構造
Backbone Network
Region Proposal
Network
ROI Head
100を超えるコンフィグパラメータが存在する。
論文の精度は絶妙なバランスのもとに成り立っている
https://medium.com/@hirotoschwert/digging-into-detectron-2-47b2e794fabd
Mobility Technologies Co., Ltd.17
YOLOv3 を本家darknetからpytorchに移植したときの話
weight初期化、loss定義、lr scheduleなどの詳細がクリティカルに精度に効くため、
精度(AP)を完全再現するのに数ヶ月を要した
https://github.com/DeNA/PyTorch_YOLOv3
Mobility Technologies Co., Ltd.18
どのくらいの精度再現ができていればよいか
Model Name AP
A: Faster R-CNN Res50 34.8
B: Faster R-CNN Res50 +
Feature Pyramid Network
36.7
C: RetinaNet (single-shot)
Res50 Feature Pyramid
Network + Focal Loss
35.7
NIPS’15
CVPR’17
ICCV’17
Bモデルの野良実装:AP=33.0 を選んだ場合、
2年前のAモデルの論文精度よりも性能が低いことになる
Mobility Technologies Co., Ltd.19
MMDetection (CUHK) 
https://github.com/open-mmlab/mmdetection
Detectron 2 (Facebook)
https://github.com/facebookresearch/detectron2
automl/efficientdet (Google)
https://github.com/google/automl/tree/master/efficientdet
tpu/models (Google)
https://github.com/tensorflow/tpu/tree/master/models/official
tfモデルのpytorch移植 (R. Wightman)
https://github.com/rwightman
信頼性の高いフレームワークの例
上記に限らず、著者が出している「本家実装」は信頼できる
Schwertは、Detectron2の前身であった
maskrcnn-benchmarkを使いました
Mobility Technologies Co., Ltd.
20
1モデルの学習に1 GPU month 以上かかる
巨大データセットコンペでのアプローチの選び方
1month
気軽なtry & errorができない
Mobility Technologies Co., Ltd.21
1:昨年のsolution
2:CVPRなどのdetection論文
3:papers with codeなどの性能まとめサイト
をよく調査し、
「明らかにそれ単独でスコアが大きく上がっている」featureをピックアップする
巨大データセットコンペでのアプローチの選び方
Mobility Technologies Co., Ltd.22
ResNet50では学習できたぞ?
よし、ResNeXt101でやってみよう
ついでにRandomCropも入れてみよう
よくない例
model 1 (baseline)
new
feature
A
new
feature
B
model 2
独立なfeatureをひとつだけ追加(変化)させて実験することが大事。
Ablation Studyも同様
Mobility Technologies Co., Ltd.23
4 Schwert’s Solution
Mobility Technologies Co., Ltd.24
Schwertの結果:
Detection Track: 6th / 558 (Gold) [1] [2]
Segmentation Track: 11th / 193 (Silver) [3]
Relationship Track: 30th / 201 (Silver)
Open Images Competition (2019)の結果
# Team Name # of
members
score
1 MMfruit 5 0.65887
2 imagesearch 7 0.65337
3 Prisms 6 0.64214
4 PFDet 6 0.62221
5 Omni-Detection 3 0.60406
6 Schwert 1 (solo) 0.60231
7 Team 5 5 0.60210
8 pudae 1 (solo) 0.59727
kaggleデビュー戦でソロ金メダル獲得に成功!
Mobility Technologies Co., Ltd.25
mean Average Precision (mAP) at IoU > 0.5 (500クラスの平均)
ここから読み取れること
ポイント1:どんなレアなクラスの精度も対等に評価される
      personクラスを含む画像数:25万枚
      torchクラスを含む画像数: 18枚
ポイント2:IoU 0.5のみでの評価なので、厳密な位置精度は要求されない。
      クラス分類が大事
評価指標
Mobility Technologies Co., Ltd.26
「明らかにそれ単独でスコアが大きく上がっている」feature
2018年の1-3位のsolution [4][5][6] から読み取った有望なfeatureの例:
・class balancing (3位、5ポイント以上↑)
・Ensemble (1位 / 3位、5ポイント以上↑)
・voting NMS (1位 / 3位)
・long cosine annealing (2位)
・parent class expansion
・ResNext 152 + SE (1, 2, 3位)
class balancingとmodel ensembleは必須と考えて実験、他は順次試していく
Mobility Technologies Co., Ltd.27
手法1:Class Balancing [1]
クラス毎にN (=4000)枚をランダムサンプリングする
Mobility Technologies Co., Ltd.28
手法2:複数モデルのアンサンブルパイプライン [1]
・ベースモデルはResNeXt152 [7] + Deformable Convnets v2 [8] + Feature Pyramid Network [9]
・学習データのseedをモデル毎に変え、異なるbackboneのモデルを学習。
・合計8モデルをアンサンブルし、後処理して最終出力とした
・
・
・
Mobility Technologies Co., Ltd.29
各featureがval、public LBにどの程度寄与しているかを可視化する
Ablation Study
Backbone Deformable
Convolutions
Parent
Expansion
Data Size val AP private LB
ResNeXt101 None Inference Time 4k per class 69.8 54.0
ResNeXt101 DCN v2 Inference Time 4k per class 72.2 (+2.4)
ResNeXt152 None Inference Time 4k per class 72.2 (+2.4)
ResNeXt152 None Inference Time 16k per class 72.4 (+2.6)
ResNeXt152 DCN v2 Inference Time 4k per class 73.2 (+3.4) 56.4 (best
single model)
ResNeXt152 None Training Time 4k per class 72.4 (+2.6)*
Mobility Technologies Co., Ltd.30
手法3:Enhanced (Voting) NMS [6]
Non-Maximum Suppression for Model Ensembling
多くのモデルの検出が重なっている場合scoreが高くなるようにする
Mobility Technologies Co., Ltd.31
結果
Backbone Deformable
Convolutions
Parent
Expansion
Data Size val AP private LB
ResNeXt152 DCN v2 Inference
Time
4k per class 73.2 (+3.4) 56.4 (best
single
model)
Ensemble of
8 models +
NMS tuned
60.23
13位相当
6位
Mobility Technologies Co., Ltd.32
Best Single Modelの可視化
Mobility Technologies Co., Ltd.33
Best Single Modelの可視化
Mobility Technologies Co., Ltd.34
detectionとsegmentationを独立に学習・推論するアプローチ (1位チームも同じ)
Segmentation Trackのアプローチ (11th place) [2]
Mobility Technologies Co., Ltd.35
5 Take-Home Messages
Mobility Technologies Co., Ltd.36
・Kaggleはコンピュータビジョン修行の場として理想的。世界のkagglerたちと直接
discussionもできる
・Cross Validationなど、Kaggleならではの技術もあるが、性能を泥臭く追求する点におい
ては研究論文とも共通している
・Object Detectionのコンペでは、論文精度を再現できているフレームワークを選択するこ
とが第一歩
・過去のコンペのトップ手法をよく理解すること。独立かつ確実に効く技術要素を選ぶ
Take-Home Messages
Mobility Technologies Co., Ltd.37
[1] Hiroto Honda, “The 6th Place Solution for the Open Images 2019 Object Detection Track,”
presented at ICCVW 2019, https://hirotomusiker.github.io/files/schwert_open_images_6th_solution_v1.pdf
[2] Hiroto Honda, “6th place solution,” discussion in Open Images 2019 Object Detection Track,
https://www.kaggle.com/c/open-images-2019-object-detection/discussion/110953
[3] Hiroto Honda, “11th place solution,” discussion in Open Images 2019 Instance Segmentation
Track, https://www.kaggle.com/c/open-images-2019-instance-segmentation/discussion/111351
[4] kivajok, 1st place writeup, https://storage.googleapis.com/openimages/web/challenge.html
[5] Takuya Akiba et al., “PFDet: 2nd Place Solution to Open Images Challenge 2018 Object Detection
Track,” arXiv:1809.00778
[6] Yuan Gao et al., “Solution for Large-Scale Hierarchical Object Detection Datasets with Incomplete
Annotation and Data Imbalance,” arXiv:1810.06208
[7] Saining Xie et al., “Aggregated Residual Transformations for Deep Neural Networks,” CVPR 2017
[8] Xizhou Zhu et al., “Deformable ConvNets v2: More Deformable, Better Results,” CVPR 2019
[9] Tsung-Yi Lin et al., “Feature Pyramid Networks for Object Detection,” CVPR 2017
* All the photos used in this presentation were taken by Hiroto Honda
References
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。
Mobility Technologies Co., Ltd.
38

Weitere ähnliche Inhalte

Was ist angesagt?

[DL輪読会]医用画像解析におけるセグメンテーション
[DL輪読会]医用画像解析におけるセグメンテーション[DL輪読会]医用画像解析におけるセグメンテーション
[DL輪読会]医用画像解析におけるセグメンテーションDeep Learning JP
 
AI勉強会用スライド
AI勉強会用スライドAI勉強会用スライド
AI勉強会用スライドharmonylab
 
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)Yamato OKAMOTO
 
カメラ間人物照合サーベイ
カメラ間人物照合サーベイカメラ間人物照合サーベイ
カメラ間人物照合サーベイYoshihisa Ijiri
 
【DL輪読会】WIRE: Wavelet Implicit Neural Representations
【DL輪読会】WIRE: Wavelet Implicit Neural Representations【DL輪読会】WIRE: Wavelet Implicit Neural Representations
【DL輪読会】WIRE: Wavelet Implicit Neural RepresentationsDeep Learning JP
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習Deep Learning JP
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII
 
自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)cvpaper. challenge
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習cvpaper. challenge
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用Yoshitaka Ushiku
 
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...Deep Learning JP
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化Yusuke Uchida
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門joisino
 
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII
 
【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識Hirokatsu Kataoka
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII
 
画像処理AIを用いた異常検知
画像処理AIを用いた異常検知画像処理AIを用いた異常検知
画像処理AIを用いた異常検知Hideo Terada
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Yusuke Uchida
 

Was ist angesagt? (20)

[DL輪読会]医用画像解析におけるセグメンテーション
[DL輪読会]医用画像解析におけるセグメンテーション[DL輪読会]医用画像解析におけるセグメンテーション
[DL輪読会]医用画像解析におけるセグメンテーション
 
[DL輪読会]World Models
[DL輪読会]World Models[DL輪読会]World Models
[DL輪読会]World Models
 
AI勉強会用スライド
AI勉強会用スライドAI勉強会用スライド
AI勉強会用スライド
 
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)
 
カメラ間人物照合サーベイ
カメラ間人物照合サーベイカメラ間人物照合サーベイ
カメラ間人物照合サーベイ
 
【DL輪読会】WIRE: Wavelet Implicit Neural Representations
【DL輪読会】WIRE: Wavelet Implicit Neural Representations【DL輪読会】WIRE: Wavelet Implicit Neural Representations
【DL輪読会】WIRE: Wavelet Implicit Neural Representations
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
SSII2022 [SS1] ニューラル3D表現の最新動向〜 ニューラルネットでなんでも表せる?? 〜​
 
自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
 
ドメイン適応の原理と応用
ドメイン適応の原理と応用ドメイン適応の原理と応用
ドメイン適応の原理と応用
 
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
[DL輪読会]Vision Transformer with Deformable Attention (Deformable Attention Tra...
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用SSII2018TS: 3D物体検出とロボットビジョンへの応用
SSII2018TS: 3D物体検出とロボットビジョンへの応用
 
【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識【チュートリアル】コンピュータビジョンによる動画認識
【チュートリアル】コンピュータビジョンによる動画認識
 
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
SSII2021 [OS2-02] 深層学習におけるデータ拡張の原理と最新動向
 
画像処理AIを用いた異常検知
画像処理AIを用いた異常検知画像処理AIを用いた異常検知
画像処理AIを用いた異常検知
 
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
Swin Transformer (ICCV'21 Best Paper) を完璧に理解する資料
 

Ähnlich wie 物体検出コンペティションOpen Imagesに挑む

GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介Takashi Suzuki
 
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カットRakuten Group, Inc.
 
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」Satoshi Fujimoto
 
ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方Harada Kazuki
 
Open Hybrid Cloudを検討すべき理由.pdf
Open Hybrid Cloudを検討すべき理由.pdfOpen Hybrid Cloudを検討すべき理由.pdf
Open Hybrid Cloudを検討すべき理由.pdfMasahiko Umeno
 
Struggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupStruggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupRecruit Technologies
 
Machine learning microservice_management
Machine learning microservice_managementMachine learning microservice_management
Machine learning microservice_managementyusuke shibui
 
TERAS Conference
TERAS ConferenceTERAS Conference
TERAS ConferenceKeiju Anada
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングTakashi Suzuki
 
Struggle against crossdomain data complexity in Recruit Group
Struggle against crossdomain data complexity in Recruit GroupStruggle against crossdomain data complexity in Recruit Group
Struggle against crossdomain data complexity in Recruit GroupDataWorks Summit/Hadoop Summit
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Hirono Jumpei
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際Tetsutaro Watanabe
 
モニタリングプラットフォーム開発の裏側
モニタリングプラットフォーム開発の裏側モニタリングプラットフォーム開発の裏側
モニタリングプラットフォーム開発の裏側Rakuten Group, Inc.
 
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)Masahiro Takechi
 
機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップDaiyu Hatakeyama
 
ディープラーニングでラーメン二郎(全店舗)を識別してみた
ディープラーニングでラーメン二郎(全店舗)を識別してみたディープラーニングでラーメン二郎(全店舗)を識別してみた
ディープラーニングでラーメン二郎(全店舗)を識別してみたknjcode
 
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~Daiyu Hatakeyama
 
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...DataWorks Summit/Hadoop Summit
 
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...Recruit Technologies
 

Ähnlich wie 物体検出コンペティションOpen Imagesに挑む (20)

GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介GOの機械学習システムを支えるMLOps事例紹介
GOの機械学習システムを支えるMLOps事例紹介
 
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
 
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
熊本 HoloLens Meetup vol.0 「HoloLensアプリ開発コンテストビジネス部門で特別賞もらってきた」
 
ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方ToolChainを使った次世代DevOps環境の作り方
ToolChainを使った次世代DevOps環境の作り方
 
Open Hybrid Cloudを検討すべき理由.pdf
Open Hybrid Cloudを検討すべき理由.pdfOpen Hybrid Cloudを検討すべき理由.pdf
Open Hybrid Cloudを検討すべき理由.pdf
 
Struggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit groupStruggle against cross-domain data complexity in Recruit group
Struggle against cross-domain data complexity in Recruit group
 
Machine learning microservice_management
Machine learning microservice_managementMachine learning microservice_management
Machine learning microservice_management
 
TERAS Conference
TERAS ConferenceTERAS Conference
TERAS Conference
 
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニングOptuna on Kubeflow Pipeline 分散ハイパラチューニング
Optuna on Kubeflow Pipeline 分散ハイパラチューニング
 
Struggle against crossdomain data complexity in Recruit Group
Struggle against crossdomain data complexity in Recruit GroupStruggle against crossdomain data complexity in Recruit Group
Struggle against crossdomain data complexity in Recruit Group
 
Iot algyan jhirono 20190111
Iot algyan jhirono 20190111Iot algyan jhirono 20190111
Iot algyan jhirono 20190111
 
先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際先駆者に学ぶ MLOpsの実際
先駆者に学ぶ MLOpsの実際
 
モニタリングプラットフォーム開発の裏側
モニタリングプラットフォーム開発の裏側モニタリングプラットフォーム開発の裏側
モニタリングプラットフォーム開発の裏側
 
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)
課題を解決してくれるIoT/AIプロジェクトの進め方 (事例/実践編)
 
コキュートスDsf
コキュートスDsfコキュートスDsf
コキュートスDsf
 
機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ機械学習 - MNIST の次のステップ
機械学習 - MNIST の次のステップ
 
ディープラーニングでラーメン二郎(全店舗)を識別してみた
ディープラーニングでラーメン二郎(全店舗)を識別してみたディープラーニングでラーメン二郎(全店舗)を識別してみた
ディープラーニングでラーメン二郎(全店舗)を識別してみた
 
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
デジタルトランスフォーメーション時代を生き抜くためのビジネス力 ~ AI、Advanced Analytics の使いどころ ~
 
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
A3RT - the details and actual use cases of "Analytics & Artificial intelligen...
 
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
A3RT -The details and actual use cases of“Analytics & Artificial intelligence...
 

物体検出コンペティションOpen Imagesに挑む

  • 1. Mobility Technologies Co., Ltd. 物体検出コンペティション Open Images に挑む 2020/6/12 株式会社Mobility Technologies 本多 浩大
  • 2. Mobility Technologies Co., Ltd.2 1 About Me Agenda 2 Kaggle and Open Images Challenge 2019 3 How to tackle Object Detection challenges 4 Schwert’s Solution 5 Take-Home Messages
  • 3. Mobility Technologies Co., Ltd.3 1 About Me
  • 4. Mobility Technologies Co., Ltd.4 自己紹介 本多 浩大 (ひろと) https://hirotomusiker.github.io/ kaggle name : Schwert https://www.kaggle.com/hirotoschwert ‘Schwert’ = ドイツ語でsword 大手電機メーカー (イメージセンサR&D) → DeNA (コンピュータビジョン) →Mobility Technologies へ移籍  
  • 5. Mobility Technologies Co., Ltd.5 ブログ書いてます https://medium.com/@hirotoschwert/digging-into-detectron-2-47b2e794fabd mediumでObject Detectionや超解像に関するブログを書いています
  • 6. Mobility Technologies Co., Ltd.6 2 Kaggle and Open Images Challenge
  • 7. Mobility Technologies Co., Ltd. Val Data 7 Kaggleの進め方 Test data →private leaderboard →public leaderboard Train Data 隠れたtest dataで最も性能を発 揮できるようにするには? 評価metrics Evaluation に記載されている。例えばmAP、Dice Coefficient、など 特殊なmetricの場合も多く、Discussionで議論の対象になることも Cross Validation and Test data
  • 8. Mobility Technologies Co., Ltd. Val Data 8 Kaggleの進め方 Test data →private leaderboard →public leaderboard Train Data Val Data Train Data 隠れたtest dataで最も性能を発 揮できるようにするには? 評価metrics Evaluation に記載されている。例えばmAP、Dice Coefficient、など 特殊なmetricの場合も多く、Discussionで議論の対象になることも Cross Validation and Test data
  • 9. Mobility Technologies Co., Ltd. Val Data 9 Kaggleの進め方 Test data →private leaderboard →public leaderboard Train Data Val Data Train Data Train Data Val Data 隠れたtest dataで最も性能を発 揮できるようにするには? 評価metrics Evaluation に記載されている。例えばmAP、Dice Coefficient、など 特殊なmetricの場合も多く、Discussionで議論の対象になることも Cross Validation and Test data
  • 10. Mobility Technologies Co., Ltd.10 Open Images Dataset (v5)とは Flickrから収集された900万枚の画像 ・190万枚に1600万個、600クラスのbounding box アノテーション ・350クラスのセグメンテーションマスク ・329通りのrelationship Open Imagesコンペの概要 kaggleサイト https://www.kaggle.com/c/open-images-2019-object-detection/ open imagesサイト https://storage.googleapis.com/openimages/web/challenge.html
  • 11. Mobility Technologies Co., Ltd.11 学習アノテーションファイルが1GBある 画像データは500GBくらいある Open Images Dataset : どのくらい巨大か
  • 12. Mobility Technologies Co., Ltd.12 3 How to Tackle Object Detection Challenges
  • 13. Mobility Technologies Co., Ltd.13 Object Detection - 画像から物体の位置とクラスを検出するタスク - Deep Learningによって飛躍的に進歩した - Faster R-CNN, YOLO, EfficientDetなどが有名
  • 14. Mobility Technologies Co., Ltd.14 オススメできません!! よし、Object Detectionをコーディングしてみよう
  • 15. Mobility Technologies Co., Ltd.15 Object Detectorの構造 https://medium.com/@hirotoschwert/digging-into-detectron-2-47b2e794fabd
  • 16. Mobility Technologies Co., Ltd.16 Object Detectorの構造 Backbone Network Region Proposal Network ROI Head 100を超えるコンフィグパラメータが存在する。 論文の精度は絶妙なバランスのもとに成り立っている https://medium.com/@hirotoschwert/digging-into-detectron-2-47b2e794fabd
  • 17. Mobility Technologies Co., Ltd.17 YOLOv3 を本家darknetからpytorchに移植したときの話 weight初期化、loss定義、lr scheduleなどの詳細がクリティカルに精度に効くため、 精度(AP)を完全再現するのに数ヶ月を要した https://github.com/DeNA/PyTorch_YOLOv3
  • 18. Mobility Technologies Co., Ltd.18 どのくらいの精度再現ができていればよいか Model Name AP A: Faster R-CNN Res50 34.8 B: Faster R-CNN Res50 + Feature Pyramid Network 36.7 C: RetinaNet (single-shot) Res50 Feature Pyramid Network + Focal Loss 35.7 NIPS’15 CVPR’17 ICCV’17 Bモデルの野良実装:AP=33.0 を選んだ場合、 2年前のAモデルの論文精度よりも性能が低いことになる
  • 19. Mobility Technologies Co., Ltd.19 MMDetection (CUHK)  https://github.com/open-mmlab/mmdetection Detectron 2 (Facebook) https://github.com/facebookresearch/detectron2 automl/efficientdet (Google) https://github.com/google/automl/tree/master/efficientdet tpu/models (Google) https://github.com/tensorflow/tpu/tree/master/models/official tfモデルのpytorch移植 (R. Wightman) https://github.com/rwightman 信頼性の高いフレームワークの例 上記に限らず、著者が出している「本家実装」は信頼できる Schwertは、Detectron2の前身であった maskrcnn-benchmarkを使いました
  • 20. Mobility Technologies Co., Ltd. 20 1モデルの学習に1 GPU month 以上かかる 巨大データセットコンペでのアプローチの選び方 1month 気軽なtry & errorができない
  • 21. Mobility Technologies Co., Ltd.21 1:昨年のsolution 2:CVPRなどのdetection論文 3:papers with codeなどの性能まとめサイト をよく調査し、 「明らかにそれ単独でスコアが大きく上がっている」featureをピックアップする 巨大データセットコンペでのアプローチの選び方
  • 22. Mobility Technologies Co., Ltd.22 ResNet50では学習できたぞ? よし、ResNeXt101でやってみよう ついでにRandomCropも入れてみよう よくない例 model 1 (baseline) new feature A new feature B model 2 独立なfeatureをひとつだけ追加(変化)させて実験することが大事。 Ablation Studyも同様
  • 23. Mobility Technologies Co., Ltd.23 4 Schwert’s Solution
  • 24. Mobility Technologies Co., Ltd.24 Schwertの結果: Detection Track: 6th / 558 (Gold) [1] [2] Segmentation Track: 11th / 193 (Silver) [3] Relationship Track: 30th / 201 (Silver) Open Images Competition (2019)の結果 # Team Name # of members score 1 MMfruit 5 0.65887 2 imagesearch 7 0.65337 3 Prisms 6 0.64214 4 PFDet 6 0.62221 5 Omni-Detection 3 0.60406 6 Schwert 1 (solo) 0.60231 7 Team 5 5 0.60210 8 pudae 1 (solo) 0.59727 kaggleデビュー戦でソロ金メダル獲得に成功!
  • 25. Mobility Technologies Co., Ltd.25 mean Average Precision (mAP) at IoU > 0.5 (500クラスの平均) ここから読み取れること ポイント1:どんなレアなクラスの精度も対等に評価される       personクラスを含む画像数:25万枚       torchクラスを含む画像数: 18枚 ポイント2:IoU 0.5のみでの評価なので、厳密な位置精度は要求されない。       クラス分類が大事 評価指標
  • 26. Mobility Technologies Co., Ltd.26 「明らかにそれ単独でスコアが大きく上がっている」feature 2018年の1-3位のsolution [4][5][6] から読み取った有望なfeatureの例: ・class balancing (3位、5ポイント以上↑) ・Ensemble (1位 / 3位、5ポイント以上↑) ・voting NMS (1位 / 3位) ・long cosine annealing (2位) ・parent class expansion ・ResNext 152 + SE (1, 2, 3位) class balancingとmodel ensembleは必須と考えて実験、他は順次試していく
  • 27. Mobility Technologies Co., Ltd.27 手法1:Class Balancing [1] クラス毎にN (=4000)枚をランダムサンプリングする
  • 28. Mobility Technologies Co., Ltd.28 手法2:複数モデルのアンサンブルパイプライン [1] ・ベースモデルはResNeXt152 [7] + Deformable Convnets v2 [8] + Feature Pyramid Network [9] ・学習データのseedをモデル毎に変え、異なるbackboneのモデルを学習。 ・合計8モデルをアンサンブルし、後処理して最終出力とした ・ ・ ・
  • 29. Mobility Technologies Co., Ltd.29 各featureがval、public LBにどの程度寄与しているかを可視化する Ablation Study Backbone Deformable Convolutions Parent Expansion Data Size val AP private LB ResNeXt101 None Inference Time 4k per class 69.8 54.0 ResNeXt101 DCN v2 Inference Time 4k per class 72.2 (+2.4) ResNeXt152 None Inference Time 4k per class 72.2 (+2.4) ResNeXt152 None Inference Time 16k per class 72.4 (+2.6) ResNeXt152 DCN v2 Inference Time 4k per class 73.2 (+3.4) 56.4 (best single model) ResNeXt152 None Training Time 4k per class 72.4 (+2.6)*
  • 30. Mobility Technologies Co., Ltd.30 手法3:Enhanced (Voting) NMS [6] Non-Maximum Suppression for Model Ensembling 多くのモデルの検出が重なっている場合scoreが高くなるようにする
  • 31. Mobility Technologies Co., Ltd.31 結果 Backbone Deformable Convolutions Parent Expansion Data Size val AP private LB ResNeXt152 DCN v2 Inference Time 4k per class 73.2 (+3.4) 56.4 (best single model) Ensemble of 8 models + NMS tuned 60.23 13位相当 6位
  • 32. Mobility Technologies Co., Ltd.32 Best Single Modelの可視化
  • 33. Mobility Technologies Co., Ltd.33 Best Single Modelの可視化
  • 34. Mobility Technologies Co., Ltd.34 detectionとsegmentationを独立に学習・推論するアプローチ (1位チームも同じ) Segmentation Trackのアプローチ (11th place) [2]
  • 35. Mobility Technologies Co., Ltd.35 5 Take-Home Messages
  • 36. Mobility Technologies Co., Ltd.36 ・Kaggleはコンピュータビジョン修行の場として理想的。世界のkagglerたちと直接 discussionもできる ・Cross Validationなど、Kaggleならではの技術もあるが、性能を泥臭く追求する点におい ては研究論文とも共通している ・Object Detectionのコンペでは、論文精度を再現できているフレームワークを選択するこ とが第一歩 ・過去のコンペのトップ手法をよく理解すること。独立かつ確実に効く技術要素を選ぶ Take-Home Messages
  • 37. Mobility Technologies Co., Ltd.37 [1] Hiroto Honda, “The 6th Place Solution for the Open Images 2019 Object Detection Track,” presented at ICCVW 2019, https://hirotomusiker.github.io/files/schwert_open_images_6th_solution_v1.pdf [2] Hiroto Honda, “6th place solution,” discussion in Open Images 2019 Object Detection Track, https://www.kaggle.com/c/open-images-2019-object-detection/discussion/110953 [3] Hiroto Honda, “11th place solution,” discussion in Open Images 2019 Instance Segmentation Track, https://www.kaggle.com/c/open-images-2019-instance-segmentation/discussion/111351 [4] kivajok, 1st place writeup, https://storage.googleapis.com/openimages/web/challenge.html [5] Takuya Akiba et al., “PFDet: 2nd Place Solution to Open Images Challenge 2018 Object Detection Track,” arXiv:1809.00778 [6] Yuan Gao et al., “Solution for Large-Scale Hierarchical Object Detection Datasets with Incomplete Annotation and Data Imbalance,” arXiv:1810.06208 [7] Saining Xie et al., “Aggregated Residual Transformations for Deep Neural Networks,” CVPR 2017 [8] Xizhou Zhu et al., “Deformable ConvNets v2: More Deformable, Better Results,” CVPR 2019 [9] Tsung-Yi Lin et al., “Feature Pyramid Networks for Object Detection,” CVPR 2017 * All the photos used in this presentation were taken by Hiroto Honda References