5個(gè)步驟實(shí)現(xiàn)目標(biāo)檢測(cè)
點(diǎn)擊上方“小白學(xué)視覺(jué)”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時(shí)間送達(dá)
本文轉(zhuǎn)自:磐創(chuàng)AI
【導(dǎo)讀】目標(biāo)檢測(cè)技術(shù)是當(dāng)今計(jì)算機(jī)視覺(jué)領(lǐng)域的發(fā)展趨勢(shì)。在場(chǎng)景圖像和視頻中,有許多方法被用來(lái)檢測(cè)物體。在資源和執(zhí)行時(shí)間方面,每種技術(shù)都有自己的優(yōu)勢(shì)和局限性。檢測(cè)視頻中的物體也需要大量的技術(shù)知識(shí)和資源。

因此,人們一直在尋找一種簡(jiǎn)單、快速的目標(biāo)檢測(cè)方法。在本文中,我們將演示如何檢測(cè)視頻中看到的對(duì)象,只需5個(gè)步驟。
我們將在本任務(wù)中使用pixellib庫(kù),該庫(kù)使用實(shí)例分割檢測(cè)對(duì)象。我們還將使用預(yù)訓(xùn)練Mask R-CNN模型來(lái)識(shí)別視頻中看到的物體。
在這個(gè)實(shí)現(xiàn)中,我們將檢測(cè)交通視頻中的車(chē)輛對(duì)象。
實(shí)例分割是計(jì)算機(jī)視覺(jué)中的一種技術(shù),它利用圖像分割的方法進(jìn)行目標(biāo)檢測(cè)。它在像素級(jí)識(shí)別圖像或視頻中存在的每個(gè)對(duì)象實(shí)例。
在圖像分割中,視覺(jué)輸入被分割成若干段,通過(guò)形成像素集合來(lái)表示對(duì)象或?qū)ο蟮囊徊糠?。?shí)例分割識(shí)別圖像中每個(gè)對(duì)象的每個(gè)實(shí)例,而不是像語(yǔ)義分割那樣對(duì)每個(gè)像素進(jìn)行分類(lèi)。
Mask R-CNN是由Kaiming He等人在Facebook人工智能研究所提出的深層神經(jīng)網(wǎng)絡(luò)的變體。該模型用于解決計(jì)算機(jī)視覺(jué)中的對(duì)象實(shí)例分割問(wèn)題。
它檢測(cè)圖像中的對(duì)象,同時(shí)為每個(gè)實(shí)例生成一個(gè)高質(zhì)量的分割掩碼。它是Faster R-CNN的一個(gè)擴(kuò)展,它增加了一個(gè)預(yù)測(cè)目標(biāo)掩碼的分支,與現(xiàn)有的邊界盒識(shí)別分支并行。
下面給出了用于實(shí)例分割的Mask R-CNN框架。

現(xiàn)在,我們將討論在視頻中檢測(cè)物體的步驟。
1.安裝庫(kù)和依賴項(xiàng)
在第一步中,我們需要安裝pixellib庫(kù)及其依賴項(xiàng)。
!pip install pixellib

2.加載預(yù)先訓(xùn)練的Mask RCNN權(quán)重
由于我們將使用Mask R-CNN模型來(lái)檢測(cè)目標(biāo),我們將下載其預(yù)訓(xùn)練的權(quán)重。
!wget --quiet https://github.com/matterport/Mask_RCNN/releases/download/v2.0/mask_rcnn_coco.h5
3.導(dǎo)入庫(kù)
現(xiàn)在,我們將導(dǎo)入已安裝的pixellib庫(kù)。我們還將導(dǎo)入instance_segmentation 類(lèi),因?yàn)槲覀儗⑹褂脤?shí)例分割方法檢測(cè)對(duì)象。
import pixellib
from pixellib.instance import instance_segmentation
4.實(shí)例化實(shí)例分割模型并加載MASK R-CNN權(quán)重
在這一步中,我們將實(shí)例化pixellib提供的instance_segmentation類(lèi),并使用其預(yù)訓(xùn)練的權(quán)重加載Mask R-CNN模型。
segment_video = instance_segmentation()
segment_video.load_model("mask_rcnn_coco.h5")
5.檢測(cè)物體
在這一步中,我們將通過(guò)在視頻中MASK R-CNN來(lái)處理目標(biāo)檢測(cè)任務(wù)。我們會(huì)用隨機(jī)使用一段交通視頻
視頻:https://analyticsindiamag.com/wp-content/uploads/2020/07/traffic_vid2.mp4?_=1
在這種方法中,我們?cè)O(shè)置每秒幀數(shù),即視頻輸出每秒的幀數(shù)。
segment_video.process_video("traffic_vid2.mp4", show_bboxes = True, frames_per_second= 15, output_video_name="object_detect.mp4")




最后,我們將在工作目錄中獲得輸出視頻。這個(gè)過(guò)程的時(shí)間取決于視頻的長(zhǎng)度和大小。你應(yīng)該使用GPU來(lái)加快處理速度。對(duì)于上面的交通視頻,結(jié)果為
視頻:https://analyticsindiamag.com/wp-content/uploads/2020/07/Object_Detect.mp4?_=2
你可以定義一個(gè)函數(shù)來(lái)從YouTube獲取視頻并將其直接傳遞給上面的函數(shù)。
因此,利用以上步驟,我們可以討論一種非常簡(jiǎn)單的方法來(lái)實(shí)現(xiàn)視頻中的目標(biāo)檢測(cè)任務(wù)。剛?cè)腴T(mén)計(jì)算機(jī)視覺(jué)的可以用這種方法檢測(cè)物體。
原文鏈接:https://analyticsindiamag.com/hands-on-guide-to-detect-objects-in-video-in-5-steps/
交流群
歡迎加入公眾號(hào)讀者群一起和同行交流,目前有SLAM、三維視覺(jué)、傳感器、自動(dòng)駕駛、計(jì)算攝影、檢測(cè)、分割、識(shí)別、醫(yī)學(xué)影像、GAN、算法競(jìng)賽等微信群(以后會(huì)逐漸細(xì)分),請(qǐng)掃描下面微信號(hào)加群,備注:”昵稱+學(xué)校/公司+研究方向“,例如:”張三 + 上海交大 + 視覺(jué)SLAM“。請(qǐng)按照格式備注,否則不予通過(guò)。添加成功后會(huì)根據(jù)研究方向邀請(qǐng)進(jìn)入相關(guān)微信群。請(qǐng)勿在群內(nèi)發(fā)送廣告,否則會(huì)請(qǐng)出群,謝謝理解~

