1.一種復雜環(huán)境下無人機自動障礙物檢測和避障方法,其特征在于,包括以下步驟:
步驟S1,利用無人機上設(shè)置的雙目攝像頭進行實時的圖像采集,基于所采集的左、右兩幅圖像匹配計算生成視差圖并進行預處理;
步驟S2,基于視差圖信息,對視差圖進行輪廓和灰度值的聚類劃分,得到具有清晰結(jié)構(gòu)的區(qū)域塊,將所述區(qū)域塊的噪聲干擾去除后得到潛在障礙物區(qū)域;
步驟S3,對比前后兩幀視差圖中對應(yīng)的潛在障礙物區(qū)域,結(jié)合障礙物的放大特性,依據(jù)無人機與潛在障礙物區(qū)域的距離和潛在障礙物區(qū)域的面積篩選得到最終障礙物區(qū)域;
步驟S4,基于步驟S3所得到的最終障礙物區(qū)域,輸出無人機避障的動作指令。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S1中基于所采集的左、右兩幅圖像匹配計算生成視差圖的方法具體為:基于立體匹配Graph Cut算法中的SGBM算法,對所述雙目攝像頭所采及的左、右兩幅圖像進行校準,通過調(diào)整SGBM參數(shù)得到視差圖。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟S1中對視差圖進行的預處理包括:
根據(jù)校準后圖像與原圖像對比,直接去除視差圖上兩邊的灰度信息干擾,得到第一視差圖;
對第一視差圖中灰度值差異大于設(shè)定閾值且面積小于設(shè)定閾值的白色塊進行腐蝕處理,得到第二視差圖;
對第二視差圖進行圖像平滑處理得到清晰的視差圖。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S2所述潛在障礙物區(qū)域,其獲取步驟包括:
步驟S21,獲取步驟1輸出視差圖的輪廓信息;
步驟S22,在各輪廓內(nèi)部對灰度值進行聚類,形成多個對象區(qū)域塊,每個對象區(qū)域塊之間具有明顯的灰度差異,并且對象區(qū)域塊具有完整的區(qū)域輪廓;
步驟S23,分別選取各輪廓內(nèi)面積大于設(shè)定閾值的對象區(qū)域塊,針對所選取的對象區(qū)域塊分別繪制最小外接矩形框;
步驟S24,計算各對象區(qū)域塊的灰度值gray(i)、以及灰度值閾值gray0,選擇gray(i)>gray0的對象區(qū)域塊作為潛在障礙物區(qū)域。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,步驟S22中對灰度值進行聚類,具體包括:
步驟S221,對步驟S21中獲取的輪廓繪制最小外接矩形框,并獲取所述矩形框內(nèi)的各個像素點的灰度信息;
步驟S222,在每個矩形框內(nèi),去除灰度值小于預設(shè)的類內(nèi)灰度差閾值的背景像素點;
步驟S223,并將步驟S222中每個矩形框內(nèi)所去除的第一個背景像素點分別作為單獨的一類,并記錄其灰度值;
步驟S224,在每個矩形框內(nèi),逐個遍歷每一個像素點,若其與已有類別的灰度值之差小于類內(nèi)灰度差閾值則將該像素點歸為對應(yīng)類,否則將該像素點自為一類;
步驟S225,重復步驟S223和S224,直到所有的矩形框都聚類完畢。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,步驟S24具體包括:
步驟S241,計算步驟S23中獲取的各最小外接矩形框的灰度值作為對應(yīng)對象區(qū)域塊的灰度值gray(i);
步驟S242,計算步驟S23所選取的所有對象區(qū)域塊的灰度值均值作為灰度值閾值gray0;
步驟S243,選取gray(i)>gray0的對象區(qū)域塊作為潛在障礙物區(qū)域。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S3中獲得最終障礙物區(qū)域的步驟包括:
步驟S31,獲取當前幀視差圖和上一幀視差圖;
步驟S32,將當前幀視差圖中潛在障礙物區(qū)域與上一幀視差圖對應(yīng)的潛在障礙物區(qū)域進行面積大小的對比,若大于則判斷為候選障礙物所在的區(qū)域;
步驟S33:步驟S32輸出的候選障礙物所在的區(qū)域為兩個或兩個以上時,對危險程度d(i)進行計算,
d(i)=α*gray(i)+(1-α)*size(i)
其中α為比例系數(shù),gray(i)為第i個對象區(qū)域塊的平均灰度值,size(i)為第i個對象區(qū)域塊的最小外接矩形周長,d(i)則為第i個對象區(qū)域塊的危險系數(shù)值;
選擇最危險程度d(i)最大的候選障礙物所在的區(qū)域為最終障礙物區(qū)域。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟S4中無人機采取避障行為的過程包括以下步驟:
步驟S41,選取步驟S3得到的最終障礙物區(qū)域的最小外接矩形的中心坐標作為最終障礙物區(qū)域的中心坐標;
步驟S42,先是執(zhí)行后退動作躲避障礙物,再根據(jù)障礙物的中心坐標計算障礙物區(qū)域相對于無人機位置;
步驟S43,依據(jù)步驟S42中所計算的障礙物區(qū)域相對于無人機位置,輸出無人機避障的動作指令。
9.根據(jù)權(quán)利要求1~8中任一項所述的方法,其特征在于,步驟1中利用無人機上設(shè)置的雙目攝像頭進行實時的圖像采集,其校正圖像所用的變換參數(shù)基于雙目攝像頭標定好的內(nèi)、外參數(shù)計算,所述內(nèi)、外參數(shù)的標定方法為:
步驟S121,利用雙目無線攝像頭對準棋盤格圖片進行選取不同方向進行拍照并保存,選擇其中不同方向拍攝的N對圖像;N為選取圖像的數(shù)量;
步驟S122,使用Bouguet的matlab標定工具箱,執(zhí)行運行matlab標定主函數(shù)calib_gui,選擇左側(cè)攝像頭拍攝的N張圖像,找到所有對應(yīng)的角點,經(jīng)過多次迭代可以得到左側(cè)攝像頭的內(nèi)、外參數(shù);
步驟S123,選取右側(cè)攝像頭拍攝的N張圖像,采用步驟S122的方法獲取右側(cè)攝像頭的內(nèi)、外參數(shù);
步驟S124,依據(jù)左、右攝像頭的內(nèi)、外參數(shù),執(zhí)行雙目相機之MATLAB標定stereo_gui,求出了兩個攝像頭之間的旋轉(zhuǎn)和平移關(guān)系向量,即外參數(shù)。
10.根據(jù)權(quán)利要求1~8中任一項所述的方法,其特征在于,步驟S23中用于選取各輪廓內(nèi)對象區(qū)域塊的設(shè)定閾值為:繪制對應(yīng)輪廓內(nèi)各對象區(qū)域塊的最小外接矩形,選擇面積最大最小外接矩形,并以該矩形面積的1/3作為此處的設(shè)定閾值。
11.根據(jù)權(quán)利要求1~8中任一項所述的方法,其特征在于,所述的雙目攝像頭為由固設(shè)于無人機上的兩個無線攝像頭組合而成的無線雙目攝像頭。