1.介紹
該項目主要由魯班貓ZeroW為核心,OV8588攝像頭為圖像采集設備,采用QT框架作為軟件界面,采用RKNN中的YOLOV5作為圖像識別模型。
2.整體框架
此次項目我不僅用上了硬件設計和軟件設計,還用上了結構設計,讓其更加附有哨兵的樣子。
2.1硬件框架
2.2軟件框架
2.3結構框架
結構主要由四部分組成,魯班貓ZeroW的外殼,攝像頭外殼,天線外殼和底座,為什么要設計一個底座,是為了以后方便移植到別的產品上去,能夠實現更多的DIY結合。
3.設計
硬件部分的設計沒有什么可講的,因為采用的是野火提供的模塊和開發板,主要講軟件設計和結構設計,先來講一下難度不高的結構設計。
3.1結構設計
以前做比賽都是裸板,整體效果看起來不好,而且操作的時候容易對裸露的板子造成一定的破壞。所以這次項目我加上了結構設計,第一是為了更好的封裝板子,第二也是為了讓項目能夠更加具備產品的樣子。
整個設計中我覺得設計的比較有意思的部分就是天線部分,因為有時候天線是需要設置成不同的角度,有些角度信號會更強,所以我設計的時候,特意讓天線部分是可以運動的。由于Linux板子發熱都是比較大的,我的3D材料又不是金屬,所以我設計的通氣柵格,讓結構內部更好與外部的空氣進行流通。
這個是3D打印機打印外殼的過程。
這張就是組裝好之后的成品了。
特意設計成像哨兵的模樣,所以給這次項目的名稱就叫做【現代化無線哨兵】
3.2軟件設計
現在來講軟件設計,這部分我就不貼代碼了,純理論講一下整體射界思路吧~
首先第一步就是獲取攝像頭的圖像,一開始我想用OpenCV中的函數獲取攝像頭圖像,但是不太可行(一直提示找不到攝像頭),后面我就改用QT的函數獲取攝像頭的圖像,能正常獲取但是要安裝一些模塊。
攝像頭數據能夠正常獲取之后,就需要把圖像數據傳入RKNN模型,讓其進行識別并數據,這里就需要用到例程了,我將例程移植到我的工程中,要打開訓練好的模型,同時還要對攝像頭的圖像進行處理,因為訓練好的YOLOV5模型,只能識別640x640的圖像,所以我把攝像頭圖像輸出為640x640,然后再傳入RKNN模型中去進行識別。
能夠正常識別之后,剩下的就沒有太多的技術難度了,首先就是設計報警模式,全屏報警和區域報警,區域報警當設置的報警源進入某個區域的時候就產生報警,這個區域可以通過OpenCV進行顯示。
剩下的就是報警顯示和聲音了,聲音通過文字轉語音工具生成,報警音是在網上找的一個,根據報警源選擇對應的聲音進行報警即可。
檢測到兩量車,并選擇第一輛車。
添加車輛進入視野報警,目前已產生報警。
檢測到貓。
檢測到狗。
檢測到人。
檢測到筆記本電腦。
檢測到人和手提包,多對象檢測。
人進入區域內的報警。
4.結論
這是我第一個在Linux上做的項目,讓我對Linux有了更多的了解,之前都是紙上談兵,沒有實際的項目經驗,這次項目讓我收獲了不少,后續我也會在魯班貓上繼續開發一些有趣的項目,如果想看這個項目的更多視頻可以去硬聲APP上搜索【二哲科技】進行觀看!
更多熱點文章閱讀
-
電子技術
+關注
關注
18文章
891瀏覽量
56069 -
電子發燒友論壇
+關注
關注
4文章
197瀏覽量
1101
原文標題:【實戰項目】魯班貓創意氛圍賽:現代化無線哨兵
文章出處:【微信號:gh_9b9470648b3c,微信公眾號:電子發燒友論壇】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論