<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

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

          基于機器視覺的水面垃圾尋航系統(tǒng)*

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

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

          本文引用地址:http://www.ex-cimer.com/article/202307/449097.htm

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

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

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

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

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

          綜上所述,這類水面垃圾尋航裝置的研究和應用價值非常大。

          1 系統(tǒng)整體設計

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

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

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

          該系統(tǒng)還可以進行自動返航,任務進行的過程中,記錄下路徑,當任務完成后,結(jié)合之前的路徑,計算當前位置到終點的最短路徑。

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

          image.png

          圖1 系統(tǒng)整體結(jié)構(gòu)圖

          1.1 傳感器部分

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

          1.2 主控系統(tǒng)

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

          1.3 控制部分

          圖2為垃圾收集裝置,通過設置打撈結(jié)構(gòu),使用電機帶動主動輪轉(zhuǎn)動,從而帶動垃圾輸送帶轉(zhuǎn)動,將水面漂浮的垃圾傳送到上料板頂部,然后垃圾掉落到船體頂部的垃圾槽中,這樣通過打撈機構(gòu)各部件之間相互配合能夠?qū)崿F(xiàn)對水面垃圾的自動清理。使用液壓缸控制上料板底部上升或者下降,可以讓上料板底部離開水面或者下降到水面以下,以此來控制整個裝置清理水面漂浮的垃圾。

          image.png

          圖2 收集裝置結(jié)構(gòu)圖

          1.4 通信部分

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

          image.png

          圖3 云平臺數(shù)據(jù)頁面

          1.5 自動控制系統(tǒng)

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

          1690605312648906.png

          圖4 運行流程圖

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

          2 軟件算法

          2.1 船體移動控制

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

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

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

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

          image.png

          圖5 PD-PI算法結(jié)構(gòu)圖

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

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

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

          image.png

          圖6 MaixHub模型訓練平臺

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

          2.3 水域分布與路徑規(guī)劃

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

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

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

          image.png

          圖7 二值化圖像

          2.4 蟻群算法

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

          每個螞蟻在選擇路徑時是按照隨機的概率進行選擇。隨機概率的計算公式如下:

          1690606586248656.png

          (2)

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

          首先通過MATLAB 軟件對蟻群算法進行代碼模擬仿真。

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

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

          image.png

          圖8 部分代碼展示

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

          3 運行測試結(jié)果

          3.1 串級PID仿真

          在實際調(diào)試PID 前,先用MATLAB 軟件進行仿真調(diào)試。如圖13為部分代碼。

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

          1690606764418734.png

          圖9 外加干擾信號

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

          image.png

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

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

          1690606880131290.png

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

          3.2 目標檢測識別

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

          image.png

          圖12 圖片標注

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

          1690606935469524.png

          圖13 識別測試

          3.3 路徑規(guī)劃測試

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

          image.png

          圖14 最短路徑計算

          image.png

          圖15 適應度和收斂曲線

          4 結(jié)束語

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

          參考文獻:

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

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

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

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

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

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



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();