本發明涉及一種圖像處理方法,尤其涉及一種基于物理光學、計算機光流學的圖像分割方法。
背景技術:
在數字圖像應用過程中,人們往往只對圖像中的某些部分感興趣,這些感興趣的部分一般對應圖像中的對象或前景;其它部分稱為背景。為了辨識和分析目標圖像,需要把目標圖像從原始圖像中分割出來,從而對目標圖像進行后期處理。即圖像分割是圖像分析、識別的基礎。現在的圖像分割往往需要人們手動在圖像中標識出圖像的待分割區域部分。為了能夠實現將圖像中所需的部分提取出來,這就需要用戶自己動手畫出圖像中需要提取的部分,這一工作需要人們花費大量時間;另外也因為人的差異性造成分割的結果不盡相同,從而造成分割結果準確度不高,這樣就難以滿足圖像分割的精度。如何降低人為的噪聲干擾,提高圖像分割的精度,是該技術人員亟需解決的關鍵問題。
因此,目前需要本領域技術人員迫切解決的一個技術問題是:如何既降低人為的干預,又提高圖像分割的精度。
技術實現要素:
為了解決上述問題,本發明提供了一種基于單幅圖像進行圖像自動分割的方法,不需要人為干預,并且使用了現有的光流機制來完成圖像的景深計算,進而實現圖像的自動分割。
為了實現上述目的,本發明提供了一種圖像分割方法,包括以下步驟:
步驟s1:將平面鏡放置于目標場景的一側,對目標場景進行拍照,獲取包含目標場景實景和虛景的一副圖像;
步驟s2:根據獲取的圖像計算得到前背景分布圖;
步驟s3:根據前背景分布圖獲取分割線,應用于原圖像上。
所述步驟s2包括:
步驟s21:對該照片進行分析計算得到相對景深圖;
步驟s22:根據該相對景深圖得到前背景標識圖;
步驟s23:利用該前背景標識圖和原圖像在摳圖算法下得到前背景分布圖。
所述步驟s21包括:
步驟s211:對圖像在實景與虛景部分邊界線處進行裁剪;
步驟s212:比較實景和虛景部分的面積大小,對面積較小的部分進行填充,使兩部分面積相同;
步驟s213:對虛景部分以邊界線為中心翻轉180°;
步驟s214:計算實景和虛景部分的光流大小,得到兩部分中相同物體區域的光流大小δy;
步驟s215:設f表示相機焦距,d表示相機距離鏡子的直線距離,c和c'分別是實景和虛景中相應點a和a’到相機感光元器件平面上的映射點,occ和occ'分別是實景和虛景部分中物體距離照片中間oc的距離,△y=occ'-occ,α表示平面鏡與相機光軸之間的夾角,計算景深:
步驟s216:根據景深計算公式獲取最大景深,根據最大景深將景深圖進行歸一化得到相對景深。
所述步驟s22包括:
步驟s221:針對相對景深圖的直方圖,從右到左尋找第一個經過波峰后的波谷,該波谷所在值設置為閾值a;
步驟s222:將閾值a應用到相對景深圖上,小于閾值a的認為是前景,大于閾值a的認為是背景,等于閾值a的區域對其進行膨脹操作,得到前背景標識圖。
所述步驟s23中摳圖算法為:基于學習的摳圖算法。
所述步驟s3包括:
步驟s31:對前背景分布圖做直方圖,找到兩個波峰,取兩個波峰之間的值作為閾值b,將閾值b用在前背景分布圖上,對前背景分布圖進行分割,找到分割線;
步驟s32:將此分割線應用在原圖像上,完成分割。
根據本發明的另一方面,還提供一種圖像分割系統,其特征是,包括:拍照裝置和計算裝置;
拍照裝置包括相機和平面鏡,其中,平面鏡放置于目標場景的一側;
計算裝置包括:
圖像分析模塊,用于根據由拍照裝置獲取的圖像,計算前背景分布圖,其中,由拍照裝置獲取的圖像包含目標場景的實景和虛景;
圖像分割模塊,用于根據前背景分布圖獲取分割線,應用于原圖像上。
所述圖像分析模塊包括:
相對景深圖獲取單元,用于對該照片進行分析計算得到相對景深圖;
前背景標識圖獲取單元,用于根據該相對景深圖得到前背景標識圖;
前背景分布圖獲取單元,用于利用該前背景標識圖和原圖像在摳圖算法下得到前背景分布圖。
相對景深圖獲取單元執行以下處理:
對圖像在實景與虛景部分邊界線處進行裁剪;
比較實景和虛景部分的面積大小,對面積較小的部分進行填充,使兩部分面積相同;
對虛景部分以邊界線為中心翻轉180°;
計算實景和虛景部分的光流大小,得到兩部分中相同物體區域的光流大小δy;
設f表示相機焦距,d表示相機距離鏡子的直線距離,c和c'分別是實景和虛景中相應點a和a’到相機感光元器件平面上的映射點,occ和occ'分別是實景和虛景部分中物體距離照片中間oc的距離,△y=occ'-occ,α表示平面鏡與相機光軸之間的夾角,計算景深:
根據景深計算公式獲取最大景深,根據最大景深將景深圖進行歸一化得到相對景深。
所述前背景標識圖獲取單元執行以下處理:
針對相對景深圖的直方圖,從右到左尋找第一個經過波峰后的波谷,該波谷所在值設置為閾值a;
將閾值a應用到相對景深圖上,小于閾值a的認為是前景,大于閾值a的認為是背景,等于閾值a的區域對其進行膨脹操作,得到前背景標識圖。
所述前背景分布圖獲取單元中采用的摳圖算法為:基于學習的摳圖算法。
所述圖像分割模塊,包括:
分割線提取單元,用于對前背景分布圖做直方圖,找到兩個波峰,取兩個波峰之間的值作為閾值b,將閾值b用在前背景分布圖上,對前背景分布圖進行分割,找到分割線;
圖像分割單元,用于再將此分割線應用在原圖像上,完成分割。
本發明的有益效果:
1、本發明借助平面鏡,同時獲取了目標場景的實景和虛景,較傳統的基于單幅圖像的圖像分割方法而言,提供了更多圖像信息,提高了圖像分割精度;
2、本發明計算景深過程中引入了光流法,使得分割不需要人為介入,并且加快了算法效率。
附圖說明
圖1是本發明實施例提供的圖像分割方法的流程示意圖;
圖2是本發明實施例提供的以香水瓶為例的圖像分割方法的流程示意圖;
圖3是本發明實施例提供的拍照系統示意圖;
圖4是本發明實施例提供的一張拍照系統得到的照片;
圖5是本發明實施例提供的照片并將其處理得到相對景深的流程示意圖;
圖6是本發明實施例中拍照系統在坐標系下的坐標示意圖;
圖7是本發明實施例根據相對景深的直方圖得到的前背景標識圖;
圖8是本發明實施例提供的前背景標識圖結合摳圖算法得到的前背景分布圖;
圖9是本發明實施例提供的前背景分布圖并完成最后的圖像分割;
圖10是本發明實施例提供的圖像分割系統示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本發明中的技術方案,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都應當屬于本發明保護的范圍。
為了更清楚地描述基于單幅圖像實現圖像自動分割的方法,在本發明實施例以平面鏡外加單反相機組成的拍照系統并對室內香水瓶進行自動分割為例進行詳細描述。
實施例1:
參見圖1,是本發明實施例提供的一種圖像分割方法的流程示意圖(圖2給出了對室內香水瓶進行自動分割的詳細描述),該方法步驟包括:
步驟s1:將平面鏡放置于目標場景的一側,對目標場景進行拍照,獲取包含目標場景實景和虛景的一副圖像;
如圖3所示,本發明實施例所采用的相機為佳能eos760d單反相機,拍照時,需要測得平面鏡與相機光軸之間的夾角。在此發明實施例中平面鏡與相機光軸間的夾角為0;拍照需滿足:相機沒有光學畸變;平面鏡幾乎沒有第二反射層,且幾乎沒有偏色。
平面鏡的第二反射層是指由于平面鏡的玻璃層導致光線在經過反射層首次反射后還會經過玻璃上層的第二次反射;平面鏡的偏色是指在反射原有目標場景之后由反射層或者玻璃層導致經過出的光線帶有顏色色差。
相機光軸是指垂直于相機感光元件的坐標軸,該坐標軸往往會經過相機感光元件的中心位置且垂直于相機感光元件,而且方向為從相機感光元件經過相機鏡頭到無窮遠處。
平面鏡與相機光軸間的夾角為相機光軸與平面鏡之間各個方向線夾角的最小夾角。本文設置一個夾角的正值和負值,當相機光軸與平面鏡相交時,夾角為負;相反,夾角為正。
在該拍照系統下拍攝的照片需要將其分為實景部分和虛景部分。實景部分是指目標場景沒有經過光學反射直接由相機拍攝到的部分;而虛景部分則是目標場景經過平面鏡反射后由相機捕捉到的部分。如圖4所示,是本發明實施例中拍照系統所拍的一幅照片。為了更方便的闡述本發明實施例,在本發明實施例中默認所拍照片的實景部分在上,虛景部分在下。本領域技術人員應當理解,只要拍攝的照片中同時包含物體的實景和虛景,均可采用本發明的方法實現圖像分割。
步驟s2:根據獲取的圖像計算得到前背景分布圖;
所述s2包括:
步驟s21:對該照片進行分析計算得到相對景深圖(具體流程如圖5);
在得到圖像的實景部分和虛景部分,需要對這兩部分計算光流。光流是指兩部分圖像中相同物體或顏色或部位在各自部分的位置差異,單位往往是像素數量。這種位置差異即有大小也有方向,分別用來標識實景部分或者虛景部分之間的差異大小和虛景部分相對于實景部分是升高了還是降低了的方向問題。
根據這種位置差異、景深計算公式和夾角可求得目標場景的景深,我們一般使用相對景深。景深計算公式是由小孔成像、光線反射和三角相似計算得出。相對景深是把景深計算中最大的景深作為標準,用其他景深與之進行對比,最后得到一個關于最大景深的相對景深圖。
所述步驟s21包括:
步驟s211:對圖像在實景與虛景部分邊界線處進行裁剪;
步驟s212:比較實景和虛景部分的面積大小,對面積較小的部分進行填充,使兩部分面積相同;
判斷實景部分和虛景部分哪一部分面積更大,對面積更小的進行以下操作:如果實景部分面積更小,需要在實景部分下邊添加空白區域使其面積與虛景面積相同;如果虛景部分面積更小,需要在虛景部分上邊添加空白區域,使其面積與實景部分相同。
步驟s213:對虛景部分以邊界線為中心翻轉180°;
本實施例中平面鏡與相機光軸間的夾角為0,因而翻轉的效果為實景部分不發生變化,虛景部分上下翻轉。
步驟s214:計算實景和虛景部分的光流大小,得到兩部分中相同物體區域的光流大小δy;做法為將這兩部分交給相應的圖形匹配或光流算法處理。
步驟s215:根據所得到光流和根據光學分析得到的景深計算公式來計算景深距離,參照圖6。將拍照系統放入坐標系中,以相機小孔作為坐標系原點且x軸垂直于相機感光元器件平面,另外y軸與鏡子平行。我們取出三維坐標系中的xoz平面。那么鏡子兩種旋轉情況下的示意圖如圖6所示。
其中f表示的是拍照系統在拍照時所獲得的焦距。d是指相機距離鏡子的直線距離,c和c'分別是實景和虛景中相應點a和a’到相機感光元器件平面上的映射點,occ和occ'分別是實景和虛景中物體距離照片中間oc的距離。而△y=occ'-occ,α指的是平面鏡與相機光軸之間的夾角,那么景深計算公式為:
本發明實施例中夾角α為0,那么景深公式為:
步驟s216:根據景深計算公式獲取最大景深,根據最大景深將景深圖進行歸一化得到相對景深。
步驟s22:根據該相對景深圖得到前背景標識圖(如圖7);
使用相對景深的直方圖根據來判斷得到相對景深的閾值。直方圖是一種可以反映圖像中各個像素值的分布情況,縱坐標往往是各像素值相對應的像素數量,橫坐標往往是相對景深圖中各個像素值。
所述步驟s22包括:
步驟s221:針對相對景深圖的直方圖,從右到左尋找第一個經過波峰后的波谷,該波谷所在值設置為閾值a;
步驟s222:將閾值a應用到相對景深圖上,小于閾值a的認為是前景,大于閾值a的認為是背景,等于閾值a的區域對其進行膨脹操作,得到前背景標識圖。步驟s23:利用該前背景標識圖和原圖像在摳圖算法下得到前背景分布圖(如圖8)。
本發明的實施例中將前背景標識圖和原圖像經裁剪得到的實景部分作為摳圖算法的輸入,得到前背景分布圖。
所述步驟s23中摳圖算法為:基于學習的摳圖算法。在具體實施中還可以使用其他摳圖算法。
將根據直方圖得到的前背景標識圖和摳圖算法結合得到前背景分布圖。前背景標識圖是一種用三種不同顏色標識出圖像前景、背景和前背景之間區域的圖像,它可以與摳圖算法搭配來完成摳圖。摳圖算法是一種可以根據前背景標識圖和原圖像來分出圖像前景、背景的算法。
步驟s3:根據前背景分布圖獲取分割線,應用于原圖像上(如圖9)。
根據得到的前背景分布圖再結合之前得到的直方圖閾值,最后可以找到分割圖像的分割線。
所述步驟s3包括:
步驟s31:對前背景分布圖做直方圖,找到兩個波峰,取兩個波峰之間的值作為閾值b,將閾值b用在前背景分布圖上,對前背景分布圖進行分割,找到分割線;
步驟s32:將此分割線應用在原圖像上,完成分割。
本發明的實施例中是將分割線應用在由原圖像裁剪得到的實景部分圖像上。
實施例2:
根據實施例1中的圖像分割方法,本發明還提供了一種圖像分割系統,如圖10,包括:拍照裝置和計算裝置;
拍照裝置包括相機和平面鏡,其中,平面鏡放置于目標場景的一側;
計算裝置包括:
圖像分析模塊,用于根據由拍照裝置獲取的圖像,計算前背景分布圖,其中,由拍照裝置獲取的圖像包含目標場景的實景和虛景;
圖像分割模塊,用于根據前背景分布圖獲取分割線,應用于原圖像上。
如圖2所示該拍照裝置包括:佳能eos760d單反相機,一面平面鏡。使用該拍照系統時,需要測得平面鏡與相機光軸之間的夾角。在此發明實施例中平面鏡與相機光軸間的夾角為0;該拍照裝置要求:相機沒有光學畸變;平面鏡幾乎沒有第二反射層,且幾乎沒有偏色。
相機沒有光學畸變是指在圖像中的物體并不會因為光線經過光學鏡頭而發生形變;即要求相機滿足一般的小孔成像。
進一步地,所述圖像分析模塊包括:
相對景深圖獲取單元,用于對該照片進行分析計算得到相對景深圖;
前背景標識圖獲取單元,用于根據該相對景深圖得到前背景標識圖;
前背景分布圖獲取單元,用于利用該前背景標識圖和原圖像在摳圖算法下得到前背景分布圖。
進一步地,相對景深圖獲取單元執行以下處理:
對圖像在實景與虛景部分邊界線處進行裁剪;
比較實景和虛景部分的面積大小,對面積較小的部分進行填充,使兩部分面積相同;
對虛景部分以邊界線為中心翻轉180°;
計算實景和虛景部分的光流大小,得到兩部分中相同物體區域的光流大小δy;
設f表示相機焦距,d表示相機距離鏡子的直線距離,c和c'分別是實景和虛景中相應點a和a’到相機感光元器件平面上的映射點,occ和occ'分別是實景和虛景部分中物體距離照片中間oc的距離,△y=occ'-occ,α表示平面鏡與相機光軸之間的夾角,計算相對景深:
根據景深計算公式獲取最大景深,根據最大景深將景深圖進行歸一化得到相對景深。
進一步地,所述前背景標識圖獲取單元執行以下處理:
針對相對景深圖的直方圖,從右到左尋找第一個經過波峰后的波谷,該波谷所在值設置為閾值a;
將閾值a應用到相對景深圖上,小于閾值a的認為是前景,大于閾值a的認為是背景,等于閾值a的區域對其進行膨脹操作,得到前背景標識圖。
進一步地,所述前背景分布圖獲取單元中采用的摳圖算法為:基于學習的摳圖算法。
本發明的實施例中將前背景標識圖和原圖像經裁剪得到的實景部分作為摳圖算法的輸入,得到前背景分布圖。
進一步地,所述圖像分割模塊,包括:
分割線提取單元,用于對前背景分布圖做直方圖,找到兩個波峰,取兩個波峰之間的值作為閾值b,將閾值b用在前背景分布圖上,對前背景分布圖進行分割,找到分割線;
圖像分割單元,用于將此分割線應用在原圖像上,完成分割。
本發明的實施例中是將分割線應用在由原圖像裁剪得到的實景部分圖像上。
由于上述系統基于實施例1中的方法,具體的實施細節參照實施例1中的方法即可。
圖像分割技術是圖像識別和分析的基礎,在各領域都有廣泛應用。本發明對物體成像時引入了平面鏡,平面鏡的使用相當于同時提供了目標物體兩個視角的圖像,相較于傳統的基于單幅圖像的圖像分割方法,其提供了更豐富的目標信息,能夠很大程度上提高圖像的分割精度。本發明的技術方案可以擴展至其他眾多領域圖像的分割,例如指紋識別、工業自動化過程中的產品檢驗、圖像搜索、圖像匹配或三維建模所需的特征提取等方面。
本領域技術人員應該明白,上述的本發明的各模塊或各步驟可以用通用的計算機裝置來實現,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。本發明不限制于任何特定的硬件和軟件的結合。
上述雖然結合附圖對本發明的具體實施方式進行了描述,但并非對本發明保護范圍的限制,所屬領域技術人員應該明白,在本發明的技術方案的基礎上,本領域技術人員不需要付出創造性勞動即可做出的各種修改或變形仍在本發明的保護范圍以內。