基于數(shù)據(jù)的軟性陰影去除方法
【技術領域】
[0001] 本發(fā)明涉及計算機圖像處理技術領域,是基于數(shù)據(jù)的軟性陰影去除方法。
【背景技術】
[0002] 因為目前非專業(yè)人員對圖片預處理的要求越來越多,智能化的圖像編輯算法愈加 被需要??v觀各種商業(yè)軟件和圖像處理團體開發(fā)的研究原型中的各種可行技術,柔性陰影 操作是其中被研究最多并且十分重要的問題。由于陰影是獲取形狀、曲率、高度的重要線 索,無數(shù)的網(wǎng)上教程試圖教它們的使用者如何用單調遮蔽和閾值化處理方法將陰影層分離 出來。這種手動技術得到了應用,部分是因為很多真實場景有柔性陰影,而迄今為止大多數(shù) 陰影檢測和去除算法都是被開發(fā)了解決硬性陰影的。因為柔性陰影已經被表現(xiàn)出與人類判 斷一幅圖片的真假有關系,所以需要更簡單的方法去提取柔性陰影。圖像摳除提供了另一 種類型的解構方式,并且可以通過這種方式來分離前景和后景物體。原則上,這種構想也可 以用于分離軟性陰影去摳出一塊小的半影區(qū)域。一種直觀筆刷界面結合一種快速算法去交 互地摳出模糊物體,將這項技術應用到明顯的軟性陰影上的難點在于具體到優(yōu)化正確類似 的函數(shù)。一種有效的方法做陰影摳取和組合,但現(xiàn)有技術需要更多的輸入而且沒有處理寬 半影的問題。圖像修復是一種填補圖像空白區(qū)域的技術。這項技術由于今年來在商業(yè)工具 上的到了實施,因而變得成熟了很多。盡管在很多情況下非常游泳,但是它并不是一種處理 陰影去除問題的好的解決方案,因為它完全忽略了潛在的有價值信息。圖像修復方法需要 一個能夠填補缺失部分的數(shù)據(jù)源?;跀?shù)據(jù)的來源現(xiàn)有技術可以被視為兩類,a)自舉式算 法即使用圖像的剩余部分修復b)基于現(xiàn)有數(shù)據(jù)庫的方法。前者的算法更吸引人因為不必擔 心需要創(chuàng)建擴展的訓練數(shù)據(jù)組。然而,實際上,要使它衡量一般情景往往很困難。在兩個例 子中,現(xiàn)有技術的工作重心都放到了將圖片結構正確的擴展到缺失部分中去。陰影去除提 出了一種檢測陰影的方法,通過用熵最小化恢復一個一維光照不變圖像。鑒于此,現(xiàn)有技術 可以區(qū)別原圖像中的陰影和非陰影邊緣,隨后應用梯度域操作以去陰影。這一過程要求圖 像在陰影邊緣微分到〇,這在處理硬性陰影時很有用,但是當應用到寬半影時就會產生寬而 明顯的紋理帶缺失。使用圖像基于錐體化處理?,F(xiàn)有技術通過補償遮光板阻塞環(huán)境光來處 理非微本影。但是現(xiàn)有技術的方法不能狗處理復雜密集的表面例如樹葉或者沒有任何本影 的陰影。對于非統(tǒng)一的內部陰影表面評價只是在很粗糙的基礎層面,所以值將大規(guī)模的變 化納入考慮范圍。更進一步的說,在復雜陰影中它并不能清楚地計算用于參數(shù)評價的"條 紋"。此外,現(xiàn)有技術的方法還不能夠完整地處理半影,并且在修復陰影邊緣時始終避免不 了人工操作。一種修改軟性陰影的去除方法將半影模型化,通過將分段二元模型匹配到圖 像中被用戶密集標記過的區(qū)域,因此而將紋理變化從光照變化中分離出來。這使得現(xiàn)有技 術能夠處理梯度域并在將由陰影造成的梯度識別并去除后重組圖像。這個系統(tǒng)首先問用戶 輸入陰影的大概輪廓這是有陰影邊緣的控制點確定的。此外,用戶還被要求初始化半影的 寬度以及對分別各個色彩通道的陰影振幅。這一算法隨后通過匹配上述的尖削模型到或垂 直或水平的穿過半影的密集薄片進行迭代優(yōu)化,更新參數(shù)并再次優(yōu)化。這一程序是重復對 每一個陰影邊緣片段施加的(邊緣片段的數(shù)量也是有用戶規(guī)定的)而邊緣點之間的值是由 線性差值得到的。這種方法產生了可信的結果,但是太消耗人力和時間而且需要大量的計 算時間。
[0003] 在半影參數(shù)被優(yōu)化之后,用戶已經可以控制哪些梯度要從圖像中移除了。由于梯 度域操作的特性,這一方法經常將整幅圖像都做了明顯的修改,而不是僅移除陰影。最后, 這一技術要在兩個假定下操作,這兩個假定并不總是成立:一半影可以用S形的曲線精確的 模塊化,二一個本影區(qū)域一直存在。一種針對自然陰影去除的扣除方法。然而與標準去除方 法不同的是,現(xiàn)有技術將陰影扣除視為一個無陰影圖像像素分段結合的產物。盡管現(xiàn)有技 術的方法在很多陰影上都作用良好,但它需要的用戶輸入明顯多:一個四元映射即"確定在 陰影內"、"半影"、"確定在陰影外"、以及"不在內"區(qū)域。此外,現(xiàn)有技術的扣除方法需要一 個距離函數(shù)來優(yōu)化。盡管現(xiàn)有技術表示這一方法對很多自然陰影都有用,問題還是在一些 模擬情景(例如放大噪聲)中發(fā)生了,因為扣除代價函數(shù)并沒有為此而調整。
[0004] 如前面所提到的,基于摳除的方法對陰影來說是有問題的,因為其能量最小化核 心用了一個類似啟發(fā)函數(shù)。另一個問題,是上述的方法并不適合用戶輸入,因為它很難確定 哪塊陰影是應該被去除的。在較寬半影的例子中,摳除經常會遺漏細小的梯度而且根本不 能去除陰影,甚至在有用戶輸入陰影遮罩的情況下都不行。盡管這個問題可以由用改變陰 影遮罩是如何用于修改限制來解決。
【發(fā)明內容】
[0005] 本發(fā)明提供一種更可能成功去除軟性陰影的方法,與現(xiàn)有方法的處理結果共同展 示時,本發(fā)明的處理結果是看起來最自然的圖片的。
[0006] 本發(fā)明創(chuàng)建的回歸模型是通過監(jiān)督學習訓練來處理問題的:給定一個有陰影的 RGB圖片IS,本發(fā)明的目的是找出一個對應的陰影部分頂和沒有陰影的圖片IU,并滿足IS = IU*頂(*是元素智能乘法)。類似的解構在固有圖像領域也被研究過,但是本發(fā)明計算頂時 同時忽略了反射率和著色,只關注投射陰影。同樣的,本發(fā)明并沒有追求物理準確性,本發(fā) 明的實際目的是生成一個主觀觀測時看上去可信的IU。
[0007] 一種基于數(shù)據(jù)的軟性陰影去除方法,包括:
[0008] 步驟(1)、采用多個陰影圖片構成訓練集,對訓練集中每一個陰影圖片提取列特征 向量,利用所述的列特征向量訓練得到回歸因子;
[0009] 本發(fā)明建立了一個大規(guī)模的真實軟性陰影測試圖片數(shù)據(jù)庫除此之外還有一個可 供生成無數(shù)同時有軟硬性陰影場景的訓練樣本,步驟(1)中的多個陰影圖片即來自這些訓 練樣本。
[0010] 步驟⑵、將待處理的陰影圖片分割成行列排布(例如16X16)的若干網(wǎng)格,對每一 個網(wǎng)格計算出其描述性的特征向量;
[0011] 步驟(3)、使用所述的回歸因子將每一個網(wǎng)格的特征向量映射到該網(wǎng)格的陰影遮 罩分布,所有網(wǎng)格的陰影遮罩分布構成了陰影網(wǎng)格;
[0012] 步驟(4)、對所述陰影網(wǎng)格采用馬爾可夫隨機域正則化以生成紅色通道、綠色通 道、藍色通道的最大后驗陰影圖片,即獲得無陰影圖像;
[0013] 步驟(5)、在所述無陰影圖像的每一個位置使用TRW-S消息傳體算法來正則化整個 無陰影圖像以選擇出最佳的面片,該最佳的面片作為待處理的陰影圖片的軟性陰影去除結 果。
[0014] 步驟(1)中,對訓練集中每一個陰影圖片提取列特征向量時,首先對訓練集的每幅 陰影圖片子樣本化,以提取多個訓練對(例如500000對),然后對整個訓練集進行偏壓采樣, 針對偏壓采樣得到的陰影圖片提取列特征向量。
[0015] 很多面片雖然看似跟原始形態(tài)不同,但在用適當?shù)臍W幾里德變換調整后最終會表 現(xiàn)的非常相似。這是的本發(fā)明對旋轉不變數(shù)據(jù)施加了推理,利用了目前展示在標簽中的結 構。雖然通過增加使用訓練數(shù)據(jù)的數(shù)量可以得到相似的結果,本發(fā)明在沒有明顯提高訓練 時間的同時得到了同等的結果。
[0016] 步驟(1)中,所述列特征向量包括:
[0017] 用戶選擇區(qū)域中距邊緣的正則化距離,其值位于[0.0,1.0]內;
[0018] 陰影圖片基于初始猜想的預測遮罩;
[0019] 陰影圖片的垂直和水平梯度;
[0020] 陰影圖片的像素亮度值,其值在[0.0,1.0]的范圍內。
[0021] 其中面片亮度值是正則化的,因為其沒有直接與遮罩相關(給出一個陰影亮度面 片,是不可能確定他是在明亮背景上的陰影或者是在暗背景下的明亮陰影)。所以本發(fā)明給 出推理算法處理那些可能支持結論的特征(例如暗指陰影的斜率),但是沒有在絕對亮度上 沒有混亂差異。盡管根據(jù)梯度這些信息理論上是多余的,但它在不損害其性能的前提下給 隨機森林提供了更多的選擇用以區(qū)別。
[0022] 步驟(1)中,訓練所述的列特征向量時,采用改進的隨機森林。
[0023] 本發(fā)明選擇使用隨機森林作為推理機制一方面是由于它的通用性另一方面是由 于它被廣泛使用。下面是本發(fā)明對傳統(tǒng)隨機森林算法的介紹和改進方法以及改進現(xiàn)有技術 的原因:
[0024