李良熹 榮進(jìn)國(guó)
摘要:研究野生動(dòng)物生活習(xí)性所部署的視頻監(jiān)控設(shè)備,由于網(wǎng)絡(luò)條件限制,通常只能將視頻保存在存儲(chǔ)設(shè)備中,由研究人員定期取回分析。大量的無(wú)效視頻一方面影響監(jiān)控設(shè)備的續(xù)航能力,一方面需要耗費(fèi)大量的時(shí)間進(jìn)行分析。使用目標(biāo)識(shí)別算法賦予監(jiān)控系統(tǒng)智能,對(duì)視頻進(jìn)行預(yù)處理,自動(dòng)識(shí)別和保存包含目標(biāo)動(dòng)物的視頻,可以提高監(jiān)控設(shè)備的續(xù)航能力,降低研究者在視頻中搜尋目標(biāo)動(dòng)物的工作量。本文以視頻監(jiān)控系統(tǒng)的智能化為研究目標(biāo),提出一種在邊緣計(jì)算硬件上部署輕量級(jí)目標(biāo)識(shí)別算法對(duì)包含目標(biāo)動(dòng)物的視頻進(jìn)行智能保存的方法。經(jīng)過(guò)仿真實(shí)驗(yàn),使用該方法可以提高視頻監(jiān)控設(shè)備的續(xù)航能力,減少后期人工處理的時(shí)間。
關(guān)鍵詞: 目標(biāo)識(shí)別; 深度學(xué)習(xí); 智能視頻監(jiān)控; YOLO; 百度飛槳
中圖分類號(hào):TP391? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2021)28-0001-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
A Design of Intelligent Video Surveillance System Based on Target Detection
LI Liang-xi,RONG Jin-guo
(Chongqing Technology and Business Institute, Chongqing 401520,China)
Abstract:Video surveillance system for monitor wildlife usually save video clips in storage device because of network conditions. But most of the saved videos are invalid and need a lot of time to analyze. Target recognition algorithm can give video surveillance system intelligence, and only save the video when a specific wildlife is recognized. This paper presents an intelligence surveillance system using edge computing to recognize wildlife. Through testing, surveillance system with object-detection algorithm can effectively save a lot of storage space and reduce search time when locating the wildlife in video clips.
Key words:object detection; deep learning; intelligent video surveillance; YOLO; PaddlePaddle
生物多樣性是確保生態(tài)環(huán)境的關(guān)鍵,任何一種生物的滅絕,都會(huì)帶來(lái)一系列的鏈條式反應(yīng),引起生態(tài)環(huán)境的逐漸崩潰,保護(hù)野生動(dòng)物就是保護(hù)人類自己。70年來(lái),我國(guó)建立了2750個(gè)自然保護(hù)區(qū),其中國(guó)家級(jí)有474個(gè),自然保護(hù)區(qū)的總面積達(dá)到147萬(wàn)平方公里,占到陸域國(guó)土面積的15%,面積廣大人煙稀少。
研究野生動(dòng)物的分布、行為生態(tài)是對(duì)野生動(dòng)物進(jìn)行有針對(duì)性保護(hù)的關(guān)鍵之一,非侵入式監(jiān)測(cè)是對(duì)野生動(dòng)物進(jìn)行監(jiān)測(cè)的基本要求,數(shù)字影像技術(shù)是實(shí)現(xiàn)這一基本要求的重要途徑之一。我國(guó)從20世紀(jì)90年代中期就開(kāi)始使用紅外相機(jī)技術(shù)在云南省高黎貢山地區(qū)研究物種分布和活動(dòng)模式的研究[1]。隨著對(duì)數(shù)據(jù)的要求越來(lái)越高,視頻監(jiān)控系統(tǒng)被廣泛應(yīng)用于野生動(dòng)物的監(jiān)控。在有條件的保護(hù)區(qū)通常部署實(shí)時(shí)視頻監(jiān)控系統(tǒng),通過(guò)無(wú)線網(wǎng)絡(luò)實(shí)時(shí)上傳數(shù)據(jù)到服務(wù)器,而在缺乏條件的保護(hù)區(qū)通常部署硬塑料保護(hù)的視頻監(jiān)控設(shè)備,將數(shù)據(jù)保存在固態(tài)硬盤(pán)中,由研究人員定期取回分析,這種方式對(duì)視頻監(jiān)控設(shè)備的功耗和存儲(chǔ)能力都提出了巨大的挑戰(zhàn)。另外,由于取回的大部分視頻數(shù)據(jù)都是沒(méi)有野生動(dòng)物出現(xiàn)的無(wú)效視頻,研究人員需要花費(fèi)大量的時(shí)間來(lái)分析和識(shí)別視頻。
為了延長(zhǎng)視頻監(jiān)控設(shè)備的續(xù)航時(shí)間,非實(shí)時(shí)視頻監(jiān)控設(shè)備通常采用“陷阱法”來(lái)觸發(fā)錄制,常用的陷阱法包括紅外線探測(cè)器、動(dòng)作傳感器或者其他光感作為觸發(fā)機(jī)關(guān)[2]。這些方法都無(wú)法有針對(duì)性地進(jìn)行觀測(cè),任何風(fēng)吹草動(dòng)都可能觸發(fā)錄制。本文提出一種基于目標(biāo)識(shí)別的智能視頻監(jiān)控方法,通過(guò)在嵌入式設(shè)備上部署輕量級(jí)目標(biāo)識(shí)別算法,智能地識(shí)別所研究的野生動(dòng)物,當(dāng)特定的野生動(dòng)物出現(xiàn)在鏡頭前時(shí),智能地開(kāi)始保存視頻。通過(guò)使用視頻進(jìn)行仿真驗(yàn)證,該方法能有效地提高視頻監(jiān)控設(shè)備的續(xù)航能力,極大地減少后期篩選和識(shí)別的時(shí)間,具有很好的應(yīng)用價(jià)值。
1 方案設(shè)計(jì)
1.1硬件設(shè)計(jì)
在視頻監(jiān)控終端部署AI智能算法,需要綜合考慮功耗和運(yùn)算速度[3],同時(shí)還需要考慮到硬件對(duì)深度學(xué)習(xí)框架的支持[4]。Jetson TX2是英偉達(dá)公司推出的嵌入式AI超級(jí)計(jì)算模塊,只有一張信用卡大小,配置有NVIDA Pascal GPU和8G顯存。其嵌入式、高性能的特性,使得在終端設(shè)備上使用深度學(xué)習(xí)進(jìn)行目標(biāo)識(shí)別成為可能。TX2提供兩種運(yùn)行模式,在MAX-Q均衡模式下,能效比最高,功耗僅為7.5瓦,而當(dāng)運(yùn)行于MAX-P強(qiáng)效模式下時(shí),性能最高,功耗在15瓦左右。
Jetson TX2自帶32G eMMC存儲(chǔ),在部署了深度學(xué)習(xí)算法后剩余12G左右空間,不足以保存視頻數(shù)據(jù)。我們使用載板上提供的兩種擴(kuò)展接口進(jìn)行擴(kuò)展,其中SD card插槽支持256G的Full-Size SD卡,SATA接口可以使用SSD固態(tài)硬盤(pán)存儲(chǔ)數(shù)據(jù)。
Jetson TX2支持多種接口的攝像設(shè)備,可以配備USB相機(jī)或者CSI相機(jī)。USB相機(jī)的優(yōu)勢(shì)在于易于整合,支持長(zhǎng)距離工作,在不使用USB Hub的情況下線纜可以長(zhǎng)達(dá)3米-5米,對(duì)于野外部署視頻監(jiān)控設(shè)備有一定的優(yōu)勢(shì)。而CSI相機(jī)的優(yōu)勢(shì)在于可以提供更高的分辨率,通過(guò)TX2的專用MIPI CSI-2接口可以降低CPU的處理時(shí)間。
經(jīng)過(guò)綜合權(quán)衡,在實(shí)驗(yàn)室環(huán)境中使用TX2 + USB高清攝像頭 + SD卡方案進(jìn)行系統(tǒng)仿真驗(yàn)證,生產(chǎn)環(huán)境則使用 TX2 + CSI相機(jī) + SSD固態(tài)硬盤(pán)方案。
1.2目標(biāo)識(shí)別算法設(shè)計(jì)
YOLO(You Only Look Once)是一種基于深度神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)和定位算法,其最大的特點(diǎn)是運(yùn)行速度很快,可以用于實(shí)時(shí)系統(tǒng)[5]。YOLO是一種端到端的One Stage算法,將提出候選區(qū)和目標(biāo)識(shí)別放在一個(gè)步驟中完成。Yolov3算法在Yolov1和YOLOv2的基礎(chǔ)上,加深了網(wǎng)絡(luò)結(jié)構(gòu),利用多尺度特征進(jìn)行對(duì)象檢測(cè),在保持速度優(yōu)勢(shì)的前提下,提升了預(yù)測(cè)精度,增加了對(duì)小物體的識(shí)別能力[6]。
百度飛槳是中國(guó)首個(gè)自主研發(fā)、開(kāi)源開(kāi)放的深度學(xué)習(xí)框架,可以輕松的部署到不同架構(gòu)的設(shè)備上。PaddleDetection飛槳目標(biāo)檢測(cè)模塊,實(shí)現(xiàn)了多種主流目標(biāo)檢測(cè)算法,提供了豐富的數(shù)據(jù)增強(qiáng)策略、網(wǎng)絡(luò)模塊組件(如骨干網(wǎng)絡(luò))、損失函數(shù)等,并集成了模型壓縮和跨平臺(tái)高性能部署能力,成為我們的首選深度學(xué)習(xí)框架。在百度飛槳框架上對(duì)YOLOv3模型進(jìn)行改進(jìn),可以取得流暢的識(shí)別效果和識(shí)別精度。
1.3視頻輸入輸出設(shè)計(jì)
使用OpenCV獲取USB攝像頭的視頻流數(shù)據(jù),由于我們這里并不需要保存帶有識(shí)別結(jié)果框的視頻,我們對(duì)視頻保存代碼進(jìn)行了修改。在內(nèi)存中循環(huán)緩存一個(gè)長(zhǎng)度為3秒的視頻片段,當(dāng)目標(biāo)檢測(cè)算法檢測(cè)到目標(biāo)動(dòng)物出現(xiàn)時(shí),記錄動(dòng)物的出現(xiàn)時(shí)間和離開(kāi)時(shí)間,并從檢測(cè)到目標(biāo)動(dòng)物前3秒開(kāi)始將視頻保存到持久存儲(chǔ)設(shè)備。如果在3秒內(nèi)都未檢測(cè)到目標(biāo)動(dòng)物,則停止持久化視頻數(shù)據(jù),進(jìn)入循環(huán)檢測(cè)模式。
2 模型訓(xùn)練
2.1 數(shù)據(jù)預(yù)處理
我們使用AWA2(Animals with Attributes 2)數(shù)據(jù)庫(kù)中的野生動(dòng)物數(shù)據(jù)在原始的權(quán)重文件上進(jìn)行再訓(xùn)練。AWA2數(shù)據(jù)集由50個(gè)類別的37322個(gè)圖像組成,包含大象、老虎、斑馬、蜘蛛猴等多種野生動(dòng)物。我們從中挑選出長(zhǎng)頸鹿的圖片共1202張作為我們的原始數(shù)據(jù),每張圖片進(jìn)行左右翻轉(zhuǎn),共得到2404張圖片。
這些圖片再使用Labelimg標(biāo)注工具進(jìn)行手工標(biāo)注,標(biāo)注為只包含單類別的YOLO的txt格式。
標(biāo)注好的圖片,采用K折交叉驗(yàn)證法隨機(jī)選取其中的2204張作為訓(xùn)練集,其余的200張作為驗(yàn)證集。在訓(xùn)練之前,先對(duì)標(biāo)注好的圖片進(jìn)行Anchor重聚類,得到適合檢測(cè)長(zhǎng)頸鹿的Anchor框大小,原始的Anchor大小和經(jīng)過(guò)聚類后得到的Anchor框大小見(jiàn)下表:
2.2 模型選擇
我們使用PP-YOLO_MobileNetV3_large輕量級(jí)模型[7]作為baseline進(jìn)行模型的再訓(xùn)練,使用特定的野生動(dòng)物數(shù)據(jù)在預(yù)訓(xùn)練好的模型上進(jìn)行再訓(xùn)練,可以有效的提高泛化能力。MobileNet相對(duì)于YOLO-tiny來(lái)說(shuō)層數(shù)更深,但是計(jì)算量維持較小,是Google推出的針對(duì)移動(dòng)端進(jìn)行優(yōu)化的輕量型網(wǎng)絡(luò)結(jié)構(gòu)。使用MobileNetV3作為backbone,可以在精準(zhǔn)和效率上取得平衡。
MobileNetV3綜合了V1的深度可分離卷積、V2的逆殘差結(jié)構(gòu),并使用輕量級(jí)注意力機(jī)制來(lái)優(yōu)化性能,使用h-swish激活函數(shù)代替swish函數(shù)來(lái)降低運(yùn)算量[8]。
2.3 遷移學(xué)習(xí)
PP-YOLO_MobileNetV3_large使用COCO2017作為訓(xùn)練集,當(dāng)我們需要使用AWA2數(shù)據(jù)集學(xué)習(xí)識(shí)別特定的動(dòng)物時(shí),需要進(jìn)行遷移學(xué)習(xí)。我們?nèi)サ袅祟A(yù)訓(xùn)練模型的最后一層,添加新層用于學(xué)習(xí)是否目標(biāo)動(dòng)物。由于我們只需要判斷目標(biāo)動(dòng)物是否出現(xiàn),所以需要修改多分類損失函數(shù)為二分類交叉熵?fù)p失函數(shù)[9]。
為了盡可能的保留在COCO數(shù)據(jù)集上的學(xué)習(xí)成果,我們凍結(jié)了預(yù)訓(xùn)練模型的基礎(chǔ)層,充分訓(xùn)練后再使用非常小的學(xué)習(xí)率進(jìn)行微調(diào)[10],經(jīng)過(guò)微調(diào)得到的模型作為野生動(dòng)物識(shí)別的基本模型。
2.4 抽幀檢測(cè)
由于相鄰的幀基本上是相同的,我們并不需要對(duì)每一幀都調(diào)用目標(biāo)檢測(cè)算法。常用的抽幀算法有兩種,一種是按比例抽幀,一種是按FPS抽幀。在智能視頻監(jiān)控系統(tǒng)中,為了保證目標(biāo)識(shí)別算法的流暢,我們選用按FPS進(jìn)行抽幀。在視頻處理模塊中加入?yún)?shù) fps_rate_max,如果視頻的FPS大于fps_rate_max,則按照f(shuō)ps_rate_max進(jìn)行抽幀檢測(cè)。抽幀檢測(cè)可以極大地降低系統(tǒng)的運(yùn)算壓力,提高檢測(cè)的流暢度。
2.5 模型部署
在深度學(xué)習(xí)服務(wù)器上訓(xùn)練完成的模型,使用PaddleSlim進(jìn)行模型壓縮和量化后,使用TensorRT部署到Jetson TX2上[11]。NVIDIA TensorRT 是英偉達(dá)為NVIDIA GPU設(shè)計(jì)的高性能深度學(xué)習(xí)預(yù)測(cè)庫(kù),可為深度學(xué)習(xí)推理應(yīng)用程序提供低延遲和高吞吐量,通常可以提高圖像分類任務(wù)的推理速度3-6倍,PaddlePaddle采用子圖的形式集成了TensorRT。經(jīng)過(guò)測(cè)試,在不使用PaddleSlim和TensorRT進(jìn)行加速的情況下,只能達(dá)到14fps,而使用了加速后能夠達(dá)到42fps。
3 實(shí)驗(yàn)仿真
3.1 動(dòng)物世界視頻測(cè)試
根據(jù)實(shí)際測(cè)試需要,我們從購(gòu)買的動(dòng)物世界、國(guó)家地理、人與自然、生命禮贊、與猛獸同行、地球脈動(dòng)等紀(jì)錄片光盤(pán)中人工挑選了12段視頻作為驗(yàn)證數(shù)據(jù)集進(jìn)行測(cè)試。對(duì)于選中的測(cè)試視頻,手工標(biāo)記視頻中長(zhǎng)頸鹿出現(xiàn)的時(shí)間點(diǎn)和離開(kāi)鏡頭的時(shí)間點(diǎn),和智能視頻系統(tǒng)所保存的視頻進(jìn)行回放對(duì)比。下面是《動(dòng)物世界》 20181215 勇敢的長(zhǎng)頸鹿(上)中截取的10分鐘視頻片段進(jìn)行仿真測(cè)試的結(jié)果:
圖3為智能識(shí)別監(jiān)控系統(tǒng)錄制的視頻還原到原視頻時(shí)間軸的結(jié)果??梢钥闯?,智能視頻監(jiān)控系統(tǒng)能夠有效地對(duì)目標(biāo)動(dòng)物進(jìn)行識(shí)別,并智能地進(jìn)行視頻的保存。在實(shí)際工作場(chǎng)景下,目標(biāo)動(dòng)物的出現(xiàn)不會(huì)如此頻繁,智能監(jiān)控系統(tǒng)可以更大地節(jié)省存儲(chǔ)空間。
3.2 結(jié)果分析
重新為保存的視頻加上識(shí)別框后,結(jié)合日志進(jìn)行檢查,發(fā)現(xiàn)模型在目標(biāo)動(dòng)物密集的時(shí)候存在漏檢現(xiàn)象,另外在視頻片段開(kāi)始21秒處有長(zhǎng)頸鹿在水中的倒影并沒(méi)有被識(shí)別到。由于智能視頻監(jiān)控系統(tǒng)只需要識(shí)別到目標(biāo)動(dòng)物的出現(xiàn),當(dāng)目標(biāo)動(dòng)物密集出現(xiàn)時(shí)的漏檢現(xiàn)象并不會(huì)影響到系統(tǒng)的可靠存儲(chǔ)。動(dòng)物倒影的漏檢,是由于做數(shù)據(jù)增強(qiáng)的時(shí)候沒(méi)有考慮到可能會(huì)出現(xiàn)上下顛倒的長(zhǎng)頸鹿,經(jīng)過(guò)進(jìn)一步的數(shù)據(jù)增強(qiáng),增加了上下顛倒和旋轉(zhuǎn)的數(shù)據(jù)集后,系統(tǒng)能夠?qū)Φ褂斑M(jìn)行識(shí)別。
同時(shí),對(duì)視頻的目標(biāo)識(shí)別算法常見(jiàn)的問(wèn)題是無(wú)法達(dá)到足夠的幀率,相對(duì)于行人識(shí)別等對(duì)fps敏感的場(chǎng)景,野生動(dòng)物的識(shí)別可以采用抽幀識(shí)別的方法,大大地降低了系統(tǒng)的運(yùn)算壓力,這也是能夠?qū)OLO目標(biāo)識(shí)別算法實(shí)際應(yīng)用到智能視頻監(jiān)控系統(tǒng)上的主要原因之一。
4 結(jié)語(yǔ)
將基于邊緣計(jì)算的目標(biāo)識(shí)別算法引入智能監(jiān)控系統(tǒng),可以為監(jiān)控系統(tǒng)帶來(lái)更多的智能。相對(duì)于傳統(tǒng)的紅外陷阱法和動(dòng)感陷阱法,實(shí)時(shí)的目標(biāo)識(shí)別方法能讓相機(jī)更加有針對(duì)性的識(shí)別到特定的目標(biāo)出現(xiàn)。智能的視頻數(shù)據(jù)保存算法,進(jìn)一步地確保了監(jiān)控的可靠性。實(shí)驗(yàn)表明,本文所設(shè)計(jì)的智能監(jiān)控系統(tǒng)能夠大幅的提高視頻監(jiān)控設(shè)備的續(xù)航能力,降低研究人員后期分析大量視頻所需要耗費(fèi)的時(shí)間。
參考文獻(xiàn):
[1] 張明霞,曹林,權(quán)銳昌,等.利用紅外相機(jī)監(jiān)測(cè)西雙版納森林動(dòng)態(tài)樣地的野生動(dòng)物多樣性[J].生物多樣性,2014,22(6):830-832.
[2] 肖治術(shù),李欣海,姜廣順.紅外相機(jī)技術(shù)在我國(guó)野生動(dòng)物監(jiān)測(cè)研究中的應(yīng)用[J].生物多樣性,2014,22(6):683-684.
[3] 孫潔,錢蕾.基于邊緣計(jì)算模型的智能視頻監(jiān)控的研究[J].計(jì)算機(jī)與數(shù)字工程,2019,47(2):402-406.
[4] 孔令軍,王銳,張南,等.邊緣計(jì)算下的AI檢測(cè)與識(shí)別算法綜述[J].無(wú)線電通信技術(shù),2019,45(5):453-462.
[5] Redmon J,Divvala S,Girshick R,et al.You only look once:unified,real-time object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).June 27-30,2016,Las Vegas,NV,USA.IEEE,2016:779-788.
[6] Redmon J,F(xiàn)arhadi A.YOLOv3:an incremental improvement[EB/OL].2018:arXiv:1804.02767[cs.CV].https://arxiv.org/abs/1804.02767
[7] Long X,Deng K P,Wang G Z,et al.PP-YOLO:an effective and efficient implementation of object detector[EB/OL].2020
[8] Howard A,Sandler M,Chen B,et al.Searching for MobileNetV3[C]//2019 IEEE/CVF International Conference on Computer Vision (ICCV).October 27 - November 2,2019,Seoul,Korea (South).IEEE,2019:1314-1324.
[9] 宋非洋,吳黎明,鄭耿哲,等.基于MobileNetV3的結(jié)構(gòu)性剪枝優(yōu)化[J].自動(dòng)化與信息工程,2019,40(6):20-25.
[10] 邵偉平,王興,曹昭睿,等.基于MobileNet與YOLOv3的輕量化卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2020,40(S1):8-13.
[11] 殷迅.基于嵌入式GPU平臺(tái)深度學(xué)習(xí)算法的加速與優(yōu)化[D].上海:上海交通大學(xué),2019.
【通聯(lián)編輯:唐一東】