目標檢測是一類計算機視覺任務,簡單來說,目標檢測可被定義為在計算機中輸入一張圖像,計算機需要找出圖像中所有感興趣的目標(物體),確定它們的類別和位置,如圖一所示。目標檢測是計算機視覺領域的核心問題之一,相較于最原始的將整張圖片分類為某一類別,目標檢測不光可以感知圖像中物體的類別,還可以提取感興趣物體在圖像中的位置信息,并將圖片區分為前景和背景。隨著科技的進步,目標檢測算法廣泛的利用深度學習作為基礎,在近幾年有了飛速的發展。目前,目標檢測算法被廣泛的應用于智能駕駛、安防攝像頭、工業上的裂紋污損檢測等工作。
從算法范式上來區分,目標檢測算法基本可以分為兩階段(two stage)和單階段(single stage)兩種范式,而從學術流派而言,目標檢測算法又可被區分為RCNN流派、YOLO流派和DETR流派,下面我們將簡要介紹幾種主要的目標檢測算法原理。
一、 RCNN流派
兩階段目標檢測算法是最早出現的使用深度學習的目標檢測算法,這類算法通過顯式的區域建議將檢測問題轉化為對生成的建議區域內局部圖片的分類問題,如圖2所示。代表性的兩階段目標檢測算法有RCNN、Faster R-CNN、Mask RCNN等。
兩階段目標檢測算法最突出的特點在于其鮮明的人工斧鑿的人為思考痕跡,即算法存在十分突出的