本發(fā)明涉及三維掃描領域,具體涉及一種多角度掃描時需要各測頭投影儀和相機異步快速投影并采集的三維掃描及其數(shù)據(jù)處理方法,該方法尤其適于人體掃描。
背景技術:
在人體三維掃描領域,如何提高三維掃描速度一直是學術研究的難點和關鍵點,這是因為在對人體進行三維掃描時,人不能長時間保持靜止,現(xiàn)有的大多數(shù)三維掃描技術都要求被測物體在測量時必須嚴格保持不動,一旦在測量時發(fā)生移動,就會大大影響測量的精度和成功率,這也是三維掃描技術在人體掃描領域發(fā)展緩慢的原因所在。
2011年TI公司推出了專門致力于工業(yè)測量的微型投影模塊LightCrafter,其投影速率最高可達4000Hz(2-bit圖案),8-bit圖案的投影速率也高達120Hz,大大超過了普通DLP投影儀的投影速率,這對借助于DLP投影儀進行三維測量(本文特指相移輪廓術法測量,下同)的廠商和學者來說無疑是一大福音,因為傳統(tǒng)的采用普通DLP投影儀進行三維測量時,由于DLP投影速率慢,一般需要5-6秒鐘,而采用LightCrafter則只需6/120=0.05秒鐘(假設每次測量投影的編碼光圖案個數(shù)為6),這大大提高了三維測量速度,從而為人體三維測量,特別是對人臉的三維測量提供了可能。
在對人體進行三維測量時,若要重建人體的全貌,需要搭設多組測頭從不同方向進行測量,之后將各個方向重建的三維模型拼接起來。傳統(tǒng)方法是各測頭依次進行測量,即測頭1測量完成后,測頭2開始測量,之后測頭3開始測量……,依次類推。假設每個測頭的測量時間為T秒,則N個測頭全部測量完成需要N×T秒,隨著N增大,總測量時間將不斷增加。比如要全方位重建人體頭部,一般需要6組測頭,假設每組測頭的測量時間假設為0.5秒,則總共需要3秒鐘。讓被測量者保持3秒鐘的不動這非常困難,而且如此長的測量時間也使得測量過程變得非常不人性化。因此,在多方位三維測量時,傳統(tǒng)的各測頭依次測量的方法存在明顯缺陷。
另外,傳統(tǒng)的相依輪廓術法測量一般單獨采用“時域法”編碼條紋圖和解調(diào)包裹相位,其需要投影12幅相移圖,即4幅高頻相移圖,4幅中頻相移圖,4幅低頻相移圖。這樣的相位編碼和解調(diào)方式需要投影的相移圖眾多,所以對DMD微鏡投影儀要求很高(需要投影儀能夠存儲多達12幅相移圖),另外還會延長測量時間,降低測量速度。
技術實現(xiàn)要素:
為了克服現(xiàn)有技術的缺點,本發(fā)明提出一種分時復用快速三維掃描方法,具體如下:
令T表示觸發(fā)信號的周期,Te表示投影儀和CCD的曝光時間,Tri(i=1,2,…n)表示第i個測頭的投影儀和CCD相對于觸發(fā)信號上升沿的延時時間,其中Tr1=0us,即測頭1不延時,Tr2≥Te,Tr3≥Tr2+Te,以此類推,直到測頭n,其中n為該掃描速度下所允許的最大測頭數(shù);取Tr2=Te,Tr3=2×Te,…
Trn=(n-1)×Te,這樣能最充分地利用方波周期內(nèi)的閑置時間,從而使得n值達到最大,因此n的確定條件為:
Trn+Te≤T (1)
式中Trn表示第n個測頭的投影儀和CCD相對于觸發(fā)信號上升沿的延時時間。
利用該方法可以在多角度三維測量時大大縮短測量時間,提高測量速度。
此外,還提供一種基于上述分時復用快速三維掃描方法的正弦條紋圖時頻復合編碼與解調(diào)方法,包括下列步驟:
(1)編碼方法
正弦條紋圖時頻復合編碼與解調(diào)方法需要6幀條紋圖,其數(shù)學表達式如(2)-(4)所示,前4幀{It=1,2,3,4}為步長π/2高頻相移圖,f1為高頻載頻;后兩幀分別為1幀中頻I5和1幀低頻載頻條紋圖I6,f2為中頻載頻,f3為低頻載頻;高、中、低相鄰載頻比范圍為2~8倍
I5(x)=A+B·cos(2πf2x) (3)
I6(x)=A+B·cos(2πf3x) (4)
式中{It=1,2,3,4}為各高頻相移圖的光強,I5(x)為中頻相移圖的光強,I6(x)為低頻相移圖的光強;A為背景項,B為載頻幅值,x為被測物體的橫向坐標;{ft=1,2,3}分別為高、中、低三頻條紋圖的載頻;
(2)解調(diào)方法
投影儀投影上述6幀載頻正弦條紋圖至投影對象的表面,相機采集6幀,得到圖像的數(shù)學表達式如公式(6)-(8)所示;前4幀高頻相移圖采用相移方法計算得到高頻相位分布2πf1Φ(x);采用求和方法得到被測體面反射率分布a(x);用和消減中頻和低頻條紋的背景項噪聲,去除背景項噪聲后的中頻和低頻分別用傅里葉變換輪廓術解調(diào)相位;
假設那么低頻解包裹相位利用公式(5)-(9)依次得到中頻和高頻的解包裹相位圖;最終由有高頻相位解包裹圖恢復被測表面高度;
式中b(x)為載頻幅值分布;分別為高、中、低三頻的包裹相位;Φ2(x)為由計算得到的展開相位,Φ1(x)為由計算得到的展開相位;INT為取整運算。
在本發(fā)明的一個具體實施例中,在步驟(1)中,高、中、低相鄰載頻比為4倍。
本發(fā)明的上述正弦條紋圖時頻復合編碼與解調(diào)方法可以大大減少相移圖數(shù)量,在降低硬件成本的同時進一步提高掃描速度。
另外,又提供一種基于上述正弦條紋圖時頻復合編碼與解調(diào)方法的對相移圖片的識別與自動排序方法,包括下列步驟:
(a)提取相移圖有效區(qū)域
相機拍攝到的圖片中并不是所有區(qū)域都是有效區(qū)域,因此需要事先利用目標提取方法對這些有效區(qū)域進行目標提?。?/p>
(b)快速二維傅里葉變換
相移圖的特征頻率體現(xiàn)在其頻譜圖上就是第二峰值對應的頻率,該頻率越大則特征頻率越高,第一峰值是基頻;由于實際采集到的相移圖只有三種特征頻率,分別是高頻(30-35Hz)、中頻(10-15Hz)和低頻(3-5Hz),因此通過判斷頻譜圖上第二波峰的位置分布就可以得到該相移圖的頻率屬性;
(c)高通濾波器濾波
對相移圖進行二維傅里葉變換之后,還需用高通濾波器對其進行濾波,以消除基頻對之后相移圖特征頻率檢測的影響;高通濾波器的截止頻率是由經(jīng)驗設定的;
(d)提取相移圖特征頻率并進行判斷
在消除了相移圖的基頻分量之后,在傅里葉頻譜圖上容易地找出相移圖的特征頻率,進而能夠判斷出個相移圖的頻率屬性;
(e)相移圖排序
根據(jù)步驟(d)中的特征頻率識別方法,首先判斷6幅相移圖中第一幅相移圖的頻率屬性,如果其不是高頻條紋,那么從第一幅相移圖開始第一次出現(xiàn)高頻的相移圖就是“高1”,檢測完成;如果第一幅相移圖是高頻的,那么繼續(xù)判斷 第四幅圖的頻率屬性,如果其也是高頻,則很顯然,第1,2,3,4幅相移圖都是高頻,則第一圖相移圖就是“高1”,檢測完成;如果第四幅相移圖不是高頻,那么從開始的第一幅不是高頻的相移圖算起,第一次出現(xiàn)的高頻的相移圖就是“高1”,檢測完成。
在本發(fā)明的一個具體實施例中,在步驟(a)中,目標提取方法為灰度閾值方法、或特征識別方法、或邊緣檢測方法。
在本發(fā)明的一個具體實施例中,在步驟(a)中,如果投影對象是人臉,則有效區(qū)域即是人臉,通過4幅高頻相移圖相加后求平均的方式得到彩色紋理圖,之后通過對彩色紋理圖進行HSI分解給出HIS的漢語翻譯,利用H分量和I分量就能提取出人臉位置。
在本發(fā)明的一個具體實施例中,在步驟(c)中,在對人臉進行三維掃描時,在測量距離為0.7m時,高通濾波器的截止頻率為約5Hz。
本發(fā)明的上述相移圖自動識別與排序方法可以有效提高三維掃描成功率。
附圖說明
圖1示出傳統(tǒng)方法下雙測頭測量時各測頭觸發(fā)信號時序圖;
圖2示出傳統(tǒng)測量方法下投影儀和CCD的觸發(fā)時序圖;
圖3示出本發(fā)明的“分時復用”投影時序圖;
圖4示出本發(fā)明的各頻率相移圖的傅里葉頻譜圖;
圖5示出本發(fā)明的“高1”相移圖查找流程圖;
圖6示出本發(fā)明的同步設備與各測頭連線圖;
圖7示出本發(fā)明中測頭1DMD微鏡投影儀參數(shù)設置軟件界面;
圖8示出保存設置的參數(shù)并設置為開機啟動的界面;
圖9示出相機參數(shù)設;
圖10示出測頭1相機觸發(fā)延時設置界面;
圖11示出利用人體三維掃描軟件新建4個相機;
圖12示出快速測量參數(shù)設置;
圖13示出OPC串口命令發(fā)送界面;
圖14示出各相機采集的相移圖,從左到右依次為高頻、中頻、低頻;
圖15示出左右測頭的視差圖,其中圖15(a)示出測頭1視差圖,圖15(b)示出測頭2視差圖;
圖16示出左右2測頭的三維點云和紋理,其中圖16(a)示出測頭1方位的三維點云(左)及其紋理(右),圖16(b)示出測頭2方位的三維點云(左)及其紋理(右);
圖17示出兩測頭拼接之后的三維模型及其紋理,其中圖17(a)示出拼接之后的三維點云(左)及其紋理(右),圖17(b)示出拼接后的三維點云的網(wǎng)格劃分(左)及其紋理(右)。
具體實施方式
下面以雙測頭系統(tǒng)為例,結合附圖具體描述本發(fā)明。
1、“分時復用”三維掃描方法
假設某快速測量系統(tǒng)有兩個測頭,一般的測量方法是在測量時左右兩個測頭先后進行測量,對應在同步設備產(chǎn)生的觸發(fā)信號上如圖1所示,圖中假設觸發(fā)信號的個數(shù)為12。
與觸發(fā)信號相對應的投影儀和CCD的觸發(fā)時序圖如圖2所示,投影儀和CCD在收到上升沿信號時,會立即動作,即投影儀開始投影,CCD開始相片采集,信號延時可忽略不計。
從以上分析可以看出,多測頭測量時這種測量方法的測量時間與測頭數(shù)成正比,測頭越多,測量時間越長,如果實際測量時需要測量4個或者更多的測頭時,則需要2s以上的測量時間(假設觸發(fā)信號的頻率是24Hz,則每個測頭需要的掃描時間為12/24=0.5s),這顯然不合適測量易動的人體。
為了解決上述的問題,本發(fā)明提出一種全新的多測頭快速測量方法-分時復用快速三維掃描方法,利用該方法可以大大提高多測頭測量時的測量速度,在測頭不超過一定數(shù)量的情況下,測量時間不會隨測頭的增加而增加,而是一直保持不變,其原理如下所述。
從圖1中可以看出,投影儀和CCD的曝光時間只占了方波信號周期很小的一部分,而周期內(nèi)的其他大部分時間投影儀和CCD都處于閑置狀態(tài)。本發(fā)明提出的分時復用快速三維掃描方法正是考慮到這個問題而做出改進。分時復用快速三維掃描方法的原理如圖3所示,T表示觸發(fā)信號的周期,Te表示投影儀和CCD的曝光時間,Tri(i=1,2,…n)表示第i個測頭的投影儀和CCD相對于觸發(fā)信號上升沿的延時時間,其中Tr1=0us,即測頭1不延時,Tr2≥Te,Tr3≥Tr2+Te,以此類推,直到測頭n,其中n為該掃描速度(取決于觸發(fā)信號頻率)下所允許的最大測頭數(shù)。在實際測量中,一般取Tr2=Te,Tr3=2×Te……Trn=(n-1)×Te,這樣能最充分的利用方波周期內(nèi)的閑置時間,從而使得n值達到最大。n的確定條件為:
Trn+Te≤T (1)
式中Trn表示第n個測頭的投影儀和CCD相對于觸發(fā)信號上升沿的延時時間。
綜上可知,分時復用快速三維掃描方法充分利用了觸發(fā)信號周期內(nèi)的閑置時間,提高了測量設備的利用率,從而大大提高了多測頭測量時的測量速度。只要實際所需的測頭數(shù)小于n,那么只需要發(fā)送一次觸發(fā)信號,便可以完成多個測頭的“同時異步”測量,大大提高了測量效率。
舉例如下,假設掃描系統(tǒng)的觸發(fā)信號的頻率是24Hz(周期為41600us),投影儀和相機的曝光時間都是8333us,則測頭1的延時時間為0us,測頭2的延時時間為8333us,測頭2的延時時間為2×8333=16666us……測頭n的延時時間為(n-1)×8333us,由式(1-2)可以確定出n的最大值約等于5。
2、正弦條紋圖時頻復合編碼與解調(diào)方法
(1)編碼方法
傳統(tǒng)三頻相移方法需要投影3種頻率12幀條紋圖,每種頻率由四步相移圖組成。而正弦條紋圖時頻復合編碼與解調(diào)方法只需要6幀條紋圖即可。其數(shù)學表達式如(2)-(4)所示,前4幀{It=1,2,3,4}為步長π/2高頻相移圖,f1為高頻載頻。后兩幀分別為1幀中頻I5和1幀低頻載頻條紋圖I6,f2為中頻載頻,f3為低頻載頻。高、中、低相鄰載頻比范圍為2~8倍。一般情況可取4倍。
I5(x)=A+B·cos(2πf2x) (3)
I6(x)=A+B·cos(2πf3x) (4)
式中{It=1,2,3,4}為各高頻相移圖的光強,I5(x)為中頻相移圖的光強,I6(x)為低頻相移圖的光強;A為背景項,B為載頻幅值,x為被測物體的橫向坐標;{ft=1,2,3}分別為高、中、低三頻條紋圖的載頻。
(2)解調(diào)方法
投影儀投影上述6幀載頻正弦條紋圖至人體表面,相機采集6幀,得到圖像的數(shù)學表達式如公式(6)-(8)所示。前4幀高頻相移圖采用相移方法計算得到高頻相位分布2πf1Φ(x)。采用求和方法得到被測體面反射率分布a(x)。用和可以消減中頻和低頻條紋的背景項噪聲,去除背景項噪聲后的中頻和低頻分別用傅里葉變換輪廓術解調(diào)相位。傅里葉變換輪廓術是三維測量領域的一種常用的相位解調(diào)方法,在此不再累述。假設那么低頻解包裹相位則利用公式(5)-(9)依次得到中頻和高頻的解包裹相位圖。最終由有高頻相位解包裹圖恢復被測表面高度。該方法采用3頻6幀時間序列條紋圖編碼方法,在保持測量精度的前提下比單純相移方法縮短了一半測量時間。
式中b(x)為載頻幅值分布;分別為高、中、低三頻的包裹相位;Φ2(x)為由計算得到的展開相位,Φ1(x)為由計算得到的展開相位;INT為取整運算。
3、相移圖片的識別與自動排序
掃描完成后,各相機分別采集到6幅相移圖,假設掃描時,相機和DMD微鏡投影儀沒有受到外界的干擾,那么這6幅相移圖應該是按照“高1,高2,高3,高4,中,低”的順序進行排列的。但是,在實際情況下,掃描系統(tǒng)經(jīng)常會受到外界信號的干擾,特別是DMD微鏡投影儀會受到工頻干擾,這時事先設定好的相移圖投影順序就會被打亂,比如可能會變成“高3,高4,中,低,高1,高2”,從而無法進行進一步計算。一般應對這種干擾的解決方案是重啟DMD微鏡投影儀以使相移圖順序重新復位,但是很顯然,這樣做很浪費時間。
本發(fā)明提出一種相移圖片的識別和自動排序方法,該方法能迅速檢測出各相移圖的的特征頻率(即其是高頻、中頻還是低頻),并根據(jù)相移圖序列的分布規(guī)律對混亂的相移圖進行重新排序,使之能夠變成“高1,高2,高3,高4,中,低”的標準型。具體方法如下:
(a)提取相移圖有效區(qū)域
相機拍攝到的圖片中并不是所有區(qū)域都是有效區(qū)域,因此需要事先對這些區(qū)域進行提取,提取的方法有很多,比如灰度閾值、特征識別,邊緣檢測等。例如在掃描人臉時,有效區(qū)域是人臉,可以通過4幅高頻相移圖相加后求平均的方式得到彩色紋理圖,之后通過對彩色紋理圖HSI分解,利用H分量和I分量就能提取出人臉位置?;趫D片HSI分解的特征提取方法詳見書籍《數(shù)字圖像處理》(岡薩雷斯.數(shù)字圖像處理(第三版)[M].北京:電子工業(yè)出版社,2010:p416-p478.)。
(b)快速二維傅里葉變換
提取了圖片的有效區(qū)域之后便可以進行二維傅里葉變換了。在后面步驟(e)對相移圖進行排序之前,首先要能夠檢測出每幅相移圖的特征頻率,而相移圖的特征頻率體現(xiàn)在其頻譜圖上就是第二峰值(第一峰值是基頻)對應的頻率,該頻率越大則特征頻率越高。由于實際采集到的相移圖只有三種特征頻率,分別是高頻(30-35Hz)、中頻(10-15Hz)和低頻(3-5Hz),因此通過判斷頻譜圖上第二波峰的位置分布就可以得到該相移圖的頻率屬性。低頻相移圖由于其特征頻率與基頻(背景項頻率)很接近,所以很難提取,在下述方法中,可以不用識別低頻相移圖也能完成對相移圖的自動排序??焖俣S傅里葉變換是快速傅里葉變換的二維擴展,詳見岡書籍《數(shù)字圖像處理》(岡薩雷斯.數(shù)字圖像處理(第三版)[M].北京:電子工業(yè)出版社,2010:p221-p326.)。
(c)高通濾波器濾波
對相移圖進行二維傅里葉變換之后,還需用高通濾波器對其進行濾波,以消除基頻對之后相移圖特征頻率檢測的影響。高通濾波器的截止頻率是由經(jīng)驗設定的,而該經(jīng)驗須建立在對大量相移圖的分析基礎之上。例如,在對人臉進行三維掃描時(測量距離0.7m),高通濾波器的截止頻率應設在5Hz左右。二維高通濾波器的構造與一維類似,常見的高通濾波器有理想高通濾波器、高斯高通濾波器等,詳見書籍《數(shù)字圖像處理》(岡薩雷斯.數(shù)字圖像處理(第三版)[M].北京:電子工業(yè)出版社,2010:p221-p326.)。
(d)提取相移圖特征頻率并進行判斷
在消除了相移圖的基頻分量之后,在傅里葉頻譜圖上可以容易地找出相移 圖的特征頻率,進而能夠判斷出個相移圖的頻率屬性。如圖4所示,(a),(b),(c)分別是高、中、低三頻相移圖的頻譜圖(圖中已按(c)步驟過濾掉了0-10Hz的基頻分量)。(a)圖中,很容易找出高頻相移圖的特征頻率33Hz,(b)圖中,也很容易找出中頻相移圖的特征頻率12Hz,(c)圖中,由于基頻分量的干擾,低頻相移圖的特征頻率已經(jīng)被湮沒了。
(e)相移圖排序
(d)中雖然不能識別出低頻相移圖,但是由于相移圖序列的分布是成首尾銜接式排列的,即使順序被打亂也遵循這一規(guī)則,所以只需找出“高1”相移圖即可完成整個相移圖序列的排序?!案?”相移圖的查找方式如圖5所示。具體步驟如下:根據(jù)上述的相移圖頻率檢測算法,首先判斷6幅相移圖中第一幅相移圖的頻率屬性,如果其不是高頻條紋,那么從第一幅相移圖開始第一次出現(xiàn)高頻的相移圖就是“高1”,檢測完成;如果第一幅相移圖是高頻的,那么繼續(xù)判斷第四幅圖的頻率屬性,如果其也是高頻,那么很顯然,第1,2,3,4幅相移圖都是高頻,則第一圖相移圖就是“高1”,檢測完成;如果第四幅相移圖不是高頻,那么從開始的第一幅不是高頻的相移圖算起,第一次出現(xiàn)的高頻的相移圖就是“高1”,檢測完成。
具體實施例
(1)搭建掃描系統(tǒng)
利用三腳架、鋁型材、轉(zhuǎn)接件、相機、DMD微鏡投影儀等材料和設備搭建如圖1-2所示的的雙測頭人體掃描儀。搭建完成之后須用千兆網(wǎng)線將四個相機與電腦相連(電腦網(wǎng)口數(shù)小于相機數(shù)時須通過交換機),另外還須將同步設備與各測頭的相機和DMD微鏡投影儀相連,如圖6所示,同步設備共有8個小電流輸出口,8個大電流輸出口,將小電流輸出口1與兩個DMD微鏡投影儀相連,將大電流輸出口1與4個相機相連。
(2)設置DMD微鏡投影儀參數(shù)
如圖7所示,將DMD微鏡投影儀設置到Pattern Sequence模式下,設置Input Trigger的模式為External(Positive),Exposure(us)設置為8333us(設置DMD微鏡投影儀的曝光時間),In Trigger Delay參數(shù)測頭1設置為0us(即不延時),測頭2設置為8333us(即延時DMD微鏡投影儀的曝光時間),之后點擊set按鈕,將設定的參數(shù)加載進DMD微鏡投影儀,點擊Start按鈕,DMD微鏡投影儀進入外觸發(fā)模式。若想DMD微鏡投影儀每次啟動時都自動設置成上述參數(shù),則需利用Solution/Upgrade選項框中的Solution Save功能將以上參數(shù)保存至DMD微鏡投影儀的FLASH中,并將其設置成默認開機啟動參數(shù),如圖8所示。
(3)設置相機參數(shù)
將相機的所有Auto屬性全部關閉,設置相機的曝光時間為1/120us(即為8333us,與DMD微晶投影曝光時間相同),增益調(diào)至0以降低噪聲的影響,如圖9所示。對于測頭1,設置其兩個相機的觸發(fā)延時為0us即不延時;對于測頭2,設置其兩個相機的觸發(fā)延時為為8333us,與測頭2DMD微晶投影儀的觸發(fā)延時一致,如圖10所示
(4)開始掃描
打開人體三維掃描軟件,首先新建4個相機,如圖11所示;點擊“快速測量”菜單下的“快速測量設置”按鈕,對測量的一些參數(shù)進行調(diào)整,如圖12所示;之后點擊“快速測量”菜單下的“開始測量”按鈕,各相機相繼進入外觸發(fā)狀態(tài);打開“OPC”串口調(diào)試軟件,向同步設備發(fā)送”SquareWave port2 6 24”命令,參數(shù)中6表示發(fā)送的方波個數(shù)為6個,24表示方波頻率為24Hz,如圖13所示。之后,各測頭的相機和DMD微鏡投影儀在接到同步設備發(fā)出的方波信號后,按照之前對其設置的參數(shù)
進行相應“動作”,0.25(6/24)秒之后,掃描完成,兩個測頭的四個相機采集的共24幅圖片已保存至內(nèi)存中,經(jīng)過圖片識別和智能排序之后,通過計算就可以得到測頭1和測頭2兩個方向上各自的人體3D模型,最后經(jīng)過拼接就可以得到最終的3D模型。
(5)掃描結果展示
圖14是各相機采集到的相移圖,由于圖片太多(每個相機6張,共24張)所以,圖中只顯示了一部分采集到的相移圖。
圖15是計算出的測頭1和測頭2方向的視差圖
圖16是兩測頭方向計算出的人體三維點云及其帶紋理的三維點云,圖17是拼接之后的人體三維點云及其紋理和經(jīng)三角面片劃分之后的模型及其紋理。
通過對本發(fā)明原理的說明和具體實施例的說明,可以看出,本發(fā)明的分時復用的超快人體三維掃描方法,可以在多角度三維測量時大大縮短測量時間,提高測量速度。