陳 軒,宋根龍,田 彤,李 毅
(溫州大學 計算機與人工智能學院,浙江 溫州 325000)
近年來虛擬現實和圖像處理技術飛速發展,再加上虛擬現實[1-2]沉浸感和交互性的特點,使它逐漸廣泛應用于各行各業,在教育、軍事、娛樂、游戲等領域虛擬現實技術正發揮著越來越重要的作用。立體視覺技術[3]是模擬人類視覺處理物體的方式,因此被逐漸應用于虛擬現實、增強現實、三維重建、人機交互等領域[3-4],尤其是在娛樂方面發揮著重要作用,通過移動攝像頭、頭盔式顯示器等硬件設備,用戶能夠體驗真實的沉浸感,融入虛擬場景,增加體驗感。結合深度攝像頭Kinect的動作捕捉、Leap motion手勢識別等硬件設備,用戶能夠實時地與視頻圖像對象進行交互,立體圖像的引入能夠對交互體驗增強沉浸感的效果。因此,圖像立體視覺受到了研究人員的廣泛關注,成為當下的研究熱點。
但立體視覺技術存在精度低、效率低、建模成本高、應用受硬件條件的限制等各種問題。針對這些問題,虛擬現實增強技術[5-6]將虛擬環境與現實環境進行匹配合成以實現虛擬物體與實際場景的有效融合,其中將三維虛擬對象疊加到真實世界顯示的技術稱為增強現實,將真實對象的信息疊加到虛擬環境繪制的技術稱為增強虛擬環境。研究人員利用基于GAN的深度神經網絡,對于人臉關鍵特征區域的卡通風格話生成,能夠有效地應用于娛樂短視頻等實時卡通貼圖中[7]。
文獻[8]提出利用深度攝像機進行三維建模,在特征檢測環節,可對物體的特征等實現幾何構建,通過像素特點進行重組,可以有效提升三維重建的速度。針對精度低的問題,文獻[9]通過利用雙目立體視覺測距技術根據立體匹配的約束關系,通過借鑒黑白棋盤的模式進行標定,利用OpenCV圖像處理得到實驗相機的內外角點坐標參數,根據計算目標物體和相機之間的實際距離、目標物體的三維坐標以及兩點之間的實際距離,提高了目標物體的識別率。
文中提出了一種基于圖像邊緣特征檢測的邊緣建影算法,利用單張圖像的邊緣輪廓提取生成陰影的方法來構建單目立體視覺的仿真效果。通過圖像矯正,使該算法可以廣泛應用于各類復雜場景,利用圖像分割技術對矯正后的圖像進行分割,得到圖像邊緣特征信息,結合仿射變換技術將得到的圖像邊緣特征經過處理,得到物體的陰影,最后和原圖像進行融合得到目標圖像,使圖像產生立體化的效果。
Grabcut圖像分割算法[10-11]是一種通用性強、效果好、可以從復雜背景中提取分割目標的交互式分割算法。是當前比較實用的圖像分割算法之一,主要功能是從分割圖像中分離出前后景。該算法需要用戶的交互操作來完善分割效果,使用高斯混合模型對圖像建模,并引入迭代估計法實現能量最小化得到分割結果。
算法基本思想:首先通過用戶簡單交互得到前景和背景樣本,然后對前景、背景區域建立GMM(高斯混合模型),并利用無監督聚類算法初始化GMM,然后分別計算節點到前景或背景的距離和相鄰節點之間的距離,獲得分割能量權重,對未知區域構造s-t網絡圖,采用最大流最小割算法對其進行切分。Grabcut[12]算法的分割過程是通過不斷迭代更新、修正GMM參數,使算法趨于收斂。由于迭代過程中優化了參數,使得分割能量E逐漸減少,能夠保證E收斂于最小值,最終實現圖像分割。
二維圖像控件中,仿射變換[13]是二維坐標到二維坐標之間的線性變換,可以保持圖像的“平直性”和“平行性”。仿射變換可以通過一系列的原子變換的復合來實現,包括平移、縮放、翻轉、旋轉和剪切等。
1.3.1 傅里葉變換
對一張圖像使用傅里葉變換[14]是將它分解成正弦和余弦部分,將圖像從空間域轉換到頻域。在頻域里面,對于一幅圖像,高頻部分代表了圖像的細節、紋理信息;低頻部分代表了圖像的輪廓信息。如果對一幅精細的圖像使用低通濾波器,那么濾波后的結果就只剩下輪廓了。傅里葉變換在圖像處理中可以做到圖像増強與圖像去噪、圖像分割之邊緣檢測、圖像特征提取、圖像壓縮等。
1.3.2 Hough(霍夫)變換
Hough變換[15-16]是一種利用圖像的全局特征將特定形狀的邊緣連接起來,形成連續平滑邊緣的方法。它通過將源圖像上的點映射到用于累加的參數空間,實現對已知解析式曲線的識別。圖像上任意直線區域都可以一一對應參數空間中的一個點,而圖像上的任意像素都同時存在于很多直線區域之上,當圖像上的某個直線區域包含的特定像素足夠多時,就可以認為這個直線區域表示的直線存在。
基于圖像邊緣特征檢測的單目立體視覺算法的基本步驟包括圖像矯正、圖像分割、仿射變換、圖像融合,流程如圖1所示。

圖1 基于圖像邊緣特征檢測單目立體視覺算法流程
圖像矯正的作用是可以將算法更廣泛地應用于各類圖像,將有些發生偏移畸變的圖像進行矯正,使產生的效果更加真實。
圖像矯正主要分為三個步驟,第一步為對圖像進行灰度化,然后將圖像延展到合適的尺寸,可以提高運行速度,然后對圖像執行傅里葉變換得到頻域圖像。在頻域里面,對于一幅圖像,高頻部分代表了圖像的細節、紋理信息;低頻部分代表了圖像的輪廓信息。二維圖像的傅里葉變換如公式(1)表示:

eix=cosx+isinx
(1)
式中,f是空間域(spatial domain)值,F是頻域(frequency domain)值。轉換之后的頻域值是復數。因此,顯示傅里葉變換之后的結果需要使用實數圖像(real image)加虛數圖像(complex image),或者幅度圖像(magnitude image)加相位圖像(phase image)的形式。第二步是將頻域圖像二值化,然后對二值化后的圖像進行霍夫直線變換得到預期的直線;第三步通過計算得到偏移的角度,然后將原圖像按照偏移角度對圖像進行仿射變換,效果如圖2所示。

圖2 圖像矯正效果
圖像分割的作用是將圖像的前景和背景分離,能直接對圖像的輪廓進行處理。
圖像分割包括兩個步驟,第一步首先要先加載圖片,通過鼠標點擊確定初始位置,松開鼠標確定最終位置,形成矩形的兩個對角點,矩形區域為截取需要分割的區域,然后使用文中算法通過交互界面對矩形區域進行處理,得到需要分割的區域。
文中算法把圖像像素分為{B,F,PF,PB},其中B表示確定的背景像素點,F表示確定的前景點,PF、PB表示可能的前景點和后景點。在使用文中算法的過程中,用戶需要先通過矩形框選擇要分割的區域,區域外的為確定的背景像素點,矩形可能為前景點,也可能為背景的像素點,需要對矩形區域的圖像進行操作,對于分割效果不好的區域使用交互系統標記,然后再次分割,直到達到理想的效果,如圖3所示。

圖3 圖像局部區域分割效果
該步驟的目的是為生成陰影提供圖像,將處理好的二值圖像作為仿射變換的輸入圖像。對于得到的分割區域圖像,需要進行相應的操作,轉化為二值化圖像,才能通過后面的操作將分割區域轉化為物體陰影。首先對得到的圖像灰度化,然后對圖像進行去噪,然后對圖像使用自適應閾值變換,得到二值化圖像后可能邊緣不是很清楚,需要進行圖像形態學處理。由于圖像在處理的過程中,圖片的細節會發生丟失,會干擾后面圖像生成陰影的效果,因此分別執行1次形態學腐蝕和膨脹,使圖像細節更清晰。然后使用函數獲取圖像輪廓信息,并在原圖像上畫出分割圖像的輪廓,效果如圖4所示。

圖4 圖像局部特征二值化和輪廓圖
此處使用仿射變換的目的為通過選擇的點的變換,進而使圖像上的點都按相同的偏移方式進行變換。仿射變換[17]代表的是兩幅圖之間的一種映射。通常使用2×3的矩陣來表示仿射變換。
(2)

T=M·[XY1]T
或


(3)
通常仿射變換基本標識的是兩幅圖片之間的聯系。這種聯系可以通過已知M和X,應用算式T=M·X得到T。對于這種聯系的信息可以用矩陣M表示(即給出明確的2×3矩陣)或者也可以用兩幅圖片點之間的幾何關系來表示。因為矩陣M聯系著兩幅圖片,以其表示兩圖中各三點直接的聯系,能通過這樣兩組點求出仿射變換(可以任選點),然后就能把仿射變換應用到圖像中所有點。
具體操作為在初始輸入的圖像中選取2組點,如圖5所示,首先在物體的底部選取兩個點,然后在物體的頂部選取一個點,這是第一組點;然后再選取一個點作為仿射變換后形成陰影頂部的點所在位置,然后和首次物體底部兩個點作為第二組點,作為參數,得到變換的矩陣,通過這個矩陣應用到得到的二值圖像上,得到物體近似陰影。通過這些操作,可以將仿射變換得到的陰影的底部與原物體底部位置保持一致,效果如圖5所示。

圖5 局部區域分割的仿射變換效果
這一步的目的是將得到的陰影與原圖像相融合,最終實現圖像陰影的效果。具體操作為首先將得到的二值圖像進行反色操作,將圖像中的黑色區域和白色區域互換,然后和通過仿射變換得到的陰影按照w1:w2的權重進行融合,其中w1,w2取1,以此去掉相融的部分。然后將得到的圖像和原圖像按照w3:w4的權重進行融合,w3取0.85,w4取0.15使陰影出現在原圖像上,最終達到圖像帶有陰影使之產生視覺上立體化的效果,如圖6所示。
為了測試文中算法的普適性與有效性,采用文中算法對不同的圖像進行處理,得到物體近似的陰影。實驗環境:Windows10 64位操作系統,Intel(R) Core(TM) I7-5500U CPU @ 2.40 GHz,8G內存,編程語言為Python 3.7,編譯環境為Pycharm。實驗結果如圖7所示。

圖6 處理后陰影圖像和生成圖

圖7 實驗結果
由圖8的直方圖分布可以看出,圖7(1)和圖7(2)的初始圖像類似,都屬于簡單背景下的圖像。從這兩幅圖的實驗結果可以看出,該算法在簡單背景下對單個物體的成影與多個物體的成影都能實現理想的陰影生成效果。

圖8 圖7(1)(a)和圖7(2)(a)的直方圖對比
從圖9的直方圖分布可以看出,圖7(1)和圖7(3)的初始圖像不屬于同一種類型,圖7(1)的初始圖像為簡單背景下的圖像,圖7(3)的初始圖像則為復雜背景下的圖像。從圖7(1)和圖7(3)的目標圖像可以看出,無論是簡單背景圖像還是復雜背景圖像,該算法都能實現良好的成影效果。

圖9 圖7(1)(a)和圖7(3)(a)的直方圖對比
圖10的直方圖分布可以看出,圖7(3)和圖7(4)的初始圖像都屬于復雜背景下的圖像,它們的區別為圖7(3)是動物的圖像,圖7(4)是人的圖像,并且一張圖像為側面圖,另一張為正面圖,同時圖像中物體與地面接觸區域大小不同。從圖7(3)和7(4)的結果圖像可以看出,該算法對于一些側面圖像也有很好的效果,對于觸地區域的增加,該算法產生的陰影能很好地呈現物體的細節。

圖10 圖7(3)(a)和圖7(4)(a)的直方圖對比
實驗結果可以說明,文中算法具有較強的魯棒性和適用性,針對不同的目標分割圖像,都能對應生成該物體的簡易陰影,使圖像產生立體化的效果。
針對當前虛擬現實技術和立體視覺技術存在建模成本高、效率低、受硬件條件限制等問題,提出了一種基于圖像邊緣特征檢測的邊緣建影算法,它通過圖像矯正、圖像分割、仿射變換等圖像處理方法實現了通過簡單的操作可以使圖像產生立體化的效果。實驗結果表明,該算法能適用于簡單背景和復雜背景下簡單物體的圖像,能產生良好的效果。但由于對圖像的陰影生成,是由交互選點生成,具體的效果取決于圖像中物體的位置和相關點的選擇;對于一些物體正面的圖像效果會很明顯,對于一些不是正面的圖像效果就不是很明顯,且由于成影是陰影圖片和原圖片相融合,由于融合算法選擇的不同最終效果也會不同。為解決這些問題,需要根據圖像的不同和相對位置不同的圖像自動選擇合適的點,且需要對于融合算法根據成像的需要進行相關改進,使成像效果更好,立體化效果更明顯。由于文中采用了交互式特征區域提取的Grabcut方法獲取目標分割區域,在后續研究中,將通過探索基于神經網絡的圖像特征檢測與語義分割的算法,使圖像分割建影算法更具通用性,并且克服復雜環境因素所帶來的圖像分割影像。