“You Only Look Once”或“YOLO”是一個對象檢測算法的名字,這是Redmon等人在2016年的一篇研究論文中命名的 。YOLO實現了自動駕駛汽車等前沿技術中使用的實時對象檢測 。讓我們看看是什么使該算法如此受歡迎,并概述其工作原理 。
文章插圖
對象檢測示例
背景實時的重要性
人們看到圖像以后,可以立即識別其中的對象、它們的位置和相對位置 。這使得我們能夠在幾乎無意識的情況下完成復雜的任務,比如開車 。因此,對汽車進行自動駕駛訓練需要類似水平的反應能力和準確性 。在其最基本的形式中 , 這樣的系統必須能夠分析實時視頻中的道路 , 并能夠在繼續(xù)確定路徑之前檢測各種類型的對象及其在現實世界中的位置,所有這些都必須是實時的 。
在YOLO之前
先前的檢測系統使用分類器對測試圖像的不同切片進行評估 。例如,Deformable Parts Model (DPM)涉及到在圖像中均勻間隔的位置上滑動窗口并在這些部件上運行分類器 。R-CNN(Region-based Convolutional Neural Networks)是另一種模型,它運行一種分割算法將一幅圖像分割成一個個小塊,然后在這些小塊上運行一個分類器 。但是 , 速度慢、優(yōu)化困難一直困擾著這種YOLO之前的系統 。
YOLO算法YOLO將對象檢測重新定義為一個回歸問題 。它將單個卷積神經網絡(CNN)應用于整個圖像,將圖像分成網格,并預測每個網格的類概率和邊界框 。例如,以一個100x100的圖像為例 。我們把它分成網格,比如7x7 。
文章插圖
【計算機視覺 dpm是什么意思】然后 , 對于每個網格,網絡都會預測一個邊界框和與每個類別(汽車,行人,交通信號燈等)相對應的概率 。
文章插圖
每個邊界框可以使用四個描述符進行描述:
- 邊界框的中心
- 高度
- 寬度
- 值映射到對象所屬的類
最后,我們對每個類的對象應用一個稱為“非最大抑制(Non Max Suppression)”的方法來過濾出“置信度”小于閾值的邊界框 。這為我們提供了圖像預測 。
文章插圖
重要性YOLO非常快 。由于檢測問題是一個回歸問題 , 所以不需要復雜的管道 。它比“R-CNN”快1000倍,比“Fast R-CNN”快100倍 。它能夠處理實時視頻流,延遲小于25毫秒 。它的精度是以前實時系統的兩倍多 。同樣重要的是,YOLO遵循的是“端到端深度學習”的實踐
