本發明涉及3D交互技術領域,特別是涉及一種用于3D交互的專用處理器。
背景技術:
人機交互、人機互動(簡稱HCI或HMI Human–Computer Interaction或Human–Machine Interaction),是一門研究系統與用戶之間的交互關系的學問。系統可以是各種各樣的機器,也可以是計算機化的系統和軟件。人機交互界面通常是指用戶可見的部分。用戶通過人機交互界面與系統交流,并進行操作。
在人機交互中,3D交互已經越來越被廣泛的應用,3D交互主要是通過獲取交互對象的深度圖像,再將深度圖像傳輸計算機或其他智能終端,以實現人機交互。
目前完成上述工作必須要多個處理器或者多個設備,例如,第一處理器僅能夠輸出原始的深度數據,對深度數據的進一步處理(比如深度數據的預處理、人體檢測、骨架識別等)則是在其他智能終端的處理器上實現的。因而對于含不同處理器的智能設備,都需要經過不同的適配處理,無疑增加了開發的難度;另外,數據之間的傳輸往往都要經過壓縮以及解壓處理,導致一些基于深度相機的應用有延時產生。
技術實現要素:
本發明主要解決的技術問題是提供一種用于3D交互的專用處理器,能夠提高數據處理速度,減小成本,無需其他的處理器進行數據二次處理。
為解決上述技術問題,本發明采用的一個技術方案是:提供一種用于3D交互的專用處理器,該專用處理器包括:圖像處理電路,用于獲取采集設備采集的包含交互對象的不可見光圖像,并提取不可見光圖像中交互對象的骨架數據;輸出電路,用于將骨架數據輸出至3D交互設備。
其中,還包括:存儲電路,用于存儲參考圖像以及采集設備的參數;圖像處理電路具體包括:深度數據計算電路,連接存儲電路以及采集設備,用于計算不可見光圖像的深度數據;數據提取電路,連接深度數據計算電路,用于根據不可見光圖像的深度數據,提取不可見光圖像中交互對象的骨架深度數據。
其中,圖像處理電路具體包括:深度數據計算電路,連接外部存儲器以及采集設備,用于計算不可見光圖像的深度數據;數據提取電路,連接深度數據計算電路,用于根據不可見光圖像的深度數據,提取不可見光圖像中交互對象的骨架深度數據。
其中,采集設備為結構光深度相機;結構光深度相機包括投影模組以及采集模組,投影模組用于向交互對象投影結構光圖案,采集模組用于采集包含交互對象的不可見光圖像;專用處理器設置于采集設備中。
其中,深度數據計算電路包括偏移值計算電路以及深度值計算電路;偏移值計算電路用于對不可見光圖像以及參考圖像進行相關計算,得到不可見光圖像與參考圖像的偏移值;深度值計算電路用于根據偏移值以及采集設備的參數計算得到不可見光圖像中每個像素的深度值。
其中,深度值計算電路具體用于根據以下公式計算得到不可見光圖像中每個像素的深度值:其中,ZD不可見光圖像中每個像素點的深度值,Z0為參考圖像中每個像素點的深度值,B為投影模組與采集模組之間的距離,f為采集模組的焦距,Δu為偏移值。
其中,偏移值計算電路具體用于根據不可見光圖像和參考圖像中的散斑圖案的相似程度,確定不可見光圖像中每個像素相對于參考圖像中對應像素的偏移值。
其中,結構光深度相機為紅外結構光深度相機,包括紅外投影模組以及紅外接收模組;結構光圖案為不規則的散斑圖案;專用處理器設置于結構光深度相機內。
其中,數據提取電路包括預處理電路、人體檢測電路以及骨架提取電路;預處理電路用于對不可見光圖像的深度數據進行預處理;其中,預處理包括濾波、平滑處理以及插值處理中的一種;交互對象檢測電路用于在不可見光圖像中檢測交互對象,并分割出交互對象部分圖像;骨架提取電路用于在交互對象部分圖像中提取出交互對象的骨架深度數據。
其中,還包括壓縮電路,連接圖像處理電路,用于將不可見光圖像中交互對象的骨架數據進行壓縮,并發送給輸出電路。
本發明的有益效果是:區別于現有技術的情況,本發明的專用處理器包括:圖像處理電路,用于獲取采集設備采集的包含交互對象的不可見光圖像,并提取不可見光圖像中交互對象的骨架數據;輸出電路,用于將骨架數據輸出至3D交互設備。本發明的專用處理器直接可以根據獲取的包含交互對象的不可見光圖像,進行數據處理得到交互對象的骨架數據,以便交互設備能夠直接利用該骨架數據實現3D交互,而無需其他的處理器再次對圖像數據進行處理。通過上述方式,能夠減小成本,提高數據的處理速度。
附圖說明
圖1是本發明用于3D交互的專用處理器第一實施方式的結構示意圖;
圖2是本發明用于3D交互的專用處理器第一實施方式中采集設備的結構示意圖;
圖3是本發明用于3D交互的專用處理器第二實施方式的結構示意圖;
圖4是本發明用于3D交互的專用處理器第三實施方式的結構示意圖;
圖5是本發明用于3D交互的專用處理器第四實施方式的結構示意圖;
圖6是本發明用于3D交互的專用處理器第五實施方式的結構示意圖。
具體實施方式
參閱圖1,圖1是本發明用于3D交互的專用處理器第一實施方式的結構示意圖,該專用處理器包括:
圖像處理電路11,用于獲取采集設備采集的包含交互對象的不可見光圖像,并提取不可見光圖像中交互對象的骨架數據。
輸出電路12,用于將第一視角的彩色圖像和第二視角的彩色圖像輸出至3D交互設備。
其中,采集設備可以為外部的采集設備,通過有線或無線的方式與本實施方式的專用處理器連接。
可選的,該交互對象可以是人體,特別的,可以是人體的手。由于在3D交互中,手是最直接最方便的交互工具,用戶可以通過手的路徑、動作或手勢來發出不同的指令,以使交互系統能夠識別并執行這些指令。當然本實施方式也不限于手,其他的例如人臉、嘴唇、眼睛等交互對象都應當包含在本發明的保護范圍之內。
其中,骨架數據的提取主要是指將不可見光中的背景部分和交互對象部分進行分離,以得到僅包含交互對象的圖像,便于獲取交互對象所傳達的指令,進而實現3D交互。
如圖2所示,在一具體的實施例中,采集設備為結構光深度相機20。
結構光深度相機20包括投影模組21以及采集模組22,投影模組21用于向交互對象投影結構光圖案,采集模組22用于采集包含交互對象的不可見光圖像。
可選的,該專用處理器設置于采集設備中,采集設備在采集到包含交互對象的不可見光圖像后,處理器直接對不可見光圖像進行處理,進而輸出骨架數據至3D交互設備。
區別于現有技術,本實施方式的專用處理器包括:圖像處理電路,用于獲取采集設備采集的包含交互對象的不可見光圖像,并提取不可見光圖像中交互對象的骨架數據;輸出電路,用于將骨架數據輸出至3D交互設備。本實施方式的專用處理器直接可以根據獲取的包含交互對象的不可見光圖像,進行數據處理得到交互對象的骨架數據,以便交互設備能夠直接利用該骨架數據實現3D交互,而無需其他的處理器再次對圖像數據進行處理。通過上述方式,能夠減小成本,提高數據的處理速度。
參閱圖3,圖3是本發明用于3D交互的專用處理器第二實施方式的結構示意圖,該專用處理器包括存儲電路31、深度數據計算電路32、數據提取電路33以及輸出電路34。其中:
存儲電路31,用于存儲參考圖像以及采集設備的參數。
其中,該采集設備與上述第一實施方式中的采集設備相同,這里不再贅述。
具體地,該結構光深度相機可以是紅外結構光深度相機,其包括紅外投影模組以及紅外采集模組,紅外投影模組向交互對象投影不規則的散斑圖案,紅外采集模組采集反射的紅外散斑圖案。例如,其中的紅外光可以是波長為830nm或850nm的紅外光。
其中,參考圖像是已知深度值的一幅不可見光圖像。具體地,可以在垂直于結構光深度相機的光軸的平面上放置一平板,該平板與結構光深度相機的距離已知。再向該平板投影結構光圖案并通過結構光深度相機進行拍照或攝影得到參考圖像。其中,參考圖像的圖案和采集待測對象的不可見光圖像的圖案是在同一個投影模組的投影下分別采集得到的,即為了保證其結構光圖案(散斑圖案)的一致性。
可選的,參考圖像的已知深度可以是任意設置的,一般情況下,可以選擇結構光深度相機的深度測量范圍的中間值,例如,結構光深度相機的深度測量范圍為(a,b),則參考圖像的深度可以為
其中,采集設備的參數包括投影模組和采集模組之間的距離關系,以及采集模組的鏡頭的焦距等等。
深度數據計算電路32,連接存儲電路31以及采集設備,用于計算不可見光圖像的深度數據。
在一具體的實施方式中,深度數據計算電路32包括偏移值計算電路以及深度值計算電路。
其中,偏移值計算電路用于對不可見光圖像以及參考圖像進行相關計算,得到不可見光圖像與參考圖像的偏移值,具體地,可以根據不可見光圖像和參考圖像中的散斑圖案的相似程度,確定不可見光圖像中每個像素相對于參考圖像的像素坐標偏移值。
由于結構光深度相機的散斑圖像為不規則的散斑,因此可以根據兩幅圖中的散斑的相似程度,確定同一圖案區域在兩幅圖中的位置,從而確定像素坐標偏移值。
具體地,下面對計算偏移值做簡單的介紹:
提取采集的不可見光圖像中至少包含目標像素點的一個多像素區域,由于散斑圖案是相同的,即可以在參考圖像中找到一個與該像素區域極為相似(相似度達到預設條件)的一個區域(即找到不可見光圖像中目標像素點在參考圖像中的對應像素點),獲得其中與目標像素點對應的像素的坐標,這樣通過比較兩個像素點的偏移情況,就可以得到空間中同一點在不可見光圖像和參考圖像中的像素坐標的偏移值。
具體地,首先確定每個像素的位移映射函數,一般而言該函數需要考慮采集的不可見光圖像和參考圖像兩幅圖中待測對象上各點的平移以及變形。在本實施例中,由于兩幅圖中的圖案僅僅是由于待測對象深度變化導致位置變化,并沒有發生較大的變形,因此可以將該函數簡化成僅考慮平移的情形,即:X=x+Δu。這里X及x分別為待測對象的一個點在采集的不可見光圖像以及參考圖像中的像素坐標,Δu為待求的像素坐標偏移值。
其次,確定相應的搜索算法。一般采用的是牛頓迭代法,但是該算法涉及大量的根號及除法運算,算法的編寫以及執行效率都不高。本實施例可以采用基于迭代最小二乘法的搜索算法。由于僅考慮沿X方向平移的情形,因此僅需要進行一維的搜索算法就可以了,這樣可以較大幅度提升算法的效率和精度。
最后結合位移映射函數以及迭代最小二乘法就可以對偏移值Δu進行求解。
其中,深度值計算電路用于根據偏移值以及采集設備的參數計算得到不可見光圖像中每個像素的深度值。
具體地,在一實施例中,深度值計算電路具體用于根據以下公式計算得到不可見光圖像中每個像素的深度值:
其中,ZD不可見光圖像中每個像素點的深度值,Z0為參考圖像中每個像素點的深度值,B為投影模組與采集模組之間的距離,f為采集模組的焦距,Δu為偏移值。
數據提取電路33用于根據不可見光圖像的深度數據,提取不可見光圖像中交互對象的骨架深度數據。
在一具體的實施方式中,數據提取電路33包括預處理電路、人體檢測電路以及骨架提取電路。
預處理電路用于對不可見光圖像的深度數據進行預處理;其中,預處理包括濾波、平滑處理以及插值處理中的一種。
交互對象檢測電路用于在不可見光圖像中檢測交互對象,并分割出交互對象部分圖像。
骨架提取電路用于在交互對象部分圖像中提取出交互對象的骨架深度數據。
可選的,在一實施例中,在得到骨架深度數據后,可以對骨架深度數據進行平滑、去噪處理。由于數據常常出現一些壞點,導致最終得到的骨架深度數據中出現一些空洞等問題,在后面步驟中進一步處理時會將這些數據進行放大,進而嚴重影響三維顯示效果,為避免骨架深度數據的壞點或區域數據對3D交互的影響,本步驟對得到的骨架深度數據進行去噪、平滑處理。
輸出電路34用于將骨架數據輸出至3D交互設備。
區別于現有技術,本實施方式的專用處理器包括:存儲電路,用于存儲參考圖像以及采集設備的參數;深度數據計算電路,連接存儲電路以及采集設備,用于計算不可見光圖像的深度數據;數據提取電路,連接深度數據計算電路,用于根據不可見光圖像的深度數據,提取不可見光圖像中交互對象的骨架深度數據;輸出電路,用于將骨架數據輸出至3D交互設備。本實施方式的專用處理器直接可以根據獲取的包含交互對象的不可見光圖像,進行數據處理得到交互對象的骨架數據,以便交互設備能夠直接利用該骨架數據實現3D交互,而無需其他的處理器再次對圖像數據進行處理。通過上述方式,能夠減小成本,提高數據的處理速度。
參閱圖4,圖4是本發明用于3D交互的專用處理器第三實施方式的結構示意圖,該專用處理器包括深度數據計算電路41、數據提取電路42以及輸出電路43。
深度數據計算電路41,連接外部存儲器以及采集設備,用于計算不可見光圖像的深度數據。
數據提取電路42,連接深度數據計算電路,用于根據不可見光圖像的深度數據,提取不可見光圖像中交互對象的骨架深度數據。
輸出電路43,用于將骨架數據輸出至3D交互設備。
可選的,在一具體的實施例中,深度數據計算電路41包括偏移值計算電路以及深度值計算電路。
偏移值計算電路用于對不可見光圖像以及參考圖像進行相關計算,得到不可見光圖像與參考圖像的偏移值;深度值計算電路用于根據偏移值以及采集設備的參數計算得到不可見光圖像中每個像素的深度值。
其中,深度值計算電路具體用于根據以下公式計算得到不可見光圖像中每個像素的深度值:
其中,ZD不可見光圖像中每個像素點的深度值,Z0為參考圖像中每個像素點的深度值,B為投影模組與采集模組之間的距離,f為采集模組的焦距,Δu為偏移值。
可選的,在一具體的實施例中,數據提取電路包括預處理電路、人體檢測電路以及骨架提取電路。
預處理電路用于對不可見光圖像的深度數據進行預處理;其中,預處理包括濾波、平滑處理以及插值處理中的一種;交互對象檢測電路用于在不可見光圖像中檢測交互對象,并分割出交互對象部分圖像;骨架提取電路用于在交互對象部分圖像中提取出交互對象的骨架深度數據。
可以理解的,不同于上述第二實施方式,本實施方式的專用處理器不包括存儲電路,而是通過外部的存儲器來存儲參考圖像以及采集設備的參數,而其他的結構和原理與上述第二實施方式類似,這里不再贅述。
區別于現有技術,本實施方式的專用處理器包括:深度數據計算電路,連接外部存儲器以及采集設備,用于計算不可見光圖像的深度數據;數據提取電路,連接深度數據計算電路,用于根據不可見光圖像的深度數據,提取不可見光圖像中交互對象的骨架深度數據;輸出電路,用于將骨架數據輸出至3D交互設備。本實施方式的專用處理器直接可以根據獲取的包含交互對象的不可見光圖像,進行數據處理得到交互對象的骨架數據,以便交互設備能夠直接利用該骨架數據實現3D交互,而無需其他的處理器再次對圖像數據進行處理。通過上述方式,能夠減小成本,提高數據的處理速度。
再參閱圖5,圖5是本發明用于3D交互的專用處理器第四實施方式的結構示意圖,該專用處理器包括存儲電路51、深度數據計算電路52、數據提取電路53、壓縮電路54以及輸出電路55。
其中,存儲電路51用于存儲參考圖像以及采集設備的參數。
深度數據計算電路52,連接存儲電路51以及采集設備,用于計算不可見光圖像的深度數據。
數據提取電路53,連接深度數據計算電路52,用于根據不可見光圖像的深度數據,提取不可見光圖像中交互對象的骨架深度數據。
具體地,深度數據計算電路52包括偏移值計算電路以及深度值計算電路;偏移值計算電路用于對不可見光圖像以及參考圖像進行相關計算,得到不可見光圖像與參考圖像的偏移值;深度值計算電路用于根據偏移值以及采集設備的參數計算得到不可見光圖像中每個像素的深度值。
其中,深度值計算電路具體用于根據以下公式計算得到不可見光圖像中每個像素的深度值:
其中,ZD不可見光圖像中每個像素點的深度值,Z0為參考圖像中每個像素點的深度值,B為投影模組與采集模組之間的距離,f為采集模組的焦距,Δu為偏移值。
具體地,數據提取電路53包括預處理電路、人體檢測電路以及骨架提取電路;預處理電路用于對不可見光圖像的深度數據進行預處理;其中,預處理包括濾波、平滑處理以及插值處理中的一種;交互對象檢測電路用于在不可見光圖像中檢測交互對象,并分割出交互對象部分圖像;骨架提取電路用于在交互對象部分圖像中提取出交互對象的骨架深度數據。
壓縮電路54連接數據提取電路53,用于將不可見光圖像中交互對象的骨架數據進行壓縮,并發送給輸出電路54。
輸出電路55,用于將骨架數據輸出至3D交互設備。
參閱圖6,圖6是本發明用于3D交互的專用處理器第五實施方式的結構示意圖。
該專用處理器包括存儲電路61、偏移值計算電路62、深度值計算電路63、預處理電路64、人體檢測電路65、骨架提取電路66、壓縮電路67以及輸出電路68。
其中,存儲電路61用于存儲參考圖像以及采集設備的參數。
偏移值計算電路62連接存儲電路61,用于對不可見光圖像以及參考圖像進行相關計算,得到不可見光圖像與參考圖像的偏移值。
深度值計算電路63連接存儲電路61與偏移值計算電路62,用于根據偏移值以及采集設備的參數計算得到不可見光圖像中每個像素的深度值。
預處理電路64用于對不可見光圖像的深度數據進行預處理;其中,預處理包括濾波、平滑處理以及插值處理中的一種。
交互對象檢測電路65用于在不可見光圖像中檢測交互對象,并分割出交互對象部分圖像。
骨架提取電路66用于在交互對象部分圖像中提取出交互對象的骨架深度數據。
壓縮電路67用于將不可見光圖像中交互對象的骨架數據進行壓縮,并發送給輸出電路。
輸出電路68,用于將骨架數據輸出至3D交互設備。
可以理解的,本實施方式公開了一種具體的電路連接方式,其各個子電路的作用以及原理與上述其他實施方式類似,這里不再贅述。
以上所述僅為本發明的實施方式,并非因此限制本發明的專利范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍內。