華東理工大學(xué) 李承澤 毛丹程 葉秉華 謝思遠(yuǎn)
在相機(jī)標(biāo)定中,人物目標(biāo)定位是相當(dāng)重要的應(yīng)用領(lǐng)域。人物識(shí)別的準(zhǔn)確性與快速性決定了系統(tǒng)的可靠性。本實(shí)驗(yàn)使用單目相機(jī),基于MATLAB軟件對(duì)所拍攝的照片進(jìn)行標(biāo)定,并獲得鏡頭參數(shù)。進(jìn)而配合Yolo v3圖像識(shí)別技術(shù),對(duì)圖片中的人物進(jìn)行識(shí)別而后獲取相應(yīng)的目標(biāo)定位。實(shí)驗(yàn)結(jié)果表明,本實(shí)驗(yàn)設(shè)計(jì)能取得良好的人物目標(biāo)識(shí)別并定位的結(jié)果。
三維世界的物體標(biāo)定在當(dāng)今的生活中起到的作用越來(lái)越明顯,在實(shí)際運(yùn)用中,精準(zhǔn)快速地識(shí)別一片區(qū)域內(nèi)的人數(shù),統(tǒng)計(jì)瞬時(shí)人流作為參考數(shù)據(jù),也可以協(xié)助分散大量人流,避免人員的大量聚集帶來(lái)的危險(xiǎn)。監(jiān)控設(shè)備也可以通過(guò)該技術(shù)來(lái)自動(dòng)提示敏感區(qū)域的人員出入信息,保護(hù)用戶自身的利益安全。精確,快速的識(shí)別與定位是人們所一直追求的,而基于不同算法的標(biāo)定,三維識(shí)別本領(lǐng)各有千秋。本實(shí)驗(yàn)使用單目相機(jī)來(lái)獲得三維世界目標(biāo),以MATLAB及Yolo v3作為工具。在三維物體轉(zhuǎn)換為二維圖像時(shí),相機(jī)自身引起的相機(jī)畸變會(huì)引來(lái)圖像失真,影響識(shí)別精確度。本實(shí)驗(yàn)使用MATLAB的相機(jī)標(biāo)定功能技術(shù)成熟,其采用的張正友方法精度高,公式理論成熟,且通過(guò)MATLAB操作便捷。而在圖像識(shí)別技術(shù)上,通過(guò)Yolo v3識(shí)別物體輪廓,找到二維圖像中的物體坐標(biāo),最后使用張正友方法的反向思維,實(shí)現(xiàn)物體的三維定位。使用工具便捷,步驟簡(jiǎn)潔,趣味性強(qiáng),適合相機(jī)標(biāo)定初學(xué)者。
該方法是張正友教授于1998年提出的單平面棋盤(pán)格的相機(jī)標(biāo)定方法。傳統(tǒng)的標(biāo)定方法雖然標(biāo)定精度較高,可用于任意的攝像機(jī)模型,但是標(biāo)定的過(guò)程復(fù)雜,需要高精度的已知結(jié)構(gòu)信息。張正友方法是介于傳統(tǒng)標(biāo)定方法與自標(biāo)定方法之間的一種簡(jiǎn)易標(biāo)定方法,該方法根據(jù)位于同一平面上的特征點(diǎn)可以建立起關(guān)于相機(jī)內(nèi)部參數(shù)的兩個(gè)方程這一特點(diǎn),提出了通過(guò)不同位置和方向的幾個(gè)平面來(lái)求解相機(jī)的內(nèi)參矩陣,然后再計(jì)算相機(jī)的外參矩陣。這種標(biāo)定方法不需要昂貴的標(biāo)定材料,只需要一張打印出來(lái)的棋盤(pán)格,因此成本較為低廉,同時(shí)也具備良好的魯棒性,是一種靈活而又簡(jiǎn)便的相機(jī)標(biāo)定方法。
相機(jī)標(biāo)定主要用于進(jìn)行像素坐標(biāo)到三維世界坐標(biāo)的轉(zhuǎn)換。在本次實(shí)驗(yàn)中,主要通過(guò)兩個(gè)步驟進(jìn)行,第一步,是像素坐標(biāo)到標(biāo)定板坐標(biāo)的轉(zhuǎn)換,第二步,是標(biāo)定板坐標(biāo)到世界坐標(biāo)的轉(zhuǎn)換。
其轉(zhuǎn)換公式如下:
Step1:像素坐標(biāo)轉(zhuǎn)換為標(biāo)定板坐標(biāo)
關(guān)于扭轉(zhuǎn)因子的求解:
在像素坐標(biāo)到世界坐標(biāo)的過(guò)程中根據(jù)公式(1),并且在獲得了圖片中相關(guān)已知的點(diǎn)坐標(biāo)之后可以求得。
Step2:將求得的標(biāo)定板坐標(biāo)轉(zhuǎn)換為未知的世界坐標(biāo)
圖1 標(biāo)定板圖片
本小節(jié)主要對(duì)相機(jī)標(biāo)定的過(guò)程進(jìn)行詳細(xì)介紹,主要包括相機(jī)標(biāo)定所需的準(zhǔn)備工作以及相關(guān)參數(shù)的計(jì)算,如相機(jī)內(nèi)參、外參,以及通過(guò)yolov3進(jìn)行人像識(shí)別進(jìn)而獲取其坐標(biāo)的過(guò)程。
對(duì)實(shí)驗(yàn)所用到的攝像機(jī)進(jìn)行標(biāo)定,則首先需要求解該攝像機(jī)的內(nèi)參,此過(guò)程中,本文基于matlab自帶工具欄中的“camera calibrator”平臺(tái)對(duì)所拍得的一系列標(biāo)定板照片進(jìn)行標(biāo)定。
所用到的標(biāo)定板圖片如圖1所示,本文用A3尺寸的紙張打印,得到格子邊長(zhǎng)為5.88cm的標(biāo)定板。而后將紙張平放在桌面,使用實(shí)驗(yàn)所用攝像機(jī)對(duì)標(biāo)定板從多個(gè)角度進(jìn)行拍照,將所得的20張相片導(dǎo)入到上述應(yīng)用軟件中,點(diǎn)擊“calibrate”按鈕后進(jìn)行相機(jī)標(biāo)定,在運(yùn)行后可以初步得到角點(diǎn)識(shí)別后的結(jié)果,如圖2所示。其中對(duì)所有圖片的識(shí)別都存在一個(gè)統(tǒng)一的識(shí)別起點(diǎn),即坐標(biāo)原點(diǎn)(Checkerboard Origin),因?yàn)閷?shí)驗(yàn)中所用到的張氏標(biāo)定法默認(rèn)標(biāo)定板在三維坐標(biāo)中,因此只需要識(shí)別X和Y軸兩個(gè)坐標(biāo)方向,在成功識(shí)別角點(diǎn)之后,即可進(jìn)行后續(xù)的計(jì)算。
圖2 角點(diǎn)識(shí)別結(jié)果
攝像機(jī)標(biāo)定后得到的內(nèi)參如下所示:
接下來(lái)是對(duì)所需目標(biāo)定位的照片進(jìn)行外參的計(jì)算,外參的計(jì)算仍然是基于上述matlab平臺(tái)進(jìn)行。
目標(biāo)定位首先需要進(jìn)行目標(biāo)識(shí)別,此過(guò)程是應(yīng)用python+yolov3實(shí)現(xiàn)的對(duì)圖片中的人物進(jìn)行識(shí)別,其識(shí)別后的結(jié)果如圖3(a)所示,根據(jù)人物外邊框底邊的兩個(gè)點(diǎn)可以得到目標(biāo)人物在圖片中的像素坐標(biāo)為(1320,3046)。識(shí)別后輸出的像素坐標(biāo)信息會(huì)在后續(xù)的目標(biāo)定位中使用。在此圖片中人為確定了世界坐標(biāo)系原點(diǎn)(如圖3(b)中藍(lán)色點(diǎn)所示,水平方向?yàn)閤軸,豎直方向?yàn)閥軸),以便于后續(xù)對(duì)坐標(biāo)的計(jì)算。
圖3 人物識(shí)別及目標(biāo)定位結(jié)果
在經(jīng)過(guò)與內(nèi)參計(jì)算相同的步驟之后可以得到旋轉(zhuǎn)矩陣及平移向量,如表1所示。
表1 相機(jī)外參
至此,目標(biāo)定位所需測(cè)量的參數(shù)均已獲取,在后續(xù)將根據(jù)以上參數(shù)以及第二小節(jié)中的公式應(yīng)用matlab進(jìn)行相關(guān)計(jì)算。
將上一小節(jié)計(jì)算后得到像素坐標(biāo)參數(shù)帶入到公式(1)、(2)中,計(jì)算后得到相應(yīng)的世界坐標(biāo)結(jié)果,其示意圖如圖3(b)所示,藍(lán)色點(diǎn)為定義的世界坐標(biāo)系原點(diǎn),紅色點(diǎn)為識(shí)別后的定位結(jié)果。為了檢測(cè)目標(biāo)定位的準(zhǔn)確性,本文后續(xù)在圖2中取了幾個(gè)不同的像素點(diǎn)進(jìn)行檢驗(yàn),其定位結(jié)果以及定位誤差如表2所示。其中定位誤差為圖像中檢測(cè)點(diǎn)的實(shí)際三維坐標(biāo)到定位坐標(biāo)的歐氏距離(cm)。
表2 目標(biāo)定位結(jié)果及誤差分析
本章節(jié)主要通過(guò)yolov3對(duì)圖片中的人物進(jìn)行識(shí)別并且獲得其坐標(biāo),結(jié)合相機(jī)標(biāo)定的原理進(jìn)行目標(biāo)定位。此種標(biāo)定方法可以實(shí)現(xiàn)初步的目標(biāo)定位,但是通過(guò)比對(duì)標(biāo)定坐標(biāo)的結(jié)果與已知坐標(biāo)可知,標(biāo)定的結(jié)果存在一定誤差,根據(jù)實(shí)驗(yàn)過(guò)程分析誤差產(chǎn)生的原因:(1)在求解內(nèi)參的過(guò)程中照片數(shù)量較少,可能在運(yùn)算過(guò)程中存在一定誤差。(2)人物識(shí)別存在一定誤差,通過(guò)圖2可以看到,人物識(shí)別的邊框其實(shí)并不是嚴(yán)格與人物外邊緣相切,所以在獲取像素坐標(biāo)時(shí)可能存在十幾像素的誤差,從而對(duì)后續(xù)計(jì)算產(chǎn)生影響。(3)因?yàn)樵趹?yīng)用參數(shù)計(jì)算的過(guò)程中,存在有效數(shù)字的取舍,所以可能導(dǎo)致所取的計(jì)算參數(shù)與實(shí)際參數(shù)存在一定出入,導(dǎo)致誤差出現(xiàn)。
但是分析計(jì)算結(jié)果與實(shí)際世界坐標(biāo)的歐氏距離得出結(jié)論,可以在一定誤差范圍內(nèi),對(duì)圖片中的目標(biāo)人物進(jìn)行三維定位。
后續(xù)的改進(jìn)意見(jiàn):
(1)可以采用精度更高、尺寸更大的標(biāo)定板來(lái)使內(nèi)外參等計(jì)算所需的參數(shù)更加接近真實(shí)值。
(2)對(duì)目標(biāo)識(shí)別程序進(jìn)行改進(jìn),使其可以輸出更加精確的人物像素坐標(biāo)。
(3)在試驗(yàn)場(chǎng)地增設(shè)坐標(biāo)尺,從而減少因世界坐標(biāo)系的測(cè)量誤差對(duì)實(shí)驗(yàn)結(jié)果造成的影響。