<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于機器視覺(jué)的水面垃圾尋航系統*

基于機器視覺(jué)的水面垃圾尋航系統*

作者:余胤翔1,趙宇洋1,黃胤政2,汪洋3(1.遼寧科技大學(xué) 電子與信息工程學(xué)院,遼寧鞍山 114051;2.西南科技大學(xué)經(jīng)濟管理學(xué)院,四川綿陽(yáng) 621000;3.遼寧科技大學(xué)創(chuàng )新創(chuàng )業(yè)學(xué)院,遼寧鞍山 114051) 時(shí)間:2023-07-29 來(lái)源:電子產(chǎn)品世界 收藏
編者按:水面垃圾會(huì )造成水體污染,它不僅破壞了水域生態(tài)系統平衡,并且對人類(lèi)社會(huì )的生產(chǎn)和生活也產(chǎn)生了巨大危害,還會(huì )影響到船只的航行安全。目前,市面上主要的水面垃圾清理船體型龐大,很難應用在一些小型水域。并且多采用人工搜尋和清理的方式,但是人工搜尋效率低,人力成本高。針對該問(wèn)題,設計了一款基于機器視覺(jué)的水面垃圾尋航系統,該裝置基于YOLO-V2卷積神經(jīng)網(wǎng)絡(luò )模型進(jìn)行目標檢測,尋找水面垃圾等漂浮物,控制船只靠近目標物進(jìn)行拾取,通過(guò)GPS進(jìn)行導航,使用蟻群算法和完全遍歷算法進(jìn)行路徑規劃,同時(shí)用ESP32-cam和小熊派完成云

摘 要:會(huì )造成水體污染,它不僅破壞了水域生態(tài)系統平衡,并且對人類(lèi)社會(huì )的生產(chǎn)和生活也產(chǎn)生了巨大危害,還會(huì )影響到船只的航行安全。目前,市面上主要的清理船體型龐大,很難應用在一些小型水域。并且多采用人工搜尋和清理的方式,但是人工搜尋效率低,人力成本高。針對該問(wèn)題,設計了一款基于機器視覺(jué)的尋航系統,該裝置基于YOLO-V2模型進(jìn)行目標檢測,尋找水面垃圾等漂浮物,控制船只靠近目標物進(jìn)行拾取,通過(guò)GPS進(jìn)行導航,使用蟻群算法和完全遍歷算法進(jìn)行,同時(shí)用 ESP32-cam和小熊派完成云端數據通信。最終達到自動(dòng)出航和返航、垃圾自動(dòng)拾取、遠程監控的效果。

本文引用地址:http://dyxdggzs.com/article/202307/449097.htm

關(guān)鍵詞:水面垃圾;;;;

基金項目:本項目由大學(xué)生創(chuàng )新創(chuàng )業(yè)訓練計劃項目基金資助

近年來(lái),隨著(zhù)城市建設的飛速發(fā)展,不少江河、湖泊、海洋等水面受到水域污染物不同程度的污染[1]。這極大影響了整個(gè)水域的生態(tài)平衡,甚至影響到了人類(lèi)社會(huì )生活的方方面面,水質(zhì)富營(yíng)養化導致大量養殖魚(yú)類(lèi)缺氧而死,大量垃圾堆積在河面,影響到船只的航行安全等問(wèn)題。隨著(zhù)人工智能技術(shù)的不斷發(fā)展,針對目前水面垃圾清理船人工成本高、捕撈效率低的問(wèn)題。為了減少在人工搜尋垃圾時(shí)消耗的成本,設計了一套基于機器視覺(jué)的水面垃圾尋航系統。

機器視覺(jué)是移動(dòng)機器人最重要的感知手段之一[2]。通過(guò)機器視覺(jué)對水面垃圾進(jìn)行目標檢測是現在主流技術(shù)實(shí)現方法。目前對于一些水面垃圾的檢測的方法,學(xué)術(shù)界已經(jīng)有多種相關(guān)研究。王敏等運用浮雕處理凸顯水面區域的邊緣灰度,然后利用區域一致性進(jìn)行邊緣檢測分割出水面和水上物體[3]。湯偉等提出改進(jìn)Faster R-CNN的構建來(lái)提升水面垃圾檢測的精確度。即便如此,復雜的水面情況,依舊會(huì )給物體的目標檢測提升很多難度。例如,河岸上強光的反射,水面波浪和許多普通的水面漂浮物等因素都會(huì )干擾到最后的目標檢測。在產(chǎn)品的實(shí)際測試中,這些方法都不能完全滿(mǎn)足全自動(dòng)水面垃圾清理船的需求。

通過(guò)對市面上水面垃圾清理裝置進(jìn)行的調查研究,發(fā)現目前該類(lèi)產(chǎn)品還只停留在垃圾自動(dòng)捕獲和人工駕駛的階段,但是自動(dòng)搜尋和導航等相關(guān)功能還不完善。

綜上所述,這類(lèi)水面垃圾尋航裝置的研究和應用價(jià)值非常大。

1 系統整體設計

根據水面環(huán)境的特殊性,將多種算法進(jìn)行有效結合。通過(guò)攝像頭獲取圖像,核心處理器通過(guò)二值化處理、、神經(jīng)網(wǎng)絡(luò )、濾波算法等方式進(jìn)行圖像處理,對水面垃圾進(jìn)行目標檢測并獲取圖像位置信息。

視覺(jué)捕捉到水面的垃圾之后,根據垃圾在圖像中的位置計算出方位,控制垃圾清理船往垃圾方向移動(dòng),最后通過(guò)船只自帶的捕撈傳送帶將垃圾捕獲,完成垃圾“尋航”和清理的任務(wù)。

方面,分為兩個(gè)方向,一個(gè)方向是整體路徑規劃,主要通過(guò)GPS 導航獲取經(jīng)緯度等信息。先導入整個(gè)區域的水域分布圖,輸入劃定的起點(diǎn)和終點(diǎn)的GPS經(jīng)緯度進(jìn)行整體的路徑規劃。另一個(gè)方向是船只識別可見(jiàn)區域內的路徑規劃,根據船只的可見(jiàn)區域內的垃圾分布,根據距離遠近確定優(yōu)先級,基于優(yōu)先級的情況下,通過(guò)蟻群算法進(jìn)行短期的路徑規劃,計算最短路徑。

該系統還可以進(jìn)行自動(dòng)返航,任務(wù)進(jìn)行的過(guò)程中,記錄下路徑,當任務(wù)完成后,結合之前的路徑,計算當前位置到終點(diǎn)的最短路徑。

系統整體設計如圖1,整個(gè)系統分為傳感器部分、主控系統、控制部分和通信部分。傳感器部分主要由風(fēng)向傳感器、風(fēng)速傳感器、光照傳感器、攝像頭模塊、GPS模塊組成,主要負責收集風(fēng)速、風(fēng)向、光照、圖像、位置等信息輸入主控系統中。主控系統為以K210 芯片為核心的核心板??刂撇糠譃槔占b置和兩個(gè)電機。通信部分為以STM32L431RCT6 芯片為主控的BearPi-IoT主板,具備4G 通信功能。

image.png

圖1 系統整體結構圖

1.1 傳感器部分

系統采用精訊暢通公司研發(fā)的風(fēng)速、風(fēng)向傳感器,采用RS-485 通訊方式連接單片機輸出信號。風(fēng)速測量范圍為(0~30)m/s,測量精度是±1 m/s 。光照傳感器選用光敏電阻傳感器模塊。GPS 模塊選用小熊派社區開(kāi)源的E53_ST1 案例擴展板,和小熊派通訊連接。攝像頭選用OV5640 型號,圖像分辨率為500 萬(wàn)像素。

1.2 主控系統

系統選用K210 核心板,K210 采用RISC-V 雙核64 位CPU,算力超過(guò)Jerson nano, 達到1TOPS 算力。功耗僅為0.3 W,續航能力強。

1.3 控制部分

圖2為垃圾收集裝置,通過(guò)設置打撈結構,使用電機帶動(dòng)主動(dòng)輪轉動(dòng),從而帶動(dòng)垃圾輸送帶轉動(dòng),將水面漂浮的垃圾傳送到上料板頂部,然后垃圾掉落到船體頂部的垃圾槽中,這樣通過(guò)打撈機構各部件之間相互配合能夠實(shí)現對水面垃圾的自動(dòng)清理。使用液壓缸控制上料板底部上升或者下降,可以讓上料板底部離開(kāi)水面或者下降到水面以下,以此來(lái)控制整個(gè)裝置清理水面漂浮的垃圾。

image.png

圖2 收集裝置結構圖

1.4 通信部分

考慮到系統工作過(guò)程中傳輸數據量比較龐大,因此將數據傳輸任務(wù)分為圖像傳輸和普通數據傳輸兩部分。圖像傳輸選用的是ESP32-CAM,燒錄好代碼后,通過(guò)電腦瀏覽器打開(kāi)局域網(wǎng)進(jìn)行連接,獲取ESP32-CAM 傳輸的畫(huà)面,直接作為遠程監控器使用。普通的數據傳輸,選用以STM32L431RCT6 芯片為主控的BearPi-IoT主板,通過(guò)連接華為云平臺進(jìn)行云端數據上報,采用LWM2M通信協(xié)議。在華為云平臺上,用戶(hù)可以直接接收到系統發(fā)送的風(fēng)速、風(fēng)向、光照、經(jīng)緯度位置等數據信息,同時(shí)能直接從云端進(jìn)行命令下發(fā)。如圖3 是華為云平臺的數據雙方交互頁(yè)面。

image.png

圖3 云平臺數據頁(yè)面

1.5 自動(dòng)控制系統

如圖4 為該系統的運行流程圖,啟航前,先導入水域分布圖,通過(guò)串口屏的菜單界面設定路線(xiàn)。設定完路線(xiàn)后系統開(kāi)始進(jìn)入自動(dòng)導航模式,系統按照既定路線(xiàn)自動(dòng)駕駛,當攝像頭識別到水面上的垃圾時(shí),對整個(gè)圖像中的垃圾的位置和數量進(jìn)行記錄,通過(guò)蟻群算法計算出最短路徑,之后按照規劃的路徑對垃圾進(jìn)行捕獲操作。捕獲完垃圾后,系統會(huì )按照既定的航線(xiàn)繼續航行,或者選擇進(jìn)入返航模式。系統進(jìn)入返航模式后,會(huì )根據當前的GPS 坐標和終點(diǎn)停泊位的GPS 坐標進(jìn)行航線(xiàn)規劃。之后系統會(huì )駕駛船只進(jìn)行自動(dòng)返航,返航后自動(dòng)進(jìn)行停泊。

1690605312648906.png

圖4 運行流程圖

整個(gè)操作過(guò)程中,船只經(jīng)過(guò)的航線(xiàn)位置信息以二維數組的形式進(jìn)行記錄,將數組以二值化的黑白圖像的方式在屏幕上顯示出來(lái),同時(shí)將數據通過(guò)BearPi-IoT 進(jìn)行云端數據上報。

2 軟件算法

2.1 船體移動(dòng)控制

整個(gè)船只的移動(dòng)采用雙電機結構,當左電機的轉速大于右電機的轉速,船體就會(huì )逐漸向右行駛,反之同理,船只就可以通過(guò)兩個(gè)電機的差速來(lái)實(shí)現轉向的操作。轉向的控制算法采用了串級。采用串級控制的主要優(yōu)點(diǎn)是,能直接將干擾量加入到副回路中,由副回路控制并對其進(jìn)行抑制;同時(shí),副回路的慣性由副回路進(jìn)行調節,大大提高了系統的響應速度。這里列出船體的左電機公式。

OutputL=KpL1(errorL)+KdL1(errorL?errorpect)?KpL1(KpL2*(encoderreal-encoderpect)+Ki*Σ(encoderreal-encoderpect)   (1)

 公式(1)中, errorL是當前偏航角度值; errorpect是期望偏航角度值; encoderreal是編碼器測算的真實(shí)速度值;encoderpect期望速度值。KpL1是內環(huán)PDP參數值;KdL1是內環(huán)PDD參數值;KpL2是外環(huán)PI 參數;Ki 是外環(huán)PI參數值。

如圖5為用MATLAB軟件生成的PID 結構框圖,輸入真實(shí)速度值、期望速度和偏航角度值等數據,根據公式中原有調試設定的PID的參數值,得出賦予電機的PWM值,來(lái)達到精準控速的效果。

image.png

圖5 PD-PI算法結構圖

2.2 卷積神經(jīng)網(wǎng)絡(luò )

神經(jīng)網(wǎng)絡(luò )在目標檢測識別已經(jīng)得到了廣泛應用,出現了RCNN、Fast R-CNN、Faster R-CNN 和YOLO 等模型。YOLO 能夠實(shí)現從端到端實(shí)時(shí)的目標檢測,但是檢測精度較低,YOLO-V2 在YOLO 的基礎上進(jìn)行改進(jìn),既能夠進(jìn)行實(shí)時(shí)檢測,而且檢測精度也得到了大幅提升[3]我們選用的K210 芯片自帶卷積神經(jīng)網(wǎng)絡(luò )加速器KPU,可以極大提高圖像處理的速度。

神經(jīng)網(wǎng)絡(luò )的模型訓練采用官方提供的網(wǎng)站云端訓練模型, 使用的網(wǎng)站是https://maixhub.com/home。如圖6為網(wǎng)站頁(yè)面。

image.png

圖6 MaixHub模型訓練平臺

將訓練好的模型放到K210 的SD 卡槽中,實(shí)現模型的直接部署。燒錄完代碼后,系統正常運行時(shí),會(huì )對攝像頭捕獲的圖像中的水面垃圾進(jìn)行目標檢測。并記錄目標在圖像中的位置信息(X,Y 中心坐標值),用于系統對于可見(jiàn)區域內進(jìn)行短期路徑規劃,通過(guò)計算得到的軌道偏差值,導入船體控制的核心PID 公式,進(jìn)行船體移動(dòng)控制。

2.3 水域分布與路徑規劃

在復雜的水面環(huán)境中,為了讓船只搜尋水面(湖面、河流)的各個(gè)角落,需要建立整個(gè)水域分布的模型同時(shí)進(jìn)行路徑規劃。水域分布模型的建立采用完全遍歷路徑規劃的方法[4]。

首先,通過(guò)超聲波模塊進(jìn)行環(huán)境感知,對未知環(huán)境進(jìn)行搜索。當超聲波模塊探測到陸地岸邊,視為船體已經(jīng)抵達水域范圍的邊界,通過(guò)GPS 導航記錄點(diǎn)位,并在水域分布地圖圖像中進(jìn)行更新。

這里選取了遼寧科技大學(xué)中的一片小水湖作為測試地點(diǎn)進(jìn)行實(shí)驗,對實(shí)驗方法進(jìn)行驗證,首先將該船只放在湖面上進(jìn)行完全遍歷搜尋,生成環(huán)境地圖,將地圖的圖像以二維數組的形式進(jìn)行保存。并通過(guò)華為云云端上報數據。電腦保存圖像信息,通過(guò)MATLAB 軟件生成二值化圖像,如圖7。

image.png

圖7 二值化圖像

2.4 蟻群算法

系統采用蟻群算法作為在船只識別可見(jiàn)區域內的短期路徑規劃。它的核心實(shí)現思想是,螞蟻在尋找食物的過(guò)程中,會(huì )留下信息素,信息素的累積會(huì )吸引更多的螞蟻。當一群螞蟻分布在多條路徑中,選擇較短的路徑的螞蟻往返的時(shí)間更短,頻率更高,單位時(shí)間內螞蟻的通行數量更多,因此留下的信息素濃度更高,從而吸引更多的螞蟻。而新增加的螞蟻會(huì )加快信息素增長(cháng)的速度,從而形成正反饋,最終蟻群會(huì )聚集到最短路徑上來(lái),得到最優(yōu)解。

每個(gè)螞蟻在選擇路徑時(shí)是按照隨機的概率進(jìn)行選擇。隨機概率的計算公式如下:

1690606586248656.png

(2)

公式中,i j 分別表 示起點(diǎn), γij()是時(shí)間內由i j 的信息素強度;δij 是能見(jiàn)度,i,j兩點(diǎn)間的距離的倒數;allowedk為尚未訪(fǎng)問(wèn)的節點(diǎn)集合;α、β 是信息素和能見(jiàn)度的加權值;分子是信息素強度和可見(jiàn)度的冪乘積,而分母則是所有分子的和值[5]。

首先通過(guò)MATLAB 軟件對蟻群算法進(jìn)行代碼模擬仿真。

先導入各個(gè)垃圾分布在圖像中的位置信息(數據來(lái)源于K210 通過(guò)目標檢測識別獲取的多個(gè)垃圾位置信息)。計算各個(gè)垃圾之間的距離,將數據存儲在數組中。

螞蟻路徑時(shí)都會(huì )均勻留下信息素,隨著(zhù)時(shí)間的變化,信息素也會(huì )逐漸蒸發(fā),因此還需要引入參數信息素揮發(fā)因子r。那么螞蟻留下的信息素量減去揮發(fā)后的信息素量就是路徑上的信息素量。之后導入信息素濃度t、螞蟻數量m、最大迭代次數maxiter 等重要參數進(jìn)行設置。進(jìn)行迭代,尋找最優(yōu)路徑。每次迭代都會(huì )更新路徑,最終得到最優(yōu)解。圖8 為部分代碼展示。

image.png

圖8 部分代碼展示

經(jīng)過(guò)模擬仿真測試后,將核心算法及參數移植到K210單片機程序中進(jìn)行應用測試,將規劃好的路徑在屏幕上顯示出來(lái),觀(guān)察規劃速度情況并適當調整參數。通過(guò)調節螞蟻數量、迭代次數和信息素濃度等參數,提高系統在不同環(huán)境變化下的靈活性。

3 運行測試結果

3.1 串級PID仿真

在實(shí)際調試PID 前,先用MATLAB 軟件進(jìn)行仿真調試。如圖13為部分代碼。

為了使仿真結果更加真實(shí),加入了干擾信號。如圖9為外加干擾信號的波形圖。

1690606764418734.png

圖9 外加干擾信號

副調節器采用PD 轉向環(huán),其針對階躍信號的輸出響應結果如圖10。

image.png

圖10 PD轉向環(huán)波形圖

主調節器采用PI 速度閉環(huán),其針對階躍信號的輸出響應結果如圖11。

1690606880131290.png

圖11 PI速度環(huán)波形圖

3.2 目標檢測識別

神經(jīng)網(wǎng)絡(luò )模型訓練的數據集采用周邊河道、湖面上的垃圾進(jìn)行實(shí)地取材。使用VoTT 軟件對圖片加標簽用作訓練數據,如圖12。

image.png

圖12 圖片標注

將訓練好的模型部署在K210 中,進(jìn)行攝像頭識別測試,如圖13。

1690606935469524.png

圖13 識別測試

3.3 路徑規劃測試

將攝像頭通過(guò)目標檢測識別獲取的多個(gè)垃圾的位置信息作為蟻群算法的輸入值。通過(guò)計算得到的最短路徑結果、適應度和收斂曲線(xiàn)如圖14、15 所示。

image.png

圖14 最短路徑計算

image.png

圖15 適應度和收斂曲線(xiàn)

4 結束語(yǔ)

本文介紹了一種基于機器視覺(jué)的水上垃圾尋航系統,該系統在云端進(jìn)行模型訓練,將YOLOV2 神經(jīng)網(wǎng)絡(luò )模型部署到K210 進(jìn)行使用,實(shí)現對水面垃圾的精準目標檢測和識別。并操控收集裝置自動(dòng)捕獲水面垃圾。在路徑規劃方面,該系統能通過(guò)GPS模塊進(jìn)行自主定位,運用蟻群算法和完全遍歷算法實(shí)現整體和局部的路徑規劃,最后實(shí)現自動(dòng)出航和返航。其搭載的物聯(lián)網(wǎng)設備,能夠實(shí)現云端數據上報和無(wú)線(xiàn)圖傳,達到宏觀(guān)調控的效果。相比于在傳統的海洋、湖面進(jìn)行人工捕撈,效率得到大幅提升,極大節約了人力成本。在環(huán)保衛生和水上交通領(lǐng)域,有廣闊的市場(chǎng)前景。

參考文獻:

[1] 李道季.消減海洋塑料垃圾保護海洋環(huán)境[J].民主與科學(xué),20 20(1):32-34.

[2] 趙鵬宇.Delta并聯(lián)機器人目標識別與抓取技術(shù)研究[D].太 原:中北大學(xué),2022.

[3] 王敏,周樹(shù)道.靜態(tài)水上物體檢測分割算法[J].實(shí)驗室研究與探索,2010,29(6):30-32.

[4] 程啟忠.無(wú)人船完全遍歷路徑規劃的研究[D].重慶:重慶郵電大學(xué),2019.

[5] 彭林發(fā).基于FPGA控制系統的電火花加工微小孔狀態(tài)檢測及路徑 優(yōu)化研究[D].太原:太原理工大學(xué),2021.

(本文來(lái)源于《電子產(chǎn)品世界》雜志2023年7月期)



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>