1.一種基于單目手勢識別的視覺跟隨方法,其特征在于,包括以下步驟:
機器人通過相機模塊拍攝包括跟蹤目標的手勢在內(nèi)的第一幅場景圖片,圖片分辨率為W1*H1;約定拍攝圖片的左上角第一個點坐標為(1,1),右下角最后一點的坐標為的(W1,H1);
并假定用戶初始距離為D1,D1將被用作距離變化的參照值;
所述機器人識別跟蹤目標的手勢,并獲得手勢在圖片幀中的位置和大小參數(shù):
X1:第一幅場景圖片中手勢的x軸起點,
Y1:第一幅場景圖片中手勢的y軸起點,
W2:第一幅場景圖片中手勢在x軸的寬度,
H2:第一幅場景圖片中手勢在y軸的高度;
H3:相機模塊拍攝到的第一場景的實際高度;
H4:手勢的實際高度;
并假定用戶初始距離為D1,D1將被用作距離變化的參照值;
根據(jù)步驟1)、2)和3)獲得的參數(shù),計算相機拍攝的第一場景實際高度H3:
H3 = 2 * tan α * D1 (1)
其中,α為相機攝像頭垂直可視角的1/2;
還可知H3/H4 = H1 / H2 (2)
H4=H2*H3/H1 (4)
根據(jù)所述第一幅場景圖片的參數(shù),計算手勢在第一幅場景圖片中的中心坐標
(X2,Y2):
X2= X1 + (W2 /2) (4)
Y2= Y1 + ( H2/2)) (5)
計算手勢在第一幅場景圖片中的中心坐標(X2,Y2)同整個第一幅場景圖片的中心點坐標(Width/2,Hight/2)的偏離值;
定義O1 = X2 –(W1/2) (6)
O1為此時刻手勢與X軸中心點偏移量;
定義β1= arctan(O1/D1) (7)
角β1為此時刻手勢識別的中心點在X軸上的偏移角度;
跟蹤目標向前,或者向后,或者向左,或者向右,移動一個距離,但保持手勢在相機的視野范圍內(nèi);機器人通過相機模塊拍攝包括跟蹤目標的手勢在內(nèi)的第二幅場景圖片;
所述機器人識別跟蹤目標的手勢,并獲得手勢在第二幅場景圖片幀中的位置和大小參數(shù):
X3:手勢第二幅場景圖片x軸起點,
Y3:手勢第二幅場景圖片y軸起點,
W5:手勢在第二幅場景圖片x軸的寬度,
H5:手勢在第二幅場景圖片y軸的高度;
H6:相機模塊拍攝到的第二場景的實際高度;
根據(jù)步驟1)至5)獲得的參數(shù),計算相機拍攝的第二場景高度H6:
H6 = H1*H4/H5 (8)
D2 = H6/(2 * tan α) (9)
根據(jù)所述第二幅場景圖片的參數(shù),計算手勢在第二幅場景圖片中的中心坐標
(X4,Y4):
X4= X3 + (W4 /2) (10)
Y4= Y3 + ( H4/2) (11)
計算手勢在第二幅場景圖片中的中心坐標(X4,Y4)同整個第二幅場景圖片的中心點坐標(Width/2,Hight/2)的偏離值;
定義O2 = X4 – (W3/2) (11)
O2為此時刻手勢與X軸中心點偏移量;
定義β2= arctan(O2/D2) (12)
角β2為此時刻手勢識別的中心點在X軸上的偏移角度;
定義R1為距離D2與距離D1的距離比率,該百分比可體現(xiàn)出當前距離D2相對于初始距離D1的相對距離偏差:
R1= D2/D1 = H5/H2 (13)
定義R2為X軸的偏差比率:
R2 = tanβ2/tanβ1= (X2-(W1/2))*H4/((X4-(W3/2))*H2) (14);
根據(jù)公式(13)和(14),可通過R1代表Z軸空間距離D2與初始距離D1的偏離比率,R2代表X軸偏移角度β2與β1的偏差比率;并可依據(jù)實時的R1和R2的數(shù)值,制定引導機器人的動態(tài)跟隨算法,調(diào)整機器人的姿態(tài)和速度,通過使R1和R2的值趨近與1,而得到良好的跟隨姿態(tài)。
2.根據(jù)權(quán)利要求1所述的基于單目手勢識別的視覺跟隨方法,其特征在于,在步驟1)相機模塊拍攝第一副場景圖片之前或同時,機器人通過單點測距模塊,測量機器人與跟蹤目標之間的距離,獲得距離參數(shù)D1;在步驟4)相機模塊拍攝第二副場景圖片之前或同時,機器人通過單點測距模塊,測量機器人與跟蹤目標之間的距離,獲得距離參數(shù)D2;此時D1和D2為實際數(shù)值,而不是假定的值;
步驟6)的過程變更為:根據(jù)實時反饋的跟蹤目標和所述機器人的Z軸空間距離D2、X軸空間偏移角度β2制定引導機器人的動態(tài)跟隨算法;所述機器人通過不斷調(diào)整機器人的姿態(tài)、速度等,從而使D2趨近于D1,β2趨近于β1,而得到良好的跟隨姿態(tài);或者,使用預(yù)設(shè)的舒適跟隨距離Dx和偏移距離βy策略,隨意調(diào)整跟隨策略。
3.根據(jù)權(quán)利要求2所述的基于單目手勢識別的視覺跟隨方法,其特征在于,所述單點測距模塊包括超聲波測距模塊、紅外測距模塊、激光測距模塊。