前言:尋找寫作靈感?中文期刊網用心挑選的家用智能監控系統設計研究,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:近幾年來,隨著科技與經濟的快速發展,越來越多的家庭注重家庭安全,越來越多的家庭選擇安裝安防攝像機。經過大量的市場調研,發現大部分的安防監控設備功能單一,某些互聯網監控設備甚至存在嚴重的系統漏洞,使得用戶的隱私面臨危險。本系統設計將基于樹莓派、Arduino等模塊,設計出具有運動監測與自動跟蹤功能的智能家庭安防系統。
關鍵詞:運動監測;家庭安全;安防監控
樹莓派(RaspberryPi)是一個只有一張信用卡大小的微型電腦,它可以運行Linux系統,擁有傳統的GPIO接口,這就意味著樹莓派擁有更加強大的擴展功能。Opencv(OpenSourceComputerVisionLibrary)是一個開源的跨平臺計算機視覺庫,它的應用領域包括:開發實時的圖像處理技術、模式識別程序以及計算機視覺等。Opencv封裝了底層算法,通過調用庫函數就可以實現我們想用的各種功能,減少了開發周期。Arduino則是一家開源的軟件與硬件公司,其旗下的各類開發板都擁有大量的資料與示例,可以方便的用于構建數字設備和交互式對象,可以感知和控制物理和數字世界中的對象,它同樣具有開發簡單的優點。本系統將整合以上各模塊,實現攝像頭的運動檢測與跟蹤功能。
1.系統硬件設計
本系統是以樹莓派為核心的智能家庭監控系統。硬件是一切功能的基石,本系統涉及圖像處理,因而需要強大的性能支持,同時,家用設備又需要考慮體積、能耗、價格等方面因素,因此,我們選擇了樹莓派作為整個系統的核心。樹莓派負責系統的運動檢測與圖像處理功能[1],為了最大的節約樹莓派的性能,我們將攝像頭運動控制交由Arduino負責[2],這樣使得整個系統可以進行模塊化開發,確保了整個系統的穩定性,以及控制與反饋的準確性、快速性。其他外部設備包括:電機、電機驅動板模塊、攝像頭模塊等。
1.1樹莓派
本系統使用RaspberryPi3,其采用了BroadcomBCM2837芯片組,運行頻率1.2GHz,64位四核,架構為ARMCortex-A53,同時其存儲器支持1GBLPDDR2,擁有40個GPIO引腳,我們將使用樹莓派的串口(UART)與Arduino進行通訊。樹莓派擴展示意圖與部分引腳圖如下。
1.2攝像頭
攝像頭采用樹莓派專用攝像頭,RaspberryPiCamerav2是樹莓派的官方攝像頭板,采用高質量8百萬像素索尼IMX219傳感器擴展板,擁有定焦鏡頭,可以捕捉3280x2464像素靜態圖片和30FPS1080P的視頻。樹莓派攝像頭通過板上表面的小插槽連接樹莓派,并使用專門為樹莓派設計的CSI接口連接。
1.3Arduino
電機控制器部分采用Atmel公司的Atmega328p單片機作為控制核心。這款單片機是高性能8位AVRRISC微控制器,擁有32KB的程序儲存空間,通過串口與樹莓派通訊,獲取電機控制指令,并控制電機做出相應的動作。
1.4電機與電機驅動板
電機使用舵機,舵機具有扭矩大、可控制轉動角度等優點,非常適合用于攝像頭運動控制。設計使用2個電機,分別控制水平方向與垂直方向的角度控制,從而實現攝像頭運動跟蹤目標的目的。
2.系統軟件設計
軟件部分運動檢測、物體位置獲取、電機控制等部分組成。
2.1圖像處理部分
圖像處理我們采用Opencv。運動檢測一般有2種方法。一是背景減法,其原理是用現在的圖像減去背景模型,剩下的即是前景圖像,因此可得到運動的物體。二是幀差法,其原理是使用相鄰的2幀或3幀圖像,利用它們之間的差異性來判斷是否有運動的目標。這里我們選用幀差法,由于攝像頭在檢測到運動目標時需要將攝像頭對準目標,這時將無法使用背景減法,因為背景模型已經改變,除此之外,使用幀差法還可以在一定程度上避免因為光線或自然震動引起的誤觸。在使用幀差法檢測到運動之后,我們使用cv2.boundingRect()函數,得到與運動物體相接矩形的X,Y坐標,與矩形的寬(W)和高(H)。這樣我們可以計算出運動物體大致的中心。樹莓派將會這個中心的坐標通過串口發送給Arduino。
2.2電機控制
由于攝像頭拍攝的畫面大小是固定的、已知的,因此,畫面中心的坐標是已知的。Arduino從串口接收到物體中心坐標值后將其與畫面中心的坐標對比,得到差值并經過計算后控制舵機旋轉一定角度即可實現追蹤運動物體的功能。
3.系統功能
經過實踐證明,本系統運行穩定,反應靈敏,實現了預期功能。系統采用的體積小巧的樹莓派作為處理核心,使得系統體積小巧、節能環保。后續可以將Arduino與電機驅動板集成在一塊PCB上,并與樹莓派堆疊,這樣使得整個設計更為小巧,使其更具有推廣使用價值與開發潛力。
參考文獻:
[1]高峰.基于樹莓派B+微處理器的視頻檢測跟蹤系統[J].電視技術,2015,39(19)
[2]蔡睿妍.基于Arduino的舵機控制系統設計[J].計算機工程應用技術,2012,(15)
作者:王翔 張勇 周文杰 程園園 張如浩 單位:江蘇大學京江學院