李曉峰, 任 杰, 李 東
(1.黑龍江外國語學院 信息工程系, 哈爾濱 150025; 2.哈爾濱體育學院 體育教育訓練學院, 哈爾濱 150008; 3.哈爾濱工業大學 計算機科學與技術學院, 哈爾濱 150001)
移動機器人可在多種環境中采集相關信息, 具有采集速度快、精度高等特點[1-3], 但其在圖像采集過程中易受噪聲干擾, 使視覺圖像質量降低[4-6], 后續圖像分析過程中無法獲取有效的信息, 導致出現信息漏檢和誤檢等情況.為此, 需研究圖像匹配算法[7-10], 以提升圖像的清晰度[11-12], 豐富圖像的細節信息.
目前, 移動機器人視覺圖像匹配的相關研究已有許多成果.例如: 王斐等[13]針對圖像匹配精度低的問題, 研究圖像匹配算法, 先將圖像匹配問題變為組合優化問題, 再利用樽海鞘群算法求解該問題, 通過方向梯度直方圖特征提取特征塊并求解相似度, 完成特征匹配, 但該算法易受尺度變化的影響, 魯棒性較差, 只能完成圖像粗匹配;朱成德等[14]利用快速旋轉不變特征(oriented fast and rotated brief, ORB)算法預匹配圖像, 再通過隨機抽樣一致性剔除無關性特征點, 篩選出正確匹配點, 提升匹配效率, 但該算法中ORB特征為灰度特征, 并未考慮具有較高價值的顏色信息, 匹配精度較低;武玉坤等[15]通過回歸學重建圖像, 并優化重建圖像, 再提取特征進行匹配, 提升匹配效果, 但該算法同樣易受尺度變化的影響, 匹配穩定性較差, 不能實現圖像精匹配;Singh等[16]提出了一種新的事件觸發指數超扭轉算法, 針對移動機器人路徑跟蹤進行了研究, 但該方法對跟蹤過程圖像匹配分析不詳細;Chae等[17]設計了非完整移動機器人的穩健自主立體視覺慣性導航系統, 通過向側面移動攝像機執行精確的視覺特征初始化, 以確保圖像視差退化, 該方法將帶有消失點修正的線特征觀測模型應用于視覺慣性測速法, 使移動機器人在自主導航過程中能進行魯棒的姿態估計, 該系統匹配誤差較小, 但計算過程復雜導致耗時較長;Wang等[18]從分析力學的角度探討了網絡化多移動機器人系統的同步控制問題, 利用該算法, 網絡移動機器人系統可在無領導情況下從任意初始條件實現同步, 并在明確給出路徑的情況下實現精確軌跡跟蹤, 但在非明確給出路徑的條件下僅能完成粗跟蹤.
為解決上述研究存在的不足, 本文設計一種基于深度強化學習的移動機器人視覺圖像分級匹配算法, 通過融合深度學習的感知能力和強化學習的決策能力, 分層次進行圖像粗匹配和細匹配, 有效提高了移動機器人視覺圖像匹配精度, 降低了圖像匹配耗時.本文算法具有如下優點: 首先, 深度強化學習融合了深度學習的感知能力和強化學習的決策能力, 能直接處理輸入圖像, 提升圖像處理效果;其次, 利用深度強化學習網絡結構中的策略網絡和價值網絡共同指導浮動圖像按正確方向移至參考圖像, 并在粗匹配過程中通過設計獎賞函數, 實現顏色特征粗匹配, 提升了圖像匹配效率;最后, 在圖像粗匹配的基礎上, 利用改進尺度不變特征變換算法提取待匹配的圖像局部特征, 按相似度進行移動機器人視覺圖像分級匹配, 提升了匹配精度.
將多線程異步強化學習(reinforcement learning, RL)算法內的策略函數π(ut|ct;θ)視為一個智能體, 其中ut表示動作,ct表示狀態,θ是策略網絡參數;智能體按目前π(ut|ct;θ)執行動作.假設價值網絡參數為θv, 利用目前策略π下ct的價值函數V(ct;θv), 衡量已知ct情形下策略網絡中ut的優劣.利用優勢函數F建立策略梯度可減少策略梯度的方差, 提升優秀動作出現的概率[19-20].在狀態和動作為ct,ut時,F的計算公式為
F(ut;ct)=Rt-V(ct;θv),
(1)
其中Rt為未來時間步長T的獎勵總和.折扣因子為γ時Rt的計算公式為

(2)
其中τ表示學習速率[21],γ∈(0,1].假設F(ut;ct), 則θ和θv的更新公式為

為提升移動機器人視覺圖像分級匹配效果, 將強化學習[22-23]與深度學習網絡[24-25]相結合, 構建輕量級的深度RL(deep RL, DRL)框架, DRL框架根據異步的梯度下降法優化網絡控制器參數, 可提升匹配速度和穩定性.網絡參數利用線程交互, 令各線程利用式(3)和式(4)在t時異步更新網絡參數.
假設(C,U,ot,λ)表示RL框架, 其中C為狀態,U為移動動作,ot表示參考圖像.后續需利用該框架中的策略網絡和價值網絡共同指導浮動圖像按正確方向移至參考圖像, 從而為圖像粗匹配奠定基礎.
令移動機器人視覺浮動圖像為Xm,Xf為參考圖像, 移動機器人視覺圖像粗匹配的目標為估計至最優的空間變換B.在只參考近似變換時,B由平移參數bx和by、旋轉參數α、縮放參數z組成, 表達式為

(5)
其中tx和ty表示圖像的原始位置參數.

圖1 深度強化學習網絡體系結構Fig.1 Architecture of deep reinforcement learning network
深度強化學習網絡體系結構由兩個通道構成, 每個通道都包含卷積神經網絡(CNN)[26-27]、全連接層和長短期記憶網絡(long short-term memory, LSTM)[28-29], 其中全連接層負責對卷積神經網絡與長短期記憶網絡建立連接, 三者相結合構成深度強化學習網絡的重要運算結構.在輸入不同狀態后通過深度強化學習結構運算生成新的全連接層, 再基于新的全連接層實現價值和圖像匹配策略的更新.深度強化學習網絡體系結構如圖1所示.
該網絡的輸入是Xm與Xf構建的雙通道圖像, 經LSTM后存在兩個全連接層(FC), 分別輸出π(ct;θ)和V(ct;θv);在t時, 智能體使用ut后, 將Bt+1轉換為ut°Bt, “°”為在Bt+1的參數(tx,ty,z,α)中展開一次轉換,t時刻僅可轉換一個參數.


(6)

在智能體各部分網絡內, 利用CNN提取粗匹配圖像st特征, 獲取各時間步的狀態特征, 并依次與環境進行交互, 得到狀態特征序列, 輸入LSTM網絡進行粗匹配.粗匹配中環境與at交互時, 智能體均是利用V(ct;θv)求解目前狀態下的狀態值v, 并將其作為衡量目前Xm和Xf粗匹配狀態的標準,v與粗匹配效果成正比;測試階段, 利用ot決定粗匹配是否完成, 直至ot達到設置閾值, 則粗匹配完成.
利用改進尺度不變特征變換(scale invariant feature transform, SIFT)[30]算法在移動機器人視覺圖像粗匹配的基礎上進行精匹配.利用減法聚類減去多余的特征點, 完成SIFT改進.令改進SIFT檢測粗匹配圖像后獲取n個特征點, 特征點集合為{x1,x2,…,xn}, 特征點檢測步驟如下:
1) 求解特征點集合內各特征點的密度, 獲取密度指標M(xi), 用公式表示為

(7)
其中λ表示初始聚類中心,ζ1表示鄰域半徑,D′(xy-xi)表示xy和xi的歐氏距離;
2) 令搜索獲取的最大M(xi)特征點是第一個聚類中心, 并與該特征點的密度相除, 求解剩余特征點的My(xi), 用公式表示為

(8)
其中μ表示當前聚類中心,ζ2=1.5ζ1;
3) 根據步驟1)和步驟2)再次搜索最大的M(xi), 將該特征點視為聚類中心, 以未產生新的聚類中心為止, 完成迭代.
改進SIFT算法利用二值化處理特征描述子b, 縮減數據量, 以確保b的全部信息不丟失.令l維特征向量Q=(Q0,Q1,…,Ql), 二值化處理b的步驟如下:
1) 求解同一向量中Qj與Qj+1(j∈l)差的絕對值, 用公式表示為

(9)
2) 根據Pj值求解二進制特征向量內各位數值bj, 獲取二值化的b={b0,b1,…,bl-1}, 用公式表示為

(10)
其中W為差值閾值, 用于平衡式(9)求解差值的兩個部分.
將Hash值作為索引, 利用Hamming距離獲取b間的相似度, 提升移動機器人視覺圖像精匹配速度.按照Hash函數求解表示特征點的二進制字符串的Hash值, 即
Nj=bj×8×20+bj×8×21+…+bj×8×27,
其中j=0,1,…,15,N16=N0, 且

(11)
Hash函數定義為
Hash(Hash0,Hash1,…,Hash15)=Hash0×20+Hash1×21+…+Hash15×27,
(12)
利用式(12)可獲取Hash值.
移動機器人視覺圖像精匹配步驟如下:
輸入: 移動機器人視覺圖像;
輸出: 移動機器人視覺圖像分級匹配結果;
步驟1) 檢測粗匹配移動機器人視覺圖像特征點, 獲取b;
步驟2) 利用式(12)求解二值化b的Hash值, 在Hash庫內進行檢索;
步驟3) 假設ni是圖像i與查詢圖像間類似b的數量, 求解兩個b間的Hamming距離, 如果該值未超過閾值, 則ni←ni+1, 說明具備匹配成功的特征;在Hash庫內檢索待匹配圖像全部特征, 按ni匹配圖像, 完成移動機器人視覺圖像精匹配.
基于深度強化學習的移動機器人視覺圖像分級匹配算法流程如圖2所示.

圖2 移動機器人視覺圖像分級匹配算法流程Fig.2 Flow chart of hierarchical matching algorithm of vision image for mobile robot
本文實驗采用PyTorch框架實現移動機器人視覺圖像分級匹配, 基于Windows10 64操作系統, GPU為Nvidia GeForce RTX 3060 6 GB.
實驗所用的數據集如下:
1) 數據集Robot@Home是來自家庭環境的原始和經過處理的感官數據集合, 包含87 000多個帶時間戳的觀測值, 為與其他研究方法進行比較, 本文實驗將該數據集劃分為20類訓練集, 10類驗證集和10類測試集;
2) 數據集MRPT中包含移動機器人數據集的所在地, 還包含一系列場景數據集, 類別層次豐富, 本文實驗選取該數據集中的移動機器人軌跡數據集, 將該數據集劃分為20類訓練集, 10類驗證集和10類測試集.
選取文獻[16]、文獻[17]和文獻[18]算法作為本文算法的對比算法.
1) 實際效果驗證.以實驗選取的數據集Robot@Home和數據集MRPT中的移動機器人視覺圖像為研究對象, 利用本文算法進行移動機器人視覺圖像分級匹配, 通過驗證分級匹配結果及最佳閾值選取結果檢驗該方法的有效性.
2) 以不同視角和尺度變化時的重復率作為衡量4種算法特征檢測的效果, 該值越高, 說明特征檢測的穩定性越高, 重復率計算公式為

(13)
3) 匹配精度.匹配精度是指利用不同方法匹配完成后的圖像與待參考高質量圖像的相似程度, 該參數的計算公式為

(14)
其中ai,aj分別表示待參考高質量圖像和匹配完成后圖像的參數值.
4) 匹配時間.匹配時間是指從匹配開始到匹配完成這一過程的時間消耗, 計算公式為
T=t1-t2,
(15)
其中t1,t2分別表示匹配結束和開始的時間.
5) 圖像質量.利用非均勻性(NU)、平均梯度(AG)和熵(H)3個指標進一步考察4種算法在不同光照強度時匹配后圖像的質量.其中: NU表示匹配后圖像的灰度分布均勻情形, 其值越大, 圖像灰度分布越不均勻, 計算公式為

(16)
式中u,k分別表示圖像灰度值和灰度系數,n表示像素點數量;AG表示匹配后圖像的清晰程度, 其值與清晰程度成正比;熵H表示匹配后圖像內存在的信息量, 其值與細節豐富程度在成正比, 計算公式為

(17)
式中pi表示圖像離散信息.
在所采集的視覺圖像內隨機選取同一目標的兩張不同圖像, 利用本文算法分級匹配這兩張圖像, 分級匹配結果如圖3所示.

圖3 分級匹配結果Fig.3 Hierarchical matching results
由圖3可見, 本文算法可有效匹配移動機器人視覺圖像.本文算法中粗匹配僅針對圖像特征進行匹配, 粗匹配后的結果與參考圖像基本接近, 說明本文算法的粗匹配效果較優;在粗匹配結果的基礎上, 本文算法可有效進行精匹配, 獲取更清晰的圖像, 提升圖像視覺效果, 豐富圖像細節信息, 為后續的圖像分析提供更高質量的服務.

圖4 最佳閾值選取結果Fig.4 Selection results of the best threshold
本文算法中精匹配時的重要參數為閾值, 閾值可使兩種差值均勻分布, 為此在采集視覺圖像內隨機選取10張圖像, 分析同一特征符128維數值間鄰近數值差的絕對值信息, 獲取最佳閾值, 提升分級匹配效果, 最佳閾值選取結果如圖4所示.由圖4可見, 當閾值為19時, 能將兩部分差值的絕對信息平均分布, 提高本文算法的分級匹配效果.
在采集的視覺圖像內, 隨機選取一張圖像, 并改變圖像視角和尺度, 利用4種算法檢測該圖像的特征, 測試4種算法在不同視角變化時的特征檢測重復率, 結果如圖5所示.由圖5可見, 隨著角度的增加, 4種算法的重復率均不斷減少, 在不同變化角度時, 本文算法的重復率均顯著高于文獻[16]、文獻[17]和文獻[18]算法;當變化角度為70°時, 本文算法的重復率已趨于穩定, 最低重復率約為50%, 文獻[16]算法在變化角度為70°時, 重復率已低至0, 說明此時該算法已無法檢測到特征點, 文獻[17]和文獻[18]算法的最低重復率相同均為5%.實驗結果表明, 本文算法在不同視角變化時, 重復率均顯著高于其他3種算法, 特征檢測穩定性較優.
不同算法在不同尺度變化時的重復率如圖6所示.由圖6可見, 隨著尺度的增加, 除本文算法外的其他3種算法的重復率均呈下降趨勢, 本文算法的重復率未發生變化, 這是因為本文算法中提取到的特征為SIFT特征, 該特征不受尺度變化的影響.實驗結果表明, 本文算法在不同尺度時的重復率未發生改變, 明顯高于其他3種算法, 特征檢測穩定性較優.

圖5 不同算法在不同視角變化時的重復率比較Fig.5 Repetition rate comparison of different algorithms when different perspectives change

圖6 不同算法在不同尺度變化時的重復率比較Fig.6 Repetition rate comparison of different algorithms when different scales change
測試4種算法在不同尺度變化、旋轉變化與亮度變化時的匹配精度, 結果如圖7所示.由圖7可見, 本文算法在不同尺度變化、旋轉變化和亮度變化時的匹配精度均保持在92%以上, 顯著高于其他3種算法, 文獻[16]、文獻[17]、文獻[18]算法的波動幅度較大, 穩定性較差.實驗證明, 本文算法在3種不同情形下的匹配精度均較高, 具有較優的圖像匹配效果.
不同算法的圖像匹配時間對比結果如圖8所示.由圖8可見, 本文算法在不同尺度變化、旋轉變化和亮度變化時的匹配時間均保持在70 ms以下, 均明顯低于文獻[16]、文獻[17]、文獻[18]算法, 且波動幅度較小, 實驗證明本文算法在3種不同情形下的匹配時間均較短, 圖像匹配效率較高.

圖7 不同算法匹配精度的比較Fig.7 Comparison of matching accuracy of different algorithms

圖8 不同算法圖像匹配時間比較Fig.8 Comparison of image matching time of different algorithms
在采集的視覺圖像內隨機選取同一目標不同光照下的圖像, 利用4種算法對不同光照下的圖像進行匹配, 測試4種算法匹配后圖像的質量, 測試結果列于表1.由表1可見: 隨著光照強度的不斷提升, 4種算法的NU值均呈上升趨勢, 本文算法的NU值明顯低于其他3種算法, 說明本文算法匹配后圖像的灰度分布更均勻;4種算法AG值均隨光照強度的提升而下降, 本文算法的AG值均明顯高于其他3種算法, 說明本文算法匹配后的圖像清晰度更佳;4種算法的H值同樣隨光照強度的提升而下降, 本文算法的H值明顯高于其他3種算法, 說明本文算法匹配后的圖像細節更豐富.因此, 本文算法匹配后的圖像質量最佳.

表1 4種算法匹配后圖像質量測試結果
綜上所述, 針對移動機器人采集的視覺圖像存在清晰度不佳的問題, 本文提出了一種基于深度強化學習的移動機器人視覺圖像分級匹配算法, 先利用深度強化學習粗匹配圖像的顏色特征, 再在粗匹配的基礎上, 通過改進SIFT算法精匹配圖像, 獲取更清晰的圖像, 為后續圖像分析提供更可靠的支撐.實驗結果表明, 本文算法具有較優的匹配效果和匹配速度, 實際應用效果更好.