馬冬寶,吳晟平,崔健,張賽昆,湯曉華
(1.北京電子科技職業(yè)學(xué)院,北京 102600;2.武漢理工大學(xué),湖北 武漢 430070;3.深圳市物新智能科技有限公司,廣東 深圳 518107)
隨著機(jī)器視覺技術(shù)的迅速發(fā)展,越來越多的領(lǐng)域開始使用這種技術(shù)來完成復(fù)雜的任務(wù)。機(jī)器視覺系統(tǒng)的核心是圖像采集、圖像處理、特征提取、模式識別等模塊。相機(jī)鏡頭和光源的實(shí)際調(diào)試和操作需要投入大量時(shí)間和成本,而且還存在風(fēng)險(xiǎn)和安全隱患,不利于學(xué)生的實(shí)驗(yàn)教學(xué)和機(jī)器視覺相關(guān)知識的學(xué)習(xí)和掌握。
為了解決這個(gè)問題,虛擬仿真技術(shù)已成為一種重要的研究方向。虛擬仿真即對現(xiàn)實(shí)場景的虛擬仿真,是虛擬現(xiàn)實(shí)(Virtual Reality)的一種。在機(jī)器視覺領(lǐng)域中,虛擬仿真技術(shù)也具有廣泛的應(yīng)用前景。相機(jī)鏡頭和光源是機(jī)器視覺系統(tǒng)中非常重要的組成部分,但是調(diào)試和操作這些組件需要投入大量時(shí)間和成本。因此,利用虛擬仿真技術(shù)來模擬相機(jī)鏡頭和光源的選型和調(diào)試過程,可以有效地降低成本和風(fēng)險(xiǎn),并且方便學(xué)生學(xué)習(xí)和掌握機(jī)器視覺相關(guān)知識。
本文的主要研究內(nèi)容是基于Unity3D 的三維虛擬建模技術(shù),完成一個(gè)機(jī)器視覺相機(jī)鏡頭光源實(shí)驗(yàn)平臺的搭建。該平臺可以提供完整的虛擬環(huán)境,實(shí)現(xiàn)相機(jī)鏡頭和光源的選型、參數(shù)調(diào)節(jié)和實(shí)時(shí)預(yù)覽,方便學(xué)生進(jìn)行虛擬實(shí)驗(yàn),降低實(shí)驗(yàn)成本和風(fēng)險(xiǎn),從而實(shí)現(xiàn)機(jī)器視覺相關(guān)知識的學(xué)習(xí)和掌握。本文的主要內(nèi)容可以分為如下幾部分:
(1)機(jī)器視覺平臺場景虛擬仿真。該部分主要研究如何實(shí)現(xiàn)機(jī)器視覺場景的虛擬仿真,包括虛擬環(huán)境的構(gòu)建、物體模型的導(dǎo)入和生成、相機(jī)鏡頭光源以及物件的放置和移動(dòng)等。
(2)相機(jī)鏡頭選型虛擬仿真。該部分主要研究如何實(shí)現(xiàn)相機(jī)鏡頭的虛擬仿真,包括各種參數(shù)的調(diào)節(jié)和實(shí)時(shí)預(yù)覽。
(3)光源選型虛擬仿真。該部分主要研究如何實(shí)現(xiàn)光源的虛擬仿真,包括光源的選擇和參數(shù)調(diào)節(jié)。
本虛擬仿真平臺主要運(yùn)用了Visual Studio、Unity3D 以及Blender 等多種工具來完成。以下是該平臺使用這些工具的詳細(xì)介紹。
(1)Visual Studio。在該平臺中主要用于編寫控制界面,包括相機(jī)鏡頭和光源的參數(shù)調(diào)節(jié)和實(shí)時(shí)預(yù)覽等功能。其集成式的開發(fā)環(huán)境可以提供代碼編輯、調(diào)試、自動(dòng)完成等多種功能,可以有效提高代碼的編寫效率和可維護(hù)性。
(2)Unity3D。Unity3D 引擎是該平臺中的核心工具,主要用于實(shí)現(xiàn)虛擬場景的構(gòu)建和交互。該引擎具有強(qiáng)大的場景編輯和渲染能力,可以快速創(chuàng)建各種虛擬環(huán)境,包括不同尺寸、材質(zhì)和光照等。
(3)Blender。Blender 建模是該平臺中用于創(chuàng)建模型的主要工具,它可以快速準(zhǔn)確地創(chuàng)建各種三維模型和場景,包括人物、物品、建筑等。
本虛擬仿真平臺采用了WPF 的Prism 框架、Unity3D技術(shù)以及Blender 建模技術(shù)來實(shí)現(xiàn)一個(gè)基于socket 通信的機(jī)器視覺教學(xué)平臺。以下是相關(guān)技術(shù)的詳細(xì)介紹。
(1)控制端。控制端部分使用WPF 的Prism 框架來構(gòu)建界面,該框架的主要特點(diǎn)是模塊化,可以將一個(gè)大型的應(yīng)用程序分成多個(gè)小的模塊進(jìn)行開發(fā)和維護(hù)。
(2)虛擬端。虛擬端部分采用了Unity3D 技術(shù)來實(shí)現(xiàn)虛擬場景的創(chuàng)建和渲染。Unity3D 是一款跨平臺的游戲引擎,可以用來構(gòu)建高質(zhì)量的3D 和2D 游戲以及交互式內(nèi)容。
(3)指令交互。在指令交互方面,我們使用socket通信協(xié)議來實(shí)現(xiàn)控制端界面與虛擬端之間的數(shù)據(jù)傳輸和命令交互。
隨著機(jī)器視覺技術(shù)的迅速發(fā)展,越來越多的應(yīng)用場景需要依靠機(jī)器視覺來實(shí)現(xiàn)自動(dòng)化和智能化。而在機(jī)器視覺應(yīng)用開發(fā)中,機(jī)臺測試是不可或缺的一環(huán)。然而,在實(shí)際機(jī)臺測試中,由于機(jī)臺資源的有限性和測試環(huán)境的不確定性,機(jī)臺測試面臨著巨大的挑戰(zhàn)。因此,機(jī)器視覺平臺場景虛擬仿真的實(shí)現(xiàn)就顯得尤為必要。
該平臺采用Unity3D 技術(shù)實(shí)現(xiàn)了機(jī)器視覺機(jī)臺的虛擬仿真。通過構(gòu)建一個(gè)真實(shí)的三維環(huán)境,模擬了一個(gè)簡易的機(jī)器視覺機(jī)臺,并實(shí)現(xiàn)了相機(jī)鏡頭和光源的實(shí)時(shí)生成和成像效果預(yù)覽。生成的虛擬場景圖如圖1 所示。
圖1 虛擬場景界面
該場景的主要內(nèi)容有:
(1)底座;(2)龍門架水平方向桿;(3)龍門架豎直方向桿;(4)工作臺。
對于場景控制部分,該平臺是通過鼠標(biāo)、鍵盤共同完成。關(guān)于鼠標(biāo)鍵盤的具體控制介紹如下:
(1)鼠標(biāo)部分:鼠標(biāo)左鍵用于獲取物體,可以通過點(diǎn)擊場景內(nèi)的物件獲取對象從而進(jìn)行控制。鼠標(biāo)滾輪用于虛擬場景的視野控制。鼠標(biāo)右鍵用于控制整體視野的旋轉(zhuǎn)效果。
(2)鍵盤部分:WASD 鍵用于控制選中物件的上下左右移動(dòng)。QE 鍵用于控制物件的上下移動(dòng)。
在機(jī)器視覺的各項(xiàng)應(yīng)用中,相機(jī)鏡頭參數(shù)的調(diào)整對于圖像質(zhì)量和目標(biāo)檢測效果有著重要的影響。不同的相機(jī)鏡頭具有不同的特性和參數(shù)。在不同的應(yīng)用場景下,需要選擇適合的相機(jī)鏡頭來滿足特定的需求。
該平臺采用Unity3D 技術(shù)來實(shí)現(xiàn)機(jī)器視覺相機(jī)的虛擬仿真。相機(jī)虛擬仿真是機(jī)器視覺應(yīng)用的重要組成部分之一,通過建立真實(shí)的三維環(huán)境,模擬相機(jī)鏡頭的各種功能和成像效果,驗(yàn)證相機(jī)參數(shù)和算法的準(zhǔn)確性和可靠性。
關(guān)于相機(jī),實(shí)現(xiàn)了黑白相機(jī)和彩色相機(jī)的選型。在機(jī)器視覺的實(shí)驗(yàn)中,獲取相機(jī)的成像需要考慮到實(shí)際場景的光照和顏色,這需要相機(jī)具備一定的色彩準(zhǔn)確性和灰度準(zhǔn)確性。在該虛擬仿真平臺中,不同相機(jī)選型的拍攝效果如圖2 所示,依次為黑白相機(jī)、彩色相機(jī)的成像效果。
圖2 相機(jī)選型效果
關(guān)于鏡頭,實(shí)現(xiàn)了變焦鏡頭以及鏡頭對焦的過程效果。在相機(jī)成像過程中,焦距是影響圖像成像效果的關(guān)鍵參數(shù)之一。在該虛擬仿真平臺中,可實(shí)現(xiàn)任意焦距的相機(jī)效果仿真,以下是幾個(gè)焦距的拍攝效果(12mm,25mm,35mm),如圖3 所示。
圖3 不同焦距的拍攝效果
關(guān)于相機(jī)成像,仿真了關(guān)于相機(jī)曝光以及增益的參數(shù)調(diào)整效果。在許多應(yīng)用場景中,相機(jī)曝光和增益的調(diào)整對于圖像處理和分析具有重要意義。關(guān)于相機(jī)參數(shù)調(diào)整后的成像效果如圖4 所示,效果依次為原圖、增加曝光后、增加增益值后。
圖4 相機(jī)參數(shù)調(diào)整結(jié)果
在機(jī)器視覺中,光源效果是非常重要的一部分,因?yàn)樗軌蛴绊懙綀D像質(zhì)量和圖像處理的結(jié)果。虛擬仿真可以提供一種可控的、多樣的光照環(huán)境,以測試和驗(yàn)證不同的圖像處理算法和方法。由此,我們選擇虛擬仿真一些光源來進(jìn)行效果展示,從而能夠讓學(xué)生更加真切的了解到不同光源的光源特點(diǎn),以便日后在機(jī)器視覺案例應(yīng)用中選擇合適的光源。
該平臺采用Unity3D 實(shí)現(xiàn)光源效果的仿真。通過光源組件、物理材質(zhì)、陰影和后處理效果等一系列的方式來實(shí)現(xiàn)不同光源的效果虛擬仿真。
環(huán)形光源的特點(diǎn)在于其可以提供均勻的光照效果,減少反射光線對圖像質(zhì)量的影響。環(huán)形光源的打光方式示意圖以及打光前后效果圖如圖5 所示。
圖5 環(huán)形光源效果
背光源的主要作用在于提高目標(biāo)物體的亮度和對比度,產(chǎn)生目標(biāo)物體的輪廓線,有助于提高目標(biāo)物體的識別效果。背光源的打光方式示意圖以及打光前后效果圖如圖6 所示。
圖6 背光源效果
同軸光源的光照陰影輪廓為方形,其光線集中,可以提供穩(wěn)定的光照效果,從而減少圖像處理時(shí)的干擾。同軸光源的打光方式示意圖效果以及打光前后效果圖如圖7 所示。
圖7 同軸光源效果
中孔背光源能夠提供均勻的直射背光效果,使得目標(biāo)物體的表面特征更加明顯,從而提高目標(biāo)檢測的準(zhǔn)確性。中孔背光源的打光方式示意圖以及打光前后效果圖如圖8 所示。
圖8 中孔背光源效果
條形光源具有明顯的方向性,可以將光線聚焦成狹長的條形狀,從而提高目標(biāo)物體的輪廓清晰度和邊緣檢測的準(zhǔn)確性。條形光源的打光方式示意圖以及打光前后效果圖如圖9 所示。
圖9 條形光源效果
條形組合光源的優(yōu)勢在于其通過組合不同的條形光源來實(shí)現(xiàn)不同的光照效果,具有很強(qiáng)的適應(yīng)性和靈活性。條形組合光源的打光方式示意圖以及打光前后效果圖如圖10 所示。
圖10 條形組合光源效果
在本章中,我們將用一系列實(shí)驗(yàn)來驗(yàn)證本虛擬仿真平臺的真實(shí)性、合理性以及可行性。我們將通過成像仿真來測試鏡頭焦距仿真的精度以及相機(jī)參數(shù)調(diào)整后效果的真實(shí)性,通過光學(xué)仿真實(shí)驗(yàn)來測試光源顏色強(qiáng)度參數(shù)效果調(diào)整后對成像影響的真實(shí)性,通過性能測試實(shí)驗(yàn)來測試平臺的指令執(zhí)行時(shí)間和成像時(shí)間。這些實(shí)驗(yàn)將有助于評估平臺的性能和功能,并為使用者提供更好的用戶體驗(yàn)。
在相機(jī)鏡頭選型虛擬仿真的實(shí)現(xiàn)過程中,本虛擬仿真平臺實(shí)現(xiàn)了黑白相機(jī)以及彩色相機(jī)的選型,不同焦距鏡頭的選取,曝光增益相機(jī)參數(shù)的調(diào)整效果。其中,黑白相機(jī)和彩色相機(jī)的選取成像效果顯而易見,不需要進(jìn)行實(shí)驗(yàn)論證。所以本節(jié)將通過現(xiàn)實(shí)相機(jī)成像與成像距離的關(guān)系來測試鏡頭焦距仿真的精度,并測試不同相機(jī)參數(shù)對成像效果的影響。
測試鏡頭焦距仿真的精度。給定相機(jī)的傳感器尺寸為32×18mm,相機(jī)成像輸出分辨率為1366×768,鏡頭焦距為35mm。成像長邊的距離計(jì)算公式如下所示:
其中Y 表示成像物體尺寸,Y’表示圖像尺寸,L是物距,f 是鏡頭焦距。本實(shí)驗(yàn)采用100,101,102,103,104,105(mm)6 組工作距離來對相機(jī)成像的物體尺寸進(jìn)行測試,實(shí)驗(yàn)結(jié)果如表 1 所示。
表1 不同工作距離下相機(jī)成像物體尺寸測試結(jié)果對比表(單位:mm)
驗(yàn)證得到鏡頭焦距仿真的成像實(shí)際尺寸誤差在正負(fù)0.001mm。結(jié)果表明,本平臺鏡頭焦距仿真的精度較高,可以滿足實(shí)際應(yīng)用需求。
測試不同相機(jī)參數(shù)對成像效果的影響。選用機(jī)械零件作為拍攝對象,相機(jī)采用黑白相機(jī),焦距35mm,工作距離300mm,測試相機(jī)在曝光度分別為2000,3000,4000,5000,6000 的成像效果,增益值分別為1,2,3,4,5 的成像效果,測試效果圖如圖11 所示。
圖11 曝光增益參數(shù)調(diào)整效果圖
實(shí)驗(yàn)結(jié)果表明,在相同增益值下,曝光度越高,機(jī)械零件成像越清晰,細(xì)節(jié)展現(xiàn)更加豐富;在相同曝光度下,增益值越高,機(jī)械零件成像越亮,但同時(shí)也伴隨著一定的圖像噪點(diǎn)。因此,不同的相機(jī)參數(shù)組合對于不同的拍攝場景有著不同的適用性??偟膩碚f,該實(shí)驗(yàn)結(jié)果表明,相機(jī)參數(shù)的調(diào)整可以對成像效果產(chǎn)生明顯的影響,需要在實(shí)際應(yīng)用中進(jìn)行合理的搭配。
本實(shí)驗(yàn)旨在驗(yàn)證光源顏色和強(qiáng)度對相機(jī)成像的影響是否符合實(shí)際情況。我們選用了彩色相機(jī)、35mm 鏡頭、環(huán)形光源和七巧板作為場景,通過調(diào)整光源的顏色和強(qiáng)度來觀察七巧板在相機(jī)下的成像效果。實(shí)驗(yàn)采用紅、綠、藍(lán)3 種顏色光源,光源強(qiáng)度設(shè)置為10,對七巧板進(jìn)行打光,從而獲得相應(yīng)的成像效果如圖12 所示。圖中從左到右分別為無打光效果圖、打紅光效果圖、打綠光效果圖和打藍(lán)光效果圖。
圖12 打光效果圖
根據(jù)實(shí)驗(yàn)結(jié)果,我們可以發(fā)現(xiàn)不同顏色和強(qiáng)度的光源對相機(jī)成像效果有明顯的影響。在本次實(shí)驗(yàn)中,紅色光源下的成像效果偏暖,綠色光源下的成像效果偏綠,藍(lán)色光源下的成像效果偏冷。在光源強(qiáng)度相同的情況下,強(qiáng)度越大,場景的細(xì)節(jié)越清晰,但是當(dāng)光源強(qiáng)度過大時(shí)會(huì)造成過度曝光的問題。因此,在實(shí)際應(yīng)用中,我們需要根據(jù)具體的應(yīng)用場景,選擇合適的光源顏色和強(qiáng)度來達(dá)到最佳的成像效果。
在本節(jié)中,我們要測試該虛擬仿真平臺的性能指標(biāo),主要是指指令執(zhí)行速度和成像速度。為此,我們設(shè)計(jì)了一些實(shí)驗(yàn)來測試不同操作下的指令執(zhí)行時(shí)間。我們還測試了在不同光源條件下進(jìn)行成像的時(shí)間,一共測試了6種不同的光源。通過這些實(shí)驗(yàn),我們可以更好地了解該虛擬仿真平臺在不同場景下的性能表現(xiàn)。測試結(jié)果如表2、表3 所示。
表2 指令執(zhí)行時(shí)間表(單位:ms)
表3 不同打光方式下成像時(shí)間表(單位:ms)
本次實(shí)驗(yàn)通過測試指令執(zhí)行時(shí)間和成像時(shí)間,對虛擬仿真平臺的性能進(jìn)行了評估。實(shí)驗(yàn)結(jié)果表明,在指令執(zhí)行時(shí)間方面,各種指令的執(zhí)行時(shí)間大致保持一致;在成像速度方面,不同光源下成像速度存在明顯的差異。本次實(shí)驗(yàn)的結(jié)果表明,虛擬仿真平臺具有較好的指令執(zhí)行速度和成像速度,但不同光源的打光對成像速度有一定影響。這為平臺的進(jìn)一步優(yōu)化提供了方向和依據(jù)。
本研究旨在研究和設(shè)計(jì)一種機(jī)器視覺相機(jī)鏡頭光源虛擬仿真教學(xué)實(shí)驗(yàn)平臺,為學(xué)生提供更加便捷、實(shí)用的實(shí)驗(yàn)平臺,并提高學(xué)生的實(shí)踐能力和創(chuàng)新思維。在本研究中,我們采用了基于WPF 及unity3D 的虛擬仿真技術(shù),構(gòu)建了一套可視化的實(shí)驗(yàn)平臺,讓學(xué)生能夠在虛擬環(huán)境中進(jìn)行光學(xué)系統(tǒng)的配置和優(yōu)化。本研究還探索了不同光源和鏡頭配置對系統(tǒng)性能的影響,并進(jìn)行了相關(guān)實(shí)驗(yàn)和分析。結(jié)果表明,本研究設(shè)計(jì)的虛擬仿真教學(xué)實(shí)驗(yàn)平臺可以有效地提高學(xué)生的實(shí)踐能力和創(chuàng)新思維,為教育教學(xué)提供了新的思路和方法。