顯著圖

顯著圖一般指本詞條

在機器視覺中,顯著性是一種圖像分區的模式,而顯著圖(英語:Saliency map)是顯示每個像素獨特性的圖像。顯著圖的目標在於將一般圖像的表示簡化或是改變為更容易分析的樣式。舉例來說,某個像素在一張彩色圖中具有較高的灰階,其會在顯著圖中以較為明顯的方式被顯示出來。視覺刺激的觀點上,如果某些特徵特別能夠被捕捉到注意力,這樣子的特性在心理學上被稱為顯著性(saliency)。

基本介紹

  • 中文名:顯著圖
  • 外文名:Saliency map
  • 領域:圖像處理、計算機視覺
圖像顯著性,視覺顯著性檢測,認知注意模型,決策論注意模型,頻域分析注意模型,圖論注意模型,實現示例,偽代碼,

圖像顯著性

如前述,顯著性是圖像分區的一部分,圖像分區通常用於定點陣圖像中的物體和邊界(例:線條,曲線等)。更精確來說,圖像分區是為圖像中的每個像素(pixel)分配一個標籤的過程,以便讓相同標籤的像素能夠共享某些特徵。
圖像顯著性是圖像中重要的視覺特徵,體現出人眼對圖像各區域的重視程度,自從Laurent Itti在1998年發表的論文後,產生了大量的顯著性映射方法。圖像顯著性也廣泛運用在壓縮,編碼,圖像邊緣加強,顯著性目標分區和提取等方面。

視覺顯著性檢測

視覺注意機制,即面對一個場景時,人類自動地對感興趣區域進行處理而選擇性地忽略不感興趣區域,這些人們感興趣區域被稱之為顯著性區域。視覺顯著性檢測(Visual Saliency Detection),指透過算法模擬人的視覺,提取出圖像中的顯著性區域。人類的視覺注意機制主要分為兩種:
  1. 由下而上基於數據驅動的機制:受感知數據的驅動,將人的視點引導至圖像或場景中的顯著性區域;利用圖像的亮度,邊緣,顏色等特徵,判斷目標區塊與周圍的差異,進而計算出顯著性。
  2. 由上而下基於任務驅動目標的機制:由人的認知因素決定,對圖像的某些特定特徵來計算圖像區域的顯著性。
一般認為,良好的視覺顯著性檢測模型需要至少滿足以下三個標準:
  • 良好的檢測率:要有較低丟失實際顯著區域的可能性以及將背景錯誤地標記為顯著區域的錯誤發生。
  • 解析度:產生的顯著圖需要具有高解析度以準確定位顯著物體並保留原始圖像訊息。
  • 計算效率:作為其他複雜流程的起始點,這些模型應該要能夠快速檢測顯著區域。

認知注意模型

決策論模型的觀點中,感知系統因為不斷進化,從而能產生關於周遭環境在決策論概念下的最佳解。決策論注意模型能表達由下而上和由上而下的注意。其主要重點在於視覺注意應被當前任務有關的最優性所驅動。其理論已在計算機視覺中得到了成功的套用,如分類和注意定位預測,這兩者均獲得很高的準確率。

決策論注意模型

在決策論模型的觀點中,感知系統因為不斷進化,從而能產生關於周遭環境在決策論概念下的最佳解。決策論注意模型能表達由下而上和由上而下的注意。其主要重點在於視覺注意應被當前任務有關的最優性所驅動。其理論已在計算機視覺中得到了成功的套用,如分類和注意定位預測,這兩者均獲得很高的準確率。

頻域分析注意模型

這是一種基於頻譜分析的顯著性模型,非常容易解釋和實現,由於其理論基於快速傅立葉轉換實現,能夠滿足實時(real-time)要求,此模型在注意焦點預測和顯著區域檢測方面獲取了很大的成功,和iNVT類似的模型相比,運算速度可提高近10倍。

圖論注意模型

圖論模型是把眼球活動看作一個時間序列,由於有大量的隱變數影響眼球運動,因此,該類注意模型使用了隱馬爾科夫鏈模型、動態貝葉斯網和條件隨機場等方法。圖論模型可以對複雜的注意機制建模,因此能獲取較好的預測能力,缺點在於模型的高複雜度。

實現示例

第一步:我們需要先計算出每一個像素與在同一(frame)其餘像素的距離。之後將所有的值相加,得到以下等式:
其中,
是在當前幀中除了
之外其他的像素值,
的範圍在
之間。
第二步:將式子進行展開如下:
其中,N是當前幀中的像素總和。
第三步:更進一步的擴展公式,將同樣的值放在一起,得到結果如下:
其中,
代表
頻率,且n的範圍在
之間,頻率以直方圖的形式表示,此算法的時間複雜度為O(N)。

偽代碼

matlabcode為例,首先讀取數據。
for k = 2 : 1: 13  // which means from frame 2 to 13,  and in every loop K's value increase one I = imread(currentfilename); //read current frame I1 = im2single(I);    //convert double image into single(requirement of command vlslic) l = imread(lastfilename); //read last frame I2 = im2single(l); regionSize = 10; // set the parameter of SLIC this parameter setting are the experimental result.                  //  RegionSize means the superpixel size. regularizer = 1; //set the parameter of SLIC  segments1 = vlslic(I1, regionSize, regularizer);//get the superpixel of current frame segments2 = vlslic(I2, regionSize, regularizer);//get superpixel of the previous framenumsuppix = max(segments1(:)); //get the number of superpixel  regstats1 = regionprops(segments1,’all’);regstats2 = regionprops(segments2,’all’);//get the region characteristic based on segments1
在讀取數據之後,對每一幀進行超像素(super-pixel)處理,spnum1和spnum2分別表示當前幀與前一個幀的像素總數。
for i=1:1:spnum1   // From the first pixel to the last one. And in every loop i++          for j=1:1:spnum2 //From the first pixel to the last one.j++. previous frame               centredist(i:j)=sum((center(i)-center(j)));//calculate the center distance     endend
之後計算每個像素之間的顏色距離,這流程稱為契約函式。
for i=1:1:spnum1//From first pixel of current frame to the last one pixel. I ++           for j=1:1:spnum2//From first pixel of previous frame to the last one pixel. J++                    posdiff(i,j)=sum((regstats1(j).Centroid’-mupwtd(:,i)));//Calculate the color distance.    end end
經過前述兩個處理後,可以得到一個顯著圖。

熱門詞條

聯絡我們