使用本征圖像進行數字圖像信號壓縮的系統和方法
【專利摘要】在本發明的第一典型實施例中,提供一種用于處理圖像的自動化且計算機化的方法。根據本發明的特征,所述方法包括以下步驟:在計算機存儲器中提供描述圖像的圖像文件;生成與所述圖像相對應的本征圖像;以及對所述本征圖像進行壓縮以提供壓縮本征圖像。
【專利說明】使用本征圖像進行數字圖像信號壓縮的系統和方法
【背景技術】
[0001]現代計算機技術的許多重大和商業上重要的用途涉及圖像。這些包括圖像處理、圖像分析和計算機視覺應用。在例如諸如對象識別和光學字符識別等的計算機視覺應用中,已發現圖像的光照和材質方面的分離可以顯著提高計算機性能的精度和速度。在 Richard Mark Friedhoff 擁有的標題為 Differentiation Of Illumination AndReflection Boundaries 的美國專利 7, 873, 219 和 Richard Mark Friedhoff 等人擁有的標題為Method And System For Identifying Illumination Flux In An Image 的美國專利7,672,530(以下稱為Friedhoff專利)中公開了與圖像的光照和材質方面有關的重要開創性發明。
【發明內容】
[0002]本發明提供對Friedhoff專利的基本教導的改進和提高,并且包括包含用于精確且正確地生成可以應用在數字圖像信號壓縮算法中的本征圖像(intrinsic image)的圖像技術的方法和系統,以在例如數據傳輸中獲得改進的結果。
[0003]在本發明的第一典型實施例中,提供一種用于處理圖像的自動化且計算機化的方法。根據本發明的特征,所述方法包括以下步驟:在計算機存儲器中提供描述圖像的圖像文件;生成與所述圖像相對應的本征圖像;以及對所述本征圖像進行壓縮以提供壓縮本征圖像。
[0004]在本發明的第二典型實施例中,提供一種計算機系統。所述計算機系統包括CPU和存儲有包含圖像的圖像文件的存儲器。根據本發明的特征,CPU被配置為執行例程以生成與所述圖像相對應的本征圖像,并且對所述本征圖像進行壓縮以提供壓縮本征圖像。
[0005]在本發明的第三典型實施例中,提供一種計算機程序產品,其配置在計算機可讀介質上,所述計算機程序產品包括計算機可執行處理步驟,該步驟能夠用于控制計算機以:在計算機存儲器中提供描述圖像的圖像文件;生成與所述圖像相對應的本征圖像;以及對所述本征圖像進行壓縮以提供壓縮本征圖像。
[0006]在本發明的第四典型實施例中,提供一種用于處理圖像的自動化且計算機化的方法。根據本發明的特征,所述方法包括接收壓縮本征圖像的步驟。
[0007]在本發明的第五典型實施例中,一種裝置被配置為接收壓縮本征圖像。
[0008]在本發明的第六典型實施例中,提供一種配置在計算機可讀介質上的計算機程序產品。所述計算機程序產品包括能夠用于控制計算機以接收壓縮本征圖像的計算機可執行處理步驟。
[0009]根據本發明的又一實施例,提供包括被配置為(例如,被編程為)進行上述方法的一個或多個計算機的計算機系統。根據本發明的其它實施例,提供存儲有可用于控制計算機以實現上述實施例的計算機可執行處理步驟的非瞬態計算機可讀介質。本發明將計算機可讀介質視為體現計算機為了執行本發明的方法而可使用的、包括作為如集成電路芯片那樣的硬件電路所實現的指令的信息的任何產品。可以利用數字計算機、模擬計算機、光學傳感器、狀態機、定序器、集成芯片或者可被設計為或編程為執行本發明的方法的步驟的任何裝置或設備來進行該自動化且計算機化的方法。
【專利附圖】
【附圖說明】
[0010]圖1是被配置為進行與圖像有關的運算的計算機系統的框圖。
[0011]圖2示出圖1的計算機系統中所存儲的圖像的nXm像素陣列圖像文件。
[0012]圖3a是根據本發明的特征的、用于在圖2的圖像文件中識別C型表征(token)區域的流程圖。
[0013]圖3b是在C型表征的識別中用作示例的原始圖像。
[0014]圖3c示出圖3b的圖像中的C型表征區域。
[0015]圖3d示出根據本發明的特征的、基于圖3c的C型表征所生成的B型表征。
[0016]圖4是根據本發明的特征的、用以測試通過圖3a的流程圖的例程所識別出的C型表征的例程的流程圖。
[0017]圖5是根據本發明的特征的、對數顏色空間色度平面的圖形表示。
[0018]圖6是用于確定輸入圖像中所描述的顏色的列表的流程圖。
[0019]圖7是根據本發明的特征的、用于確定對數色度空間的方向的流程圖。
[0020]圖8是根據本發明的特征的、用于確定如通過執行圖6的例程所確定的輸入圖像的顏色的對數色度坐標的流程圖。
[0021]圖9是根據本發明的特征的、用于擴充如通過執行圖8的例程所確定的對數色度坐標的流程圖。
[0022]圖10是根據本發明的特征的、用于將對數色度坐標進行聚類的流程圖。
[0023]圖11是根據本發明的特征的、用于將對數色度坐標分配至通過執行圖10的例程所確定的簇的流程圖。
[0024]圖12是根據本發明的特征的、用于基于對數色度聚類來檢測具有均勻反射率的區域的流程圖。
[0025]圖13是用于根據相同材質約束來識別并分離圖像的光照和材質方面以生成本征圖像的[A] [x] = [b]矩陣關系的表示。
[0026]圖14示出包括與圖3b的原始圖像相對應的光照圖像和材質圖像的本征圖像。
[0027]圖15是根據本發明的特征的、用于對本征圖像進行壓縮的流程圖。
[0028]圖16是根據本發明的特征的、用于對本征圖像進行解壓縮的流程圖。
【具體實施方式】
[0029]現在參考附圖,并且首先參考圖1,示出被配置為進行與圖像有關的運算的計算機系統10的框圖。CPU12經由例如USB端口連接至例如數字照相機14等的裝置。該數據照相機可以包括視頻數字照相機。數字照相機14工作以將本地存儲在照相機14上的圖像下載到CPU12。CPU12將所下載的圖像作為圖像文件18存儲在存儲器16中。圖像文件18可以由CPU12進行訪問以顯示在監視器20上或者在打印機22上打印出。存儲器16可以包括任何臨時性或永久性的數據存儲裝置。
[0030]此外,計算機系統10包括對象數據庫24,其中該對象數據庫24存儲與存儲器16中所存儲的圖像文件18中可能出現的各種對象有關的信息。該信息包括與數據庫24中所存儲的各對象的材質構成和材質反射顏色有關的信息。如圖1所示,該對象數據庫連接至CPU12。CPU12還連接至因特網26,以訪問網站28。網站28包括如下網站,這些網站包含與在圖像文件18中可能出現的對象有關的、例如對象的材質構成和材質反射顏色等的信息,并且提供對象數據庫的其它來源。網站28還包括被配置為從CPU12接收經由因特網26所發送的圖像文件18的網站。
[0031]可選地,可以將CPU12作為嵌入在例如數字照相機14或機器人等的裝置中的微計算機來實現。CPU12還可以配備有與例如機器人的操作或與用戶的交互操作相關聯地進行與圖像有關的實時運算的實時操作系統。
[0032]如圖2所示,各圖像文件18包括nXm像素陣列。各像素P是與整個圖像的離散部分相對應的圖片元素。所有像素一起定義由圖像文件18表示的圖像。各像素包括與圖片元素的例如紅色、綠色和藍色成分(RGB)的一組色帶相對應的數字值。本發明可應用于任何多色帶圖像,其中各色帶與一部分電磁頻譜相對應。像素陣列包括以像素p(l,I)開始并且以像素P (n,m)結束的η行每m列。當顯示或打印圖像時,如通常已知的,CPU12從存儲器16檢索相應的圖像文件18,并且根據圖像文件18中的像素的數字值來操作根據具體情況而定的監視器20或打印機22。
[0033]在圖像運算時,CPUl2工作以分析所存儲的圖像文件18的像素的RGB值,從而實現例如識別圖像中的與圖像文件18中記錄的場景所描述的單個材質相對應的區域等的各種目的。作為本發明的基本發現的基礎的基本觀測結論是圖像包括材質和光照這兩個成分。圖像中的所有變化都是由這些成分中的一個或另一個所引起的。用于檢測這些成分其中之一、例如材質的方法提供了用于將材質或諸如對象邊緣等的對象幾何體與光照和陰影邊界區分開的機制。
[0034]這種機制使得能夠進行可以用來生成本征圖像的技術。本征圖像與例如輸入圖像文件18所描述的圖像的原始圖像相對應。本征圖像例如包括用以捕捉入射到圖像所描述的表面上的各點的光的強度和顏色的光照圖像、以及用以捕捉圖像所描述的表面的反射特性(表面所反射的光的各波長的百分比)的材質反射圖像。本征圖像中的光照與材質的分尚向CPU12提供了針對更加有效、精確和聞效率的進一步處理而最優化的圖像。
[0035]例如,根據本發明的特征,將本征圖像應用在數字圖像信號壓縮算法中,以改進數據傳輸和/或存儲的結果。描述圖像、特別是彩色圖像的計算機文件需要配置為例如由字節表示的像素的極大量信息。因而,各圖像文件在存儲器中需要極大量的存儲空間,并且在圖像向著遠程站點或裝置進行數據傳輸時消耗大量時間。發送例如視頻流那樣的圖像序列可能需要的時間量可能使諸如用于將視頻實時顯示在智能電話、因特網網站或平板電腦上的流操作等的操作不可行。
[0036]因此,已研發了用以將表示圖像的像素的字節數壓縮為極小的字節數的數學技術。例如,.jpg文件格式是聯合圖像專家組(JPEG)所研發的、用于對數字照片文件進行壓縮的有損壓縮算法。可以以與原始圖像文件相比需要少得多的存儲容量的方式來存儲壓縮圖像,并且可以通過更為高效且快速的傳輸操作來將該壓縮圖像發送至遠程站點或裝置。對壓縮圖像文件進行解壓縮以進行例如在畫面上顯示等的進一步使用。然而,由于用于接收并且實時顯示數字視頻的裝置的用戶的數量迅速增加,因此已知的壓縮技術正被壓迫至有效功能的極限。
[0037]根據本發明的特征,通過對本征圖像進行壓縮和解壓縮處理來改進數字信號壓縮和解壓縮處理。
[0038]根據本發明的特征,在表征水平進行處理。表征是圖像的連通區域,其中該區域的像素以與諸如識別材質和光照等的識別圖像特征和特性有關的方式彼此相關。表征的像素可以在例如像素之間的顏色的緊密相關等的同質因子(homogeneous factor)、或者統稱為紋理的例如在諸如RGB空間等的顏色空間中使幾何相關的顏色值不同等的非同質因子(nonhomogeneous factor)方面相關。本發明利用與圖像文件18所描述的圖像的相鄰像素有關的空間-頻譜信息來識別表征區域。該空間-頻譜信息包括相鄰像素之間在例如像素的RGB值的色帶方面的頻譜關系、以及與單個材質有關的像素頻譜特性的空間范圍。
[0039]根據本發明的一個典型實施例,將各表征分類為A型表征、B型表征或C型表征。A型表征是包括表示圖像中包含場景內的單個材質(均勻反射率)的最大可能區域的相鄰像素的連通圖像區域。B型表征是包括表示圖像中包含場景內的單個材質的區域的相鄰像素的連通圖像區域,盡管該連通圖像區域未必是與該材質相對應的均勻反射率的最大區域。B型表征還可被定義為一個或多個圖像區域或像素的集合,其中這些圖像區域或像素全部具有相同的反射率(材質顏色),盡管這些像素未必是與該材質顏色相對應的所有像素。C型表征包括在該表征的相鄰像素中具有相似圖像屬性的連通圖像區域,其中相對于用于記錄圖像的攝像系統的噪聲模型來定義相似性。
[0040]現在參考圖3A,示出根據本發明的特征的、用于在圖2的圖像文件18所描述的場景中識別C型表征區域的流程圖。根據本發明的特征,利用圖3A的步驟,可以在圖像中容易地識別出C型表征,然后對這些C型表征進行分析和處理以構造B型表征。
[0041]一階均勻同質C型表征包括圖像的相鄰像素中的單個穩健顏色測量。在識別例程開始時,CPU12在存儲器中建立區域映射。在步驟100中,CPU12清空區域映射并且分配初始設置為I的區域ID。將與像素數相對應的例程的迭代設置為i=0,并且將用作判斷表征的種子的針對NXN像素陣列的數量設置為初始值N=Nstart。^,…可以是任意整數(>0),例如可以將Nstart設置為11個或15個像素。
[0042]在步驟102,開始種子測試。CPU12選擇第一個像素i=l、例如像素(1,1)(參見圖2A)即在圖像文件18的第一個NXN樣本的左上角處的像素。然后,在判定塊104測試該像素,以判斷所選擇的像素是否是好種子的一部分。該測試可以包括將所選擇的像素的顏色值與作為種子的例如NXN陣列的該像素的預先選擇數量的鄰近像素的顏色值進行比較。可以針對像素的多個色帶值(在本發明的示例中為RGB)進行該顏色值比較。如果對于種子中的像素、該比較沒有得出(記錄裝置的噪聲水平內的)大致相等的值,則CPU12針對下一個NXN種子樣本使i的值遞增(步驟106)、例如i=2即像素(1,2),然后進行測試以判斷i=imax是否成立(判定塊108)。
[0043]如果像素值是被選擇為用于判定減小種子大小以獲得改進結果的閾值的值imax,則將種子大小N例如從N=15減小至N=12(步驟110)。在本發明的典型實施例中,可以將imax設置為如圖2所示的結束于像素(n,m)的圖像中的像素數。這樣,在針對N的減小值重復該例程之前,圖3a的例 程以N的第一個值解析整個圖像。
[0044]在種子大小減小之后,例程返回至步驟102,并且繼續測試表征種子。在步驟110中還檢查Nsttjp值(例如,N=2),以判斷該分析是否完成。如果N的值是Nstop,則CPU12已完成對圖像像素陣列的調查,并且退出該例程。
[0045]如果i的值小于imax且N大于Nstop,則例程返回至步驟102,并且繼續針對表征種子進行測試。
[0046]當找到好種子(像素值大致相等的NXN陣列)時(塊104),根據該種子生成表征。在步驟112中,CPU12將種子中的像素推入隊列。在區域映射中向隊列中的所有像素標記當前區域ID。然后,CPU12詢問隊列是否為空(判定塊114)。如果該隊列不為空,則流程進入步驟116。
[0047]在步驟116中,CPU12將前面的像素彈出隊列并且進入步驟118。在步驟118中,CPU12利用當前區域ID標記對象像素周圍的“良好”近鄰、即顏色值與對象像素大致相等的近鄰。將所有已標記的良好近鄰置于區域映射中并且也推入隊列。然后,CPU12返回至判定塊114。重復步驟114、116和118的例程,直到隊列為空為止。此時,已識別出當前區域中形成表征的所有像素,并且在區域映射中將這些像素標記為C型表征。
[0048]當隊列為空時,CPU12進入步驟120。在步驟120中,CPU12使區域ID遞增以在識別下一表征時使用。然后,CPU12返回至步驟106,以針對新的當前表征區域重復該例程。
[0049]在圖3a的流程圖的步驟110中到達N=Nstop、或者完成與圖像一致的區域映射時,該例程已完成表征構造任務。圖3b是在識別表征時用作為示例的原始圖像。該圖像示出藍色和陰影中的藍色的區域、以及深青色和陰影中的深青色的區域。圖3c示出針對圖3b的圖像、例如通過執行圖3a的例程所識別出的與區域映射相對應的表征區域(C型表征)。對該表征區域進行顏色編碼以示出圖3b的圖像中的、包括在圖像的全藍色和深青色區域與著色區域的陰影之間的半影區域的表征構成。
[0050]盡管各C型表征包括圖像中的、在該圖像的相鄰像素之間具有單個穩健顏色測量的區域,但該表征可以跨材質邊界生長。一般地,在一個C型表征中,不同的材質經由頸區域連接在一起,其中頸區域通常位于陰影邊界上、或者位于跨色相相似但強度不同的不同材質的具有變化的光照的區域中。可以通過檢查相鄰像素的特性來識別頸像素。當像素具有不在相應表征內的位于相對側的兩個相鄰像素、以及在相應表征內的位于相對側的兩個相鄰像素時,將該像素定義為頸像素。
[0051]圖4示出針對C型表征的頸測試的流程圖。在步驟122,CPU12檢查所識別出的表征的各像素,以判斷被檢查的像素中是否存在形成頸的像素。可以將圖4的例程作為執行圖3a的例程期間緊接在識別出特定表征之后的子例程來執行。將識別為頸的所有像素標記為“不可生長”。在判定塊124中,CPU12判斷是否標記了任何像素。
[0052]如果判斷為“否”,則CPU12退出圖4的例程,并且返回至圖3a的例程(步驟126)。
[0053]如果判斷為“是”,則CPU12進入步驟128,并且CPU12工作以按照圖3a的例程,在不改變種子大小和區域ID的計數的情況下根據從當前表征的未標記的像素中選擇出的種子位置重新生長表征。在重新生長處理期間,CPU12不包括先前被標記為不可生長的任何像素。在重新生長表征之后,取消對先前標記的像素的標記,以使得其它表征可以生長到這些像素中。
[0054]在重新生長不具有先前標記的像素的表征之后,CPU12返回至步驟122,以測試新重新生成的表征。頸測試識別跨材質邊界的C型表征,并且重新生長所識別出的表征以提供適用于創建B型表征的單個材質C型表征。
[0055]圖3d示出根據本發明的特征的、基于圖3c的C型表征所生成的B型表征。本發明提供了用于構造圖像文件18的B型表征的、使用對數色度聚類的新穎的示例性技術。對數色度是用于開發光照不變性色度空間的技術。
[0056]在美國專利7,596,266中公開了用于使用對數色度表不來分離光照和反射率的方法和系統,在此通過引用明確地包含于此。可以使用美國專利7,596,266所教導的技術來提供針對例如由C型表征所表示的圖像的各顏色的光照不變性對數色度表示值。在對數顏色空間圖上標繪圖像像素的色帶值的對數值。然后,如美國專利7,596,266所教導的,將這些對數值投影到根據雙光源雙色反射模型(BIDR模型)而定向的對數-色度投影面,以提供各像素的對數色度值。當顏色變化是由在圖像中所描述的場景的單個材質上形成陰影的光照變化所導致時,BIDR模型預測出不同顏色測量值沿著正斜率從暗端(陰影中)到明端(照亮端)落入RGB空間中的圓柱體內。
[0057]圖5是美國專利7,596,266所公開的根據本發明的特征的對數顏色空間雙光源色度平面的圖形表示。利用矢量N來確定色度平面的對準,其中該矢量N垂直于色度平面并且被定義為 N=1g (Brightvector)-log (DarkvectOT) =1g (l+l/SvectOT)。可以通過將綠色軸投影到色度平面上作為u軸、并且將u和N的交叉乘積定義為V軸來定義平面U、V的坐標。在本發明的示例中,如圖5所示,將材質A、B、C的各對數值投影到色度平面上,因此在作為色度值的平面內各對數值將具有相應的U、V坐標值。
[0058]因而,根據美國專利7,596,266所公開的技術,如圖5所示,可以利用CPU12將圖像文件18中的各像素的RGB值從圖像文件值P (n, m, R, G, B)映射成對數值,然后通過投影到色度平面來映射成相應的U、V值。然后通過CPU12利用二維色度值P (n, m, u, v)來替換圖像文件18中的各像素P (n, m, R, G, B),以提供原始RGB圖像的色度表示。通常,對于N帶圖像,利用N-1色度值來替換N顏色值。色度表示是真實準確的光照不變性表示,這是因為該表示所基于的BIDR模型精確且正確地表示造成原始圖像的光照束。
[0059]根據本發明的特征,針對輸入至CPU12的圖像文件18中所描述的各顏色計算對數色度值,以識別具有均勻反射率的區域(B型表征)。例如,在用于記錄圖像的設備的噪聲水平內,C型表征的各像素例如在RGB值方面將具有大致相同的顏色值,如同相同C型表征的所有其它構成像素一樣。因而,可以使用各特定C型表征的構成像素的顏色值的平均值來表示色度對數分析中的各C型表征的顏色值。
[0060]圖6是用于確定例如圖像文件18的輸入圖像中所描述的顏色的列表的流程圖。在步驟200中,將輸入圖像文件18輸入至CPU12以進行處理。在步驟202和204中,CPU12確定輸入圖像文件18中所描述的顏色。在步驟202中,CPU12針對顏色的列表,計算CPU12通過如上所述執行圖3a的例程所確定的各C型表征的平均顏色。可選地,CPU12可以被配置為要求在表征的構成像素數方面的最小表征大小、或者要求用于根據圖3a的例程確定C型表征的最小種子大小(NXN陣列)從而進行分析。實現最小大小要求,以確保針對圖像的顏色的列表中的顏色測量值是輸入圖像中所描述的場景內的顏色的精確描述,并且不是混合像素的偽影。
[0061]混合像素是圖像的兩個不同著色區域之間的像素。如果在RGB空間中標繪兩個區域之間的顏色,則針對從一個區域移動到下一區域的各混合像素存在顏色之間的線性轉變,其中這些顏色是這兩個區域的顏色的加權平均值。因而,各混合像素并不表示圖像的真實顏色。如果存在混合像素,則針對圖像的兩個不同著色區域之間的區域,可以識別出包括混合像素的相對小的C型表征。通過要求最小大小,CPU12可以從分析中消除包括混合像素的表征。
[0062]可選地,在步驟204中,CPU12可以收集在像素水平上的顏色、即如圖2所示的輸入圖像文件18的像素的RGB值。針對更加精確的顏色的列表,CPU12可以被配置為可選地要求分析中所使用的圖像文件18的各像素經由濾波器輸出而具有最小的穩定性或局部標準偏差。例如,可以使用二階導數能量來指示圖像的像素的穩定性。
[0063]在該方法中,CPU12使用高斯差分、高斯-拉普拉斯算子或類似的濾波器來計算在每個像素、或者為了覆蓋輸入圖像文件18中所描述的圖像的所有光照條件而跨整個圖像所分配的像素的子集的二階導數。然后,可以利用CPU12計算出所檢查的各像素的二階導數能量作為各色帶的二階導數的絕對值的平均值(或灰度圖像中的單個值的絕對值)、各色帶中的二階導數的值的平方和(或灰度圖像中的單個值的平方)、整個色帶中的最大平方二階導數值(或灰度圖像中的單個值的平方)、或任何相似方法。在計算各像素的二階導數能量時,CPU12分析像素的能量值。在二階導數能量和像素穩定性之間存在相反關系,即能量越高,相應像素越不穩定。
[0064]在步驟206中,CPU12 (在執行步驟202和/或204中的一個或這兩個之后)輸出顏色的列表。根據本發明的特征,可以使用來自步驟202或204的列表來執行進一步的所有處理,或者可以在各后續步驟處改變所使用的列表(來自步驟204或204的列表中的一個或另一個)。
[0065]圖7是根據本發明的特征的、用于確定對數色度表示的方向的流程圖。例如,如圖5所示,CPU12針對對數色度平面確定法線N的方向。在步驟210中,CPU12接收諸如在圖6的例程的步驟206中所輸出的列表等的、輸入文件18的顏色的列表。在步驟212中,CPU12確定對數色度空間的方向。
[0066]如美國專利7,596,266所教導的并且如上所述,利用N來表示色度平面的對準,其中N是與例如圖5的色度平面的色度表示垂直的矢量。利用CPU12通過執行若干技術中的任一個來估計方向。例如,如美國專利7,596,266中所充分公開的,CPU12可以基于熵最小化、用戶的手動選擇或者使用針對輸入圖像文件18的圖像的特性譜比率來確定估計值。
[0067]對于例如RYGB空間(紅色、黃色、綠色、藍色)的顏色的較高維數集合,對數色度法線N限定比輸入空間少一維的子空間。因而,在四維RYGB空間中,法線N定義三維對數色度空間。在將四維RYGB值投影到三維對數色度空間的情況下,對數色度空間內的投影值不受光照變化影響。
[0068]在步驟214中,CPU12輸出法線N的方向。如圖5的示例所示,法線N定義三維RGB空間中的U、V平面的方向。
[0069]圖8是根據本發明的特征的、用于確定如在圖6的例程的步驟202或204中所識別出的輸入圖像的顏色的對數色度坐標的流程圖。在步驟220中,將顏色的列表輸入至CPU12。顏色的列表可以包括通過執行圖6的例程的步驟202所生成的列表、或通過執行步驟204所生成的列表。在步驟222中,還將通過執行圖7的例程所確定的法線N的對數色度方向輸入至CPU12。[0070]在步驟224中,CPU12被配置為如圖5所示計算顏色的列表中的各顏色的對數值并且將這些對數值標繪在三維對數空間中的各(log R, log G, log B)坐標處。材質A、B和C表示來自步驟220中輸入至CPU12的顏色的列表的特定顏色的對數值。還利用CPU12在三維對數空間中計算對數色度平面,其中在步驟222中將U、V坐標和利用N所設置的方向輸入至CPU12。還可以利用三維對數空間中的相應(log R, log G, log B)坐標來指定對數色度平面中的各U、V坐標。
[0071]根據本發明的特征,CPU12接著將顏色A、B和C的對數值投影到對數色度平面上以確定各顏色的U、V對數色度坐標。可以利用三維色度空間中的相應(log R, log G, logB)坐標來表示各U、V對數色度坐標。在步驟226中,CPU12輸出對數色度坐標的列表。該列表(依賴于分析中所使用的顏色的列表(步驟202 (表征)或204(像素)))將各顏色與U、V對數色度坐標和具有各顏色的像素(或C型表征)交叉引用。
[0072]圖9是根據本發明的特征的、用于可選地以額外維度擴充像素或C型表征的對數色度坐標的流程圖。在步驟230中,將通過執行圖8的例程針對輸入圖像的顏色所確定的對數色度坐標的列表輸入至CPU12。在步驟232中,CPU12訪問輸入圖像文件18以在擴充時使用。[0073]在步驟234中,CPU12可選地被配置為針對各相應像素(或C型表征)利用色調映射強度來擴充各對數色度坐標。使用任何已知的色調映射技術來確定色調映射強度。利用色調映射強度信息的擴充為對根據相似對數色度坐標和相似色調映射強度這兩者來分組的像素或表征進行聚類提供了基礎。這提高了聚類步驟的精度。
[0074]在步驟236中,CPU12可選地被配置為利用相應像素的x、y坐標(或C型表征的構成像素的x、y坐標的平均值)(參見示出P(l,I)~P (N,M)像素配置的圖2)來擴充各對數色度坐標。因而,在期望該特性的情況下,利用x、y坐標信息的聚類步驟將提供在空間受限配置下的組。
[0075]在步驟234和236各自中,在各情況中,可以分別利用因子W1和w2、w3對擴充信息進行加權,以指定擴充坐標中的不同維度的相對重要性和尺度。加權因子^和^”^是用戶指定的。因此,使像素或C型表征的(log R, log G, log B)坐標擴充為(log R, log G, logB, T^w1, x*w2, y*w3),其中T、X和y分別是色調映射后的強度、x坐標和y坐標。
[0076]在步驟238中,CPU12輸出擴充坐標的列表。已擴充對數色度坐標提供輸入圖像的像素、或者針對例如C型表征等的指定區域配置的精確的光照不變性表示。根據本發明的特征,基于對數色度坐標的光照不變性特征來識別例如B型表征等的具有單個材質或反射率的圖像的區域。
[0077]圖10是根據本發明的特征的、用于將對數色度坐標聚類的流程圖。在步驟240中,將已擴充對數色度坐標的列表輸入至CPU12。在步驟242中,CPU12工作以聚類對數色度坐標。可以經由例如已知的k均值聚類來實現聚類步驟。可以使用任何已知的聚類技術來聚類對數色度坐標以確定具有相似對數色度坐標值的組。CPU12使各對數色度坐標與各坐標所屬于的組相關。CPU12還工作以計算聚類步驟中所識別出的各組的中心。例如,CPU12可以確定與(log R, log G, log B)空間有關的各組的中心。
[0078]在步驟244中,CPU12輸出針對對數色度坐標(交叉引用相應像素或C型表征)的簇組從屬關系的列表和/或簇組中心的列表。[0079]如上所述,在執行聚類方法時,CPU12可以使用來自通過執行圖6的例程的步驟202所生成的列表或通過執行步驟204所生成的列表中的顏色的列表。在將所識別出的簇組應用于輸入圖像時,可以使CPU12被配置為使用與聚類方法中所使用的顏色相同的集合(與步驟202相對應的顏色的列表或與步驟204相對應的顏色的列表中的一個),或者應用顏色的不同集合(與步驟202相對應的顏色的列表或與步驟204相對應的顏色的列表中的另一個)。如果使用顏色的不同集合,則CPU12繼續執行圖11的例程。
[0080]圖11是根據本發明的特征的、用于在識別出簇組之后使用顏色的不同列表的情況下將對數色度坐標分配至通過執行圖10的例程所確定的簇的流程圖。在步驟250中,CPU12此時針對新的顏色列表再一次執行圖8的例程。例如,如果使用步驟202中所生成的顏色的列表(基于C型表征的顏色)來識別簇組、然后CPU12工作以基于步驟204中所生成的顏色的列表(基于像素的顏色)來對與簇組有關的對數色度坐標進行分類,則執行圖11的例程的步驟250,以確定針對輸入圖像文件18中的像素的顏色的對數色度坐標。
[0081]在步驟252中,將簇中心的列表輸入至CPU12。在步驟254中,CPU12被配置為對步驟250中所識別出的各對數色度坐標根據最近的簇組中心來進行分類。在步驟256中,CPU12根據步驟250中所使用的顏色的列表(步驟202中所生成的顏色的列表或步驟204中所生成的顏色的列表),通過交叉引用相應像素或C型表征、基于新的顏色列表來輸出針對對數色度坐標的簇組從屬關系的列表。
[0082]圖12是根據本發明的特征的、用于基于對數色度聚類來檢測具有均勻反射率的區域的流程圖。在步驟260中,將輸入圖像文件再一次提供至CPU12。在步驟262中,將與步驟250中所使用的顏色的列表相對應的像素或C型表征的其中一個輸入至CPU12。在步驟264中,將來自步驟244或256的簇從屬關系信息輸入至CPU12。
[0083]在步驟266中,CPU12被配置為將輸入圖像的具有相同簇組從屬關系的各像素或例如C型表征的指定區域合并為圖像的單個區域,以表示具有均勻反射率的區域(B型表征)。CPU12針對輸入圖像文件18,根據具體情況來對所有像素或表征進行這種合并操作。在步驟268中,CPU12輸出具有均勻反射率(并且如果在步驟234和/或236中擴充了對數色度坐標、則還具有相似色調映射強度和x、y坐標)的所有區域的列表。應當注意,根據本發明的特征所確定的具有均勻反射率的各區域(B型表征)在整個區域中可以具有顯著光照變化。
[0084]美國專利公開US2010/0142825教導包括基于相同材質約束的最優解的、用于分離圖像中的光照和材質的約束/求解器模型。如美國專利公開US2010/0142825所教導的相同材質約束利用如根據本發明的教導所能確定的C型表征和B型表征。該約束關系是將作為相同B型表征的一部分的所有C型表征約束為相同材質。該約束實踐了 B型表征的定義、即包括表示圖像中包含場景中的單個材質(相同反射率)的區域的相鄰像素的連通圖像區域,盡管該連通圖像區域未必是與該材質相對應的最大區域。因而,存在于相同B型表征內的所有C型表征利用施加于B型表征的相同材質的定義,盡管未必是相同光照。因此,將C型表征約束為與所觀察到的由光照變化所引起的外觀差異相對應。
[0085]圖13是如美國專利申請US2010/0142825所教導的、用于根據相同材質約束來識別并分離圖像的光照和材質方面的[A][x] = [b]矩陣關系的表示。基于基本方程I=ML(I=如存儲在圖像文件18中那樣的記錄圖像值,M=材質反射率,并且L=光照),log (I) =1g (ML) =1g (M) +log (L)。這可以重寫為 i=m+l,其中 i 表示 1g(I),m 表示 1g(M)并且I表示1g(L)。在相同材質的約束關系中,在三個C型表征即a、b和c (如圖13所示)位于如由a、b和c所定義的相應B型表征所定義的具有單個反射率的區域內的示例中,ma=mb=m。。針對該示例,各C型表征的I值是該表征的構成像素的記錄顏色值的平均顏色值。該示例的a、b和c、C型表征可以與圖3d所示的藍色B型表征相對應。
[0086]由于ma=ia_la, mb=ib-lb并且因此在相同材質約束的情況下,可以將這些數學關系表示為(I) la+(-l) Ib+(O) Ic=(Ia-1b),⑴ Ia+(O) Ib+(-1) Ic=Qa-U 和(O) Ia+(I)
Ib+ (~!) lc=(ib_ic)。
[0087]因而,在圖13的矩陣方程中,根據相鄰C型表征a、b和c的構成像素的平均記錄像素顏色值而得知[b]矩陣中的1g(I)的各種值(ia,ib, i。)。如上所述,通過表達相同材質約束的方程組來定義O、I和-1的[A]矩陣。[A]矩陣中從頂部到底部的行數與施加于表征的實際約束的數量相對應(在本實施例中為三個,即在三個相鄰C型表征a、b和c之間的相同的材質約束)。[A]矩陣中從左至右的列數與要求解的未知量的數量相對應(在這種情況下又是針對三個表征的三個光照值)。因此,利用CPU12,可以在矩陣方程中求解[X]矩陣中的各C型表征a、b和c的光照成分的值。應當注意,各值是本發明的示例中的與色帶(諸如紅色、綠色和藍色等)相對應的三值的矢量,或者可以是諸如灰度圖像等中的單個值。
[0088]一旦光照值已知,則可以利用CPU12使用I=ML方程來計算材質顏色。現在,通過分別利用所計算出的光照值和材質值替換原始圖像中的各像素,可以針對由表征a、b和c定義的區域生成本征光照和材質圖像。圖14示出與圖3b所示的原始圖像相對應的光照圖像和材質圖像的示例。
[0089]根據本發明的另一典型實施例的特征,CPU12連接至對象數據庫24。如上所述,對象數據庫24存儲可能在圖像文件18中出現的對象的列表、以及與存儲在數據庫24中的各對象的材質構成和材質反射率顏色有關的信息。與上述用于將圖像分離成相應的材質反射率和光照本征圖像的技術相關地,使CPU12工作以進行例如SIFT技術等的已知對象識別任務,從而識別處理中的圖像內的被攝體。
[0090]在識別出處理中的圖像所描述的場景內的對象時,CPU12訪問對象數據庫24以獲得與識別出的對象有關的材質反射率顏色信息。然后,CPU12被配置為將處理中的圖像內的例如構成識別出的對象的任意C型表征進行關聯。然后可以使用所識別出的對象的材質反射率顏色信息來指定例如添加至圖13所示的矩陣方程的固定材質顏色錨值,以約束構成識別出的對象的C型表征,由此將處理中的圖像內的構成識別出的對象的表征分離為對象的相應本征材質反射率和光照方面。
[0091]根據本發明的又一特征,CPU12連接至因特網。這樣,CPU12可以訪問因特網26上的網站28。網站28提供對象數據庫的其它來源。例如,CPU12可以經由例如基于文本的搜索來搜索因特網26,以在所訪問的網站28處獲得與在處理中的圖像內所識別出的對象的材質特性有關的信息。使用這些材質特性來確定上述固定錨值。
[0092]例如,利用經由例如根據 本發明的對數色度聚類技術所獲得的C型表征和B型表征以及來自對象數據庫26的信息、根據美國專利申請US2010/0142825的技術和教導的約束/求解器模型的實現方案提供了用于生成與原始輸入圖像相對應的本征圖像的非常有效和高效的方法。可以使用本征圖像來提高圖像處理、圖像分析和計算機視覺應用的精度、速度和效率。
[0093]例如,圖15示出根據本發明的特征的、用于對本征圖像進行壓縮的流程圖。對本征圖像或本征圖像組(材質和光照)而不是原始圖像進行壓縮使得壓縮文件的大小進一步縮小,以供更加高效的存儲和更快的數據傳輸。
[0094]在步驟300中,CPU12從存儲器16接收例如圖像文件18的原始圖像。在步驟302中,CPU12被配置為例如根據以上詳細說明的技術基于原始圖像來生成本征圖像,以輸出光照映射(光照圖像)(步驟304)和反射率映射(材質圖像)(步驟3Oe)。
[0095]在步驟308和310中,CPU12被配置為通過并行操作或按序列分別進行壓縮處理A和壓縮處理B。
[0096]在壓縮處理A中,CPU12對光照圖像進行壓縮處理。例如,CPU12工作以將光照映射轉換成.Pgm格式(已知的便攜式灰度格式)。然后CPU12繼續使用質量水平20,根據已知的JPEG格式來將灰度光照.pgm圖像轉換成.jpg壓縮圖像文件。
[0097]在壓縮處理B中,CPU12對材質圖像進行壓縮處理。例如,CPU12被配置為使用256顏色根據已知的圖形交換格式(GIF)來將反射率映射轉換成GIF文件。然后CPU12繼續使用質量水平20,根據已知的JPEG格式來將GIF文件轉換成.jpg壓縮圖像文件。
[0098]在步驟312中,CPU12被配置為根據已知的GNU圖像處理程序(GMP)來再混合.jpg壓縮的光照和材質的壓縮文件,以輸出壓縮本征圖像(步驟314)。
[0099]根據本發明的特征,利用CPU12將壓縮本征圖像存儲在存儲器16中、以及/或者例如經由因特網26發送至例如被配置為網站28的遠程裝置(參見圖1)。該遠程裝置例如包括智能電話、平板電腦或iPad、或者TV廣播操作中的裝置。
[0100]圖16是根據本發明的特征的、用于對本征圖像進行解壓縮的流程圖。在步驟316中,例如被配置為網站28的裝置經由因特網26接收(根據圖15的例程處理后的)壓縮本征圖像。該裝置例如包括智能電話、平板電腦或iPad、或者TV廣播操作中的裝置。在步驟318中,CPU12工作以分離包括接收到的壓縮圖像的混合.jpg文件,從而輸出壓縮后的本征照明圖像和材質圖像。
[0101]在步驟320和322中,CPU12被配置為采用并行操作或按序列分別進行解壓縮處理A和解壓縮處理B。
[0102]在解壓縮處理A中,CPU12對光照圖像的壓縮版本進行解壓縮處理,以輸出本征光照映射(步驟324)。
[0103]在解壓縮處理B中,CPU12對材質圖像的壓縮版本進行解壓縮處理,以輸出本征反射率映射(步驟326)。
[0104]使用用于對最初根據諸如JPEG格式等的已知技術壓縮后的圖像進行處理的已知技術來實現各步驟318、320和322。
[0105]在步驟328中,CPU12工作以重組光照圖像和本征圖像,從而輸出原始圖像(步驟330)、例如是CPU12最初根據圖15的例程所處理的圖像文件18中所描述的圖像。如以上充分描述的,可以利用CPU12使用I=ML方程來計算重組圖像。
[0106]由于用于接收并實時顯示數字視頻的裝置的用戶的數量迅速增加,因此如本發明所教導的、經由本征圖像的使用所實現的壓縮結果的改進使有效功能的極限得到擴展,由此在電子裝置使用方面適合現代趨勢。
[0107]在前述說明書中,已經參考特定典型實施例及其示例說明了本發明。然而,顯而易見,可以在不背離如所附權利要求書所述的本發明的更寬精神和范圍的情況下進行各種修改和改變。因此,應以例示性方式而不是限制性意義來考慮本說明書和附圖。
【權利要求】
1.一種用于處理圖像的自動化且計算機化的方法,包括以下步驟: 在計算機存儲器中提供描述圖像的圖像文件; 生成與所述圖像相對應的本征圖像;以及 對所述本征圖像進行壓縮以提供壓縮本征圖像。
2.根據權利要求1所述的方法,其中,還包括將所述壓縮本征圖像發送至遠程裝置的步驟。
3.根據權利要求1所述的方法,其中,還包括將所述壓縮本征圖像存儲在存儲器中的步驟。
4.根據權利要求1所述的方法,其中,所述本征圖像包括本征圖像組。
5.根據權利要求4所述的方法,其中,所述本征圖像組包括材質圖像和光照圖像。
6.一種用于處理圖像的自動化且計算機化的方法,包括接收壓縮本征圖像的步驟。
7.根據權利要求6所述的方法,其中,還包括對所述壓縮本征圖像進行解壓縮的步驟。
8.根據權利要求 6所述的方法,其中,所述壓縮本征圖像包括壓縮光照圖像和壓縮材質圖像的混合。
9.一種計算機系統,包括: CPU ;以及 存儲器,用于存儲包含圖像的圖像文件; 其中,所述CPU被配置為執行例程以生成與所述圖像相對應的本征圖像,并且對所述本征圖像進行壓縮以提供壓縮本征圖像。
10.根據權利要求9所述的計算機系統,其中,所述CPU還被配置為將所述壓縮本征圖像發送至遠程裝置。
11.根據權利要求9所述的計算機系統,其中,所述CPU還被配置為將所述壓縮本征圖像存儲在存儲器中。
12.—種計算機程序產品,其配置在計算機可讀介質上,所述計算機程序產品包括計算機可執行處理步驟,該步驟能夠用于控制計算機以:在計算機存儲器中提供描述圖像的圖像文件;生成與所述圖像相對應的本征圖像;以及對所述本征圖像進行壓縮以提供壓縮本征圖像。
13.根據權利要求12所述的計算機程序產品,其中,還包括將所述壓縮本征圖像發送至遠程裝置的處理步驟。
14.根據權利要求12所述的計算機程序產品,其中,還包括將所述壓縮本征圖像存儲在存儲器中的處理步驟。
15.根據權利要求12所述的計算機程序產品,其中,所述本征圖像包括本征圖像組。
16.根據權利要求15所述的計算機程序產品,其中,所述本征圖像組包括材質圖像和光照圖像。
17.一種裝置,其被配置為接收壓縮本征圖像。
18.根據權利要求17所述的裝置,其中,所述裝置還被配置為進行對所述壓縮本征圖像解壓縮的步驟。
19.根據權利要求17所述的裝置,其中,所述壓縮本征圖像包括壓縮光照圖像和壓縮材質圖像的混合。
20.一種計算機程序產品,其配置在計算機可讀介質上,所述計算機程序產品包括能夠用于控制計算機以接收壓縮本征圖像的計算機可執行處理步驟。
21.根據權利要求20所述的計算機程序產品,其中,還包括對所述壓縮本征圖像進行解壓縮的處理步驟。
22.根據權利要求20所述的計算機程序產品,其中,所述壓縮本征圖像包括壓縮光照圖像和壓縮材質圖像的混合。
【文檔編號】G06K9/36GK103917990SQ201280050282
【公開日】2014年7月9日 申請日期:2012年10月4日 優先權日:2011年10月11日
【發明者】理查德·馬克·弗里德霍夫, 布魯斯·艾倫·麥斯威爾, 卡西·阿瑟·史密斯 申請人:曇盾特視覺科學有限公司