當你使用支付寶“刷臉支付”時,你是否好奇過你的手機是如何認出你的?這得益于計算機視覺的蓬勃發展。計算機視覺是一門教計算機如何“看”世界的學科。計算機視覺包含多個分支,其中圖像分類、目標檢測、圖像分割、目標跟蹤等是計算機視覺領域最重要的研究課題。本文將介紹目標檢測的相關知識,并提供一些有趣的實例幫助理解。
一、什么是目標檢測
目標檢測,用通俗的語言來講,就是通過編寫程序,讓計算機從一張圖片中找出感興趣的目標,并確定它們的位置和類別的方法。目標檢測包含兩個任務:(1)判定圖像上有哪些目標物體,將它們進行分類。(2)判定圖像中目標物體在哪里,并確定它們的準確位置。如圖1-1所示,目標檢測算法關注的是“貓”這一特定目標物體,圖像中不但檢測出了一只貓,還準確地框出了這只貓在圖像中的位置。
二、目標檢測中的核心問題
目標檢測共有以下四個核心問題:(1)目標可能出現在圖像的任何位置;(2)目標有各種不同的大小;(3)目標有各種不同的形狀;(4)光照、遮擋等因素的干擾。如圖2-1所示,在這幅圖中,人臉被口罩所遮擋。
三、目標檢測算法簡介
首先我們來介紹深度學習方法。簡單來說,深度學習就是把計算機要學習的東西看成一大堆數據,把這些數據丟進一個復雜的、包含多個層級的數據處理網絡(深度神經網絡),然后檢查經過這個網絡處理得到的結果是否符合要求——如果符合,就保留這個網絡作為目標模型,如果不符合,就一次次地、鍥而不舍地調整網絡的參數設置,直到輸出滿足要求為止。
圖3-1 深度學習體系[1]
隨著深度學習的發展,目標檢測領域也開始使用深度學習方法。基于深度學習的目標檢測方法總共分為兩類:一階段目標檢測算法和兩階段目標檢測算法,如圖所示。
圖3-2 目標檢測算法分類
一階段目標檢測算法可以實時檢測,不需要產生候選區域,可以直接輸出目標的位置和類別。最具代表性的一階段目標檢測算法有YOLO系列算法。
YOLOv1(You only look once)算法在2016年首次提出,YOLOv1算法只進行一次預測,卻能直接輸出目標的位置和類別,比其他基于深度學習的目標檢測方法速度更快,缺陷在于準確度不算很高。后續提出的YOLOv2與YOLOv3在YOLOv1基礎上做了很大的改進,提升了目標檢測的準確度,YOLO系列算法在多個領域都得到了廣泛的應用。圖3-3是使用YOLO系列算法進行目標檢測的一個實例,僅僅使用了一個非常簡單的卷積網絡,就可以同時標出目標的位置和所屬類別的可能性大小。
圖3-30YOLO算法檢測系統[2]
兩階段目標檢測算法將目標檢測分為兩個階段:首先對原圖進行處理,產生較多的候選框,在各個候選框內尋找目標的位置并分類。這種方法精度較高,但是速度較慢,不能實現實時目標檢測。最具代表性的兩階段目標檢測方法是R-CNN, Fast-RCNN,Faster-RCNN, FPN等。圖3-4是兩階段目標檢測算法R-CNN的檢測系統圖,它先在圖像上產生大于2000個候選框,再通過一個卷積網絡,最后得到目標的精確位置和目標的類別。
圖3-4 R-CNN算法檢測系統[3]
綜上,一階段目標檢測算法適合對實時性要求較高、但對精度無過高要求的應用場景,而二階段目標檢測算法與此相反,適合對精度有較高要求,但不要求實時檢測的應用場景。隨著技術的發展,二階段目標檢測算法也越來越追求速度與精度的平衡。
?+
+
四、目標檢測的應用場景
目標檢測是計算機視覺最基本的問題之一,具有極為廣泛的應用,下面簡單介紹三種典型的應用場景,分別是人臉識別、智能交通和工業檢測。
1.人臉識別
使用支付寶進行“刷臉支付”就是一種典型的人臉識別技術。人臉識別是基于人的面部特征進行身份識別的一種生物識別技術,通過采集含有人臉的圖像或視頻,對檢測到的人臉進行識別。圖是使用支付寶進行“刷臉支付”的示意圖。
圖4-1 刷臉支付示意圖
人臉識別系統主要包括四個部分,分別為人臉圖像檢測、人臉圖像預處理、人臉圖像特征提取以及身份匹配與識別,流程如圖所示。其中人臉圖像檢測是進行后續識別的基礎,這就是目標檢測在人臉識別中的應用。
圖4-2人臉識別系統流程圖
近年來,人臉識別技術已經取得了長足的發展,目前廣泛應用于公安、交通、支付等多個實際場景。
2. 智能交通
自動駕駛技術是一種廣為人知的智能交通應用。如圖所示,自動駕駛技術中的目標檢測主要包含對道路、車輛以及行人的檢測,對交通標志物以及路旁物體的檢測識別。主流的人工智能公司,如百度、華為、大疆等,都很重視自動駕駛方面的研發,目前已經初步實現了受限路況條件下的自動駕駛,但距離實現不受路況、天氣等因素影響的自動駕駛(L4級別),還有相當長的一段距離。
圖4-3 目標檢測在自動駕駛中的應用
除了自動駕駛技術,目標檢測也可以幫助解決道路擁堵問題。通過目標檢測算法,對道路上的相機采集的視頻圖像進行分析,根據相應路段的車流量調整紅綠燈的時間,可以避免大規模的擁堵。
目標檢測也可以幫助公安部門追蹤嫌疑人或嫌疑車輛。如圖,通過目標檢測算法,鎖定嫌疑車輛的特征,可對他們進行全程軌跡追蹤。
圖4-4 目標檢測在公安偵察方面的應用[6]
從根本上看,交通場景中各種具體應用的底層實現,都是以目標檢測技術為基礎的。
3.工業檢測
在產品的生產過程中,由于原料、制造業工藝、環境等因素的影響,產品有可能產生各種各樣的問題。其中一部分是外觀缺陷,即人眼可識別的缺陷。在傳統生產流程中,外觀缺陷大多采用人工檢測的方式進行識別,不僅消耗人力成本,也無法保障檢測效果。圖4-5是利用YOLO算法對電路板外觀缺陷進行檢測的示意圖,利用目標檢測算法,可以準確地鎖定 哪里產生了缺陷,產生了什么缺陷。
圖4-5 YOLO算法檢測電路板的外觀缺陷[7]
工業檢測利用計算機視覺技術中的目標檢測算法,把產品在生產過程中出現的裂紋、形變、部件丟失等外觀缺陷檢測出來,可以提升工廠的生產效率。
-
程序
+關注
關注
117文章
3817瀏覽量
82246 -
目標檢測
+關注
關注
0文章
221瀏覽量
15863 -
計算機視覺
+關注
關注
9文章
1705瀏覽量
46506
原文標題:計算機如何“看”世界——目標檢測簡介及應用
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄


基于核相關濾波器的SAR車輛目標檢測與識別
基于PowerPC的小目標檢測系統

評論