本發(fā)明涉及一種深度相機的控制方法,特別是涉及一種能產(chǎn)生三維點云數(shù)據(jù)的深度相機的控制方法。
背景技術(shù):
一種現(xiàn)有的深度相機為結(jié)構(gòu)化光深度相機,其使用一紅外光源發(fā)出具有特定圖案的紅外光,并使用一紅外光感測器感測自視野反射回相機的紅外光而產(chǎn)生一紅外光影像,并透過分析該紅外光影像而能獲得深度圖。結(jié)構(gòu)化光深度相機的優(yōu)點為其深度圖的精準度高,然而當結(jié)構(gòu)化光深度相機視野中的物體的距離較遠時,紅外光源的操作功率需提高,所發(fā)出的紅外光才能自視野反射回結(jié)構(gòu)化光深度相機,因此具有消耗功率大的缺點。
另一種現(xiàn)有的深度相機為立體視覺深度相機,其使用二色彩感測器產(chǎn)生不同視角的色彩影像,并透過分析該等色彩影像而能獲得深度圖。由于立體視覺深度相機不需發(fā)出紅外光,因此功率消耗較結(jié)構(gòu)化光深度相機低,然而當視野中出現(xiàn)大片平面的景物時,基于色彩影像所獲得的邊緣像素的數(shù)目不足,導致無法有效辨別出景物與深度相機之間的距離。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種能改善前述現(xiàn)有深度相機缺點的深度相機的控制方法。
本發(fā)明深度相機的控制方法,該深度相機包含一光源、一第一影像感測單元、一與該第一影像感測單元相間隔且具有重疊視野的第二影像感測單元,及一電連接于該光源、該第一影像感測單元、該第二影像感測單元的處理器,該第一影像感測單元能針對一第一波長范圍的光線進行感測,該第二影像感測單元能針對該第一波長范圍的光線及一第二波長范圍的光線進行感測,該第二波長范圍相異于該第一波長范圍,該光源所發(fā)出的光線的波長在該第二波長范圍內(nèi),該深度相 機的控制方法包含:(A)該處理器控制該第一影像感測單元及該第二影像感測單元針對該第一波長范圍進行感測,使該第一影像感測單元產(chǎn)生一第一影像,并使該第二影像感測單元產(chǎn)生一第二影像;(B)該處理器根據(jù)該第一影像及該第二影像產(chǎn)生一第一深度圖;(C)該處理器對該第一影像或該第二影像進行邊緣偵測以獲得一邊緣像素數(shù)目;(D)該處理器判斷該邊緣像素數(shù)目是否小于一第一默認像素數(shù)目;(E)當該處理器判斷該邊緣像素數(shù)目小于該第一默認像素數(shù)目,該處理器控制該光源發(fā)光;(F)該處理器控制該第二影像感測單元針對該第二波長范圍進行感測,使該第二影像感測單元產(chǎn)生一第三影像;(G)該處理器根據(jù)該第三影像產(chǎn)生一第二深度圖;(H)該處理器將該第二深度圖與該第一深度圖融合,以產(chǎn)生一融合深度圖;及(I)該處理器將該融合深度圖與該第一影像或該第二影像配準,以產(chǎn)生一三維點云數(shù)據(jù)。
在一些實施態(tài)樣中,所述的深度相機的控制方法還包含:(J)當該處理器判斷該邊緣像素數(shù)目不小于該第一默認像素數(shù)目,該處理器根據(jù)該第一影像與該第二影像的數(shù)個視差值計算出一深度代表值;(K)該處理器判斷該深度代表值是否大于一第一默認深度;(L)當該處理器判斷該深度代表值不大于該第一默認深度,該處理器判斷該邊緣像素數(shù)目是否小于一第二默認像素數(shù)目,該第二默認像素數(shù)目大于該第一默認像素數(shù)目;(M)當該處理器判斷該邊緣像素數(shù)目小于該第二默認像素數(shù)目,該處理器判斷該深度代表值是否小于一第二默認深度,該第二默認深度小于該第一默認深度;及(N)當該處理器判斷該深度代表值不小于該第二默認深度,該處理器控制該光源發(fā)光,并接著執(zhí)行(F)、(G)、(H)及(I),其中,驅(qū)動該光源的一第一驅(qū)動電流的電流值與該深度代表值呈正相關(guān)。
在一些實施態(tài)樣中,所述的深度相機的控制方法還包含:(O)當該處理器判斷該深度代表值小于該第二默認深度,該處理器控制該光源發(fā)光,并接著執(zhí)行(F)、(G)、(H)及(I),其中,驅(qū)動該光源的一第二驅(qū)動電流的電流值不大于該第一驅(qū)動電流的最小電流值。
在一些實施態(tài)樣中,所述的深度相機的控制方法還包含:(P) 當該處理器判斷該深度代表值大于該第一默認深度,該處理器不控制該光源發(fā)光,并將該第一深度圖與該第一影像或該第二影像配準,以產(chǎn)生一三維點云數(shù)據(jù)。
在一些實施態(tài)樣中,所述的深度相機的控制方法還包含:(Q)當該處理器判斷該邊緣像素數(shù)目不小于該第二默認像素數(shù)目,該處理器不控制該光源發(fā)光,并將該第一深度圖與該第一影像或該第二影像配準,以產(chǎn)生一三維點云數(shù)據(jù)。
本發(fā)明的有益的效果在于:借由判斷該邊緣像素數(shù)目及該深度代表值的大小,以決定是否產(chǎn)生第二深度圖及光源的操作功率,從而能避免高功率消耗,且維持高精準度的深度判別。
附圖說明
圖1是本發(fā)明深度相機的控制方法的實施例的深度相機的一硬體連接關(guān)系示意圖;及
圖2A及圖2B是該實施例的一流程圖。
具體實施方式
下面結(jié)合附圖及實施例對本發(fā)明進行詳細說明。
參閱圖1與圖2A、2B,是本發(fā)明深度相機的控制方法的實施例。深度相機包含一光源1、一第一影像感測單元2、一與第一影像感測單元相間隔且具有重疊視野的第二影像感測單元3、一記憶體5,及一電連接于光源1、第一影像感測單元2、第二影像感測單元3與記憶體5的處理器4。
第一影像感測單元2能針對一第一波長范圍的光線進行感測。第二影像感測單元3能針對該第一波長范圍的光線及一第二波長范圍的光線進行感測,第二波長范圍相異于第一波長范圍。光源1所發(fā)出的光線的波長在該第二波長范圍內(nèi)。在本實施例中,該第一波長范圍內(nèi)的光線為可見光,該第二波長范圍內(nèi)的光線為不可見光,光源1所發(fā)出的光線為紅外光。具體來說,本實施例的第一影像感測單元2包含一能感測第一波長范圍的光線的RGB感測器,本實施例的第二影像感測單元包含一能感測第一波長范圍及第二波長范圍的光線的RGB-IR感測器。在另一實施態(tài)樣中,第一影像感測單元2包含一能感測第一 波長范圍的光線的RGB感測器,而第二影像感測單元包含一能感測第一波長范圍的光線的RGB感測器,及一能感測第二波長范圍的光線的IR感測器。
記憶體5存儲有一第一默認像素數(shù)目、一大于該第一默認像素數(shù)目的第二默認像素數(shù)目、一第一默認深度,及一小于該第一默認深度的第二默認深度。
深度相機的控制方法首先如步驟S01所示,處理器4控制第一影像感測單元2及第二影像感測單元3針對該第一波長范圍進行感測,使第一影像感測單元2產(chǎn)生一第一影像,并使第二影像感測單元3產(chǎn)生一第二影像。接著,如步驟S02所示,處理器4根據(jù)該第一影像及該第二影像產(chǎn)生一第一深度圖(depth map)。
接著,如步驟S03所示,處理器4對該第一影像或該第二影像進行邊緣偵測(edge detection)以獲得一邊緣像素(edge-pixel)數(shù)目。接著,如步驟S04所示,處理器4判斷該邊緣像素數(shù)目是否小于該第一默認像素數(shù)目,若是,則執(zhí)行步驟S05,若否,則執(zhí)行步驟S10。
如步驟S05所示,當處理器4判斷該邊緣像素數(shù)目小于該第一默認像素數(shù)目,處理器4控制光源1發(fā)光。接著,如步驟S06所示,處理器4控制第二影像感測單元3針對該第二波長范圍進行感測,使第二影像感測單元3產(chǎn)生一第三影像。接著,如步驟S07所示,處理器4根據(jù)該第三影像產(chǎn)生一第二深度圖。在本實施例中,光源1能發(fā)出一具有預定圖案的圖案化(patterned)紅外光,又可稱為結(jié)構(gòu)化光(structured light),由于深度相機視野內(nèi)不同距離的景物受到結(jié)構(gòu)化光照射時,照射在景物上的預定圖案會產(chǎn)生不同的形狀改變,處理器4能借由將該第三影像中的各種圖案與預先存儲于記憶體5內(nèi)的單個或數(shù)個參考圖案比對,從而獲得該第二深度圖。
接著,如步驟S08所示,處理器4將該第二深度圖與該第一深度圖融合(fusion),以產(chǎn)生一融合深度圖。接著,如步驟S09所示,處理器4將該融合深度圖與該第一影像或該第二影像配準(registration),以產(chǎn)生一三維點云數(shù)據(jù)(3D point cloud data)。由于當該邊緣像素數(shù)目小于該第一默認像素數(shù)目時,深度相機會執(zhí)行步驟S05~S09,使得當該第一深度圖的精準度不足時,深度相機會產(chǎn) 生精準度高的第二深度圖,并將該第二深度圖與該第一深度圖融合,借此維持深度相機深度感測的精準度。
另一方面,當步驟S04的判斷結(jié)果為否,也就是說,當處理器4判斷該邊緣像素數(shù)目不小于該第一默認像素數(shù)目,則深度相機接著執(zhí)行步驟S10。步驟S10是處理器4根據(jù)該第一影像與該第二影像的數(shù)個視差值(disparity)計算出一深度代表值。更明確的說,該第一影像與該第二影像之間具有該等視差值,處理器4能由各視差值計算出一深度,例如將各視差值倒數(shù)后乘以第一影像感測單元2與第二影像感測單元3之間的間距(以第一影像感測單元2及第二影像感測單元3的光學中心為準),再乘以第一影像感測單元2或第二影像感測單元3的焦距,再除以該第一影像或該第二影像的像素尺寸,就能求出該深度。處理器4再根據(jù)數(shù)個使用前述方法求出的深度,計算出該深度代表值。在本實施例中,該深度代表值為該等深度的平均值,但不以此為限,該深度代表值也可以例如是該等深度的中位數(shù)。
接著,如步驟S11所示,處理器4判斷該深度代表值是否大于該第一默認深度,若是,則執(zhí)行步驟S16,若否則執(zhí)行步驟S12。
如步驟S16所示,當處理器4判斷該深度代表值大于該第一默認深度,處理器4不控制光源1發(fā)光,并將該第一深度圖與該第一影像或該第二影像配準,以產(chǎn)生三維點云數(shù)據(jù)。由于當該深度代表值大于該第一默認深度時,處理器4直接將該第一深度圖與該第一影像或該第二影像配準而不產(chǎn)生第二深度圖,因此,能避免視野中的景物大都距離過遠時,深度相機的光源1以高功率運作而導致高耗能的情況。
又如步驟S12所示,當處理器4判斷該深度代表值不大于該第一默認深度,處理器4判斷該邊緣像素數(shù)目是否小于該第二默認像素數(shù)目,若是,則接著執(zhí)行步驟S13;若否,則執(zhí)行步驟S16,也就是說,當處理器4判斷該邊緣像素數(shù)目不小于該第二默認像素數(shù)目,處理器4不控制該光源1發(fā)光,并將該第一深度圖與該第一影像或該第二影像配準,以產(chǎn)生三維點云數(shù)據(jù),借此,當該邊緣像素數(shù)目十分充足而使第一深度圖具有高精準度時,處理器4直接將該第一深度圖與該第一影像或該第二影像配準而不產(chǎn)生第二深度圖,從而能節(jié)省產(chǎn)生第二深度圖所需的功耗。
另一方面,如步驟S13所示,當處理器4判斷該邊緣像素數(shù)目小于該第二默認像素數(shù)目,處理器4判斷該深度代表值是否小于一第二默認深度,若是,則執(zhí)行步驟S15,若否,則執(zhí)行步驟S14。
如步驟S14所示,當該處理器4判斷該深度代表值不小于該第二默認深度,處理器4控制光源1發(fā)光,且由處理器4產(chǎn)生并用于驅(qū)動光源1的一第一驅(qū)動電流I1的電流值與該深度代表值呈正相關(guān)。此處的正相關(guān)是指當該深度代表值越大時,該第一驅(qū)動電流的電流值也越大,當該深度代表值越小時,該第一驅(qū)動電流I1的電流值也越小。于步驟S14之后接著執(zhí)行步驟S06、S07、S08及S09。借此,當視野內(nèi)景物與深度相機的距離大致不會過遠也沒有很近,且第一深度圖的精準度不高也不低時,深度相機依據(jù)景物與深度相機的距離調(diào)整光源1的操作功率以產(chǎn)生第二深度圖,并將該第二深度圖與該第一深度圖融合,從而能維持深度相機深度感測的精準度,且不會造成過大的功耗。
另一方面,當該處理器4判斷該深度代表值小于該第二默認深度,處理器4控制光源1發(fā)光,且由處理器4產(chǎn)生并用于驅(qū)動光源1的一第二驅(qū)動電流I2的電流值不大于該第一驅(qū)動電流I1的最小電流值。于步驟S14之后接著執(zhí)行步驟S06、S07、S08及S09。借此,當視野內(nèi)景物與深度相機的距離很近,且第一深度圖的精準度不高也不低時,深度相機以最低的操作功率操作光源1以產(chǎn)生第二深度圖,并將該第二深度圖與該第一深度圖融合,從而能維持深度相機深度感測的精準度,且不會造成過大的功耗。
舉例來說,設(shè)第一默認像素數(shù)目為5000,第二默認像素數(shù)目為20000,第一默認深度為10000mm,第二默認深度為500mm。當該邊緣像素數(shù)目為2000時,由于該邊緣像素數(shù)目小于該第一默認像素數(shù)目,因此深度相機于執(zhí)行完步驟S04的判斷步驟之后會執(zhí)行步驟S05、S06、S07、S08及S09。
又當該邊緣像素數(shù)目為12000且該深度代表值為1000000mm時,由于該邊緣像素數(shù)目不小于第一默認像素數(shù)目,且該深度代表值大于第一默認深度,因此,深度相機于執(zhí)行完步驟S04及S11的判斷步驟之后會執(zhí)行步驟S16。
又當該邊緣像素數(shù)目為50000且該深度代表值為700mm時,由 于該邊緣像素數(shù)目不小于該第一默認像素數(shù)目及該第二默認像素數(shù)目,且該深度代表值不大于第一默認深度,因此,深度相機于執(zhí)行完步驟S04、S11及S12的判斷步驟之后會執(zhí)行步驟S16。
又當該邊緣像素數(shù)目為10000且該深度代表值為700mm時,由于該邊緣像素數(shù)目介于該第一默認像素數(shù)目及該第二默認像素數(shù)目之間,且該深度代表值介于第一默認深度及第二默認深度之間,因此,深度相機于執(zhí)行完步驟S04、S11、S12及S13的判斷步驟之后會執(zhí)行步驟S14,并接著執(zhí)行步驟S06、S07、S08及S09。
又當該邊緣像素數(shù)目為8000且該深度代表值為300mm時,由于該邊緣像素數(shù)目介于該第一默認像素數(shù)目及該第二默認像素數(shù)目之間,且該深度代表值小于該第二默認深度,因此,深度相機于執(zhí)行完步驟S04、S11、S12及S13的判斷步驟之后會執(zhí)行步驟S15,并接著執(zhí)行步驟S06、S07、S08及S09。
綜上所述,本發(fā)明深度相機的控制方法借由判斷該邊緣像素數(shù)目及該深度代表值的大小,以決定是否產(chǎn)生第二深度圖及光源1的操作功率,從而能避免高功率消耗,且維持高精準度的深度判別,故確實能達成本發(fā)明的目的。