顯著性檢測:'Saliency Detection via Graph-Based Manifold Ranking'論文總結


對顯著性檢測的一些了解:

一般認為,良好的顯著性檢測模型應至少滿足以下三個標准:

1)良好的檢測:丟失實際顯著區域的可能性以及將背景錯誤地標記為顯著區域應該是低的;

2)高分辨率:顯著圖應該具有高分辨率或全分辨率以准確定位突出物體並保留原始圖像信息;

3)計算效率:作為其他復雜過程的前端,這些模型應該快速檢測顯著區域。

最早在心里學和神經科學等多個學科上,就開始進行顯著物體的檢測。在計算機視覺領域,已經在人類關注機制的建模方面做出了努力,特別是自下而上的注意機制。 這種過程也稱為視覺顯著性檢測。在檢測顯著性區域時通常分為自上而下和自下而上兩種方法,在本文中主要運用自下而上的方法。

1)自上而下(top-down):即從比較一般的規則開始,逐漸增加新文字以縮小規則覆蓋范圍,直到滿足預定條件為止,也稱為生成-測試(generate-then-test)法,是規則逐漸特化(specialization)的過程,是從一般到特殊的過程。

2)自下而上(bottom-up):即從比較特殊的規則開始,逐漸刪除文字以擴大覆蓋范圍,直到滿足條件為止;也稱為數據驅動(data-driven)法,是規則逐漸泛化(generalization)的過程,是從特殊到一般的過程。

自頂向下是覆蓋范圍從大到小搜索規則,自底向上則正好相反;前者更容易產生泛化性能較好的規則,而后者更適合於訓練樣本較少的情形;另外,前者對噪聲的魯棒性比后者要強;因此,在命題規則學習中通常使用前者,而后者則在一階規則學習這類假設空間非常復雜的任務使用較多。

傳統的顯著性檢測方法:

1. 模擬生物體視覺注意機制的選擇性注意算法。

方法:特征提取->歸一化->特征綜合/顯著度計算->顯著性區域划分/興趣點標定。

顯著值是像素點在顏色、亮度、方向方面與周邊背景的對比值。

L. Itti, C. Koch, & E. Niebur .A model of saliency based visual attention for rapid scene analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, 20(11):1254-1259, 1998.

2. 模型是在Itti的模型基礎之上運用馬爾可夫隨機場的特點構建二維圖像的馬爾可夫鏈,通過求其平衡分布而得到顯著圖。

算法步驟:

特征的提取:與Itti 算法類似 

顯著圖生成 :馬爾可夫鏈方法         將低層視覺機理與數學計算融合   

J. Harel, C. Koch, &P. Perona. Graph-based visual saliency. Advances in Neural Information Processing Systems, 19:545-552, 2006.

3. 基於空間頻域分析的算法,顯著圖通過對剩余譜R(f)做傅里葉逆變換得到。

Xiaodi Hou, Jonathan Harel and Christof Koch: Image Signature: Highlighting Sparse Salient Regions (PAMI 2012)

4. 在Spectral Residual基礎之上提出的,該方法通過計算圖像的四元傅里葉變換的相位譜得到圖像的時空顯著性映射。

事實上,圖像的相位譜即圖像中的顯著性目標。圖像中的每一個像素點都用四元組表示:顏色,亮度和運動向量。 

PQFT模型獨立於先驗信息,不需要參數,計算高效,適合於實時顯著性檢測。

Chenlei Guo, Qi Ma, Liming Zhang: Spatio-temporal Saliency detection using phase spectrum of quaternion fourier transform. CVPR 2008 

5. 這篇文章中,他們提出應當同時考慮局部信息和全局信息,例如注意力應該集中在某些特定區域而不是分散,距離視覺焦點更近的點容易被觀察到等等,效果拔群。

 S. Goferman, L. Zelnik-Manor, and A. Tal. Context-Aware Saliency Detection. CVPR 2010.

 Saliency Detection via Graph-Based Manifold Ranking通過基於圖形的流型排序進行顯著性檢測

本文的目的:綜合利用圖像中背景、前景的先驗位置分布及連通性,得到顯著物體分割的更好結果。

采用的方法:通過基於圖的流形排序對圖像元素(像素或區域)與前景線索或背景先驗的信息進行排序。圖像元素的顯著性是基於給定種子(queries)的相關性來定義的。通過流行排序的方法將此先驗擴散到並增加得到前景的比較可靠的估計。這些節點基於背景和前景種子的相似性來排序(通過關聯矩陣(affinity matrices))。隨后將前景的信息用類似的流行排序的方法加強,顯著性檢測以兩階段方案進行,以有效地提取背景區域和前景顯著對象。

算法流程: SLIC圖像過分割;構建相對應的圖;背景先驗的流行排序算法;自適應分割;前景上的流形排序算法

我們觀察到背景通常呈現與四個圖像邊界中的每一個的局部或全局外觀連通性,並且前景呈現外觀一致性。在這項工作中,我們利用這些線索來計算基於超像素排名的像素顯著性。對於每個圖像,我們構造一個閉環圖,其中每個節點都是一個超像素。我們將顯著性檢測建模為流形排序問題,並提出了用於圖形標記的兩階段方案。在第一階段,我們通過使用圖像每一側的節點作為標記的背景種子點來開拓邊界先驗。從每個標記結果中,我們根據節點與這些種子點的相關性(即排名)計算節點的顯著性作為背景標簽。然后將四個標記的圖集成以生成顯著圖。在第二階段,我們將在第一階段的結果顯著映射進行二值分割,並將標記的前景節點作為顯著種子點。基於每個節點與最終映射的前景種子點的相關性來計算每個節點的顯著性。

 

 詳細流程:

1. Graph Construction 圖形構建

我們構造單層圖G =(V,E),如圖2所示,其中V是一組節點,E是一組無向邊。在這項工作中,每個節點都是由SLIC算法生成的超像素。

使用k-regular圖來利用空間關系。首先,每個節點不僅連接到與其相鄰的節點,還連接到與其相鄰節點共享公共邊界的節點(參見圖2)。通過擴展具有相同k度的節點連接范圍,我們有效地利用了局部平滑線索。其次,我們強制連接圖像四邊的節點,即任何一對邊界節點都被認為是相鄰的。因此,我們將該圖表示為閉環圖。當顯著對象出現在圖像邊界附近或某些背景區域不相同時,這些閉環約束很有效。

由於邊緣的約束,很明顯構造的圖形是稀疏連接的。也就是說,關聯矩陣W的大多數元素是零。在這項工作中,兩個節點之間的權重由:

                                                      

其中ci和cj表示對應於CIELAB顏色空間中的兩個節點的超像素的平均值,並且σ是控制權重強度的常數。權重是根據顏色空間中的距離計算的,因為它已被證明在顯著性檢測中是有效的。當空間距離減小時,節點之間的相關性增加,這是顯著性檢測的重要信息。通過權重我們將鄰接矩陣W可以求出。

2. Manifold Ranking 流行排序

 給定數據集X={x1,…,xl,xl+1,…,xn}∈R(m*n),一些數據點被標記成種子點,其余的節點需要根據他們與種子點的相關性進行排序。讓f:X→Rn記作成一個排序函數,他對於每一個數據點xi分配一個排序值fi,f可以被看成一個向量f=[f1,f2,…,fn]T.讓y=[y1,y2,…,yn]T作為一個指示向量,如果xi是一個種子點,則yi=1,否則等於0。然后,我們在數據集上定義一個圖G=(V,E),這里V代表數據集X,邊緣E由鄰接矩陣W=[wij]n*n加權。通過求解以下優化問題來計算種子點的最佳排名:

 (1)

其中參數μ控制平滑度約束(第一項)和擬合約束(第二項)的平衡。 也就是說,良好的排名函數不應該在附近點之間變化太多(平滑約束),並且不應該與初始種子點賦值(擬合約束)相差太多。 通過將上述函數的導數設置為零來計算最小解。通過變換,最終的的排名函數可以寫成:

 核心公式

3. Saliency Measure 顯著性測量

給定表示為圖形的輸入圖像和一些顯著的種子節點,每個節點的顯著性被定義為由等式3計算的其排名分數,等式3被重寫為f * = Ay以便於分析。矩陣A可以被認為是學習的最佳關聯矩陣,其等於(D-αW)-1。第i個節點的排名得分f *(i)是第i行的A和y的內積。因為y是二進制指示符向量,所以f *(i)也可以被視為第i個節點與所有種子點的相關性的總和。

在傳統的排序問題中,種子點是用參考圖像手動標記的。然而,由於所提出的算法選擇了顯著性檢測的種子點,其中一些可能是不正確的。因此,我們需要為每個種子點計算置信度(即顯著性值),其被定義為由其他種子點(除了其自身)排名的排名得分。為此,我們在通過公式3計算排名分數時將A的對角元素設置為0。最后,我們使用歸一化排名得分f *來衡量節點的顯著性。當給出顯著的種子點時,使用1-f *來給出背景種子點。

4. Two-Stage Saliency Detection 兩個階段的顯著性檢測

 這一節詳細介紹了使用背景和前景種子點排名的自下而上顯著性檢測的兩階段方案。

 4.1 Ranking with Background Queries 背景種子點排序

使用圖像邊界上的節點作為背景種子,即標記數據(種子點樣本)來對所有其他區域的相關性進行排序。具體來說,使用邊界先驗構建四個顯著圖,然后將它們整合到最終映射中,這被稱為分離/組合(SC)方法

以頂部圖像邊界為例,我們將此側的節點用作種子點,將其他節點用作未標記的數據。因此,給出指示符向量y,並且基於等式3中的f*對所有節點進行排序。它是一個N維向量(N是圖的節點總數)此向量中的每個元素表示節點與背景種子點的相關性,其補碼是顯著性度量。我們將此向量標准化為0到1之間的范圍,使用頂部邊界先驗的顯著性映射,St可寫為:

 

其中i表示索引圖中的超像素節點, f*(i)表示歸一化向量

類似地,我們使用底部,左側和右側圖像邊界作為種子點來計算其他三個邊界Sb,S1和Sr的顯著性映射。我們注意到,顯著圖是用不同的指標向量y計算的,而權重矩陣和度矩陣D是固定的。也就是說,我們需要為每個圖像計算一次矩陣的逆(D-αW)。由於超像素的數量很小,因此矩陣在方程3中的逆矩陣可以有效地計算。因此,四個映射的總計算負荷很低。通過以下過程整合四個顯著性圖:

使用SC方法生成顯著性圖有兩個原因。首先,不同側面的超像素通常不相似,應該具有較大的距離。如果我們同時使用所有邊界超像素作為種子點(即,指示這些超級像素是相似的),則標記結果通常不太理想,因為這些節點不可壓縮(參見圖4)。其次,它減少了不精確種子點的影響,即參考真實的突出節點被無意中選擇作為后台種子點。如圖5的第二列所示,使用所有邊界節點生成的顯著性圖很差。由於標記結果不精確,具有顯著對象的像素具有低顯著性值。通過整合四個顯著性圖,可以識別對象的一些顯著部分(盡管整個對象未被均勻地突出顯示),這為第二階段檢測過程提供了足夠的提示。

 

雖然顯著對象的大部分區域在第一階段突出顯示,但某些背景節點可能無法被充分抑制(參見圖4和圖5)。為了緩解這個問題並改善結果,特別是當對象出現在圖像邊界附近時,通過使用前景種子點進行排名來進一步改進顯著性圖。

 4.2 Ranking with Foreground Queries  背景種子點排序

 第一階段的顯著性映射是使用自適應閾值的二分制分割(即顯著前景和背景),其便於選擇前景顯著對象的節點作為種子點。我們期望所選擇的種子點盡可能多地覆蓋顯著對象區域(即具有高召回率)。因此,閾值被設置為整個顯著圖上的平均顯著性。一旦給出顯著種子點,就形成指示符向量y使用等式3以計算排序向量f*。如在第一階段中執行的那樣,排名向量f*在0和1的范圍之間歸一化,以形成最終的顯著圖

 

其中i是在圖上超像素節點的索引,f*表示歸一化向量。

我們注意到在這個階段可能會錯誤地選擇節點作為前景種子點。盡管有一些不精確的標記,但是如圖6所示,所提出的算法可以很好地檢測到顯著對象。這可以解釋如下。突出物體區域通常相對緊湊(在空間分布方面)並且外觀均勻(在特征分布方面),而背景區域則相反。換句話說,對象內相關性(即顯著對象的兩個節點)在統計上遠大於對象背景和背景內相關性,這可以從關聯矩陣A推斷出。為了顯示這種現象,我們計算了從具有真實標簽[2]的數據集中采樣的300個圖像中的每一個A中的對象內,背景內和對象與背景的平均相關性值,如圖7所示。因此,對象節點與參考值得顯著種子點的相關性值總和遠大於對所有種子點的背景節點的相關性值的總和。也就是說,可以有效地抑制背景顯著性(圖6的第四列)。類似地,盡管圖5的第一階段之后的顯著性圖不精確,但是在第二階段中前景種子點的顯著性映射之后可以很好地檢測到顯著對象。算法總結了所提出的顯著對象檢測算法的主要步驟。

 

算法:基於流形排序的自下而上顯著性

輸入:一幅圖像和所需的參數

  1. 將輸入圖像分割成超像素,構造具有超像素作為節點的圖G,並通過等式4計算其度矩陣D和權重矩陣W。
  2. 計算(D-αW)-1並將其對角線元素設置為0。
  3. 形成指示符向量y,其中圖像每一側的節點作為種子點,並通過等式3和5計算它們對應邊界的映射。
  4. 二分值Sbq形成突出的前景種子點和指示符向量y。通過等式3和7計算顯著性映射Sfq。

輸出:代表每個超像素的顯著性值的顯著性映射Sfq。

 MATLAB代碼:

clear all;close all;clc;
addpath('./function/');
%%------------------------設置參數---------------------%%
theta = 0.1;                            % 控制邊緣的權重
alpha = 0.99;                          % 控制流行排序成本函數兩個項的平衡
spnumber = 200;                    % 超像素的數量
imgRoot = './test/';                 % 測試圖像的路徑
saldir = './saliencymap/';         % 顯著性圖像的輸出路徑
supdir = './superpixels/';         % 超像素標簽的文件路徑
mkdir(supdir);
mkdir(saldir);
imnames = dir([imgRoot '*' 'jpg']);

disp(imnames);
imname = [imgRoot imnames.name];
[input_im,w] = removeframe(imname);            %預處理去掉邊框
[m,n,k] = size(input_im);

%%----------------------生成超像素--------------------%%
  imname = [imname(1:end-4) '.bmp'];       %SLIC軟件僅支持bmp格式的圖片
  comm = ['SLICSuperpixelSegmentation' ' ' imname ' ' int2str(20) ' ' int2str(spnumber) ' ' supdir];  %<filename> <spatial_proximity_weight> <number_of_superpixels> <path_to_save_results>
  system(comm);    
  spname = [supdir imnames.name(1:end-4)  '.dat'];
  
  %超像素標簽矩陣
  fid = fopen(spname,'r');
  A = fread(fid, m * n, 'uint32');     %fread(fid, N, 'str')  N代表讀入元素個數, 'str'是格式類型
  A = A+1;     %把A變成正整數或邏輯值
  B = reshape(A,[n, m]);
  superpixels = B';
  fclose(fid);
  spnum = max(superpixels(:));  %實際的超像素數目  
  
 %%----------------------設計圖形模型--------------------------%%
 %計算特征值 (mean color in lab color space)
 %對於每個超像素
    input_vals = reshape(input_im, m*n, k);
    rgb_vals = zeros(spnum,1,3);
    inds = cell(spnum,1);
    for i = 1:spnum
        inds{i} = find(superpixels==i);
        rgb_vals(i,1,:) = mean(input_vals(inds{i},:),1);
    end  
  lab_vals = colorspace('Lab<-', rgb_vals);            %rgbzhuan轉換成lab空間
  seg_vals = reshape(lab_vals,spnum,3);                 % 每個超像素點的特征
  
 % 求得邊界
 %求鄰接矩陣
  adjloop = zeros(spnum,spnum);
  [m1 n1] = size(superpixels);
 for i = 1:m1-1
    for j = 1:n1-1
        if(superpixels(i,j)~=superpixels(i,j+1))
            adjloop(superpixels(i,j),superpixels(i,j+1)) = 1;
            adjloop(superpixels(i,j+1),superpixels(i,j)) = 1;
        end;
        if(superpixels(i,j)~=superpixels(i+1,j))
            adjloop(superpixels(i,j),superpixels(i+1,j)) = 1;
            adjloop(superpixels(i+1,j),superpixels(i,j)) = 1;
        end;
        if(superpixels(i,j)~=superpixels(i+1,j+1))
            adjloop(superpixels(i,j),superpixels(i+1,j+1)) = 1;
            adjloop(superpixels(i+1,j+1),superpixels(i,j)) = 1;
        end;
        if(superpixels(i+1,j)~=superpixels(i,j+1))
            adjloop(superpixels(i+1,j),superpixels(i,j+1)) = 1;
            adjloop(superpixels(i,j+1),superpixels(i+1,j)) = 1;
        end;
    end;
end;    
bd = unique([superpixels(1,:),superpixels(m,:),superpixels(:,1)',superpixels(:,n)']);
for i = 1:length(bd)
    for j = i+1:length(bd)
        adjloop(bd(i),bd(j)) = 1;
        adjloop(bd(j),bd(i)) = 1;
    end
end
   
    edges = [];
   for i = 1:spnum
        indext = [];
        ind = find(adjloop(i,:)==1);
        for j = 1:length(ind)
            indj = find(adjloop(ind(j),:)==1);
            indext = [indext,indj];
        end
        indext = [indext,ind];
        indext = indext((indext>i));
        indext = unique(indext);
        if(~isempty(indext))
            ed = ones(length(indext),2);
            ed(:,2) = i*ed(:,2);
            ed(:,1) = indext;
            edges = [edges;ed];
        end
   end
 
  % 計算關聯矩陣
   valDistances = sqrt(sum((seg_vals(edges(:,1),:)-seg_vals(edges(:,2),:)).^2,2));
   valDistances = normalize(valDistances); %Normalize to [0,1]
   weights = exp(-valDistances/theta);
   W=sparse([edges(:,1);edges(:,2)],[edges(:,2);edges(:,1)], ...
       [weights;weights],spnum,spnum);   
  

   % 最優化關聯矩陣 (公式3)
   dd = sum(W); D = sparse(1:spnum,1:spnum,dd); clear dd;      %S = sparse(i,j,s,m,n,nzmax)由向量i,j,s生成一個m*n的含有nzmax個非零元素的稀疏矩陣S;即矩陣A中任何0元素被去除,非零元素及其下標組成矩陣S
   optAff = eye(spnum)/(D-alpha*W); 
   mz = diag(ones(spnum,1));
   mz = ~mz;     %將A的對角元素設置為0
   optAff = optAff.*mz;
  
   %%-----------------------------顯著性檢測第一階段--------------------------%%
  % 為每個超像素計算顯著性值
  % 作為種子點的上邊界
    Yt = zeros(spnum,1);
    bst = unique(superpixels(1,1:n));
    Yt(bst) = 1;
    bsalt = optAff*Yt;
    bsalt = (bsalt-min(bsalt(:)))/(max(bsalt(:))-min(bsalt(:)));       %正規化數據
    bsalt = 1-bsalt;                  %補碼為顯著性度量
  
  % down
    Yd = zeros(spnum,1);
    bsd = unique(superpixels(m,1:n));
    Yd(bsd) = 1;
    bsald = optAff*Yd;       %f*(i) 此向量中的每個元素表示節點與背景種子點的相關性
    bsald = (bsald-min(bsald(:)))/(max(bsald(:))-min(bsald(:)));  
    bsald = 1-bsald;  
   
% right
    Yr = zeros(spnum,1);
    bsr = unique(superpixels(1:m,1));
    Yr(bsr) = 1;
    bsalr = optAff*Yr;
    bsalr = (bsalr-min(bsalr(:)))/(max(bsalr(:))-min(bsalr(:)));
    bsalr = 1-bsalr;
  
% left
    Yl = zeros(spnum,1);
    bsl = unique(superpixels(1:m,n));
    Yl(bsl) = 1;
    bsall = optAff*Yl;
    bsall = (bsall-min(bsall(:)))/(max(bsall(:))-min(bsall(:)));
    bsall = 1-bsall;   
   
% combine 
    bsalc = (bsalt.*bsald.*bsall.*bsalr);
    bsalc = (bsalc-min(bsalc(:)))/(max(bsalc(:))-min(bsalc(:)));
  
% 為每個像素分配顯著性值 
  tmapstage1 = zeros(m,n);
  for i = 1:spnum
      tmapstage1(inds{i}) = bsalc(i); 
  end
  tmapstage1 = (tmapstage1-min(tmapstage1(:)))/(max(tmapstage1(:))-min(tmapstage1(:)));
   mapstage1 = zeros(w(1),w(2));
   mapstage1(w(3):w(4),w(5):w(6)) = tmapstage1;
   mapstage1 = uint8(mapstage1*255);  
   
  outname = [saldir imnames.name(1:end-4)  '_stage1' '.png'];
  imwrite(mapstage1,outname);
  
  %%----------------------顯著性檢測第二階段-------------------------%%
  % 自適應閾值二值化
  th = mean(bsalc);                    %閾值被設置為整個顯著圖上的平均顯著性
  bsalc(bsalc<th)=0;
  bsalc(bsalc>=th)=1;
  
  % 為每個超像素計算顯著性值
  fsal = optAff*bsalc;
  
  % 為每個像素分配顯著性值
    tmapstage2 = zeros(m,n);
    for i = 1:spnum
        tmapstage2(inds{i}) = fsal(i);   
    end
    tmapstage2 = (tmapstage2-min(tmapstage2(:)))/(max(tmapstage2(:))-min(tmapstage2(:)));
    
    mapstage2 = zeros(w(1),w(2));
    mapstage2(w(3):w(4),w(5):w(6)) = tmapstage2;
    mapstage2 = uint8(mapstage2*255);
    outname = [saldir imnames.name(1:end-4)  '_stage2' '.png'];   
    imwrite(mapstage2,outname);

  

執行結果(自己隨機挑選的照片):1.原始圖片 2.超像素圖片 3.顯著性圖片第一階段 4. 顯著性圖片第二階段

         

         

 

5. 實驗結果

在三個數據集上評估所提出的方法。第一個是MSRA數據集[23],其中包含5,000個圖像,其中顯著區域的基本事實由邊界框標記。第二個是MSRA-1000數據集,它是MSRA數據集的一個子集,其中包含[2]提供的1,000個圖像,其中包含用於顯著對象的精確的人工標記參考圖。最后一個是提議的DUT-OMRON數據集, 其中包含5個用戶的5,172個精心標記的圖像。有關此數據集的源圖像,ground-truth標簽和詳細說明,請訪問http://ice.dlut.edu.cn/lu/DUT-OMRON/Homepage.htm。  

實驗設置:我們在所有實驗中設置超像素節點的數量N=200。該算法有兩個參數:方程4中的邊界權重σ,等式3中的平衡權重α。參數σ控制一對節點之間的權重強度,參數α平衡流形排序算法正則化函數中的平滑約束和擬合約束。對於所有實驗,這兩個參數根據經驗選擇σ2= 0.1和α= 0.99

評估指標:我們通過精確度,召回率和F度量來評估所有方法。精度值對應於正確分配給提取區域的所有像素的顯着像素的比率,而召回值被定義為檢測到的顯着像素相對於地面實況數的百分比。與之前的工作類似,通過使用0到255范圍內的閾值對顯著性圖進行二值化來獲得精確度曲線。F度量是通過精度和召回的加權諧波計算的整體性能測量:

設置β2= 0.3來強調精度。

5.1  MSRA-1000

 

 

 

5.2 MSRA

 

5.3. DUT-OMRON

我們在DUT-OMRON數據集上測試所提出的模型,其中圖像由五個用戶用邊界框注釋。類似於MSRA數據庫上的實驗,我們還計算了二元顯著圖的矩形,然后通過固定閾值和自適應閾值方法來評估我們的模型。圖12顯示建議的數據集更具挑戰性(所有模型執行得更差),從而為未來工作的改進提供了更多空間。

5.4 運行時間

6. 總結

提出了一種自下而上的方法,通過圖表上的流形排序來檢測圖像中的顯著區域,其結合了局部分組線索和邊界先驗。我們采用兩階段方法,使用背景和前景種子點進行排名,以生成顯著性圖。我們在大型數據集上評估所提出的算法,並通過與十四種最先進的方法進行比較來展示有希望的結果。此外,所提出的算法在計算上是高效的。

本文兩篇的參考文獻也是很好的基礎學習資料:

1.D. Zhou, O. Bousquet, T. Lal, J.Weston, and B. Scholkopf. Learning with local and global consistency. In NIPS, 2003. 3

2. D. Zhou, J. Weston, A. Gretton, O. Bousquet, and B. Scholkopf. Ranking on data manifolds. In NIPS, 2004. 2, 3

 2018-08-31  00:46:05   裴佳倫


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM