趙宇豪,韓 軍,歐 屹
(南京理工大學(xué) 機(jī)械工程學(xué)院,南京 210094)
虛擬演播室作為近幾年興起的電視節(jié)目制作手段,有著傳統(tǒng)演播室不可比擬的優(yōu)勢。虛擬演播室能夠?qū)⑻摂M場景或者物件和真實(shí)的人或物合成到同一臺電視畫面上,為節(jié)目制作提供了更大的空間[1]。虛擬演播室中不可或缺的就是帶位置跟蹤功能的攝影機(jī)器人[2]。攝影機(jī)器人的控制過程與一般工業(yè)機(jī)器人不同[3],在媒體行業(yè)的使用中,操作人員不會使用坐標(biāo)參數(shù),而是從拍攝畫面獲得需要的信息。因此需要結(jié)合此種使用習(xí)慣完成運(yùn)動學(xué)分析,提出一種鏡頭隨動拍攝算法。
工業(yè)機(jī)器人運(yùn)動學(xué)分析中,Waldron和Paul、Craig修正的D-H算法已經(jīng)非常普遍[4],也有很多用D-H算法分析的工業(yè)機(jī)器人;PTZ云臺姿態(tài)測量和配套的虛擬演播室合成在國內(nèi)也有一些成果[5]。但攝影機(jī)器人隨動拍攝的運(yùn)動學(xué)分析在國內(nèi)仍屬空白。本文從D-H連桿算法出發(fā),通過分析本攝影機(jī)器人結(jié)構(gòu),提出攝影機(jī)器人工作末端的新分析方法,通過MATLAB正反解驗(yàn)證后,編寫機(jī)器人運(yùn)動控制程序,通過實(shí)驗(yàn)在拍攝時驗(yàn)證該算法。該算法可使云臺自動跟蹤拍攝,解決了攝影機(jī)器人控制的重要問題。
圖1所示為攝影機(jī)器人三維示意圖,由云臺部分完成攝像機(jī)偏轉(zhuǎn)和俯仰;升降部分完成攝像機(jī)抬升和下降;行走部分通過聚氨酯輪在軌道上行走完成機(jī)器人整體移動;攝像機(jī)鏡頭上裝有鏡頭編碼器,可以測量變焦聚焦齒輪轉(zhuǎn)過的角度。
圖1 攝影機(jī)器人結(jié)構(gòu)示意圖
攝影機(jī)器人通過4個自由度控制攝像機(jī),使攝像機(jī)可以達(dá)到軌道覆蓋的指定位置和指定角度。一般情況下,操作人員通過控制各軸直接控制攝像機(jī)位置,觀測當(dāng)前拍攝畫面修正控制效果。
在自動控制時,攝影機(jī)器人操作人員點(diǎn)擊視頻上一點(diǎn),攝像機(jī)云臺就會將被點(diǎn)擊的目標(biāo)持續(xù)置于畫面中心。這種控制方式需要將在屏幕中采集的二維坐標(biāo)轉(zhuǎn)換為對應(yīng)三維空間的坐標(biāo)點(diǎn),且根據(jù)該點(diǎn)坐標(biāo)和已知狀態(tài)對PTZ云臺參數(shù)進(jìn)行反解。
傳統(tǒng)的D-H法通過連桿參數(shù)描述機(jī)器人末端執(zhí)行器相對于參考系的變換關(guān)系,這種方法在工業(yè)機(jī)器人上有廣泛應(yīng)用。傳統(tǒng)機(jī)器人工作末端操縱工件等物體,運(yùn)動結(jié)果直接反應(yīng)在物體的空間位移上;攝影機(jī)器人工作末端操作攝像機(jī),運(yùn)動雖然直接反應(yīng)在攝像機(jī)空間位移上,不能從拍攝畫面獲得。僅對物理連桿的建模無法將攝像機(jī)空間位置和拍攝畫面聯(lián)系起來。此時,就需要分析鏡頭焦距特性,將焦距特性轉(zhuǎn)化為一個虛擬連桿,用以表征攝像機(jī)拍攝的實(shí)際位置。該虛擬連桿可將工作末端從攝像機(jī)本身擴(kuò)展至整個可拍攝空間。
從二維畫面中計(jì)算三維坐標(biāo)最重要的是獲得攝像機(jī)和拍攝物體的距離,而變焦鏡頭當(dāng)前焦距則可以反映該距離。鏡頭廠商在生產(chǎn)某型號鏡頭后,一般會提供變焦齒輪全行程與焦距實(shí)際值的函數(shù)關(guān)系;在沒有得到該函數(shù)關(guān)系時,也可以通過視覺識別的方法測量焦距[6-8]。當(dāng)?shù)玫皆摵瘮?shù)以后,通過自研鏡頭伺服器,測出變焦齒輪當(dāng)前轉(zhuǎn)過的角度,轉(zhuǎn)化為焦距。將該焦距變化作為虛擬的棱柱聯(lián)軸節(jié),生成一個虛擬連桿,作為攝影機(jī)器人的第四連桿。鏡頭伺服器實(shí)物如圖2所示。
圖2 鏡頭伺服器
圖3 攝影機(jī)器人改進(jìn)D-H坐標(biāo)系
通過根據(jù)焦距擴(kuò)展的D-H連桿模型,建立攝影機(jī)器人坐標(biāo)系[4,9],如圖3所示,其中df為第4連桿伸縮距離。表1為D-H法的各個參數(shù),其中a3為攝影機(jī)安裝在云臺上的誤差,一般大小在±20mm以內(nèi),其值很小可以忽略;dw的距離為軌道長度。表2為各參數(shù)取值范圍,行走使用的是6m的直線軌道;升降和俯仰范圍由機(jī)械結(jié)構(gòu)限制;聚焦距離要按照具體鏡頭的最小值和最大值確定。
表1 攝影機(jī)器人D-H參數(shù)
表2 D-H參數(shù)取值范圍
根據(jù)該模型得到的變換矩陣如下:
(1)
其中,O4(x4,y4,z4)為第4坐標(biāo)系相對于初始坐標(biāo)系的原點(diǎn),同時是攝像機(jī)拍攝位置的坐標(biāo)。得到該位置坐標(biāo)后即可進(jìn)行反解。
確定工作末端即確定在攝像機(jī)畫面上選取的某一點(diǎn)的空間位置。平面內(nèi)一點(diǎn)O4由式(1)確定,過該平面的法向量z4為:
若設(shè)z4=(A,B,C),O4(x4,y4,z4),該平面方程:
A(x-x4)+B(y-y4)+C(z-z4)=0
將拍攝到的畫面描述為寬16i,高9i的長方形,i值可由鏡頭參數(shù)和當(dāng)前鏡頭上的zoom編碼器返回值確定。選取的點(diǎn)P即可用(θi,μi)表示。經(jīng)過空間坐標(biāo)系推導(dǎo)得P的坐標(biāo)為:
(2)
圖4 從屏幕中取得空間點(diǎn)坐標(biāo)
此改進(jìn)的D-H算法將被拍攝物體作為工作末端,當(dāng)控制dw、dh、θPan、θTilt時,攝影機(jī)器人工作末端即可達(dá)到焦距所達(dá)的任意位置,即可達(dá)到整個可拍攝空間;同時,對于空間內(nèi)一點(diǎn),有無窮多運(yùn)動學(xué)反解,即無論需要拍攝哪一點(diǎn),總有無窮多個機(jī)位可以拍攝到。實(shí)際使用中,行走和升降一般由操作人員主動控制,然后由云臺自動控制攝像機(jī)對準(zhǔn)所選中的物體。由于此算法和應(yīng)用存在以上特殊情況,簡單選取某坐標(biāo)進(jìn)行反解一定有無窮多解。所以驗(yàn)證時采用一個具體的使用情景:攝影機(jī)器人在軌道上由0處向6000mm處勻速運(yùn)動,此時升降dh=1500mm,鏡頭聚焦df=5000mm處,θPan=180°、θTilt=90°。在行進(jìn)至dw=1000mm處時選擇屏幕左上角一點(diǎn)(i=100mm)。然后將云臺調(diào)整至將攝像機(jī)對準(zhǔn)該點(diǎn),直至攝像機(jī)到達(dá)6000mm處。
根據(jù)建立的D-H連桿模型和式(2)求解屏幕左上角點(diǎn)位置??傻迷擖c(diǎn)在空間中的實(shí)際坐標(biāo)為(5000,1950,200),原有點(diǎn)O4、新點(diǎn)和所拍攝的畫面位置如圖4所示。
圖5 行走過程求解
得到需要拍攝的點(diǎn)后,運(yùn)用MATLAB軟件編程可進(jìn)行運(yùn)動學(xué)逆解[10-12],其中P(5000,1950,200),dh為定值常量,dw為自變量;可求解θPan、θTilt。將行程中的解表現(xiàn)在圖5中,為了圖片直觀清晰,只列出部分解在三維空間中的圖示。圖6為整個過程中θPan與θTilt隨dw變化的函數(shù)圖像。
圖6 兩關(guān)節(jié)變化函數(shù)圖像
在上例中沒有改變升降dh的值,改變時可同理求解。在將dw、dh作為已知量求解時,θPan、θTilt在取值范圍內(nèi)只有有唯一解或無解兩種情況。其中無解是由于攝像機(jī)俯仰角θTilt受到機(jī)械結(jié)構(gòu)限制。
圖7 攝影機(jī)器人實(shí)機(jī)
將此算法寫入攝影機(jī)器人控制程序,通過實(shí)機(jī)對該算法進(jìn)行試驗(yàn)驗(yàn)證。圖7為攝影機(jī)器人實(shí)機(jī)。
測試時,先將設(shè)置攝影機(jī)器人在軌道上運(yùn)行的速度和距離。開始運(yùn)行后,單擊屏幕上一點(diǎn),觀察攝影機(jī)器人在接下來的運(yùn)動中回傳的圖像。為了保證測試具有說服力,分別使用表3的行走距離和行走速度互相組合進(jìn)行35次跟蹤拍攝,以第一次安裝為基準(zhǔn),每種安裝誤差選用7次。
表3 測試參數(shù)
經(jīng)試驗(yàn)驗(yàn)證,可以在不同速度和不同位移距離下完成跟蹤拍攝,且安裝誤差對圖像沒有明顯影響。圖8為某次運(yùn)行時回傳的部分截取畫面,其中被單擊點(diǎn)為左側(cè)門把手,運(yùn)行距離為4000mm,行走運(yùn)行速度為150mm/s。
圖8 跟蹤拍攝截取畫面
綜上所述,該算法可以完成屏幕上取點(diǎn)轉(zhuǎn)換為空間點(diǎn),和控制機(jī)器人在軌道上行走和升降并同時拍攝選中坐標(biāo)點(diǎn)的要求,且不受安裝誤差影響。
本文以虛擬演播室攝影機(jī)器人為研究對象,結(jié)合攝影機(jī)器人的特殊功能和使用習(xí)慣,提出了改進(jìn)的D-H連桿法。將焦距擴(kuò)展為虛擬連桿,通過自研鏡頭伺服器測得虛擬連桿的伸長度。
提出了可將三維空間位置從二維拍攝圖像中提取出來的算法;攝影機(jī)器人在軌道上運(yùn)動時,可以通過選
取屏幕中某點(diǎn),控制PTZ云臺對空間內(nèi)該點(diǎn)進(jìn)行自動跟蹤拍攝。解決了攝影機(jī)器人控制的關(guān)鍵問題。
算法的反解坐標(biāo)點(diǎn)不限于定點(diǎn),也可以對空間內(nèi)動點(diǎn)進(jìn)行跟蹤拍攝,如果結(jié)合視覺識別或人臉識別技術(shù),即可完成對某一物體或主持人的跟蹤拍攝。
通過在MATLAB軟件上編程計(jì)算和攝影機(jī)器人實(shí)機(jī)上的試驗(yàn),成功完成了對空間點(diǎn)的跟蹤拍攝,驗(yàn)證了該算法的正確性。
[參考文獻(xiàn)]
[1] Gibbs S,Arapis C,Breiteneder C,et al. Virtual studios: an overview[J]. IEEE Multimedia, 1998, 5(1):18-35.
[2] Wojdala A. Can virtual look real: a review of virtual studio techniques[C].Confluence of computer vision and computer graphics, 2000:229-252.
[3] Bernas M, Teisler M. Determination of the camera position in virtual studio[C].IEEE International Symposium on Signal Processing and Information Technology,IEEE, 2003:535-538.
[4] 蔡自興.機(jī)器人學(xué)[M].北京:清華大學(xué)出版社,2015.
[5] 陳楊. 虛擬3D技術(shù)中攝像機(jī)云臺姿態(tài)高精度測試方法研究[D].南京:南京理工大學(xué),2016.
[6] 史艷瓊. 變焦攝像機(jī)跟蹤定位與測量技術(shù)[D].合肥: 合肥工業(yè)大學(xué),2012.
[7] 魯敏, 匡綱要, 郁文賢. 基于機(jī)械跟蹤的虛擬演播室系統(tǒng)中攝像機(jī)校準(zhǔn)和定位算法[J]. 國防科技大學(xué)學(xué)報(bào), 2004, 26(3):68-73.
[8] Salvi J, Armangué X, Batlle J. A comparative review of camera calibrating methods with accuracy evaluation[J]. Pattern Recognition, 2002, 35(7):1617-1635.
[9] 克來格, 貟超. 機(jī)器人學(xué)導(dǎo)論[M].北京:機(jī)械工業(yè)出版社,2006.
[10] 汪永元. 工業(yè)機(jī)器人的系統(tǒng)分析與仿真研究[D].成都:西南交通大學(xué),2014.
[11]韓建海, 吳斌芳, 楊萍, 等. 工業(yè)機(jī)器人[M].武漢:華中科技大學(xué)出版社, 2009.
[12]楊前明, 劉亞瓊, 王偉,等. 基于D-H算法的棉桶更換復(fù)合機(jī)器人運(yùn)動學(xué)建模與仿真分析[J]. 組合機(jī)床與自動化加工技術(shù), 2016(12):52-55.