專利名稱:一種基于人臉跟蹤改變視點角度顯示三維圖形的方法
—種基于人臉跟蹤改變視點角度顯示三維圖形的方法技術領域:
本發明具體涉及一種基于人臉跟蹤改變視點角度顯示三維圖形的方法。背景技術:
三維圖形屏幕投射的原理(見圖1)是從顯示屏I’前的一個視點2’出發,將三維圖形3’從顯示屏I’內的虛擬繪圖空間11’,投射到一個平面(即顯視屏Γ)上所得到的三維圖形3’ ;在使用很多三維圖形3’的場合,由于用戶觀看三維圖形3’的視點2’移動以及用戶移動三維圖形3’時,需要通過透視變換將對象于顯示屏內的虛擬繪圖空間中的三維坐標變換為顯示于顯示屏上的二維坐標。基于此位置信息以及對象表面的紋理特征,如顏色和圖像,通過渲染處理來逐個像素單元確定顏色信息,然后該圖像信息被寫入幀緩沖存儲器, 以便在屏幕上顯示。當前的三維用戶界面或者三維游戲的繪圖的視點位置都是固定的,并不會隨著用戶的位置變化而變化,這樣造成用戶很容易感覺到看見的不是一個真實的三維物體。
發明內容
本發明要解決的技術問題,在于提供一種基于人臉跟蹤改變視點角度顯示三維圖形的方法,使顯示屏內的三維圖形能隨觀看者的觀看位置變化而變化,讓觀看者的觀看感覺更逼真。
本發明是這樣實現的一種基于人臉跟蹤改變視點角度顯示三維圖形的方法;該方法包括一顯示三維圖形的顯示屏、一圖像采集裝置、一人臉識別單元、一視點角度偏移判斷單元、一三維圖形處理器、一存儲器及一顯示控制單元;所述顯示屏及圖像采集裝置設置于同一平面上;所述存儲器內存有繪制三維圖形的繪圖材質;
具體如下步驟
步驟10、所述三維圖形處理器依據顯示屏前的一基準視點于該顯示屏內的虛擬繪圖空間中繪制三維圖形,并將該三維圖形顯示于顯示屏上;所述顯示屏及圖像采集裝置二者分別與該基準視點之間的距離保持一致;所述圖像采集裝置截取一該顯示屏前方的圖像,且所述基準視點位于該圖像的中心點,并將該圖像傳送給所述人臉識別單元;
步驟20、所述人臉識別單元依據該圖像識別出觀看者的人臉中心位置,將該人臉中心位置傳送給所述視點角度偏移判斷單元;
步驟30、所述視點角度偏移判斷單元依據該人臉中心位置信息判斷視點偏移角度;將該視點偏移角度傳送給所述三維圖形處理器;
步驟40、所述三維圖形處理器將所述基準視點依據該視點偏移角度進行偏移得到一觀看視點,基于該觀看視點從所述存儲器讀取繪圖材質后,繪制新的三維圖形,并將該新的三維圖形存入所述存儲器中;
步驟50、所述顯示控制單元從該存儲器調用該新的三維圖形,并將該新的三維圖形按照顯示屏需要的時序傳送顯示于顯示屏上。
進一步地,所述步驟30具體為
步驟31、將所述步驟10的圖像虛擬于顯示屏前形成一與該顯示屏平行對應的虛擬圖像;所述虛擬圖像為一長度為L,寬度為W的像素矩陣,L與W的單位為像素;所述虛擬圖像的對角線的長度為Ld,Ld=W / sin [Arctan (ff / L)],Ld的單位為像素;
步驟32、所述圖像采集裝置的視角角度為Θ c ;所述虛擬圖像上的基準視點與該圖像采集裝置的距離為一用于計算視點偏移角度而假設的一個虛擬距離D,D=(Ld / 2)/ tan (0 C / 2·), D的單位為像素;
步驟33、基于所述虛擬圖像的中心點,于該虛擬圖像上建立一包含X軸及Y軸的二維坐標系;所述二維坐標系的單位為像素;將所述步驟20的人臉中心位置于該二維坐標系上對應成一人臉中心位置坐標(Xv,Yv);依所述人臉中心位置坐標(Xv,Yv)于該二維坐標系的位置,分別進入相應的步驟34或步驟35或步驟36或步驟37 ;
步驟34、當該人臉中心位置坐標(Xv,Yv)位于該二維坐標系的第一象限時,相應所述人臉中心位置坐標(xv,Yv)的X軸的投影長度=xv,Y軸的投影長度=Yv;所述視點偏移角度為以該顯示屏的中心點為中心,該基準視點向X軸的正方向偏移91度,并向Y軸的正方向偏移 Θ 2 度;Θ i = [Arctan (Xv / D)], Θ 2 = [Arctan (Yv / D)];進入步驟 40 ;
步驟35、當該人臉中心位置坐標(Xv,Yv)位于該二維坐標系的第二象限時,相應所述人臉中心位置坐標(xv,Yv)的X軸的投影長度及=IxvI,Y軸的投影長度=Yv ;所述視點偏移角度為以該顯示屏的中心點為中心,該基準視點向X軸的負方向偏移03度,并向Y軸的正方向偏移 θ4 度;θ3= [Arctan (|XV| / D)], Θ 4= [Arctan (Yv / D)];進入步驟 40;
步驟36、當該人臉中心位置坐標(Xv,Yv)位于該二維坐標系的第三象限時,相應所述人臉中心位置坐標(xv,Yv)的X軸的投影長度及=|xv|,Y軸的投影長度=IyvI ;所述視點偏移角度為以該顯示屏的中心點為中心,該基準視點向X軸的負方向偏移05度,并向 Y 軸的負方向偏移 θ6 度;θ5= [Arctan (|XV| / D)], Θ 6= [Arctan (|YV| / D)];進入步驟40 ;
步驟37、當該人臉中心位置坐標(Xv,Yv)位于該二維坐標系的第四象限時,相應所述人臉中心位置坐標(xv,Yv)的X軸的投影長度及=xv,Y軸的投影長度=IyvI ;所述視點偏移角度為以該顯示屏的中心點為中心,該基準視點向X軸的負方向偏移07度,并向Y軸的負方向偏移 θ8 度;θ7= [Arctan (Xv / D)], Θ 8= [Arctan (|YV| / D)];進入步驟 40。
進一步地,所述步驟20中的人臉中心位置還可以是觀看者的雙眼間的中間點位置。
進一步地,所述圖像采集裝置設置于該顯示屏的中心位置。
本發明具有如下優點通過預先定義的基準視線及人臉識別單元定位觀看者的眼睛位置,通過視線角度偏移判斷單元判斷基準視線的偏移角度,再通過三維圖形處理器及顯示控制單元將相應偏移后的基準視線的三維圖像顯示于顯示屏上,使觀看者能在不同角度位置上享受同樣立體且生動的三維圖像。
下面參照附圖結合實施例對本發明作進一步的說明。
圖1為三維圖形屏幕投射的原理的示意圖。
圖2為本發明一種基于人臉跟蹤三維圖形繪制方法執行流程圖。
圖3為本發明一種基于人臉跟蹤三維圖形繪制方法的電路結構示意圖。
圖4為本發明一種基于人臉跟蹤三維圖形繪制方法中定義基準視點的示意圖。
圖5為本發明一種基于人臉跟蹤三維圖形繪制方法中將圖像虛擬于顯示屏前的示意圖。
圖6為本發明一種基于人臉跟蹤三維圖形繪制方法中虛擬圖像的示意圖。
圖7為本發明一種基于人臉跟蹤三維圖形繪制方法中將圖像虛擬于圖像采集裝置前的示意圖。
圖8為本發明一種基于人臉跟蹤三維圖形繪制方法中人臉中心位置于虛擬圖像上第一象限時基準視點向X軸方向偏移的示意圖。
圖9為本發明一種基于人臉跟蹤三維圖形繪制方法中人臉中心位置于虛擬圖像上第一象限時基準視點向Y軸方向偏移的示意圖。
圖10為本發明一種基于人臉跟蹤三維圖形繪制方法中人臉中心位置于虛擬圖像上第二象限時基準視點向X軸方向偏移的示意圖。
圖11為本發明一種基于人臉跟蹤三維圖形繪制方法中人臉中心位置于虛擬圖像上第二象限時基準視點向Y軸方向偏移的示意圖。
圖12為本發明一種基于人臉跟蹤三維圖形繪制方法中人臉中心位置于虛擬圖像上第三象限時基準視點向X軸方向偏移的示意圖。
圖13為本發明一種基于人臉跟蹤三維圖形繪制方法中人臉中心位置于虛擬圖像上第三象限時基準視點向Y軸方向偏移的示意圖。
圖14為本發明一種基于人臉跟蹤三維圖形繪制方法中人臉中心位置于虛擬圖像上第四象限時基準視點向X軸方向偏移的示意圖。
圖15為本發明一種基于人臉跟蹤三維圖形繪制方法中人臉中心位置于虛擬圖像上第四象限時基準視點向Y軸方向偏移的示意圖。
具體實施方式
請參閱圖2至圖4所示,一種基于人臉跟蹤改變視點角度顯示三維圖形的方法;該方法包括一顯示三維圖形的顯示屏1、一圖像采集裝置(如攝像頭)2、一人臉識別單元3、一視點角度偏移判斷單元4、一三維圖形處理器(即GPU) 5、一存儲器6及一顯示控制單元7 ; 所述顯示屏I及圖像采集裝置2設置于同一平面上;所述存儲器6內存有繪制三維圖形的繪圖材質;
具體如下步驟
步驟10、所述三維圖形處理器2依據顯示屏I前的一基準視點Vb于該顯示屏I內的虛擬繪圖空間11中繪制三維圖形12 (見圖4),并將該三維圖形12顯示于顯示屏I上; 所述顯示屏I及圖像采集裝置2 二者分別與該基準視點Vb之間的距離保持一致;所述圖像采集裝置2截取一該顯示屏I前方的圖像,且所述基準視點Vb位于該圖像的中心點,并將該圖像傳送給所述人臉識別單元3 ;
步驟20、所述人臉識別單元3依據該圖像識別出觀看者8的人臉中心位置,將該人臉中心位置傳送給所述視點角度偏移判斷單元4 ;
步驟30、所述視點角度偏移判斷單元4依據該人臉中心位置信息判斷視點偏移角度;將該視點偏移角度傳送給所述三維圖形處理器5 ;
步驟40、所述三維圖形處理器5將所述基準視點Vb依據該視點偏移角度進行偏移得到一觀看視點,基于該觀看視點從所述存儲器6讀取繪圖材質后,繪制新的三維圖形,并將該新的三維圖形存入所述存儲器6中;
步驟50、所述顯示控制單元7從該存儲器6調用該新的三維圖形,并將該新的三維圖形按照顯示屏I需要的時序傳送顯示于顯示屏I上。
如圖5至圖15所示,所述步驟30具體為
步驟31、將所述步驟10的圖像虛擬于顯示屏I前形成一與該顯示屏平行對應的虛擬圖像21 (見圖5);所述虛擬圖像21為一長度為L,寬度為W的像素矩陣,L與W的單位為像素(見圖6);所述虛擬圖像21的對角線的長度為Ld,Ld=W / sin [Arctan (ff / L)], Ld的單位為像素;其中,該虛擬圖像21的長度乘以寬度的像素值,即為該圖像采集裝置2的圖像采集清晰度參數。例如圖像采集裝置2的圖像采集清晰度為720p級別,該虛擬圖像 21即為1280x720的解析度,則L為1280,W為720 ;如果圖像采集清晰度為1080p,該虛擬圖像21即為 1920x1080的解析度,則L為1920,W為1080 ;
步驟32、所述圖像采集裝置2的視角角度為Θ c ;所述虛擬圖像21上的基準視點Vb 與該圖像采集裝置2的距離為一用于計算視點偏移角度而假設的一個虛擬距離D,D=(Ld / 2) / tan ( θε / 2),D的單位為像素(見圖7,由于在實際上,所述基準視點Vb分別與所述顯示屏I及圖像采集裝置2 二者間的距離一致,通過所述步驟31以虛擬的方式將虛擬圖像 21映射于顯示屏I前,以便于計算出一個用于計算視點偏移角度的一個虛擬距離D);其中, 所述視角角度Θ。,即為圖像采集裝置2的拍攝視角角度參數。例如如果圖像采集裝置2 的拍攝視角角度為60度,則Θ c=60度;如果圖像采集裝置2為拍攝視角角度120度的廣角鏡頭時,則θε=120度;
步驟33、基于所述虛擬圖像21的中心點Oc (即基準視點VB),于該虛擬圖像21上建立一包含X軸及Y軸的二維坐標系;所述二維坐標系的單位為像素;將所述步驟20的人臉中心位置于該二維坐標系上對應成一人臉中心位置坐標(Xv,Yv);依所述人臉中心位置坐標(Xv,Yv)于該二維坐標系的位置,分別舉出不同的實施例(即步驟34至步驟37);
實施例一、
當該人臉中心位置坐標(Xv,Yv)位于該二維坐標系的第一象限時(見圖8和圖9), 相應所述人臉中心位置坐標(xv,Yv)的X軸的投影長度=χν,Y軸的投影長度=Yv;所述視點偏移角度為以該顯示屏I的中心點Op為中心,該基準視點Vb向X軸的正方向偏移θ I 度,并向 Y 軸的正方向偏移 Θ 2 度;Θ i = [Arctan (Xv / D)], Θ 2 = [Arctan (Yv / D)]; 進入步驟40 ;
實施例二、
當該人臉中心位置坐標(Xv,Yv)位于該二維坐標系的第二象限時(見圖10和圖 11),相應所述人臉中心位置坐標(Χν,γν)的X軸的投影長度及=IxvI,γ軸的投影長度=Yv; 所述視點偏移角度為以該顯示屏I的中心點Op為中心,該基準視點Vb向X軸的負方向偏移 Θ 3 度,并向 Y 軸的正方向偏移 θ4 度;θ3= [Arctan (|XV| / D)],Θ 4= [Arctan (Yv / D)];進入步驟40 ;
實施例三、
當該人臉中心位置坐標(Xv,Yv)位于該二維坐標系的第三象限時(見圖12和圖 13),相應所述人臉中心位置坐標(xv,Yv)的X軸的投影長度及=|xv|,Y軸的投影長度= IyvI ;所述視點偏移角度為以該顯示屏I的中心點Op為中心,該基準視點vB向X軸的負方向偏移Θ 5度,并向Y軸的負方向偏移θ6度;Θ 5= [Arctan (|XV| / D)], Θ 6= [Arctan (I Yv I / D)];進入步驟 40 ;
實施例四、
當該人臉中心位置坐標(Xv,Yv)位于該二維坐標系的第四象限時(見圖14和圖 15),相應所述人臉中心位置坐標(xv,yv)的X軸的投影長度及=xv,y軸的投影長度=IyvI ; 所述視點偏移角度為以該顯示屏I的中心點Op為中心,該基準視點Vb向X軸的負方向偏移 97度,并向 Y 軸的負方向偏移 08度;θ7= [Arctan (Xv / D)],Θ 8= [Arctan (|YV| / D)];進入步驟40。
如圖2和圖3所示,本發明一種基于人臉跟蹤三維圖形繪制方法在實際應用時,將顯示屏I和圖像采集裝置2設置在同一平面上,目的是要讓圖像采集裝置2在截取圖像時能和顯示于顯示屏I上的三維圖形12能夠平行對應,以利于對基準視點Vb的定義;較佳的情況下,將圖像采集裝置2設置于顯示屏I的中心位置,更利于對基準視點Vb的定義;通過虛擬的方式,將顯示于顯示屏I及圖像采集裝置2所截取的圖像(即虛擬圖像21)二者相應設置的中心點(即顯示屏I的中心點Op和基準視點Vb)對應關聯,預先完成模擬觀看者8從虛擬圖像21上的基準視點Vb的實際位置看向顯示屏I上的三維圖像12時的基準視點Vb 的定義(見圖4及圖5);圖像采集裝置2截取顯示屏I前方的圖像,并將該圖像發給人臉識別單元3 ;當圖像中包含觀看者8時,人臉識別單元3于圖像上定位出觀看者8的人臉中心位置,該人臉中心位置還可以是觀看者8的雙眼間的中間點位置,定位點更接近觀看者8的眼睛位置,效果更好;人臉識別單元3將該人臉中心位置的信息發給視線角度偏移判斷單元4 ;視線角度偏移判斷單元4依據人臉中心位置(即觀看視點)在圖像上的位置,判斷從基準視點Vb偏移至觀看視點的視點偏移角度(即步驟31至步驟37所述,藉由虛擬圖像21上的人臉中心位置坐標來判斷),并將視點偏移角度的信息發給三維圖形處理器5 ;三維圖形處理器5依據視點偏移角度將基準視點Vb進行偏移,即可得到所述步驟40中的觀看視點, 基于該觀看視點重新繪制新的三維圖像并存入存儲器6中;新的三維圖像通過顯示控制單元7按照顯示屏I所需的格式及時序發送至顯示屏I上顯示;即實現觀看者8在圖像采集裝置2的截取范圍內移動時,在不同的視點角度下仍能基于基準視點Vb的視點角度下觀看到顯示屏I上的三維圖形12,讓觀看者7通過顯示屏I所看到的三維圖形12更接近是真實立體物體的感覺;其中,三維圖形12能是用戶界面或游戲畫面,如此便大幅加強觀看者界面和顯示屏I內的游戲或影像的生動性和趣味性。
雖然以上描述了本發明的具體實施方式
,但是熟悉本技術領域的技術人員應當理解,我們所描述的具體的實施例只是說明性的,而不是用于對本發明的范圍的限定,熟悉本領域的技術人員在依照本發明的精神所作的等效的修飾以及變化,都應當涵蓋在本發明的權利要求所保護的范圍內。
權利要求
1.一種基于人臉跟蹤改變視點角度顯示三維圖形的方法,其特征在于該方法包括一顯示三維圖形的顯示屏、一圖像采集裝置、一人臉識別單元、一視點角度偏移判斷單元、一三維圖形處理器、一存儲器及一顯示控制單元;所述顯示屏及圖像采集裝置設置于同一平面上;所述存儲器內存有繪制三維圖形的繪圖材質; 具體如下步驟 步驟10、所述三維圖形處理器依據顯示屏前的一基準視點于該顯示屏內的虛擬繪圖空間中繪制三維圖形,并將該三維圖形顯示于顯示屏上;所述顯示屏及圖像采集裝置二者分別與該基準視點之間的距離保持一致;所述圖像采集裝置截取一該顯示屏前方的圖像,且所述基準視點位于該圖像的中心點,并將該圖像傳送給所述人臉識別單元; 步驟20、所述人臉識別單元依據該圖像識別出觀看者的人臉中心位置,將該人臉中心位置傳送給所述視點角度偏移判斷單元; 步驟30、所述視點角度偏移判斷單元依據該人臉中心位置信息判斷視點偏移角度;將該視點偏移角度傳送給所述三維圖形處理器; 步驟40、所述三維圖形處理器將所述基準視點依據該視點偏移角度進行偏移得到一觀看視點,基于該觀看視點從所述存儲器讀取繪圖材質后,繪制新的三維圖形,并將該新的三維圖形存入所述存儲器中; 步驟50、所述顯示控制單元從該存儲器調用該新的三維圖形,并將該新的三維圖形按照顯示屏需要的時序傳送顯示于顯示屏上。
2.如權利要求1所述的一種基于人臉跟蹤改變視點角度顯示三維圖形的方法,其特征在于所述步驟30具體為 步驟31、將所述步驟10的圖像虛擬于顯示屏前形成一與該顯示屏平行對應的虛擬圖像;所述虛擬圖像為一長度為L,寬度為W的像素矩陣,L與W的單位為像素;所述虛擬圖像的對角線的長度為Ld,Ld=W / sin [Arctan (ff / L)],Ld的單位為像素; 步驟32、所述圖像采集裝置的視角角度為Θ c ;所述虛擬圖像上的基準視點與該圖像采集裝置的距離為一用于計算視點偏移角度而假設的一個虛擬距離D,D= (Ld / 2) / tan(0 C / 2), D的單位為像素; 步驟33、基于所述虛擬圖像的中心點,于該虛擬圖像上建立一包含X軸及Y軸的二維坐標系;所述二維坐標系的單位為像素;將所述步驟20的人臉中心位置于該二維坐標系上對應成一人臉中心位置坐標(Xv,Yv);依所述人臉中心位置坐標(Xv,Yv)于該二維坐標系的位置,分別進入相應的步驟34或步驟35或步驟36或步驟37 ; 步驟34、當該人臉中心位置坐標(Xv,Yv)位于該二維坐標系的第一象限時,相應所述人臉中心位置坐標(Xv,Yv)的X軸的投影長度=Xv, Y軸的投影長度=Yv ;所述視點偏移角度為以該顯示屏的中心點為中心,該基準視點向X軸的正方向偏移91度,并向Y軸的正方向偏移 Θ 2 度;Θ 丨=[Arctan (Xv / D)], Θ 2 = [Arctan (Yv / D)];進入步驟 40 ;步驟35、當該人臉中心位置坐標(XV,YV)位于該二維坐標系的第二象限時,相應所述人臉中心位置坐標(Xv,Yv)的X軸的投影長度及=|Χν|,Y軸的投影長度=Yv ;所述視點偏移角度為以該顯示屏的中心點為中心,該基準視點向X軸的負方向偏移93度,并向Y軸的正方向偏移 θ4 度;Θ 3= [Arctan (|XV| / D)], Θ 4= [Arctan (Yv / D)];進入步驟 40;步驟36、當該人臉中心位置坐標(XV,YV)位于該二維坐標系的第三象限時,相應所述人臉中心位置坐標(xv,Yv)的X軸的投影長度及=|xv|,Y軸的投影長度=IyvI ;所述視點偏移角度為以該顯示屏的中心點為中心,該基準視點向X軸的負方向偏移05度,并向Y軸的負方向偏移 θ6 度;θ5= [Arctan (|XV| / D)], Θ 6= [Arctan (|YV| / D)];進入步驟 40; 步驟37、當該人臉中心位置坐標(XV,YV)位于該二維坐標系的第四象限時,相應所述人臉中心位置坐標(xv,Yv)的X軸的投影長度及=χν,Y軸的投影長度=IYvI ;所述視點偏移角度為以該顯示屏的中心點為中心,該基準視點向X軸的負方向偏移07度,并向Y軸的負方向偏移 θ8 度;Θ 7= [Arctan (Xv / D)], Θ 8= [Arctan (|YV| / D)];進入步驟 40。
3.如權利要求1或2所述的一種基于人臉跟蹤改變視點角度顯示三維圖形的方法,其特征在于所述步驟20中的人臉中心位置還能是觀看者的雙眼間的中間點位置。
4.如權利要求1所述的一種基于人臉跟蹤改變視點角度顯示三維圖形的方法,其特征在于所述圖像采集裝置設置于該顯示屏的中心位置。
全文摘要
本發明提供一種基于人臉跟蹤改變視點角度顯示三維圖形的方法,該方法包括一顯示三維圖形的顯示屏、一圖像采集裝置、一人臉識別單元、一視線角度偏移判斷單元、一三維圖形處理器、一存儲器及一顯示控制單元;具體如下步驟定義基準視點VB;圖像采集裝置截取顯示屏前方的圖像;人臉識別單元識別出觀看者的人臉中心位置;視點角度偏移判斷單元判斷視點偏移角度;三維圖形處理器將依據視點偏移角度進行偏移得到一觀看視點,基于該觀看視點繪制新的三維圖形,并存入存儲器;顯示控制單元從存儲器調用新的三維圖形,并將該新的三維圖形按照顯示屏需要的時序傳送顯示于顯示屏上。本發明的優點在,依據觀看者位置繪制三維圖像,更生動有趣。
文檔編號G06F3/0481GK103019507SQ20121046823
公開日2013年4月3日 申請日期2012年11月16日 優先權日2012年11月16日
發明者廖裕民 申請人:福州瑞芯微電子有限公司