基於計算機視覺的無人機定位方法與流程
2023-05-21 12:10:56 1

本發明涉及無人機技術領域,尤其是一種基於計算機視覺的無人機定位方法。
背景技術:
隨著新技術、新方法以及新的管理理念的引入,無人機已逐步得到重視並開始應用於輸電線路巡視作業,在一定程度上彌補了傳統人工巡視的不足,特別是在高山等人工不易達區域優勢更為明顯。其中,無人機飛行速度慢,具有定點懸停功能,可對特定巡視目標進行細節觀察,有利於缺陷發現。
高海拔、低溫、無人區等惡劣環境下,輸電線路更需要無人機這類空中機器人參與作業,必須自主研發和裝備續航能力強、具有自主導航和定位功能、實時視頻傳輸的高端無人機,以更好的解決人員不易達區域的輸電線路缺陷發現問題,最大限度的保障輸電走廊的穩定和安全。目前,輸電線路所在的區域很多都屬於信號阻隔區,當無人機飛入這些信號阻隔區後,現有的定位技術不具備非通視條件下巡檢作業的能力,並且無法實現精確定位,而且現有的無人機定位技術對於操控手的依賴程度較高,操控手誤操作很容易導致嚴重後果,無人機巡線的安全性較低。
技術實現要素:
本發明所要解決的技術問題是提供一種能夠在信號阻隔區實現局部精確定位的基於計算機視覺的無人機定位方法。
本發明解決其技術問題所採用的技術方案為:該基於計算機視覺的無人機定位方法,包括以下步驟:
S1、利用無人機採集航拍的絕緣子樣本圖像,分為含絕緣子串的正樣本圖像和不含絕緣子串的負樣本圖像,然後對正樣本圖像進行標註,標註的信息為絕緣子串在圖像中的位置信息;
S2、搭建卷積神經網絡,並對卷積神經網絡進行訓練得到卷積神經網絡的網絡參數,並用得到的網絡參數對卷積神經網絡進行設定;
S3、將待檢測的視頻圖像輸入步驟S2得到的卷積神經網絡檢測出待檢測視頻圖像中的絕緣子;
S4、利用偽相距的測距公式確定無人機與待測視頻圖像中絕緣子之間的距離,實現無人機的定位。
進一步的是,在步驟S1中,所述正樣本的數量為2000張,所述負樣本的數量為2000張。
進一步的是,在步驟S1中,所述絕緣子串在圖像中的位置信息是指在框出圖像中的絕緣子串後所得的矩形坐標,即矩形左上角的頂點坐標和右下角的頂點坐標。
進一步的是,在步驟S2中,搭建的卷積神經網絡包括依次設置的第一級卷積層、第一級池化層、第二級卷積層、第二級池化層、第三級卷積層、第三級池化層、第四級卷積層、第四層池化層、第五級卷積層、第五級池化層、第一級全連層、第二級全連接層、分類器。
進一步的是,所述第一級卷積採用7*7的卷積核,第二級卷積採用5*5的卷積核,第三級卷積採用3*3的卷積核,第四級卷積採用3*3的卷積核,第五級卷積採用3*3的卷積核,所述第一級池化層、第二級池化層、第三級池化層、第四層池化層、第五級池化層均採用最大池化方式。
進一步的是,所述第一級卷積層的激活函數、第二級卷積層的激活函數、第三級卷積層的激活函數、第四級卷積層的激活函數、第五級卷積層的激活函數均採用ReLU激活函數。
進一步的是,在第一級卷積層的激活函數的ReLU前進行Batch Normalization處理,在第二級卷積層的激活函數的ReLU前進行Batch Normalization處理,在第三級卷積層的激活函數的ReLU前進行Batch Normalization處理,在第四級卷積層的激活函數的ReLU前進行Batch Normalization處理,在第五級卷積層的激活函數的ReLU前進行Batch Normalization處理。
進一步的是,所述分類器採用二分類的SVM。
進一步的是,在步驟S2中,採用BP算法對卷積神經網絡進行訓練,所述BP算法分為鏈式求導和梯度反向傳播兩個部分,所述梯度反向傳播採用Mini-BatchSGD的訓練策略,所述Mini-BatchSGD的訓練策略如下公式所示:
其中w代表第i層的權重,η為學習率,N是批量的大小,L為損失函數,所述損失函數採用softmax函數,所述softmax函數的公式如下所示:其中z為K維的向量,δ(z)為一個K維的向量,其每一個分量的實值在(0,1)之間,並且和為1。
進一步的是,在步驟S4中,所述偽相距測距公式如下所述:所述m表示無人機的相機像距的常量,所述S表示無線傳輸後的接收顯示器上顯示的待檢測視頻圖像影像大小S,所述L表示待檢測的視頻圖像中絕緣子串的尺寸。
本發明的有益效果:該基於計算機視覺的無人機定位方法將計算機視覺技術和偽相距的測距技術相結合,實現無人機局部精確定位,賦予無人機非通視環境下的作業能力,改變現有無人機只能在通視環境下操控和傳輸視頻的能力,進一步延伸無人機的作業距離和擴展作業條件適應能力,同時,還能夠減少無人機對於操控手的依賴,減少人工操控複雜度,讓更多的作業任務實現去人化,大大降低由於操控手誤操作導致嚴重後果的風險,增加無人機巡線的安全性,能夠大大提升無人機作業智能化水平,這對巡檢作業整體水平的提升具有重大現實意義。
附圖說明
圖1為本發明所述卷積神經網絡結構圖;
圖2、圖3、圖4分別為三組在不同拍攝角度和尺度下,對同一絕緣子串的檢測效果圖;
圖5為同時檢測多個玻璃絕緣子串的多目標檢測效果圖;
圖6為同時檢測多個陶瓷絕緣子串的多目標檢測效果圖;
圖7同時檢測多個玻璃絕緣子串和多個陶瓷絕緣子串混合情況下的多目標檢測效果圖。
圖8為利用卷積神經網絡的檢測效果圖;
圖9為利用DMP的檢測效果圖;
圖10為利用HoG特徵和SVM方式的檢測效果圖;
圖11為相距的室內測試效果圖;
圖12為相距的室外測試效果。
具體實施方式
本發明所述的基於計算機視覺的無人機定位方法,包括以下步驟:
S1、利用無人機採集航拍的絕緣子樣本圖像,分為含絕緣子串的正樣本圖像和不含絕緣子串的負樣本圖像,然後對正樣本圖像進行標註,標註的信息為絕緣子串在圖像中的位置信息;
S2、搭建卷積神經網絡,並對卷積神經網絡進行訓練得到卷積神經網絡的網絡參數,並用得到的網絡參數對卷積神經網絡進行設定;
S3、將待檢測的視頻圖像輸入步驟S2得到的卷積神經網絡檢測出待檢測視頻圖像中的絕緣子;
S4、利用偽相距的測距公式確定無人機與待測視頻圖像中絕緣子之間的距離,實現無人機的定位。
該基於計算機視覺的無人機定位方法將計算機視覺技術和偽相距的測距技術相結合,實現無人機局部精確定位,賦予無人機非通視環境下的作業能力,改變現有無人機只能在通視環境下操控和傳輸視頻的能力,進一步延伸無人機的作業距離和擴展作業條件適應能力,同時,還能夠減少無人機對於操控手的依賴,減少人工操控複雜度,讓更多的作業任務實現去人化,大大降低由於操控手誤操作導致嚴重後果的風險,增加無人機巡線的安全性,能夠大大提升無人機作業智能化水平,這對巡檢作業整體水平的提升具有重大現實意義。
為了保證卷積神經網絡的訓練效果,在步驟S1中,所述正樣本的數量為2000張,所述負樣本的數量為2000張。
為了便於識別,在步驟S1中,所述絕緣子串在圖像中的位置信息是指在框出圖像中的絕緣子串後所得的矩形坐標,即矩形左上角的頂點坐標和右下角的頂點坐標。
圖像是5維信息,單純的神經網絡把圖像拉伸為向量反而丟棄了空間信息,而卷積神經網絡通過卷積核以興趣點為中心的一小塊區域,探測上一層特徵的局部連接,對其進行過濾和特徵強化,更符合圖像的二維空間的本質,因而可以學習更有效的特徵。離散的卷積可以用如下公式來描述,H(x,y)=I*K(x,y)=∑m∑nI(m,n)K(x-m,y-n),I代表輸入圖像,m和n為輸入圖像的尺寸大小,K代表卷積核,x和y為目前卷積操作的像素的坐標。考慮到特定的識別對象為輸電線路中具有明顯特徵的絕緣子及訓練數據的複雜度和工程實時性和硬體的需求,在步驟S2中,如圖1所示,搭建的卷積神經網絡包括依次設置的第一級卷積層、第一級池化層、第二級卷積層、第二級池化層、第三級卷積層、第三級池化層、第四級卷積層、第四層池化層、第五級卷積層、第五級池化層、第一級全連層、第二級全連接層、分類器。
為了更容易探索中心點周圍的局部信息,更有利於局部特徵的提取,所述第一級卷積採用7*7的卷積核,第二級卷積採用5*5的卷積核,第三級卷積採用3*3的卷積核,第四級卷積採用3*3的卷積核,第五級卷積採用3*3的卷積核。池化可以簡單理解為降採樣操作,它是一個非參數層。它將一定領域內的像素壓縮成一個像素點,學習圖像的空域特徵把相似的特徵合併起來,使得圖像逐層縮放,降低卷積層的複雜度,抑制過擬合現象。池化一般配合卷積層使用,可以獲得特徵的不變性,提升對微小畸變和旋轉的容忍能力,增強模型泛化能力。常見的操作有銳化(max pooling)、平滑(mean pooling)和隨機池化(stochasticpooling)。在隨機池化中,傳統的確定性池化操作被替換為一個隨機過程,其中根據多項式分布,每個池化區域內的激活隨機地被選擇。該方法是超參數的,可以與其他正規化方法相結合,如Dropout和數據增強。本發明所述第一級池化層、第二級池化層、第三級池化層、第四層池化層、第五級池化層均採用最大池化方式。
激活函數一般用於卷積層之後,激活函數是深度網絡非線性的主要來源。常見的激活函數Sigmoid,tanh,ReLU,PReLU,ELU和maxout。其中PReLU和ELU都是ReLU的改進。它們的對比下公式所示:
Sigmoid:S(x)=1/(1+e-x)
tahn:tahn(x)
ReLU:g(x)=max(0,x)
PReLU:max(ax,x)
Maxout:max(w1x1+b1,w2x2+b2)
早期的Sigmoid函數容易飽和,造成梯度終止傳遞,沒有0中心化。同時標準的sigmoid輸出不具備稀疏性,需要用一些懲罰因子來訓練出一大堆接近0的冗餘數據來,從而產生稀疏數據,因此需要進行無監督的預訓練,否則將導致網絡無法收斂。ReLU是修正線性函數,來源於生物神經元,同時具備相對對稱性與不對稱性,不會出現梯度消失的問題。而且求梯度簡單,收斂快,精確度高,具備引導適度稀疏的能力。由於ReLU簡單方便,本發明所述第一級卷積層的激活函數、第二級卷積層的激活函數、第三級卷積層的激活函數、第四級卷積層的激活函數、第五級卷積層的激活函數均採用ReLU激活函數。
進一步的是,在第一級卷積層的激活函數的ReLU前進行Batch Normalization處理,在第二級卷積層的激活函數的ReLU前進行Batch Normalization處理,在第三級卷積層的激活函數的ReLU前進行Batch Normalization處理,在第四級卷積層的激活函數的ReLU前進行Batch Normalization處理,在第五級卷積層的激活函數的ReLU前進行Batch Normalization處理。
進一步的是,對比Boosted Trees,Random Forest,Decision Tree,Logistic Regression和Softmax Regression,SVM效果最好,因此本發明所述分類器採用二分類的SVM。
為了保證訓練效果,在步驟S2中,採用BP算法對卷積神經網絡進行訓練,所述BP算法分為鏈式求導和梯度反向傳播兩個部分,所述梯度反向傳播採用Mini-BatchSGD的訓練策略,所述Mini-BatchSGD的訓練策略如下公式所示:
其中w代表第i層的權重,η為學習率,N是批量的大小,L為損失函數。
早期的損失函數一般選擇最小化平方誤差(MSE)或者最小化相對熵(Relative Entropy),隨著不斷的發展,出現了用於單標籤分類的softmax損失函數,用於實值回歸問題的Euclidean損失函數,用於多標籤分類的Sigmoid交叉熵損失函數和用於深度測度學習的Contrastive損失函數等等。
根據實際工程需求,只需檢測出電力系統中常見的絕緣子,本發明所述損失函數採用softmax函數,所述softmax函數的公式如下所示:其中z為K維的向量,δ(z)為一個K維的向量,其每一個分量的實值在(0,1)之間,並且和為1。
進一步的是,在步驟S4中,所述偽相距測距公式如下所述:所述m表示無人機的相機像距的常量,所述S表示無線傳輸後的接收顯示器上顯示的待檢測視頻圖像影像大小S,所述L表示待檢測的視頻圖像中絕緣子串的尺寸。
實施例
利用無人機,在不同的季節,對不同的輸電線路上的絕緣子採集樣本。訓練樣本為4000張絕緣子航拍圖像,其中玻璃絕緣子圖像2000張,瓷質絕緣子圖像2000張。針對待檢測的盤形懸式瓷質和盤形懸式玻璃絕緣子,利用卷積神經網絡對其進行訓練。為減輕標註的工作量,選取的每一張訓練樣本僅包含一對絕緣子串,分別呈現水平,豎直分別和角度分布。
測試樣本為600張航拍絕緣子圖像。其中200張玻璃絕緣子圖像,200張瓷質絕緣子圖像,200張玻璃絕緣子和瓷質絕緣子混合的圖像。測試效果如圖2-4所示,圖2、圖3、圖4分別為三組在不同拍攝角度和尺度下,對同一絕緣子串的檢測效果。圖5-7展示了同時檢測多個玻璃絕緣子串,多個陶瓷絕緣子串和兩者混合情況下的多目標檢測效果。測試結果表明,針對單一的玻璃絕緣子或者瓷質絕緣子,亦或是二者混合的情況,都表現出對多角度絕緣子的良好檢測效果。目前識別和檢測任務大量依賴人工設計特徵,也出現了一些良好的特徵如Haar,SIFT,HoG,LBP等。傳統的識別檢測方式針對不同的識別對象,需設計不同的特徵和分類算法,比如針對人臉檢測的經典算法採用Haar特徵和Adaboosting分類器;針對行人檢測的經典算法採用HoG特徵和SVM分類器;針對一般的物體檢測採用HoG特徵和DP算法。本文將卷積神經網絡檢測方式與採用傳統的HoG特徵和SVM方式及DMP方式做對比。針對同一訓練集合,利用深度卷積神經網絡和傳統方式的檢測效果對比如圖8-10所示。
通過對比試驗,發現DPM和HOG存在誤檢,同時定位精度上不如卷積神經網絡。
測試500張背景包含雪地,丘陵,草地,鐵塔和房屋等複雜背景的航拍圖像,採用NavneetDalal的HOG特徵加SVM的方式,DMP方式和卷積神經網絡的方式的對比結果如表1所示:
表一絕緣子檢測測試對比結果
絕緣子的成功檢測可作為無人機進行細節巡視時的標誌,利用相機成像的原理,實時測出無人機相對於鐵塔的相距,避免無人機誤撞的危險,為無人機的避障飛行提供可靠的依據,靈活完成巡檢任務。
針對提出的測距方法,通過使用無人機搭載攝像機,分別在實驗室場景下和野外環境場景下,模擬無人機巡檢輸電線路的過程,對鋼化玻璃絕緣子進行測距實驗。無人機搭載相機逐漸靠近絕緣子進行細節拍攝。從實驗結果圖中可以看出,實現了對絕緣子的實時跟蹤,並能夠實時反應出絕緣子與相機之間的距離。相距的室內和室外測試效果分別如圖11-12所示,左上角顯示當前無人機與絕緣子串的距離。測試誤差如表2所示。
表二測距誤差 單位:釐米
測試表明利用偽相距測距能夠實時準確測量出無人機相對於絕緣子的距離,反應出它的位置信息。算法簡單快速,硬體實現方便。在測量1米到5米之間的距離,測距結果相對準確,能夠滿足實際無人機巡檢的需求。