本發(fā)明涉及長度測量技術(shù)領(lǐng)域,具體是一種基于單目機器視覺的身高測量方法。
背景技術(shù):
由于各種需要,比如體檢、運動員選拔等,需要對人的身高進行測量。目前的身高測量方法如使用尺子、標桿等方式操作起來都不太方便,需要直接接觸到人體,不能做到自動測量,容易由于操作不當造成誤差。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的問題是提供一種基于單目機器視覺的身高測量方法,該方法能夠?qū)崿F(xiàn)對人體身高進行無接觸自動測量,操作方便,測量精確。
為實現(xiàn)上述發(fā)明目的,本發(fā)明的基于單目機器視覺的身高測量方法,包括以下步驟:
待測人站在平面標識上指定的區(qū)域;
機器人保持頭部處于水平狀態(tài),通過調(diào)整所述機器人與所述待測人的距離使位于所述機器人頭部的RGB攝像機拍攝到所述待測人的頭部及腳下的二維標識;
所述機器人根據(jù)檢測到的二維標識上四個角點,根據(jù)單應性矩陣
計算出當前視場的單應性矩陣H=M[r1,r2,r3,t];
其中,(x,y,1)表示視覺定位標識中任一角點在第一攝像機的圖像坐標系中像素坐標的齊次坐標;(X,Y,Z,1)表示所述角點在視覺定位標識坐標系中的齊次坐標,選取視覺定位標識平面為Z=0,則所述角點在所述視覺定位標識坐標系中的齊次坐標即簡化為(X,Y,0,1);s為引入的任意尺度比例參數(shù),M為攝像機內(nèi)部參數(shù)矩陣,r1、r2、r3分別表示視覺定位標識坐標系相對于攝像機坐標系的旋轉(zhuǎn)矩陣中的三個列向量,t為平移向量;
通過圖像分割算法分割出待測人頭部圖像區(qū)域,從而計算出待測人頭頂?shù)南袼刈鴺?x0,y0);
根據(jù)單應性矩陣
代入x=x0,y=y(tǒng)0,X=0即可求得Z,Z即所述待測人的身高。
計算出待測人頭頂?shù)南袼刈鴺朔譃槿缦氯剑?/p>
(1)使用Haar-Adaboost人臉檢測算法在圖像中檢測人臉的矩形區(qū)域。Haar-Adaboost人臉檢測算法使用通過人臉圖像樣本訓練好的人臉檢測器,在圖像中識別到人臉的矩形區(qū)域。
(2)通過過分水嶺算法分割出頭部區(qū)域。識別到人臉區(qū)域后可將人臉位置標記為前景圖像區(qū)域,將人臉兩邊的非人臉背景區(qū)域標記為后景圖像區(qū)域,使用分水嶺圖像分割算法將待測人頭部的輪廓完整的從背景中分割出來。
(3)得到待測人頭部的像素坐標。默認待測人的頭部保持豎直,頭頂點x軸方向的像素坐標x0等于人臉矩形區(qū)域中心的x坐標值。分水嶺圖像分割算法能夠分割出頭頂?shù)恼w輪廓,通過計算x坐標在(x0–Δx,x0+Δx)范圍內(nèi)的頭頂輪廓點的y坐標平均值即可求得頭頂點y軸方向的像素坐標y0。
本發(fā)明的基于單目機器視覺的身高測量方法,操作及計算簡單,待測人員無需他人幫助即可完成自我測高,測量方法為非接觸式的,進一步提高了測量精度,也加快了測量速度。
附圖說明
圖1為本發(fā)明的測量方法使用的機器人結(jié)構(gòu)示意圖;
圖2是本發(fā)明使用測量方法時測量區(qū)域示意圖。
具體實施方式
下面結(jié)合附圖,對本發(fā)明提出的一種基于單目機器視覺的身高測量方法進行詳細說明。
本發(fā)明的基于單目機器視覺的身高測量方法,包括以下步驟:
待測人站在平面標識上指定的區(qū)域;
機器人保持頭部處于水平狀態(tài),通過調(diào)整所述機器人與所述待測人的距離使位于所述機器人頭部的RGB攝像機拍攝到所述待測人的頭部及腳下的二維標識;
所述機器人根據(jù)檢測到的二維標識上四個角點,根據(jù)單應性矩陣
計算出當前視場的單應性矩陣H=M[r1,r2,r3,t];
其中,(x,y,1)表示視覺定位標識中任一角點在第一攝像機的圖像坐標系中像素坐標的齊次坐標;(X,Y,Z,1)表示所述角點在視覺定位標識坐標系中的齊次坐標,選取視覺定位標識平面為Z=0,則所述角點在所述視覺定位標識坐標系中的齊次坐標即簡化為(X,Y,0,1);s為引入的任意尺度比例參數(shù),M為攝像機內(nèi)部參數(shù)矩陣,r1、r2、r3分別表示視覺定位標識坐標系相對于攝像機坐標系的旋轉(zhuǎn)矩陣中的三個列向量,t為平移向量;
通過圖像分割算法分割出待測人頭部圖像區(qū)域,從而計算出待測人頭頂?shù)南袼刈鴺?x0,y0);
計算出待測人頭頂?shù)南袼刈鴺朔譃槿缦氯剑?/p>
(4)使用Haar-Adaboost人臉檢測算法在圖像中檢測人臉的矩形區(qū)域。Haar-Adaboost人臉檢測算法使用通過人臉圖像樣本訓練好的人臉檢測器,在圖像中識別到人臉的矩形區(qū)域。
(5)通過過分水嶺算法分割出頭部區(qū)域。識別到人臉區(qū)域后可將人臉位置標記為前景圖像區(qū)域,將人臉兩邊的非人臉背景區(qū)域標記為后景圖像區(qū)域,使用分水嶺圖像分割算法將待測人頭部的輪廓完整的從背景中分割出來。
(6)得到待測人頭部的像素坐標。默認待測人的頭部保持豎直,頭頂點x軸方向的像素坐標x0等于人臉矩形區(qū)域中心的x坐標值。分水嶺圖像分割算法能夠分割出頭頂?shù)恼w輪廓,通過計算x坐標在(x0–Δx,x0+Δx)范圍內(nèi)的頭頂輪廓點的y坐標平均值即可求得頭頂點y軸方向的像素坐標y0。
根據(jù)單應性矩陣
代入x=x0,y=y(tǒng)0,X=0即可求得Z,Z即所述待測人的身高。
①如圖2所示,平面標識:身高測量時應當確保機器人看到該平面標識。站立區(qū)域:待測者雙腳站立的區(qū)域。O1為以標識中心為原點的標識坐標系
如圖1所示,本發(fā)明的基于單目機器視覺的身高測量方法,使用的機器人,RGB彩色攝像機1位于機器人頭部。
以上實施例僅用以說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,其均應涵蓋在本發(fā)明的權(quán)利要求范圍當中。