SlideShare a Scribd company logo
1 of 36
YOLO (You only look once)V1
AI Tech社群論文導讀
柯克(江雨)
物件偵測的介紹
其他先備知識
YOLO V1 介紹
Loss function 討論
YOLO V1 的缺陷
其他YOLO 的研究
結語
大綱
先自我介紹一下
本名柯克,臉書化名江雨
自由接案軟體工程師
目前正在做農業技術與 AI 應用
https://kokomexcelsa.github.io/kokoweb/
什麼是物件偵測(Object detection)
一張影像經過運算之後得知該影像中有哪些分類別,並得知分類別在影像中的位置
這樣的技術在監視攝影機、自駕車等領域,是相當重要的
框框一般稱為 Bounding boxes
在哪裡
是什麼
研究常用的資料集
Pascal VOC:
http://host.robots.ox.ac.uk/pascal/VOC/
● Person: person
● Animal: bird, cat, cow, dog, horse, sheep
● Vehicle: aeroplane, bicycle, boat, bus, car, motorbike, train
● Indoor: bottle, chair, dining table, potted plant, sofa, tv/monitor
Pascal VOC 的標記檔
<annotation>
<folder>VOC2012</folder>
<filename>xxxxxxxx.jpg</filename> //文件名稱
<source> //文件來源
<database>The VOC2007 Database</database>
<annotation>PASCAL VOC2007</annotation>
<image>flickr</image>
</source>
<size> //圖片的長、寬、深
<width>500</width>
<height>366</height>
<depth>3</depth>
</size>
<segmented>1</segmented> //是否用於語義分割
<object> //偵測的目標,會有多個物件標簽
<name>aeroplane</name> //類別
<pose>Unspecified</pose> //拍攝角度
<truncated>0</truncated> //是否被截斷、0表示完整
<difficult>0</difficult> //是否容易被識別、0表示容易識別
<bndbox> //bounding-box, 包含左下角和右上角xy坐标
<xmin>9</xmin>
<ymin>107</ymin>
<xmax>499</xmax>
<ymax>263</ymax>
</bndbox>
</object>
...
用來評價物件偵測的IOU是什麼
IOU (Intersection over Union):一般預測最常用的指標是 0.5 IOU, 表示在一次
bounding box 預測中,該 bounding box 算出的 IOU > 0.5 時為預測成功。
用來評價物件偵測的 mAP 是什麼
用來評價物件偵測的 mAP 是什麼
https://sanchom.wordpress.com/tag/average-precision/
mAP(Mean Average Precision)
一個類別可以計算一個 AP
mAP 就是多個類別的 AP 平均起來
注意這是在 PASCAL VOC裡用的 mAP
在 COCO 這個資料集裡用的 mAP還乘上了 IOU
https://medium.com/@jonathan_hui/map-mean-average-precision-for-object-detection-45c121a31173
YOLO V1 在物件偵測的歷史定位
從 R-CNN 到 Fast R-CNN,大幅提高了物件偵測準確程度和效率
YOLO V1 突破了 R-CNN 最大限制:每FPS 偵測得太慢了
YOLO V1 的成功,帶領了後面版本 YOLO 的發展,又能更快更準確
YOLO V1 可以說是承先起後,繼往開來的經典論文!!
https://www.youtube.com/watch?v=U9c1gXO8xEU
YOLO V1 的核心精神
“We frame object detection as a regression
problem to spatially separated bounding
boxes and associated class probabilities.”
每個grid cell 預測
1. B 個框框的位置 (x, y, w, h)
2. 框框有沒有物件(confidence)劃分成 S×S 個grid cell
框框中心落在某grid cell内部
則中心 cell 負責 classification
每個框框預測 C
個條件機率
最後輸出 S x S x (5*B + C) 的 tensor
eg.
S = 7, B = 2, C = 20 (20 classes)
=> 是7×7×30 的 tensor
YOLO 網路架構
受到GoogLeNet啟發,用24個卷積層和2個全連接層
前20個卷積層是用ImageNet pretrain
Activation 用 Leaky ReLU
除了最後一層用 Linear
直接吐血的loss function
直接吐血的loss function
https://blog.csdn.net/c20081052/article/details/80236015
Sum-squared error
這麼長的loss function,本質上是Sum-squared error
大框框和小框框會提供同樣的權重
小error 在小框框中會對 IOU造成比較大的影響
和其他模型的比較
跟 Fast R-CNN 的比較
兩個模型二合一
注意速度還是被Fast R-CNN所限制
VOC 2012 排行榜
YOLO V1 辨識畫作的能力很強
YOLO V1 辨識畫作的能力很強
實際辨識照片也很準
YOLO V1 的缺陷
在物件偵測的定位(location)上,還輸給 Fast R-CNN
物件太小或靠得太近的話,辨識會較差
為了求快,所以downsampling,在太過細緻的特徵上不易辨別
小error 在小框框中會對 IOU造成比較大的影響
YOLO V1 之後的研究
出了很多的升級版
YOLO V1 -> YOLO V2 -> YOLO 9000 -> YOLO V3
歡迎繼續來AI Tech 社群聽之後的論文導讀
YOLO V1結語
mAP 比 R-CNN 來得高,更加準確
有高FPS的辨識的需求,導入 YOLO 是比較好選擇
如果要辨識的目標太小或太近,可能會影響成功率
可以直接用後面版的YOLO
目前專案分享
YOLO 官網:https://pjreddie.com/darknet/yolo/
程式碼:https://zhuanlan.zhihu.com/p/25053311
謝謝大家
歡迎討論指教

More Related Content

What's hot

UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門Yuichi Ishii
 
【DL輪読会】Investigating Tradeoffs in Real-World Video Super-Resolution
【DL輪読会】Investigating Tradeoffs in Real-World Video Super-Resolution【DL輪読会】Investigating Tradeoffs in Real-World Video Super-Resolution
【DL輪読会】Investigating Tradeoffs in Real-World Video Super-ResolutionDeep Learning JP
 
2020/07/04 BSP-Net (CVPR2020)
2020/07/04 BSP-Net (CVPR2020)2020/07/04 BSP-Net (CVPR2020)
2020/07/04 BSP-Net (CVPR2020)Takuya Minagawa
 
今改めて見る Plane finding
今改めて見る Plane finding今改めて見る Plane finding
今改めて見る Plane findingTakahiro Miyaura
 
Azure Spatial Anchorsを活用したHoloLens & Androidシェアリングアプリ
Azure Spatial Anchorsを活用したHoloLens & AndroidシェアリングアプリAzure Spatial Anchorsを活用したHoloLens & Androidシェアリングアプリ
Azure Spatial Anchorsを活用したHoloLens & AndroidシェアリングアプリTakahiro Miyaura
 
物体検出コンペティションOpen Imagesに挑む
物体検出コンペティションOpen Imagesに挑む物体検出コンペティションOpen Imagesに挑む
物体検出コンペティションOpen Imagesに挑むHiroto Honda
 
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話Mio Ku-tani
 
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説Aiko Shinohara
 
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View SynthesisKento Doi
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)Hiroki Nakahara
 
Convolutional Neural Network
Convolutional Neural NetworkConvolutional Neural Network
Convolutional Neural NetworkVignesh Suresh
 
SuperGlue; Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue; Learning Feature Matching with Graph Neural Networks (CVPR'20)Yusuke Uchida
 
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法小林 信行
 
3DCGMeetup08_MayaRigSystem_mGear
3DCGMeetup08_MayaRigSystem_mGear3DCGMeetup08_MayaRigSystem_mGear
3DCGMeetup08_MayaRigSystem_mGearue_ta
 
(文献紹介)HDR+, Night Sight
(文献紹介)HDR+, Night Sight(文献紹介)HDR+, Night Sight
(文献紹介)HDR+, Night SightMorpho, Inc.
 

What's hot (20)

Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMERVisual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
 
UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門UnityによるHoloLensアプリケーション入門
UnityによるHoloLensアプリケーション入門
 
Yolo v1
Yolo v1Yolo v1
Yolo v1
 
Yolov5
Yolov5 Yolov5
Yolov5
 
【DL輪読会】Investigating Tradeoffs in Real-World Video Super-Resolution
【DL輪読会】Investigating Tradeoffs in Real-World Video Super-Resolution【DL輪読会】Investigating Tradeoffs in Real-World Video Super-Resolution
【DL輪読会】Investigating Tradeoffs in Real-World Video Super-Resolution
 
Yolo
YoloYolo
Yolo
 
2020/07/04 BSP-Net (CVPR2020)
2020/07/04 BSP-Net (CVPR2020)2020/07/04 BSP-Net (CVPR2020)
2020/07/04 BSP-Net (CVPR2020)
 
今改めて見る Plane finding
今改めて見る Plane finding今改めて見る Plane finding
今改めて見る Plane finding
 
You only look once
You only look onceYou only look once
You only look once
 
Azure Spatial Anchorsを活用したHoloLens & Androidシェアリングアプリ
Azure Spatial Anchorsを活用したHoloLens & AndroidシェアリングアプリAzure Spatial Anchorsを活用したHoloLens & Androidシェアリングアプリ
Azure Spatial Anchorsを活用したHoloLens & Androidシェアリングアプリ
 
物体検出コンペティションOpen Imagesに挑む
物体検出コンペティションOpen Imagesに挑む物体検出コンペティションOpen Imagesに挑む
物体検出コンペティションOpen Imagesに挑む
 
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
UE4初心者がUE4で2D横スクロールアクションゲームを作ってみるお話
 
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
 
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
[解説スライド] NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
 
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)2値化CNN on FPGAでGPUとガチンコバトル(公開版)
2値化CNN on FPGAでGPUとガチンコバトル(公開版)
 
Convolutional Neural Network
Convolutional Neural NetworkConvolutional Neural Network
Convolutional Neural Network
 
SuperGlue; Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)SuperGlue;Learning Feature Matching with Graph Neural Networks (CVPR'20)
SuperGlue; Learning Feature Matching with Graph Neural Networks (CVPR'20)
 
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
CEDEC2017 アーティストのためのリアルタイムシェーダー学習法
 
3DCGMeetup08_MayaRigSystem_mGear
3DCGMeetup08_MayaRigSystem_mGear3DCGMeetup08_MayaRigSystem_mGear
3DCGMeetup08_MayaRigSystem_mGear
 
(文献紹介)HDR+, Night Sight
(文献紹介)HDR+, Night Sight(文献紹介)HDR+, Night Sight
(文献紹介)HDR+, Night Sight
 

More from Ko Ko

Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AIKo Ko
 
20230830 淺談 Azure OpenAI.pdf
20230830 淺談 Azure OpenAI.pdf20230830 淺談 Azure OpenAI.pdf
20230830 淺談 Azure OpenAI.pdfKo Ko
 
Learn Django With ChatGPT
Learn Django With ChatGPTLearn Django With ChatGPT
Learn Django With ChatGPTKo Ko
 
Introduction Hugging face.pdf
Introduction Hugging face.pdfIntroduction Hugging face.pdf
Introduction Hugging face.pdfKo Ko
 
Building Chatbot With Huggging Face
 				Building Chatbot With Huggging Face 				Building Chatbot With Huggging Face
Building Chatbot With Huggging FaceKo Ko
 
Triton As NLP Model Inference Back-end
 Triton As NLP Model Inference Back-end Triton As NLP Model Inference Back-end
Triton As NLP Model Inference Back-endKo Ko
 
Run Bokeh in back-end, draw real-time charts to front-end, and make data sc...
Run Bokeh in back-end,  draw real-time charts to front-end,  and make data sc...Run Bokeh in back-end,  draw real-time charts to front-end,  and make data sc...
Run Bokeh in back-end, draw real-time charts to front-end, and make data sc...Ko Ko
 
入門 Teams Bot
入門 Teams Bot入門 Teams Bot
入門 Teams BotKo Ko
 
Introduction to MLOps in Azure Machine Learning with Live Demo
Introduction to MLOps in Azure Machine Learning with Live DemoIntroduction to MLOps in Azure Machine Learning with Live Demo
Introduction to MLOps in Azure Machine Learning with Live DemoKo Ko
 
Azure Machine Learning 重頭學
Azure Machine Learning 重頭學Azure Machine Learning 重頭學
Azure Machine Learning 重頭學Ko Ko
 
SignalR整合LINE,在LIFF裡建立一對一聊天管道
SignalR整合LINE,在LIFF裡建立一對一聊天管道SignalR整合LINE,在LIFF裡建立一對一聊天管道
SignalR整合LINE,在LIFF裡建立一對一聊天管道Ko Ko
 
來玩 Bot Framework Composer 2.0版吧!
來玩 Bot Framework Composer 2.0版吧!來玩 Bot Framework Composer 2.0版吧!
來玩 Bot Framework Composer 2.0版吧!Ko Ko
 
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗Ko Ko
 
聊天機器人的行銷與開發技巧應用在婚禮上
聊天機器人的行銷與開發技巧應用在婚禮上聊天機器人的行銷與開發技巧應用在婚禮上
聊天機器人的行銷與開發技巧應用在婚禮上Ko Ko
 
ML.NET 在遷移式學習的應用與挑戰
ML.NET 在遷移式學習的應用與挑戰ML.NET 在遷移式學習的應用與挑戰
ML.NET 在遷移式學習的應用與挑戰Ko Ko
 
Bot Framework 和它的快樂夥伴Composer
Bot Framework 和它的快樂夥伴ComposerBot Framework 和它的快樂夥伴Composer
Bot Framework 和它的快樂夥伴ComposerKo Ko
 
Bot framework composer---用圖形化介面來建立聊天機器人
Bot framework composer---用圖形化介面來建立聊天機器人Bot framework composer---用圖形化介面來建立聊天機器人
Bot framework composer---用圖形化介面來建立聊天機器人Ko Ko
 
簡介Azure在Chatbot開發上的應用
簡介Azure在Chatbot開發上的應用簡介Azure在Chatbot開發上的應用
簡介Azure在Chatbot開發上的應用Ko Ko
 
用 Azure 快速部署與開發 LINE bot
用 Azure 快速部署與開發 LINE bot用 Azure 快速部署與開發 LINE bot
用 Azure 快速部署與開發 LINE botKo Ko
 
簡介Wordpress部署在AWS上的幾種架構
簡介Wordpress部署在AWS上的幾種架構簡介Wordpress部署在AWS上的幾種架構
簡介Wordpress部署在AWS上的幾種架構Ko Ko
 

More from Ko Ko (20)

Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AI
 
20230830 淺談 Azure OpenAI.pdf
20230830 淺談 Azure OpenAI.pdf20230830 淺談 Azure OpenAI.pdf
20230830 淺談 Azure OpenAI.pdf
 
Learn Django With ChatGPT
Learn Django With ChatGPTLearn Django With ChatGPT
Learn Django With ChatGPT
 
Introduction Hugging face.pdf
Introduction Hugging face.pdfIntroduction Hugging face.pdf
Introduction Hugging face.pdf
 
Building Chatbot With Huggging Face
 				Building Chatbot With Huggging Face 				Building Chatbot With Huggging Face
Building Chatbot With Huggging Face
 
Triton As NLP Model Inference Back-end
 Triton As NLP Model Inference Back-end Triton As NLP Model Inference Back-end
Triton As NLP Model Inference Back-end
 
Run Bokeh in back-end, draw real-time charts to front-end, and make data sc...
Run Bokeh in back-end,  draw real-time charts to front-end,  and make data sc...Run Bokeh in back-end,  draw real-time charts to front-end,  and make data sc...
Run Bokeh in back-end, draw real-time charts to front-end, and make data sc...
 
入門 Teams Bot
入門 Teams Bot入門 Teams Bot
入門 Teams Bot
 
Introduction to MLOps in Azure Machine Learning with Live Demo
Introduction to MLOps in Azure Machine Learning with Live DemoIntroduction to MLOps in Azure Machine Learning with Live Demo
Introduction to MLOps in Azure Machine Learning with Live Demo
 
Azure Machine Learning 重頭學
Azure Machine Learning 重頭學Azure Machine Learning 重頭學
Azure Machine Learning 重頭學
 
SignalR整合LINE,在LIFF裡建立一對一聊天管道
SignalR整合LINE,在LIFF裡建立一對一聊天管道SignalR整合LINE,在LIFF裡建立一對一聊天管道
SignalR整合LINE,在LIFF裡建立一對一聊天管道
 
來玩 Bot Framework Composer 2.0版吧!
來玩 Bot Framework Composer 2.0版吧!來玩 Bot Framework Composer 2.0版吧!
來玩 Bot Framework Composer 2.0版吧!
 
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗
用 C# 與 .NET 也能打造機器學習模型:你所不知道的 ML.NET 初體驗
 
聊天機器人的行銷與開發技巧應用在婚禮上
聊天機器人的行銷與開發技巧應用在婚禮上聊天機器人的行銷與開發技巧應用在婚禮上
聊天機器人的行銷與開發技巧應用在婚禮上
 
ML.NET 在遷移式學習的應用與挑戰
ML.NET 在遷移式學習的應用與挑戰ML.NET 在遷移式學習的應用與挑戰
ML.NET 在遷移式學習的應用與挑戰
 
Bot Framework 和它的快樂夥伴Composer
Bot Framework 和它的快樂夥伴ComposerBot Framework 和它的快樂夥伴Composer
Bot Framework 和它的快樂夥伴Composer
 
Bot framework composer---用圖形化介面來建立聊天機器人
Bot framework composer---用圖形化介面來建立聊天機器人Bot framework composer---用圖形化介面來建立聊天機器人
Bot framework composer---用圖形化介面來建立聊天機器人
 
簡介Azure在Chatbot開發上的應用
簡介Azure在Chatbot開發上的應用簡介Azure在Chatbot開發上的應用
簡介Azure在Chatbot開發上的應用
 
用 Azure 快速部署與開發 LINE bot
用 Azure 快速部署與開發 LINE bot用 Azure 快速部署與開發 LINE bot
用 Azure 快速部署與開發 LINE bot
 
簡介Wordpress部署在AWS上的幾種架構
簡介Wordpress部署在AWS上的幾種架構簡介Wordpress部署在AWS上的幾種架構
簡介Wordpress部署在AWS上的幾種架構
 

YOLO V1 論文導讀