陳 曦,徐志宇,2
(1.同濟大學(xué)電子與信息工程學(xué)院,上海 201804;2.同濟大學(xué)計算機與信息技術(shù)國家級實驗教學(xué)示范中心,上海 201804)
城市流浪貓主要是指棲息于城市各大公園、社區(qū)及城鄉(xiāng)結(jié)合部的無主家貓。其來源主要是走失、遺棄和自然狀態(tài)下的無序繁殖[1]。流浪貓不僅自身健康狀況堪憂[2],而且構(gòu)成城市衛(wèi)生防疫[3]、居民生活[4]、基礎(chǔ)設(shè)施及道路交通安全[5]的潛在威脅。由于貓科動物活動的隱秘性,很難對其生態(tài)進行全面、深入的考察和數(shù)據(jù)采集。
計算機科學(xué)、人工智能與傳統(tǒng)基于數(shù)理統(tǒng)計的生物測定學(xué)(Biometrics)相結(jié)合,催生了現(xiàn)代生物識別技術(shù)。該技術(shù)早期主要以人為識別對象。VOC2006首次將動物列為識別對象[6]。微軟、cvPaper等開放數(shù)據(jù)庫也陸續(xù)添加了各種動物圖片數(shù)據(jù)集。動物檢測不僅要求能夠判斷場景中是否含有目標,而且要求精確標記目標出現(xiàn)的位置。Tatsuo Kozakaya提出CoHOG特征,并將其與Haar-Like特征一起送入AdaBoost分類器[7]。Akihiko Yamad提出了一種四方向特征(four directional features,F(xiàn)DF)和線性判別式分析(linear discriminant analysis,LDA)聚類算法[8]。Danai Triantafyllidou提出將生物臉部的形狀特征和紋理特征分開,分別訓(xùn)練分類器,再并聯(lián)兩個分類器,利用卷積神經(jīng)網(wǎng)絡(luò)得出最終分類結(jié)果[9]。
本文參考野生動物科考的思路[10],運用機器視覺和遠程通信技術(shù),設(shè)計了一種用于城市流浪貓生態(tài)考察的監(jiān)測系統(tǒng)。通過現(xiàn)場隱蔽的攝像頭采集流浪貓活動的影像,運用貓臉檢測進行分析,將疑似貓臉部分圖片通過遠程通信方式上傳至監(jiān)控中心上位機。該監(jiān)測系統(tǒng)可以為動物救助和走失寵物認領(lǐng)提供重要依據(jù),也可為相關(guān)科學(xué)研究提供第一手的參考資料。
本文旨在開發(fā)一種能夠監(jiān)測城市流浪貓活動的系統(tǒng)。監(jiān)測系統(tǒng)整體架構(gòu)如圖1所示。
圖1 監(jiān)測系統(tǒng)整體架構(gòu)圖Fig.1 Overall architecture of surveillance system
該系統(tǒng)由多個部署于現(xiàn)場的移動端和一個部署于監(jiān)控中心的上位機組成。工作時,移動端根據(jù)貓臉識別記錄影像,并經(jīng)由遠程通信上傳縮略圖像至上位機。監(jiān)測數(shù)據(jù)可用于科學(xué)考察、動物救助、丟失寵物查找等。
移動端:硬件包括以樹莓派(Raspberry Pi)為核心的處理模塊、基于USB免驅(qū)攝像頭的圖像采集模塊、兼容3G和LoRa的通信模塊。軟件以Linux的發(fā)行版Raspberry Jessie為平臺,采用C++語言編程,并借助OpenCV和LibJpeg實現(xiàn)圖像處理和壓縮;通過調(diào)用Linux API驅(qū)動相關(guān)通信模塊,實現(xiàn)縮略圖像發(fā)送。
上位機:硬件為一臺計算機。軟件以Win10為開發(fā)平臺,采用Python語言編程,分別調(diào)用GUI工具包PyQt、串口開發(fā)工具包PySerial、網(wǎng)絡(luò)通信工具包PySocket,實現(xiàn)界面顯示、數(shù)據(jù)接收與存儲,
根據(jù)應(yīng)用場景的需要,該監(jiān)測系統(tǒng)應(yīng)滿足以下性能要求。①智能性:根據(jù)采集的圖像自動識別貓臉,自動控制影像記錄設(shè)備的啟停,自動選擇通信模式并向監(jiān)控中心服務(wù)器發(fā)送圖片。②遠程性:現(xiàn)場移動端與監(jiān)控中心相配合,監(jiān)控人員能夠在遠程的監(jiān)控中心了解到現(xiàn)場的情況,決定是否到達現(xiàn)場對動物或設(shè)備實施干預(yù)。③可靠性:實際應(yīng)用中,移動端需長期部署于戶外,氣候條件復(fù)雜、溫濕度環(huán)境多變,因此要求功耗低、待機時間長、可靠耐用。④經(jīng)濟性:實際應(yīng)用中,移動端需大量、多點部署;在滿足基本性能的前提下,要盡量降低購買、部署、維護成本。
局部二值模式(local binary pattern,LBP)是一種關(guān)于圖像紋理特征的描述符,將每個像素點與其相鄰像素比較,得到一個0/1序列,可突出強調(diào)圖像的局部細節(jié)特征。LBP算子具有灰度不變性和旋轉(zhuǎn)不變性[11]。為提高抗噪能力,進一步提出“多比例塊”(multi-scale block,MB)的改進方案,即MB-LBP。本文采用MB-LBP算子表征貓臉的紋理特征。
將圖像分為多個子區(qū)域(sub-region)。每個子區(qū)域與相鄰的8個子區(qū)域共同組成一個塊(block)。每個塊含有(s×s)個像素點。取子區(qū)域像素的均值為該子區(qū)域的灰度值,再通過子區(qū)域之間灰度值的比較,得到該子區(qū)域的LBP值。
子區(qū)域灰度值的均值操作,等價于對圖像的平滑處理。在此基礎(chǔ)上進行紋理提取,使魯棒性和抗噪能力得到顯著提升。
基于MB-LBP算法的貓臉紋理檢測結(jié)果如圖2所示。
圖2 基于MB-LBP算法的貓臉紋理檢測結(jié)果Fig.2 Feature detection results of cat-face based on MB-LBP algorithm
子區(qū)域越大(s越大),平滑效果越好,但同時也會導(dǎo)致圖像細節(jié)特征的丟失。當(dāng)子區(qū)域大小合適時,貓臉具有明顯區(qū)別于背景的紋理特征。經(jīng)試驗測試,折中選取子區(qū)域邊長s= 5,即每個塊包含(15×15)個像素點。
除了紋理特征,眼部特征也可作為貓臉檢測的重要依據(jù)。根據(jù)貓眼與下眼瞼在像素灰度值之間的差異,并借鑒人臉五官特征識別的成功案例[12],采用圖2 Haar-Like特征刻畫貓眼特征。
研究表明,在解決復(fù)雜的分類問題時,通過級聯(lián)多個分類器,并對其輸出結(jié)果進行線性組合,可以提高分類的性能。因此,構(gòu)造2級級聯(lián)分類器:第1級為基于Haar-Lile特征的貓眼分類器,第2級為基于MB-LBP的貓臉紋理分類器。先用貓眼特征大致定位貓臉區(qū)域,再用紋理特征進一步判斷是否為貓臉。
Adaboost是一種針對級聯(lián)分類器的訓(xùn)練算法。其核心思想是不斷尋找具有最小誤差函數(shù)的弱分類器,并在每一次弱分類之后根據(jù)分類效果調(diào)整訓(xùn)練樣本的權(quán)值分布,從而提高被錯誤分類的樣本在下一次分類時的權(quán)值。弱分類器的級聯(lián)組成最終的強分類器。作為AdaBoost算法的重要改進形式,Gentle AdaBoost采用最小二乘法對每一級弱分類器進行優(yōu)化,可以有效降低誤分類樣本權(quán)重的上升速率,在一定程度上避免過擬合,具有更好的數(shù)值計算穩(wěn)定性。
如圖2(d)所示,當(dāng)子區(qū)域較大時(如s= 60),MB-LBP特征與Haar-Like特征具有相似的結(jié)果,即貓眼的灰度值高于下眼瞼的灰度值。通過不同尺寸子區(qū)域的配合,可提高貓臉檢測的準確率和效率。
2.3.1 數(shù)據(jù)集
訓(xùn)練數(shù)據(jù)集中的正、負樣本分別來源于google (https://sites.google.com/site/catdatacollection/data)和cvPaper數(shù)據(jù)庫。貓眼分類器的正樣本為1 500張含貓眼部分的圖片。其中,閉眼狀態(tài)和睜眼狀態(tài)各750張;負樣本為5 000張不含貓臉的圖片。貓臉紋理分類器的正樣本為5 000張含貓臉的圖片,其中3 000張為正臉、2 000張為側(cè)臉;負樣本為15 000張不含貓臉的圖片。
測試數(shù)據(jù)集為來源于kaggle數(shù)據(jù)庫(https://www.kaggle.com/c/dogs-vs-cats-redux-kernels-edition/data)的1 000張包含貓臉的圖片。
2.3.2 測試結(jié)果
定義分類效果的評價指標如下。①誤檢率(false positive ratio,FPR):分類器錯誤檢出的測試樣本數(shù)與分類器檢出測試樣本數(shù)之比。②正確率(true positive ratio,TPR):分類器正確檢出的測試樣本數(shù)與實際含有目標的測試樣本數(shù)之比。③檢測時間(detection time,DT):分類器檢測640×480個像素所用的時間。
經(jīng)分別訓(xùn)練、調(diào)試貓眼和貓臉紋理這2個分類器,最終得到一個TPR= 70%、FPR= 28%、DT= 430 ms的貓臉檢測器。基于貓眼-紋理特征信息融合的貓臉檢測結(jié)果如圖3所示。這是該分類器給出的部分典型結(jié)果。
圖3 基于貓眼-紋理特征信息融合的貓臉檢測結(jié)果Fig.3 Cat-face detection results based on information fusion of ocular region and fur texture
①檢測結(jié)果對形狀不敏感:當(dāng)背景中出現(xiàn)如圖3(a)所示的類似貓臉的形狀或如圖3(b)所示的貓臉被部分遮擋時,仍可正確識別貓臉。
②檢測結(jié)果對光照不敏感:當(dāng)照片欠曝或過曝時,仍可正確識別貓臉。
③存在如圖3(d)所示的眼部、紋理特征同時類似貓臉時,可能發(fā)生誤檢。
④當(dāng)出現(xiàn)如圖3(e)所示的貓臉過度仰頭、側(cè)臉時,由于貓眼特征損失,可能發(fā)生漏檢。
城市流浪貓監(jiān)測的應(yīng)用場景,要求移動端將檢測到的貓臉圖像發(fā)送至較遠距離的上位機,并盡量降低通信功耗,延長待機時間。因此,本文給出3G和LoRa這2種遠程無線通信方案。實際應(yīng)用時,可根據(jù)現(xiàn)場網(wǎng)絡(luò)信號狀況靈活選擇。
當(dāng)移動端的部署地點的蜂窩信號覆蓋情況良好且交通便利時,為便于更換電池,功耗問題退居次要矛盾。此時可選用3G通信方式,即移動端利用3G無線通信技術(shù)將圖片發(fā)送至服務(wù)器的IP地址。3G通信方式可以很好地保證圖像傳輸?shù)目焖傩?,TCP/IP協(xié)議又能很好地保證圖像傳輸?shù)目煽啃?。監(jiān)控人員可在服務(wù)器端獲取更多的圖像信息。
為了讓移動端通過3G模式訪問互聯(lián)網(wǎng),本文在移動端連接了3G模塊。3G模塊通過USB接口與樹莓派相連。移動端借助該模塊訪問服務(wù)器的IP地址,并向其發(fā)送圖像信息。
當(dāng)移動端的部署地點無蜂窩信號覆蓋,或相對偏遠、供電困難時,功耗問題上升為主要矛盾。此時應(yīng)選用LoRa擴頻方式傳輸圖像。相比于3G方案,LoRa方案的功耗顯著降低,待機時間大大延長,減輕了更換電池的負擔(dān)。但其代價是數(shù)據(jù)傳輸速率較慢,監(jiān)控人員在上位機僅能獲得圖像的部分信息。
LoRa通信通過在移動端和服務(wù)器端分別連接LoRa擴頻無線串口模塊實現(xiàn)。LoRa擴頻模塊同樣通過USB接口與樹莓派相連,接收端模塊與服務(wù)器相連。在LoRa傳輸?shù)姆秶畠?nèi),移動端可通過訪問接收端的地址向服務(wù)器發(fā)送數(shù)據(jù)。
為完成系統(tǒng)的整體性能測試,制作了監(jiān)測系統(tǒng)移動端樣機;上位機則為普通計算機,主要涉及軟件開發(fā)工作,即編程完成圖像數(shù)據(jù)的接收、存儲,并在監(jiān)控界面顯示。
測試條件:同濟大學(xué)嘉定校區(qū)智信館南側(cè)庭院,上午10:00~11:00,天氣晴朗。此處為校園流浪貓的集中棲息地之一。
測試流程:通過攝像頭讀入含有貓臉的圖像,檢測其中的貓臉部分,將圖片壓縮后上傳至上位機,并在監(jiān)控界面中顯示。由于3G通信的傳輸可靠性與范圍依賴于現(xiàn)場周圍蜂窩基站的分布,因此本文主要測試LoRa通信性能。
定義3項通信性能指標。①傳輸時延:接收到完成圖像接收和發(fā)送端開始發(fā)送圖像的時間差。②傳輸距離:接收模塊和發(fā)送模塊間隔距離。③傳輸可靠性:完成完整的圖片傳輸?shù)臄?shù)量和發(fā)送端發(fā)送的圖片數(shù)量之比。
測試場地為室外空曠地帶,中間無明顯障礙物,設(shè)定傳輸速率為0.3 kbit/s;測試方案采用移動端發(fā)送5張1 kB左右的圖片,在上位機檢驗圖片的接收狀況。監(jiān)測系統(tǒng)移動端與上位機采用LoRa通信模式傳輸圖像的性能測試結(jié)果如表1所示。
表1 性能測試結(jié)果Tab.1 Results of performance test
監(jiān)測系統(tǒng)的整體功能驗證效果良好。移動端通過圖像識別,可準確檢測流浪貓活動;經(jīng)3G或LoRa遠程通信方式,可將圖像傳輸至上位機監(jiān)控界面顯示。
本文綜合運用計算機視覺和遠程通信技術(shù),開發(fā)了一種用于城市流浪貓生態(tài)考察的監(jiān)測系統(tǒng)。該系統(tǒng)由移動端和上位機組成,分別部署于現(xiàn)場和監(jiān)控中心。移動端基于樹莓派平臺,通過攝像頭偵測流浪貓活動,構(gòu)建了2級級聯(lián)器,分別基于Haar-Like特征和MB-LBP特征,將貓眼特征與紋理特征相結(jié)合,并運用Gentle AdaBoost算法加以訓(xùn)練。標準數(shù)據(jù)集測試顯示貓臉檢測的正確率為70%,誤檢率為28%。進一步制作的樣機,可根據(jù)現(xiàn)場蜂窩網(wǎng)覆蓋情況,選擇3G或LoRa方式實現(xiàn)遠程圖像傳輸?,F(xiàn)場測試結(jié)果證實了系統(tǒng)各項功能的有效性。