用于圖像分析的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種用于處理圖像的方法。所述方法包括:識(shí)別出圖像中的一組關(guān)鍵點(diǎn);對(duì)于該組當(dāng)中的每一個(gè)關(guān)鍵點(diǎn):a)計(jì)算包括多個(gè)數(shù)組元素的相應(yīng)的描述符數(shù)組,其中每一個(gè)數(shù)組元素存儲(chǔ)由該關(guān)鍵點(diǎn)的鄰域內(nèi)的所述圖像的對(duì)應(yīng)子區(qū)段的相應(yīng)的顏色梯度直方圖所取得的數(shù)值;b)通過對(duì)所述描述符數(shù)組的至少一部分進(jìn)行壓縮生成至少一個(gè)已壓縮描述符數(shù)組,所述壓縮是通過利用包括多個(gè)碼字(CW)的碼本(CBK)進(jìn)行矢量量化而實(shí)現(xiàn)的。
【專利說明】用于圖像分析的方法和系統(tǒng)
[0001] 發(fā)明背景
【技術(shù)領(lǐng)域】
[0002] 本發(fā)明涉及圖像分析領(lǐng)域。
【背景技術(shù)】
[0003] 在圖像分析領(lǐng)域內(nèi),一種常見的操作是對(duì)兩幅圖像進(jìn)行比較,以便在全部兩幅圖 像包括相同場景或相同對(duì)象的至少一部分的情況下找到存在于二者之間的關(guān)系。
[0004] 在多種應(yīng)用當(dāng)中,圖像比較對(duì)于以下應(yīng)用極為重要:校準(zhǔn)屬于一個(gè)多攝影機(jī)系統(tǒng) 的各臺(tái)視頻攝影機(jī),評(píng)估在一次視頻拍攝的兩幀之間發(fā)生的運(yùn)動(dòng),以及辨識(shí)出圖像(例如 圖片)內(nèi)的對(duì)象。后一種應(yīng)用現(xiàn)在由于特別被設(shè)計(jì)成采用在所謂的視覺搜索引擎中的對(duì)象 辨識(shí)算法的近來發(fā)展正變得越來越重要,所述視覺搜索引擎即從一幅圖片開始能夠識(shí)別出 其中所描繪的(多個(gè))對(duì)象并且給出與所識(shí)別出的(多個(gè))對(duì)象有關(guān)的信息的自動(dòng)化服務(wù)。 這種類型的已知的服務(wù)的實(shí)例包括Google Goggles、Nokia Point&Find以及kooaba Smart Visuals。對(duì)象辨識(shí)應(yīng)用通常把描繪將要辨識(shí)的對(duì)象的第一圖像(術(shù)語稱作"查詢圖像") 與分別描繪對(duì)應(yīng)的已知對(duì)象的多幅模型圖像進(jìn)行比較;這樣允許在查詢圖像中所描繪的對(duì) 象與模型圖像中所描繪的對(duì)象之間進(jìn)行比較。
[0005] 模型圖像通常被設(shè)置在適當(dāng)?shù)哪P蛿?shù)據(jù)庫中。舉例來說,在在線購物情形中利用 對(duì)象辨識(shí)的情況下,每一幅模型圖像對(duì)應(yīng)于由在線商店提供的一個(gè)項(xiàng)目(例如書封面、DVD 封面和/或CD封面的圖片)。包括在此類數(shù)據(jù)庫中的模型圖像的數(shù)目相當(dāng)多;舉例來說, 在線購物服務(wù)的模型數(shù)據(jù)庫可以包括幾百萬幅不同的模型圖像。
[0006] 在兩幅圖像之間實(shí)施比較操作的一種非常高效的方式是在第一圖像中選擇一個(gè) 點(diǎn)集合(術(shù)語稱作"關(guān)鍵點(diǎn)"),并且隨后把所述集合當(dāng)中的每一個(gè)關(guān)鍵點(diǎn)與第二圖像中的 相應(yīng)關(guān)鍵點(diǎn)進(jìn)行匹配。關(guān)于必須將第一圖像中的哪一點(diǎn)作為關(guān)鍵點(diǎn)的選擇有利地是通過提 取出所述圖像的圍繞該點(diǎn)本身的區(qū)域的局部特征來實(shí)施的,比如點(diǎn)提取尺度、所述區(qū)域的 特權(quán)指向(privileged orientation)以及所謂的"描述符"。在圖像分析領(lǐng)域內(nèi),關(guān)鍵點(diǎn)的 描述符是描述以該關(guān)鍵點(diǎn)為中心的圖像區(qū)域(其被稱作貼片)的亮度梯度的數(shù)學(xué)運(yùn)算符, 其中此類貼片的指向是根據(jù)該貼片本身的主要亮度梯度。
[0007] 在 David G. Lowe 的"Distinctive images features from scale-invariant keypoints (來自尺度不變關(guān)鍵點(diǎn)的獨(dú)特圖像特征)"(International Journal of computer vision, 2004年)中提出了尺度不變特征變換(SIFT)描述符;簡而言之,為了允 許進(jìn)行可靠的圖像辨識(shí),在生成SIFT描述符時(shí)考慮到以下情況:即使在圖像尺度、噪聲和 照明發(fā)生改變的情況下,提取自圖像的對(duì)應(yīng)于每一個(gè)關(guān)鍵點(diǎn)的局部特征仍然應(yīng)當(dāng)是可檢測 的。因此,SIFT描述符對(duì)于均勻尺度、指向是不變的,并且對(duì)于仿射失真和照明改變是部分 地不變的。
[0008] SIFT描述符是相當(dāng)強(qiáng)有力的工具,其允許選擇關(guān)鍵點(diǎn)以用于進(jìn)行準(zhǔn)確的圖像比 較。但是這一準(zhǔn)確性只有在使用相當(dāng)大量的數(shù)據(jù)的情況下才能實(shí)現(xiàn);舉例來說,典型的 SIFT描述符是128數(shù)據(jù)字節(jié)的數(shù)組。由于每一幅圖像中的關(guān)鍵點(diǎn)的數(shù)目相對(duì)較多(例如對(duì) 于標(biāo)準(zhǔn)的VGA圖片是1000-1500個(gè)關(guān)鍵點(diǎn)),并且由于每一個(gè)關(guān)鍵點(diǎn)與相應(yīng)的SIFT描述符 相關(guān)聯(lián),因此將要處理的數(shù)據(jù)總量可能變得過大從而無法被高效地管理。
[0009] 這一缺陷在所述情形涉及使用移動(dòng)終端的情況下更加惡化(例如對(duì)于從通過智 能電話的攝影機(jī)拍攝的圖片中提取的對(duì)象進(jìn)行識(shí)別)。實(shí)際上,由于為了實(shí)施圖像分析而將 實(shí)施的操作相當(dāng)復(fù)雜并且在計(jì)算負(fù)荷方面需求較高,因此在這種情況下,大多數(shù)操作通常 在服務(wù)器側(cè)實(shí)施;為了具有對(duì)于實(shí)施所述分析所需要的所有信息,服務(wù)器需要從移動(dòng)終端 接收所需要的全部數(shù)據(jù),其中包括對(duì)應(yīng)于所有關(guān)鍵點(diǎn)的SIFT描述符。因此,將從終端傳送 到服務(wù)器的數(shù)據(jù)量可能變得過大從而無法保證所述服務(wù)的良好效率。
[0010] 根據(jù)本領(lǐng)域內(nèi)已知的一種解決方案,比如由Google Goggles采用的解決方案,通 過直接從移動(dòng)終端向服務(wù)器傳送圖像而非描述符在根本上解決了這一缺陷。實(shí)際上,由于 關(guān)鍵點(diǎn)的數(shù)目相當(dāng)多,因此相應(yīng)的SIFT描述符的數(shù)據(jù)量可能超出標(biāo)準(zhǔn)VGA圖片本身的尺寸 (以字節(jié)計(jì))。
【發(fā)明內(nèi)容】
[0011] 申請(qǐng)人:已經(jīng)發(fā)現(xiàn),本領(lǐng)域內(nèi)已知的方法效率不高,其仍然要求管理大量數(shù)據(jù),從而 限制系統(tǒng)的可伸縮性和總體性能。
[0012] 申請(qǐng)人:解決了關(guān)于如何在將要處理的數(shù)據(jù)量方面改進(jìn)這些方法的問題。
[0013] 具體來說, 申請(qǐng)人:解決了關(guān)于提供一種需要管理更少數(shù)據(jù)量的用于處理圖像的方 法的問題。
[0014] 申請(qǐng)人:已經(jīng)發(fā)現(xiàn),前面的問題通過壓縮碼本矩陣得以解決,這是通過對(duì)碼本矩陣 進(jìn)行因式分解并且截?cái)鄰乃鲆蚴椒纸獾玫降木仃噷?shí)現(xiàn)的。本發(fā)明的一個(gè)方面涉及一種用 于處理圖像的方法,其包括:
[0015] 識(shí)別出圖像中的一組關(guān)鍵點(diǎn);
[0016] 對(duì)于該組當(dāng)中的每一個(gè)關(guān)鍵點(diǎn):
[0017] a)計(jì)算包括多個(gè)數(shù)組元素的相應(yīng)的描述符數(shù)組,其中每一個(gè)數(shù)組元素存儲(chǔ)由該關(guān) 鍵點(diǎn)的鄰域內(nèi)的所述圖像的對(duì)應(yīng)子區(qū)段的相應(yīng)的顏色梯度直方圖所取得的數(shù)值;
[0018] b)通過對(duì)所述描述符數(shù)組的至少一部分進(jìn)行壓縮生成至少一個(gè)已壓縮描述符數(shù) 組,所述壓縮是通過利用包括多個(gè)碼字的碼本進(jìn)行矢量量化而實(shí)現(xiàn)的;
[0019] 利用所述一組關(guān)鍵點(diǎn)當(dāng)中的各個(gè)關(guān)鍵點(diǎn)的所述至少一個(gè)已壓縮描述符數(shù)組來分 析圖像,其中所述方法還包括:
[0020] 壓縮碼本,所述壓縮碼本包括:
[0021] 生成碼本矩陣,所述碼本矩陣的每一行是該碼本的一個(gè)碼字;
[0022] 對(duì)碼本矩陣進(jìn)行因式分解以便獲得至少第一矩陣和第二矩陣的乘積,第二矩陣的 各個(gè)項(xiàng)目的能量隨著該矩陣的列索引的增大總體上是不增大的;
[0023] 通過從中去除第一數(shù)目的最后各列而截?cái)嗟谝痪仃嚕?br>
[0024] 通過從中去除第一數(shù)目的最后各列和第一數(shù)目的最后各行而截?cái)嗟诙仃嚕?br>
[0025] 生成對(duì)應(yīng)于截?cái)嗪蟮牡谝痪仃嚺c截?cái)嗪蟮牡诙仃嚨某朔e的另一個(gè)第一矩陣;
[0026] 對(duì)另一個(gè)第一矩陣的每一個(gè)項(xiàng)目進(jìn)行量化,其中利用相應(yīng)數(shù)目的量化水平對(duì)屬于 另一個(gè)第一矩陣的一列的每一個(gè)項(xiàng)目進(jìn)行量化,其中所述相應(yīng)數(shù)目低于或等于被用來對(duì)屬 于在前的一列的各個(gè)項(xiàng)目進(jìn)行量化的量化水平的數(shù)目;
[0027] 生成另一個(gè)第二矩陣,其中另一個(gè)第二矩陣當(dāng)中的每一個(gè)項(xiàng)目對(duì)應(yīng)于另一個(gè)第一 矩陣當(dāng)中的一個(gè)項(xiàng)目,所述另一個(gè)第二矩陣當(dāng)中的每一個(gè)項(xiàng)目是關(guān)聯(lián)到另一個(gè)第一矩陣當(dāng) 中的相應(yīng)的已量化項(xiàng)目所采取的量化水平的索引;
[0028] 通過把另一個(gè)第二矩陣的所述索引記憶在存儲(chǔ)器單元中來存儲(chǔ)碼本。
[0029] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,第一矩陣(U)是規(guī)格化正交矩陣,第二矩陣(S)是對(duì)角 矩陣,其各個(gè)對(duì)角項(xiàng)目對(duì)應(yīng)于碼本矩陣(C)的各個(gè)奇異值,屬于第二矩陣的一列(最后一列 除外)的每一個(gè)對(duì)角項(xiàng)目高于屬于后一列的項(xiàng)目。
[0030] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,至少第一矩陣(U)與第二矩陣(S)的所述乘積還包括 第三矩陣(V)的轉(zhuǎn)置,第三矩陣(V)是規(guī)格化正交矩陣,
[0031] 并且其中所述方法還包括:
[0032] 通過從中去除第一數(shù)目的最后各列而截?cái)嗨龅谌仃嚕?br>
[0033] 把截?cái)嗪蟮牡谌仃嚧鎯?chǔ)在存儲(chǔ)器單元中。
[0034] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述截?cái)嗟谝?、第二和第三矩陣還包括:
[0035] 計(jì)算第二矩陣的能量;
[0036] 當(dāng)記憶在存儲(chǔ)器單元中時(shí)設(shè)定對(duì)應(yīng)于由另一個(gè)第二矩陣的所有已量化項(xiàng)目占據(jù) 的存儲(chǔ)器空間的第一目標(biāo)數(shù)值;
[0037] 對(duì)于第二矩陣的每一個(gè)對(duì)角項(xiàng)目,計(jì)算對(duì)應(yīng)于第一目標(biāo)數(shù)值乘以該項(xiàng)目的能量與 第二矩陣的能量之間的比值的對(duì)應(yīng)的分配數(shù)值;
[0038] 將每一個(gè)分配數(shù)值取整到一個(gè)整數(shù)值;以及
[0039] 將第一數(shù)目設(shè)定到碼本矩陣的列數(shù)減去第二矩陣的更高列索引,其中對(duì)于所述更 高列索引,與屬于第二矩陣的由該列索引標(biāo)識(shí)的該列的對(duì)角項(xiàng)目相對(duì)應(yīng)的已取整分配數(shù)值 高于一定閾值。
[0040] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,對(duì)于另一個(gè)第一矩陣的每一個(gè)項(xiàng)目的所述量化還包 括,對(duì)于另一個(gè)第一矩陣的每一列,把用于對(duì)另一個(gè)第一矩陣的所述列當(dāng)中的每一個(gè)項(xiàng)目 進(jìn)行量化的量化水平的相應(yīng)數(shù)目設(shè)定到2的乘方,所述乘方的次數(shù)是與屬于第二矩陣的其 列索引與另一個(gè)第一矩陣的所述列相同的一列的對(duì)角項(xiàng)目相對(duì)應(yīng)的已取整分配數(shù)值。
[0041] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述方法還包括:
[0042] 選擇數(shù)據(jù)類型;
[0043] 通過一定系數(shù)對(duì)截?cái)嗪蟮牡谌仃嚠?dāng)中的每一個(gè)項(xiàng)目進(jìn)行縮放,所述系數(shù)對(duì)應(yīng)于 可以利用所選數(shù)據(jù)類型表示的最高數(shù)值與截?cái)嗪蟮牡谌仃嚨母鱾€(gè)項(xiàng)目的絕對(duì)值當(dāng)中的 最高絕對(duì)值之間的比值;以及
[0044] 利用所選數(shù)據(jù)類型表示截?cái)嗪蟮牡谌仃嚨拿恳粋€(gè)經(jīng)過縮放的項(xiàng)目,所述存儲(chǔ)碼 本還包括將利用所選數(shù)據(jù)類型表示的截?cái)嗪蟮牡谌仃嚨母鱾€(gè)經(jīng)過縮放的項(xiàng)目記憶在存 儲(chǔ)器單元中。
[0045] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述生成另一個(gè)第一矩陣包括將截?cái)嗪蟮牡谝痪仃嚦?以截?cái)嗪蟮牡诙仃?,并且隨后將所得到的矩陣的每一個(gè)項(xiàng)目乘以所述系數(shù)。
[0046] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,對(duì)碼本矩陣的所述因式分解包括利用奇異值分解。
[0047] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述方法還包括,在將碼本矩陣因式分解成至少第一 和第二矩陣的乘積之前,計(jì)算從碼本矩陣的所有各行的平均值獲得的平均數(shù)組并且隨后 從碼本矩陣的每一行減去該平均數(shù)組,所述存儲(chǔ)碼本還包括將平均數(shù)組記憶在存儲(chǔ)器單元 中。
[0048] 本發(fā)明的另一方面提供一種用于處理包括一組關(guān)鍵點(diǎn)的圖像的系統(tǒng)。所述系統(tǒng)被 配置成實(shí)施以下操作:
[0049] 對(duì)于該組當(dāng)中的每一個(gè)關(guān)鍵點(diǎn):
[0050] a)計(jì)算包括多個(gè)數(shù)組元素的相應(yīng)的描述符數(shù)組,其中每一個(gè)數(shù)組元素存儲(chǔ)由該關(guān) 鍵點(diǎn)的鄰域內(nèi)的所述圖像的對(duì)應(yīng)子區(qū)段的相應(yīng)的顏色梯度直方圖所取得的數(shù)值;
[0051] b)通過對(duì)所述描述符數(shù)組的至少一部分進(jìn)行壓縮生成至少一個(gè)已壓縮描述符數(shù) 組,所述壓縮是通過利用包括多個(gè)碼字的碼本進(jìn)行矢量量化而實(shí)現(xiàn)的;
[0052] 利用所述一組關(guān)鍵點(diǎn)當(dāng)中的各個(gè)關(guān)鍵點(diǎn)的所述至少一個(gè)已壓縮描述符數(shù)組來分 析圖像,其中所述方法還包括:
[0053] 壓縮碼本,所述壓縮碼本包括:
[0054] 生成碼本矩陣,所述碼本矩陣的每一行是該碼本的一個(gè)碼字;
[0055] 對(duì)碼本矩陣進(jìn)行因式分解以便獲得至少第一矩陣和第二矩陣的乘積,第二矩陣的 各個(gè)項(xiàng)目的能量隨著該矩陣的列索引的增大總體上是不增大的;
[0056] 通過從中去除第一數(shù)目的最后各列而截?cái)嗟谝痪仃嚕?br>
[0057] 通過從中去除第一數(shù)目的最后各列和第一數(shù)目的最后各行而截?cái)嗟诙仃嚕?br>
[0058] 生成對(duì)應(yīng)于截?cái)嗪蟮牡谝痪仃嚺c截?cái)嗪蟮牡诙仃嚨某朔e的另一個(gè)第一矩陣;
[0059] 對(duì)另一個(gè)第一矩陣的每一個(gè)項(xiàng)目進(jìn)行量化,其中利用相應(yīng)數(shù)目的量化水平對(duì)屬于 另一個(gè)第一矩陣的一列的每一個(gè)項(xiàng)目進(jìn)行量化,其中所述相應(yīng)數(shù)目低于或等于被用來對(duì)屬 于在前的一列的各個(gè)項(xiàng)目進(jìn)行量化的量化水平的數(shù)目;
[0060] 生成另一個(gè)第二矩陣,其中另一個(gè)第二矩陣當(dāng)中的每一個(gè)項(xiàng)目對(duì)應(yīng)于另一個(gè)第一 矩陣當(dāng)中的一個(gè)項(xiàng)目,所述另一個(gè)第二矩陣當(dāng)中的每一個(gè)項(xiàng)目是關(guān)聯(lián)到另一個(gè)第一矩陣當(dāng) 中的相應(yīng)的已量化項(xiàng)目所采取的量化水平的索引;
[0061] 通過把另一個(gè)第二矩陣的所述索引記憶在存儲(chǔ)器單元中來存儲(chǔ)碼本。
[0062] 本發(fā)明的另一方面提供一種軟件程序產(chǎn)品,其包括被配置成實(shí)施根據(jù)第一方面或 者其任何實(shí)施例的方法的代碼部分。
【專利附圖】
【附圖說明】
[0063] 通過后面將結(jié)合附圖閱讀的對(duì)于一些示例性和非限制性實(shí)施例的描述,本發(fā)明的 前述和其他特征和優(yōu)點(diǎn)將變得顯而易見,其中:
[0064] 圖1以方框圖的形式示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的提取規(guī)程,所述提取規(guī)程 旨在從查詢圖像中提取出最優(yōu)關(guān)鍵點(diǎn)集合并且生成已壓縮描述符集合;
[0065] 圖2A-2F是根據(jù)本發(fā)明的一些示例性實(shí)施例的關(guān)鍵點(diǎn)的相應(yīng)的所選局部特征的 統(tǒng)計(jì)分布;
[0066] 圖2G是根據(jù)圖1的提取規(guī)程處理的示例性圖片;
[0067] 圖3A示出了 SIFT類型的示例性描述符;
[0068] 圖3B示出了圖3A的描述符的示例性描述符數(shù)組;
[0069] 圖4A示出了根據(jù)本領(lǐng)域內(nèi)已知的一種解決方案的示例性描述符數(shù)組壓縮;
[0070] 圖4B示出了根據(jù)本領(lǐng)域內(nèi)已知的另一種解決方案的示例性描述符數(shù)組壓縮;
[0071] 圖5示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的各個(gè)相關(guān)族(correlation families)中 的描述符的子直方圖的設(shè)置;
[0072] 圖6A-6D示出了如何根據(jù)本發(fā)明的示例性實(shí)施例來壓縮描述符數(shù)組;
[0073] 圖7A示出了關(guān)鍵點(diǎn)KP的示例性分布;
[0074] 圖7B示出了如何能夠在查詢圖像上疊加格柵以用于量化圖7A的關(guān)鍵點(diǎn)的坐標(biāo);
[0075] 圖7C是通過把圖7B的格柵疊加在圖7A的關(guān)鍵點(diǎn)KP的集合上而獲得的直方圖的 示例性圖形描繪;
[0076] 圖7D標(biāo)識(shí)出完全由不包括任何關(guān)鍵點(diǎn)的單元形成的圖7B的格柵的各列和各行;
[0077] 圖7E示出了秩1支持(rank-1 support)上的示例性直方圖;
[0078] 圖7F示出了對(duì)應(yīng)于圖7E的秩1支持上的直方圖的直方圖映射圖;
[0079] 圖8A示出了字直方圖的一個(gè)實(shí)例;
[0080] 圖8B示出了直方圖映射圖的一個(gè)實(shí)例;
[0081] 圖9以方框圖的形式示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的匹配規(guī)程,所述匹配規(guī)程 旨在實(shí)施兩幅圖像之間的比較;
[0082] 圖10以方框圖的形式示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的取回規(guī)程,所述取回規(guī) 程旨在從模型數(shù)據(jù)庫取回描繪在查詢圖像中所描繪的相同對(duì)象/場景的模型圖像;
[0083] 圖11是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的碼本壓縮規(guī)程的各個(gè)主要階段的流程 圖;
[0084] 圖12是示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的用于選擇將被使用在碼本壓縮規(guī)程中 的一些參數(shù)值的方法的各個(gè)主要階段的流程圖;
[0085] 圖13A-13G示出了基于未壓縮碼本和基于已壓縮碼本的圖像比較系統(tǒng)的性能。
【具體實(shí)施方式】
[0086] 提取規(guī)程(圖1)
[0087] 圖1以方框圖的形式示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的在后文中被稱作"提取規(guī) 程"并且通過附圖標(biāo)記100標(biāo)識(shí)出的規(guī)程,其旨在處理輸入圖像以便獲得最優(yōu)關(guān)鍵點(diǎn)集合并 且生成相應(yīng)的描述符集合。所述關(guān)鍵點(diǎn)和描述符隨后將被利用于圖像分析目的。在后面的 描述中,"圖像分析"和"分析圖像"的一般表達(dá)法意圖包括將一幅圖像與至少一幅其他圖像 進(jìn)行比較的所有操作。這些操作可以在多種應(yīng)用中實(shí)施,比如在對(duì)象辨識(shí)應(yīng)用中實(shí)施,以及 在用于從多幅不同圖片開始創(chuàng)建單一全景圖片的應(yīng)用中實(shí)施。
[0088] 正如后面將描述的那樣,根據(jù)本發(fā)明的一個(gè)實(shí)施例的提取規(guī)程還提供選擇最優(yōu)關(guān) 鍵點(diǎn)子集并且壓縮所述關(guān)鍵點(diǎn)的描述符,從而大大改進(jìn)后續(xù)規(guī)程的效率。
[0089] 在本節(jié)中描述的提取規(guī)程100的各個(gè)步驟可以由適當(dāng)?shù)奶幚韱卧獙?shí)施,其結(jié)構(gòu)和 功能取決于其所針對(duì)的具體應(yīng)用領(lǐng)域。舉例來說,每一個(gè)處理單元可以是專門被設(shè)計(jì)成實(shí) 施所述方法的一個(gè)或多個(gè)步驟的硬件單元。此外,所述方法的各個(gè)步驟可以在相應(yīng)的指令 集合的控制下由可編程機(jī)器(例如計(jì)算機(jī))實(shí)施。
[0090] 關(guān)鍵點(diǎn)提取(階段110)
[0091] 提取規(guī)程100的第一階段110提供接收查詢圖像115并且從中提取關(guān)鍵點(diǎn)KP的 第一集合,其中的每一個(gè)關(guān)鍵點(diǎn)與標(biāo)識(shí)該關(guān)鍵點(diǎn)KP在查詢圖像115內(nèi)的位置的相應(yīng)的一對(duì) 空間坐標(biāo)C相關(guān)聯(lián)。
[0092] 這一操作可以通過利用已知的高斯差分(DoG)關(guān)鍵點(diǎn)提取算法來實(shí)施;但是類似 的考慮在采用不同的關(guān)鍵點(diǎn)提取算法的情況下同樣適用,比如黑塞行列式(DoH)關(guān)鍵點(diǎn)提 取算法。參照DoG關(guān)鍵點(diǎn)提取算法,在不同尺度下的一個(gè)序列中將查詢圖像115與高斯濾 波器卷積。隨后在所述序列中的跟對(duì)鄰近的高斯模糊圖像之間實(shí)施差分操作。隨后將關(guān)鍵 點(diǎn)KP選擇成在多個(gè)尺度下具有高斯差分(DoG)的最大/最小值的點(diǎn)。具體來說,將DoG圖 像中的每一個(gè)像素與其相同尺度下的八個(gè)鄰居進(jìn)行比較,并且與每一個(gè)相鄰尺度(即所述 序列中的后一尺度和前一尺度)下的九個(gè)相鄰像素進(jìn)行比較。如果所述像素值是所有比較 的像素當(dāng)中的最大值或最小值,則將該點(diǎn)考慮為候選關(guān)鍵點(diǎn)KP。
[0093] 階段110還提供基于局部圖像亮度梯度方向?qū)⒚恳粋€(gè)關(guān)鍵點(diǎn)KP指派給一個(gè)或多 個(gè)指向。舉例來說,形成具有多個(gè)片元(bin)的指向直方圖,其中每一個(gè)片元覆蓋相應(yīng)的度 數(shù)區(qū)間。通過其梯度量值以及經(jīng)過高斯加權(quán)的循環(huán)窗口對(duì)添加到一個(gè)直方圖片元的相鄰窗 口中的每一個(gè)樣本進(jìn)行加權(quán)。所得到的直方圖中的峰值對(duì)應(yīng)于主導(dǎo)指向。一旦直方圖被 填滿,就把對(duì)應(yīng)于最高峰值和處于最高峰值的80%內(nèi)的局部峰值的指向指派給所述關(guān)鍵點(diǎn) KP。在指派了多個(gè)指向的情況下,對(duì)于每一個(gè)附加指向創(chuàng)建與原始關(guān)鍵點(diǎn)具有相同位置和 尺度的附加關(guān)鍵點(diǎn)KP。
[0094] 因此在階段110結(jié)束時(shí)生成關(guān)鍵點(diǎn)KP的集合,并且連同相應(yīng)的坐標(biāo)C、提取關(guān)鍵點(diǎn) 的尺度S、其主導(dǎo)指向0以及峰值P,即對(duì)應(yīng)于該關(guān)鍵點(diǎn)的DoG的絕對(duì)值(從而表明其對(duì)比 度)。
[0095] 描述符生成(階段120)
[0096] 后面的階段120提供處理查詢圖像115以便對(duì)于每一個(gè)關(guān)鍵點(diǎn)KP計(jì)算相應(yīng)的描 述符D。在所討論的實(shí)例中,在階段120處計(jì)算的描述符D是SIFT類型的描述符。提取關(guān) 鍵點(diǎn)KP的方式是為了確保對(duì)于圖像位置、尺度和旋轉(zhuǎn)沒有變化,而計(jì)算SIFD描述符D的方 式則是為了具有高度獨(dú)特性并且對(duì)于照明和視點(diǎn)是部分地不變的。具體來說,對(duì)于每一個(gè) 關(guān)鍵點(diǎn)KP在一個(gè)4x4格柵上計(jì)算由16個(gè)子直方圖構(gòu)成的一個(gè)集合,所述格柵以該關(guān)鍵點(diǎn) KP為中心并且其指向是根據(jù)該關(guān)鍵點(diǎn)KP的主導(dǎo)指向。每一個(gè)子直方圖包括8個(gè)片元,每一 個(gè)片元對(duì)應(yīng)于關(guān)于所述主導(dǎo)指向成一定角度η* π /4(n = 0,1,... 7)的指向;一個(gè)子直方 圖的每一個(gè)片元的頻率與沿著由該片元標(biāo)識(shí)的方向考慮的對(duì)應(yīng)于該子直方圖的格柵單元 (其在后文中被稱作子區(qū)段)的亮度梯度成比例。這樣的指向直方圖的數(shù)值被設(shè)置在一個(gè) 數(shù)組中,從而形成關(guān)鍵點(diǎn)KP的描述符D。由于存在分別具有8個(gè)片元的4x4 = 16個(gè)子直方 圖,因此描述符D是具有128個(gè)項(xiàng)目的數(shù)組。
[0097] 本發(fā)明的概念同樣適用于在包括不同數(shù)目的單元的格柵上和/或?qū)τ诿總€(gè)直方 圖的不同數(shù)目的片元計(jì)算SIFT描述符的情況。
[0098] 此外,雖然在所討論的實(shí)例中提到了 SIFT類型的描述符,但是類似的考慮同樣適 用于采用不同類型的描述符的情況,比如加速魯棒特征(SURF)和指向梯度直方圖(H0G)或 者可能還有其他情況。此外,雖然在前面提到并且將在后面提到包括與亮度梯度有關(guān)的數(shù) 據(jù)的描述符,但是類似的考慮同樣適用于考慮不同參數(shù)的梯度的情況。實(shí)際上,正如本領(lǐng)域 技術(shù)人員所熟知的那樣,亮度僅僅是顏色的其中一項(xiàng)物理屬性。因此,雖然亮度被確定為 對(duì)于圖像分析目的將考慮的最佳(即最魯棒的)物理屬性,但是還可以考慮不同類型的描 述符,其中例如包括與色度梯度、飽和度梯度或者甚至顏色(其同時(shí)包括亮度、飽和度和色 度)梯度有關(guān)的數(shù)據(jù)。
[0099] 如前所述,實(shí)施圖像分析操作涉及管理相當(dāng)大量的數(shù)據(jù):實(shí)際上,每一個(gè)關(guān)鍵點(diǎn) KP與多項(xiàng)局部特征(其在后文中由附圖標(biāo)記LFkp全局標(biāo)識(shí))相關(guān)聯(lián),其中包括坐標(biāo)C、尺 度S、主導(dǎo)指向0和峰值P,以及由包括128個(gè)項(xiàng)目的數(shù)組形成的相應(yīng)的描述符D。為此目 的,為了減少將要管理(例如將要記憶和/或傳送)的數(shù)據(jù)總量,根據(jù)本發(fā)明的一個(gè)實(shí)施例 的提取規(guī)程100提供兩方面的便利,也就是說:
[0100] 1)通過(從圖像比較角度)選擇最具相關(guān)性的關(guān)鍵點(diǎn)KP而減少先前生成的關(guān)鍵 點(diǎn)KP的數(shù)目,以便獲得關(guān)鍵點(diǎn)KP的最優(yōu)子集SUB ;以及
[0101] 2)適當(dāng)?shù)貕嚎s坐標(biāo)C和描述符D。
[0102] 提取規(guī)程100的階段130旨在選擇最優(yōu)子集SUB,階段140旨在壓縮描述符D,并 且階段150旨在壓縮坐標(biāo)C。
[0103] 選擇關(guān)鍵點(diǎn)的最優(yōu)子集(階段130)
[0104] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過以下步驟來實(shí)施對(duì)于最優(yōu)子集SUB的選擇:對(duì)于 查詢圖像115的每一個(gè)關(guān)鍵點(diǎn)KP的至少一項(xiàng)局部特征LFkp (坐標(biāo)C、尺度S、主導(dǎo)指向0、峰 值P和描述符D)計(jì)算至少一項(xiàng)相應(yīng)的特征相關(guān)性概率FRP,基于其局部特征LFkp的特征相 關(guān)性概率FRP根據(jù)關(guān)鍵點(diǎn)相關(guān)性概率KRP對(duì)各個(gè)關(guān)鍵點(diǎn)KP進(jìn)行排序,并且隨后選擇具有最 高關(guān)鍵點(diǎn)相關(guān)性概率KRP的關(guān)鍵點(diǎn)KP。
[0105] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過利用相應(yīng)的參考統(tǒng)計(jì)分布Rsd來計(jì)算一般關(guān)鍵點(diǎn) KP的每一項(xiàng)局部特征LFkp的特征相關(guān)性概率FRP,其中所述參考統(tǒng)計(jì)分布Rsd是在基準(zhǔn)圖 像數(shù)據(jù)庫上實(shí)施統(tǒng)計(jì)評(píng)估之后預(yù)先確定的。
[0106] 參考統(tǒng)計(jì)分布Rsd反映出對(duì)于圖像分析目的被認(rèn)為是有用的關(guān)鍵點(diǎn)KP的局部特 征LFkp的統(tǒng)計(jì)行為。
[0107] 舉例來說,在對(duì)象辨識(shí)規(guī)程的情況中,基準(zhǔn)圖像數(shù)據(jù)庫是包括多個(gè)圖像對(duì)的數(shù)據(jù) 庫,其中每一個(gè)圖像對(duì)由描繪相同對(duì)象/場景的兩幅圖片構(gòu)成。根據(jù)本發(fā)明的一個(gè)實(shí)施例, 參考統(tǒng)計(jì)分布是以如下方式生成的。
[0108] 首先從基準(zhǔn)數(shù)據(jù)庫的所有圖像中提取出關(guān)鍵點(diǎn)。隨后對(duì)于所提出的所有關(guān)鍵點(diǎn)的 一項(xiàng)或更多項(xiàng)所選局部特征實(shí)施第一統(tǒng)計(jì)分析,從而生成所述所選局部特征的第一統(tǒng)計(jì)分 布。一項(xiàng)局部特征的每一項(xiàng)第一統(tǒng)計(jì)分布被設(shè)置成直方圖的形式,這是通過對(duì)于從基準(zhǔn)數(shù) 據(jù)庫的各幅圖像中提取出的全部關(guān)鍵點(diǎn)當(dāng)中的其所述局部特征的數(shù)值落在多個(gè)預(yù)定義局 部特征數(shù)值區(qū)間(片元)內(nèi)的關(guān)鍵點(diǎn)的數(shù)目(關(guān)鍵點(diǎn)頻率)進(jìn)行計(jì)數(shù)而獲得的。隨后對(duì)于 每一個(gè)圖像對(duì),將一幅圖片的關(guān)鍵點(diǎn)與另一幅圖片的關(guān)鍵點(diǎn)進(jìn)行匹配。利用圖像比較規(guī)程 (比如基于圖像特征匹配的各種已知的圖像比較規(guī)程當(dāng)中的任一種)來處理此類關(guān)鍵點(diǎn)之 間的匹配,以便識(shí)別出哪一項(xiàng)匹配是正確的(正常值)以及哪一項(xiàng)是錯(cuò)誤的(異常值)。隨 后對(duì)先前所考慮的一項(xiàng)或多項(xiàng)相同特征實(shí)施第二統(tǒng)計(jì)分析,以便生成將被用于計(jì)算特征相 關(guān)性概率FRP的參考統(tǒng)計(jì)分布Rsd。此時(shí),生成參考統(tǒng)計(jì)分布Rsd是通過對(duì)于每一個(gè)片元計(jì) 算屬于正常值并且其相應(yīng)的局部特征的數(shù)值落在所述片元內(nèi)的關(guān)鍵點(diǎn)的數(shù)目與其相應(yīng)的 局部特征的數(shù)值落在相同片元內(nèi)的關(guān)鍵點(diǎn)的總數(shù)(屬于正常值以及屬于異常值的關(guān)鍵點(diǎn)) 之間的比值來實(shí)施的。 申請(qǐng)人:觀察到,第一統(tǒng)計(jì)分布與參考統(tǒng)計(jì)分布Rsd彼此相當(dāng)不同。由 于參考統(tǒng)計(jì)分布Rsd是在考慮到涉及正確特征匹配(正常值)的關(guān)鍵點(diǎn)的情況下生成的, 因此 申請(qǐng)人:發(fā)現(xiàn),這樣的統(tǒng)計(jì)分布是對(duì)于圖像分析目的具有相關(guān)性并且特別適合于高效地 采用在圖像比較規(guī)程中的關(guān)鍵點(diǎn)(在后文中被稱作"相關(guān)關(guān)鍵點(diǎn)")的統(tǒng)計(jì)行為的良好代 表。
[0109] 圖2A-2F示出了根據(jù)本發(fā)明的一些示例性實(shí)施例的關(guān)鍵點(diǎn)KP的相應(yīng)的所選局部 特征LFkp的一些統(tǒng)計(jì)分布Rsd。具體來說,圖2A-2F的統(tǒng)計(jì)分布Rsd是從特別針對(duì)對(duì)象辨 識(shí)應(yīng)用設(shè)置的基準(zhǔn)數(shù)據(jù)庫當(dāng)中的圖像生成的。如果將考慮不同的圖像分析應(yīng)用,比如從多 幅不同圖片開始創(chuàng)建單一全景圖片,則所述基準(zhǔn)的圖像(從而還有所得到的統(tǒng)計(jì)分布Rsd) 將是不同的。
[0110] 圖2A是與關(guān)鍵點(diǎn)KP的坐標(biāo)C有關(guān)的統(tǒng)計(jì)分布Rsd。相應(yīng)的直方圖的每一個(gè)片元 代表一般關(guān)鍵點(diǎn)KP與圖像中心的距離(以像素計(jì))。在所討論的實(shí)例中,所考慮的圖像屬 于VGA類型(即具有640x480的分辨率),因此所述中心對(duì)應(yīng)于坐標(biāo)(320, 240)。根據(jù)圖2A 中不出的直方圖,具有最1?關(guān)鍵點(diǎn)KP頻率的片兀是對(duì)應(yīng)于圖像中心的片兀。這意味著關(guān)鍵 點(diǎn)KP越靠近中心,該關(guān)鍵點(diǎn)KP是相關(guān)關(guān)鍵點(diǎn)的概率就越高;隨著與中心的距離增大,直方 圖頻率趨向單調(diào)減小。這可以很容易通過以下事實(shí)來解釋:當(dāng)對(duì)某一對(duì)象拍照時(shí),所述對(duì) 象很有可能被取景在圖片的中心。必須認(rèn)識(shí)到,在這種情況中,直方圖的各個(gè)片元并不全部 具有相同的寬度;這是由于每一個(gè)片元的寬度是為了計(jì)算很少的片元而由(標(biāo)量和/或矢 量)量化器適當(dāng)?shù)卮_定的,從而避免發(fā)生過度擬合(overfitting)現(xiàn)象。本發(fā)明的想法同樣 適用于采用(標(biāo)量和/或矢量)均勻量化的情況,也就是說直方圖的所有片元都具有相同 的寬度。
[0111] 圖2B是與關(guān)鍵點(diǎn)KP的主導(dǎo)指向0有關(guān)的統(tǒng)計(jì)分布Rsd。相應(yīng)的直方圖的每一個(gè) 片元代表一般關(guān)鍵點(diǎn)KP關(guān)于水平線(其對(duì)應(yīng)于0弧度)的主導(dǎo)方向的角度(以弧度計(jì))。 根據(jù)圖2B中示出的直方圖,具有最高關(guān)鍵點(diǎn)KP頻率的片元是對(duì)應(yīng)于與水平指向平行或垂 直的指向(即對(duì)應(yīng)于η/2、0、_ π/2、-π)的片元。這意味著關(guān)鍵點(diǎn)KP的指向與接近所述 指向的其中之一,該關(guān)鍵點(diǎn)ΚΡ是相關(guān)關(guān)鍵點(diǎn)的概率就越高。這可以很容易通過以下事實(shí)來 解釋:當(dāng)對(duì)某一對(duì)象拍照時(shí),所述對(duì)象很有可能被取景成主要平行于和/或垂直于水平線 延伸。在本例中,各個(gè)片元的寬度同樣通過量化器確定。
[0112] 圖2C是與關(guān)鍵點(diǎn)ΚΡ的峰值Ρ有關(guān)的統(tǒng)計(jì)分布Rsd。相應(yīng)的直方圖的每一個(gè)片元 代表一般關(guān)鍵點(diǎn)KP與各個(gè)相鄰關(guān)鍵點(diǎn)當(dāng)中的最相似點(diǎn)之間的對(duì)比度。根據(jù)圖2C中示出的 直方圖,具有最1?關(guān)鍵點(diǎn)KP頻率的片兀是對(duì)應(yīng)于最1?峰值的片兀。這意味著關(guān)鍵點(diǎn)KP的 對(duì)比度越高,該關(guān)鍵點(diǎn)KP是相關(guān)關(guān)鍵點(diǎn)的概率就越高;隨著對(duì)比度增大,直方圖頻率趨向 單調(diào)增大。這可以很容易通過以下事實(shí)來解釋:圖片的具有高對(duì)比度的點(diǎn)很容易辨識(shí)和識(shí) 另IJ。在本例中,各個(gè)片元的寬度同樣通過量化器確定。
[0113] 圖2D是與關(guān)鍵點(diǎn)KP的尺度S有關(guān)的統(tǒng)計(jì)分布Rsd。相應(yīng)的直方圖的每一個(gè)片元 代表可以提取關(guān)鍵點(diǎn)KP的特定尺度S。根據(jù)圖2D中示出的直方圖,具有最高關(guān)鍵點(diǎn)KP頻 率的片元對(duì)應(yīng)于中-低尺度。在本例中,各個(gè)片元的寬度同樣通過量化器確定。
[0114] 圖2E是與關(guān)鍵點(diǎn)KP的描述符D有關(guān)的第一統(tǒng)計(jì)分布Rsd。在本例中,相應(yīng)的直 方圖是三維的,其中的每一個(gè)片元對(duì)應(yīng)于該一般關(guān)鍵點(diǎn)KP的描述符D的兩個(gè)參數(shù)(即描述 符D的均值(X軸)和方差(y軸))的區(qū)間值。更大的頻率值由更大直徑的圓圈表示。均 值和方差被一同考慮以形成相同的直方圖,這是因?yàn)槠浔舜岁P(guān)聯(lián)。根據(jù)這樣的直方圖,由更 大的圓圈代表的具有最高關(guān)鍵點(diǎn)KP頻率的片元是對(duì)應(yīng)于最高均值和最低方差的片元。這 可以通過以下事實(shí)來解釋:關(guān)鍵點(diǎn)KP的描述符D的均值越高,對(duì)應(yīng)于該關(guān)鍵點(diǎn)KP的亮度梯 度就越高,并且關(guān)鍵點(diǎn)KP的描述符D的方差越低,影響該關(guān)鍵點(diǎn)KP的多余噪聲就越低。
[0115] 圖2F是與關(guān)鍵點(diǎn)KP的描述符D有關(guān)的第二統(tǒng)計(jì)分布Rsd。在本例中,每一個(gè)片元 對(duì)應(yīng)于某一關(guān)鍵點(diǎn)KP的描述符D與相同圖像的其他關(guān)鍵點(diǎn)KP的描述符D之間的特定最大 距離。例如可以基于描述符之間的歐氏距離來計(jì)算所述最大距離。還可以設(shè)想到其他已知 的方法,比如利用對(duì)稱化Kullback-Leibler發(fā)散度。
[0116] 回到圖1,根據(jù)本發(fā)明的一個(gè)實(shí)施例,提取規(guī)程100的階段130提供對(duì)于在階段 110處提取的每一個(gè)關(guān)鍵點(diǎn)KP計(jì)算:
[0117] 從與所述關(guān)鍵點(diǎn)KP的坐標(biāo)C有關(guān)的統(tǒng)計(jì)分布Rsd獲得的第一特征相關(guān)性概率 FRP1。檢查對(duì)應(yīng)于所述分布的直方圖以便識(shí)別出其擬合所述關(guān)鍵點(diǎn)KP的坐標(biāo)C的片元;隨 后將特征相關(guān)性概率FRP1設(shè)定成等于所識(shí)別出的片元的關(guān)鍵點(diǎn)頻率。
[0118] 從與所述關(guān)鍵點(diǎn)KP的主導(dǎo)指向0有關(guān)的統(tǒng)計(jì)分布Rsd獲得的第二特征相關(guān)性概 率FRP2。檢查對(duì)應(yīng)于所述分布的直方圖以便識(shí)別出其擬合所述關(guān)鍵點(diǎn)KP的主導(dǎo)指向0的 片元;隨后將特征相關(guān)性概率FRP2設(shè)定成等于所識(shí)別出的片元的關(guān)鍵點(diǎn)頻率。
[0119] 從與所述關(guān)鍵點(diǎn)KP的峰值P有關(guān)的統(tǒng)計(jì)分布Rsd獲得的第三特征相關(guān)性概率 FRP3。檢查對(duì)應(yīng)于所述分布的直方圖以便識(shí)別出其擬合所述關(guān)鍵點(diǎn)KP的峰值P的片元;隨 后將特征相關(guān)性概率FRP3設(shè)定成等于所識(shí)別出的片元的關(guān)鍵點(diǎn)頻率。
[0120] 從與所述關(guān)鍵點(diǎn)KP的尺度S有關(guān)的統(tǒng)計(jì)分布Rsd獲得的第四特征相關(guān)性概率 FRP4。檢查對(duì)應(yīng)于所述分布的直方圖以便識(shí)別出其擬合所述關(guān)鍵點(diǎn)KP的尺度S的片元;隨 后將特征相關(guān)性概率FRP4設(shè)定成等于所識(shí)別出的片元的關(guān)鍵點(diǎn)頻率。
[0121] 從與所述關(guān)鍵點(diǎn)KP的描述符D的均值和方差有關(guān)的統(tǒng)計(jì)分布Rsd獲得的第五特 征相關(guān)性概率FRP5。檢查對(duì)應(yīng)于所述分布的直方圖以便識(shí)別出其擬合所述關(guān)鍵點(diǎn)KP的描 述符D的各個(gè)元素的均值和方差的片元;隨后將特征相關(guān)性概率FRP5設(shè)定成等于所識(shí)別出 的片元的關(guān)鍵點(diǎn)頻率。
[0122] 從與所述關(guān)鍵點(diǎn)KP的描述符D和其他關(guān)鍵點(diǎn)KP的描述符D之間的最大距離(例 如歐氏距離)有關(guān)的統(tǒng)計(jì)分布Rsd獲得的第六特征相關(guān)性概率FRP6。檢查對(duì)應(yīng)于所述分布 的直方圖以便識(shí)別出其擬合所述距離的片元;隨后將特征相關(guān)性概率FRP6設(shè)定成等于所 識(shí)別出的片元的關(guān)鍵點(diǎn)頻率。
[0123] 因此,對(duì)于每一個(gè)關(guān)鍵點(diǎn)KP,通過其各項(xiàng)局部特征的至少其中一項(xiàng)特征相關(guān)性概 率FRP或者其間的組合獲得關(guān)鍵點(diǎn)相關(guān)性概率KRP。舉例來說,從假設(shè)各項(xiàng)特征相關(guān)性概率 FRP彼此獨(dú)立開始,通過將其相應(yīng)的特征相關(guān)性概率FRP彼此相乘來計(jì)算一般關(guān)鍵點(diǎn)KP的 關(guān)鍵點(diǎn)相關(guān)性概率KRP。通常來說,被用來計(jì)算關(guān)鍵點(diǎn)相關(guān)性概率KRP的不同的特征相關(guān)性 概率FRP的數(shù)目越高,通過采用這種方法所能獲得的結(jié)果就越好。通過考慮用于視覺搜索 應(yīng)用的SIFT描述符的實(shí)例,優(yōu)選的是對(duì)于計(jì)算關(guān)鍵點(diǎn)相關(guān)性概率所考慮的特征相關(guān)性概 率至少包括對(duì)應(yīng)于尺度、峰值以及與中心的距離的那些特征相關(guān)性概率。
[0124] 圖2G是其中通過相應(yīng)的圓點(diǎn)標(biāo)識(shí)出多個(gè)關(guān)鍵點(diǎn)的示例性圖片,其中每一個(gè)圓點(diǎn) 的直徑與該關(guān)鍵點(diǎn)的相關(guān)性特征KRP成比例。
[0125] -旦計(jì)算出在階段110中提取的所有關(guān)鍵點(diǎn)KP的關(guān)鍵點(diǎn)相關(guān)性概率KRP,根據(jù)關(guān) 鍵點(diǎn)相關(guān)性概率KRP的降序?qū)⑺鲫P(guān)鍵點(diǎn)KP排序在一個(gè)序列中。隨后通過從所述已排序 序列中取得排在前面的一定數(shù)目(基于將要管理的數(shù)據(jù)量的所期望的減少)的關(guān)鍵點(diǎn)KP 形成最優(yōu)子集SUB。屬于最優(yōu)子集SUB的所選關(guān)鍵點(diǎn)KP最終結(jié)果是在階段110中提取出的 全部關(guān)鍵點(diǎn)KP當(dāng)中的(從圖像比較角度)最具相關(guān)性的關(guān)鍵點(diǎn)KP。通過這種方式,以智能 且高效的方式實(shí)施了數(shù)據(jù)總量減少,其中僅考慮相關(guān)的關(guān)鍵點(diǎn)KP并且丟棄了不太有用的 那些關(guān)鍵點(diǎn)KP。
[0126] 應(yīng)當(dāng)強(qiáng)調(diào)的是,雖然根據(jù)前面描述的本發(fā)明的實(shí)施例對(duì)于最優(yōu)關(guān)鍵點(diǎn)子集的選擇 提供了利用相應(yīng)的統(tǒng)計(jì)分布Rsd來計(jì)算每一項(xiàng)特征相關(guān)性概率,其中所述相應(yīng)的統(tǒng)計(jì)分布 Rsd是通過對(duì)于其每一個(gè)片元計(jì)算其相應(yīng)局部特征的數(shù)值落在所述片元內(nèi)的關(guān)鍵點(diǎn)正常值 與其相應(yīng)局部特征的數(shù)值落在相同片元內(nèi)的關(guān)鍵點(diǎn)總數(shù)之間的比值而獲得的,但是在采用 通過不同的甚至是人工的方法獲得的不同的統(tǒng)計(jì)上等效的統(tǒng)計(jì)分布的情況下,本發(fā)明的想 法同樣適用。在后面的描述中,如果兩項(xiàng)統(tǒng)計(jì)分布允許從相同的關(guān)鍵點(diǎn)集合開始獲得相似 的特征相關(guān)性概率,則認(rèn)為所述兩項(xiàng)統(tǒng)計(jì)分布在統(tǒng)計(jì)上彼此等效。
[0127] 描述符的壓縮(階段140)
[0128] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過利用數(shù)目減少的優(yōu)化碼本,通過矢量量化實(shí)施描 述符D的壓縮。
[0129] 圖3A示出了對(duì)應(yīng)于一般關(guān)鍵點(diǎn)KP的SIFT類型的示例性描述符D (被選擇成最優(yōu) 子集SUB的一部分的在圖1的提取規(guī)程100的階段130處生成的其中一個(gè)描述符D)。如前 所述,描述符D包括十六個(gè)子直方圖shi (i = 1,2, ...,16),其中的每一個(gè)子直方圖示出了 靠近該關(guān)鍵點(diǎn)ΚΡ的圖像的對(duì)應(yīng)子區(qū)段的亮度梯度沿著八個(gè)方向如何分布。具體來說,每一 個(gè)子直方圖shi與對(duì)應(yīng)于一個(gè)4x4格柵的16單元的其中之一的子區(qū)段相關(guān)聯(lián),所述格柵以 關(guān)鍵點(diǎn)KP位置為中心并且其指向是根據(jù)關(guān)鍵點(diǎn)KP的主導(dǎo)指向0 ;每一個(gè)子直方圖shi包 括八個(gè)片元,每一個(gè)片元對(duì)應(yīng)于關(guān)于主導(dǎo)指向0具有一定角度η* π /4 (η = 0,1,... 7)的指 向。
[0130] 如圖3Β中所示,描述符D的所有指向直方圖shi的數(shù)值被設(shè)置在一個(gè)相應(yīng)的描述 符數(shù)組中,其在圖中由附圖標(biāo)記DA標(biāo)識(shí)。描述符數(shù)組DA包括十六個(gè)元素ai(i = 1,2,..., 16),其中的每一個(gè)存儲(chǔ)由相應(yīng)的子直方圖shi (i = 1,2, ...,16)采取的數(shù)值;每一個(gè)元素 ai又包括八個(gè)對(duì)應(yīng)的項(xiàng)目,每一個(gè)項(xiàng)目存儲(chǔ)對(duì)應(yīng)于該子直方圖shi的八個(gè)片元當(dāng)中的對(duì)應(yīng) 的一個(gè)的頻率值。因此,每一個(gè)描述符數(shù)組DA包括16*8 = 128個(gè)項(xiàng)目。通過考慮在SIFT 描述符D中典型的頻率值的范圍可以是從0到255,因此描述符數(shù)組DA的每一個(gè)項(xiàng)目可以 利用一個(gè)字節(jié)來表示;因此描述符數(shù)組DA的存儲(chǔ)器占用等于128字節(jié)。因此,再次參照?qǐng)D 1的提取規(guī)程100,對(duì)應(yīng)于屬于所選最優(yōu)子集SUB的各個(gè)關(guān)鍵點(diǎn)KP的所有描述符D的數(shù)據(jù) 量(以字節(jié)計(jì))等于128乘以最優(yōu)子集SUB當(dāng)中的關(guān)鍵點(diǎn)KP的數(shù)目。
[0131] 為了減少這一數(shù)據(jù)量,通過矢量量化來壓縮對(duì)應(yīng)于所述描述符D的描述符數(shù)組 DA。
[0132] 正如本領(lǐng)域技術(shù)人員所熟知的那樣,通過利用矢量量化壓縮由n個(gè)元素形成的數(shù) 據(jù)數(shù)組(η元組)提供把所述數(shù)據(jù)數(shù)組可能采取的所有可能的η元組數(shù)值的集合聯(lián)合量化 成包括較少數(shù)目的η元組數(shù)值(其數(shù)值甚至可以不同于將被量化的集合當(dāng)中的數(shù)值)的精 簡集合。由于精簡集合包括較少數(shù)目的η元組數(shù)值,因此其需要較少存儲(chǔ)空間。形成精簡 集合的η元組數(shù)值也被稱作"碼字"。每一個(gè)碼字與所述數(shù)組可能采取的不同η元組數(shù)值 的相應(yīng)集合相關(guān)聯(lián)。數(shù)據(jù)數(shù)組的各個(gè)η元組數(shù)值與碼字之間的關(guān)聯(lián)關(guān)系通過相應(yīng)的碼本確 定。
[0133] 特別參照描述符數(shù)組DA,其包括分別又由八個(gè)項(xiàng)目形成的16個(gè)元素 ai,每一個(gè)項(xiàng) 目具有從〇到255的數(shù)值范圍,描述符數(shù)組DA可以取得數(shù)目N= 256128個(gè)不同的16元組 數(shù)值。通過利用矢量量化應(yīng)用壓縮,利用碼本的數(shù)目為Nl < N個(gè)碼字來近似所述N個(gè)不同 的16元組數(shù)值。所述碼本確定每一個(gè)碼字與描述符數(shù)組DA的16元組數(shù)值的相應(yīng)集合之 間的關(guān)聯(lián)關(guān)系。因此,碼本的每一個(gè)碼字是一個(gè)16元組數(shù)值,其被用來"近似"描述符數(shù)組 DA的16元組數(shù)值的相應(yīng)集合。矢量量化是有損的數(shù)據(jù)壓縮,可以通過被稱作失真的參數(shù)來 測量其準(zhǔn)確度。所述失真例如可以被計(jì)算為碼本的一般碼字與通過該碼字近似的所述數(shù)組 的η元組數(shù)值的集合之間的歐氏距離。即使在利用不同的方法計(jì)算失真時(shí),類似的考慮同 樣適用。廣泛來說,在任何情況下碼本當(dāng)中的碼字的數(shù)目Ν1越高,壓縮的失真就越低。
[0134] 正如本領(lǐng)域技術(shù)人員所熟知的那樣,碼本當(dāng)中的碼字的生成通常是通過在訓(xùn)練數(shù) 據(jù)庫上實(shí)施統(tǒng)計(jì)操作(其也被稱作訓(xùn)練操作)而實(shí)施的,所述訓(xùn)練數(shù)據(jù)庫包括數(shù)目非常多 的訓(xùn)練數(shù)組的總集。特別參照描述符數(shù)組DA,訓(xùn)練數(shù)據(jù)庫可以包括幾百萬個(gè)訓(xùn)練描述符數(shù) 組,其中每一個(gè)訓(xùn)練描述符數(shù)組是描述符數(shù)組DA可以采取的N = 256128個(gè)可能的16元組 數(shù)值的其中之一。
[0135] 根據(jù)圖4Α中示出的解決方案,利用包括Ν1個(gè)16元組數(shù)值碼字CWj(j = 1, 2,...N1)的單一碼本CBK對(duì)整個(gè)描述符數(shù)組DA進(jìn)行壓縮。因此,對(duì)于N1個(gè)不同的碼字 CWj,標(biāo)識(shí)所述碼字所需的最小比特?cái)?shù)目等于l〇g 2Nl。如前所述,生成所述單一碼本CBK的 N1個(gè)不同的碼字CWj是通過對(duì)多個(gè)訓(xùn)練描述符數(shù)組實(shí)施訓(xùn)練操作來實(shí)施的,其中每一個(gè)訓(xùn) 練描述符數(shù)組是描述符數(shù)組DA可以采取的N = 256128可能的16元組數(shù)值的其中之一。
[0136] 為了把壓縮失真保持在充分地減小的閾值以下從而不會(huì)損害后續(xù)的圖像分析操 作的結(jié)果,所需的碼字?jǐn)?shù)目N1可能變得非常高。具有由數(shù)目過多的N1個(gè)碼字形成的碼本 在不同的角度下是不利的。實(shí)際上,將被用于生成碼字的訓(xùn)練數(shù)組的數(shù)目將變得過多,并且 處理時(shí)間將變得過長。此外,為了通過利用碼本實(shí)施壓縮操作,形成所述碼本的全部N1個(gè) 碼字必須被記憶在某處,從而占用不可忽略的數(shù)量的存儲(chǔ)空間。后一項(xiàng)缺陷相當(dāng)關(guān)鍵,這是 因?yàn)閷?duì)于圖像分析應(yīng)用所采用的硬件(例如圖形處理單元GPU)可能不會(huì)配備有如此大容 量的存儲(chǔ)器。
[0137] 參照?qǐng)D4B,為了在不增加失真的情況下減少將要管理的碼字CWj的總數(shù),可以將 描述符數(shù)組DA細(xì)分成多個(gè)子數(shù)組SDAk(k = 1,2,...),其中每一個(gè)子數(shù)組包括描述符數(shù)組 DA的對(duì)應(yīng)數(shù)目mk個(gè)元素 ai,并且隨后利用包括N2個(gè)mk元組數(shù)值碼字CWj (j = 1,2,. . . N2) 的對(duì)應(yīng)碼本CBKk對(duì)每一個(gè)子數(shù)組SDAk進(jìn)行單獨(dú)壓縮。
[0138] 在圖4B所示出的實(shí)例中,描述符數(shù)組DA被細(xì)分成四個(gè)子數(shù)組SDAk(k = 1,2, 3, 4),每一個(gè)子數(shù)組包括描述符數(shù)組DA的mk = 4個(gè)元素ai :
[0139] 第一子數(shù)組SDA1由元素序列al、a2、a3、a4形成;
[0140] 第二子數(shù)組SDA2由元素序列a5、a6、a7、a8形成;
[0141] 第三子數(shù)組SDA3由元素序列a9、al0、all、al2形成;以及
[0142] 第四子數(shù)組SDA4由元素序列al3、al4、al5、al6形成。
[0143] 利用包括N2個(gè)4元組數(shù)值碼字CWj (j = 1,2,. . . N2)的對(duì)應(yīng)碼本CBKy (y = k)實(shí) 施對(duì)于每一個(gè)子數(shù)組SDAk的壓縮。因此,對(duì)于4*N2個(gè)不同的碼字CWj,標(biāo)識(shí)所有碼字所需 的最小比特?cái)?shù)目等于4*log 2N2。雖然在所考慮的情況中每一個(gè)子數(shù)組SDAk已利用包括相 同數(shù)目的N2個(gè)碼字CWj的碼本CBKy被壓縮,但是在每一個(gè)子像素SDAk利用對(duì)應(yīng)的不同數(shù) 目的碼字CWj被壓縮的情況中,類似的考慮同樣適用。
[0144] 在圖4B所示出的情況中,生成每一個(gè)碼本CBKy的N2個(gè)不同碼字CWj是通過在訓(xùn) 練描述符數(shù)組的對(duì)應(yīng)子集上實(shí)施訓(xùn)練操作而實(shí)施的。碼本CBKk的訓(xùn)練描述符數(shù)組的每一 個(gè)子集對(duì)應(yīng)于四個(gè)子數(shù)組SDAk的其中之一,并且可以通過從被用來生成圖4A的單一碼本 CBK的每一個(gè)訓(xùn)練描述符數(shù)組中僅考慮其對(duì)應(yīng)于子數(shù)組SDAk的部分來獲得。舉例來說,為 了生成碼本CBK1,只采用被用來生成圖4A的單一碼本CBK的16元組訓(xùn)練描述符數(shù)組當(dāng)中 的前四個(gè)元素al、a2、a3、a4。
[0145] 與圖4a的情況相比,其中利用由具有描述符數(shù)組DA本身的相同維度(16個(gè)元素) 的碼字CWj形成的單一碼本CBK對(duì)整個(gè)描述符數(shù)組DA進(jìn)行壓縮,通過使用由具有其(較 ?。┚S度mk的子數(shù)組SDAk (例如mk =個(gè)元素)的碼字CWj形成的碼本CBKy,允許對(duì)于相 同數(shù)目的碼字CWj獲得更低的失真。
[0146] 在固定碼字CWj的總數(shù)的情況下,描述符數(shù)組DA被細(xì)分成的子數(shù)組SDAk的數(shù)目 越多,失真就越低,但是與此同時(shí),標(biāo)識(shí)所有碼字CWj所需的最小比特?cái)?shù)目就越高。
[0147] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,出于壓縮目的將描述符數(shù)組DA細(xì)分成子數(shù)組SDAk是 通過考慮到發(fā)生在描述符數(shù)組DA的各個(gè)元素ai之間的相關(guān)關(guān)系而實(shí)施的。
[0148] 正如前面參照?qǐng)D3A和3B所描述的那樣,描述符數(shù)組DA的每一個(gè)元素ai存儲(chǔ)由 與一個(gè)對(duì)應(yīng)子區(qū)段相關(guān)聯(lián)的子直方圖shi取得的數(shù)值,該子區(qū)段又對(duì)應(yīng)于以對(duì)應(yīng)于該描述 符數(shù)組DA的關(guān)鍵點(diǎn)KP為中心的4x4格柵的一個(gè)單元。
[0149] 根據(jù)圖5中示出的本發(fā)明的一個(gè)實(shí)施例,在對(duì)大量描述符數(shù)組DA實(shí)施統(tǒng)計(jì)行為分 析(例如利用訓(xùn)練數(shù)據(jù)庫當(dāng)中的訓(xùn)練描述符數(shù)組)之后,發(fā)現(xiàn)一般關(guān)鍵點(diǎn)KP的各個(gè)子直方 圖shi可以被設(shè)置在相關(guān)族CFx(x = 1,2, 3,4)中,其中每一個(gè)相關(guān)族CFx包括具有相似的 統(tǒng)計(jì)行為(即具有片元頻率的相似趨向)的相關(guān)子直方圖shi的一個(gè)集合。舉例來說,屬 于相同的相關(guān)族CFx的兩個(gè)子直方圖shi在相同(或相似)片元處可以具有相似數(shù)目的頻 率峰值。
[0150] 被采用來形成相關(guān)族CFx的統(tǒng)計(jì)行為分析表明,在固定將被用于壓縮描述符數(shù)組 DA的碼字CWj的最大數(shù)目的情況下,如果相關(guān)族CFx中的子直方圖shi的設(shè)置發(fā)生改變(通 過將子直方圖shi指派到不同的相關(guān)族CFx),則最終得到的失真也相應(yīng)地改變。因此,通過 考慮所有可能的子直方圖shi細(xì)分當(dāng)中的對(duì)應(yīng)于最低失真的子直方圖shi細(xì)分來形成相關(guān) 族 CFx。
[0151] 在實(shí)施了這樣的統(tǒng)計(jì)行為分析之后還發(fā)現(xiàn),兩個(gè)子直方圖shi的統(tǒng)計(jì)行為之間的 相關(guān)取決于兩個(gè)主要參數(shù),也就是關(guān)聯(lián)到各個(gè)子直方圖Shi的子區(qū)段與關(guān)鍵點(diǎn)KP的距離以 及其主導(dǎo)指向。
[0152] 參照?qǐng)D5,關(guān)鍵點(diǎn)ΚΡ的十六個(gè)子直方圖shi被設(shè)置在四個(gè)相關(guān)族中,也就是說:
[0153] 包括子直方圖shl、sh4、shl3和shl6的第一相關(guān)族CF1 ;
[0154] 包括子直方圖sh2、sh3、shl4和shl5的第二相關(guān)族CF2 ;
[0155] 包括子直方圖sh5、sh8、sh9和shl2的第三相關(guān)族CF3 ;以及
[0156] 包括子直方圖sh6、sh7、shlO和shll的第四相關(guān)族CF4。
[0157] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,有利地利用前面標(biāo)識(shí)出的相關(guān)族CFx,以便利用數(shù)目減 少的優(yōu)化碼本CBKy來壓縮描述符數(shù)組DA。在實(shí)施描述符數(shù)組DA到子數(shù)組SDAk中的細(xì)分 時(shí)使得至少兩個(gè)子數(shù)組SDAk具有相同的全局(也就是說考慮到其所有元素)統(tǒng)計(jì)行為;通 過這種方式有可能使用單一碼本CBKy來壓縮多于一個(gè)子數(shù)組SDAk。為此目的,在實(shí)施描 述符數(shù)組DA的細(xì)分時(shí)使得獲得一組(多組)子數(shù)組SDAk,其中對(duì)于每一組,在該組當(dāng)中的 所有子數(shù)組SDAk中占據(jù)相同位置的各個(gè)元素ai屬于相同的相關(guān)族CFx。因此,可以有利 地利用相同的相應(yīng)碼本CBKy壓縮屬于同一組的所有子數(shù)組SDAk,所述相應(yīng)碼本CBKy的碼 字CWj是通過從被用來生成圖4A的單一碼本CBK的每一個(gè)訓(xùn)練描述符數(shù)組當(dāng)中僅僅考慮 其屬于所述一組當(dāng)中的各個(gè)子數(shù)組SDAk的元素ai所屬的相關(guān)族CFx的元素而獲得的。
[0158] 根據(jù)圖6A中示出的本發(fā)明的一個(gè)示例性實(shí)施例,描述符數(shù)組DA被細(xì)分成四個(gè)子 數(shù)組SDA1-SDA4,其被設(shè)置在單一組中。因此,所有子數(shù)組SDAk都利用相同的碼本CBK1壓 縮。具體來說:
[0159] 第一子數(shù)組SDA1由兀素序列al、a2、a6、a5形成;
[0160] 第二子數(shù)組SDA2由元素序列a4、a3、a7、a8形成;
[0161] 第三子數(shù)組SDA3由元素序列al6、al5、all、al2形成;并且
[0162] 第四子數(shù)組SDA4由元素序列al3、al4、alO、a9形成。
[0163] 在這種情況中:
[0164] 每一個(gè)子數(shù)組SDAk的第一元素ai屬于第一相關(guān)族CFi ;
[0165] 每一個(gè)子數(shù)組SDAk的第二元素ai屬于第二相關(guān)族CF2 ;
[0166] 每一個(gè)子數(shù)組SDAk的第三元素ai屬于第四相關(guān)族CF4 ;并且
[0167] 每一個(gè)子數(shù)組SDAk的第四元素ai屬于第三相關(guān)族CF3。
[0168] 用于壓縮一般的子數(shù)組SDA1-SDA4的碼本CBK1包括N3個(gè)碼字CWj,其中每一個(gè)碼 字CWj具有屬于第一相關(guān)族CF1的第一兀素、屬于第二相關(guān)族CF2的第二兀素、屬于第四相 關(guān)族CF4的第三元素以及屬于第三相關(guān)族CF3的第四元素。
[0169] 對(duì)于N3個(gè)不同的碼字CWj,標(biāo)識(shí)出所有碼字所需要的最小比特?cái)?shù)目等于 4* (log2N3)。
[0170] 根據(jù)圖6B中示出的本發(fā)明的另一個(gè)示例性實(shí)施例,描述符數(shù)組DA被細(xì)分成兩個(gè) 子數(shù)組SDA1、SDA2,其被設(shè)置在單一組中。因此,所有子數(shù)組SDAk都利用相同的碼本CBK1 壓縮。具體來說:
[0171] 第一子數(shù)組SDA1由兀素序列al、a2、a3、a4、a5、a6、a7、a8形成;并且
[0172] 第二子數(shù)組 SDA2 由元素序列 al3、al4、al5、al6、a9、al0、all、al2 形成。
[0173] 在這種情況中:
[0174] 每一個(gè)子數(shù)組SDAk的第一和第四元素ai屬于第一相關(guān)族CF1 ;
[0175] 每一個(gè)子數(shù)組SDAk的第二和第三元素ai屬于第二相關(guān)族CF2 ;
[0176] 每一個(gè)子數(shù)組SDAk的第五和第八元素ai屬于第三相關(guān)族CF3 ;并且
[0177] 每一個(gè)子數(shù)組SDAk的第六和第七元素ai屬于第四相關(guān)族CF4。
[0178] 用于壓縮一般的子數(shù)組SDA1、SDA2的碼本CBK1包括N4個(gè)碼字CWj,其中每一個(gè) 碼字CWj具有屬于第一相關(guān)族CF1的第一和第四兀素、屬于第二相關(guān)族CF2的第二和第三 元素、屬于第三相關(guān)族CF3的第五和第八元素以及屬于第三相關(guān)族CF3的第六和第七元素。
[0179] 對(duì)于Μ個(gè)不同的碼字CWj,標(biāo)識(shí)出所有碼字所需要的最小比特?cái)?shù)目等于 2*(log2N4)。
[0180] 根據(jù)圖6C中示出的本發(fā)明的另一個(gè)示例性實(shí)施例,描述符數(shù)組DA被細(xì)分成六 個(gè)子數(shù)組SDA1-SDA6,其中四個(gè)(SDA1-SDA4)被設(shè)置在第一組中,另外兩個(gè)(SDA5、SDA6) 被設(shè)置在第二組中。因此,子數(shù)組SDA1-SDA4利用相同的第一碼本CBK1壓縮,而子數(shù)組 SDA5-SDA6則利用相同的第二碼本CBK2壓縮。具體來說:
[0181] 第一子數(shù)組SDA1由元素序列a5、al、a2形成;
[0182] 第二子數(shù)組SDA2由元素序列a8、a4、a3形成;
[0183] 第三子數(shù)組SDA3由元素序列a9、al3、al4形成;
[0184] 第四子數(shù)組SDA4由元素序列al2、al6、al5形成;
[0185] 第五子數(shù)組SDA5由元素序列a6、a7形成;并且
[0186] 第六子數(shù)組SDA6由元素序列alO、all形成。
[0187] 在這種情況中:
[0188] 第一組當(dāng)中的每一個(gè)子數(shù)組SDA1-SDA4的第一元素ai屬于第三相關(guān)族CF3 ;
[0189] 第一組當(dāng)中的每一個(gè)子數(shù)組SDA1-SDA4的第二元素ai屬于第一相關(guān)族CF1 ;
[0190] 第一組當(dāng)中的每一個(gè)子數(shù)組SDA1-SDA4的第三元素ai屬于第二相關(guān)族CF2 ;并且
[0191] 第二組當(dāng)中的每一個(gè)子數(shù)組SDA5-SDA6的第一和第二元素ai屬于第四相關(guān)族 CF4。
[0192] 用于壓縮屬于第一組的一般子數(shù)組SDA1-SDA4的碼本CBK1包括N5個(gè)碼字CWj,其 中每一個(gè)碼字CWj具有屬于第三相關(guān)族CF3的第一元素、屬于第一相關(guān)族CF1的第二元素 以及屬于第二相關(guān)族CF2的第三元素。用于壓縮屬于第二組的一般子數(shù)組SDA5-SDA6的碼 本CBK2包括N6個(gè)碼字CWj,其中每一個(gè)碼字CWj具有屬于第四相關(guān)族CF4的第一和第二元 素。
[0193] 對(duì)于N5+N6個(gè)不同的碼字CWj,標(biāo)識(shí)出所有碼字所需要的最小比特?cái)?shù)目等于 4* (log2N5) +2* (log2N6)。
[0194] 根據(jù)圖6D中示出的本發(fā)明的另一個(gè)示例性實(shí)施例,描述符數(shù)組DA被細(xì)分成八 個(gè)子數(shù)組SDA1-SDA8,其中四個(gè)(SDA1-SDA4)被設(shè)置在第一組中,另外四個(gè)(SDA5-SDA8) 被設(shè)置在第二組中。因此,子數(shù)組SDA1-SDA4利用相同的第一碼本CBK1壓縮,而子數(shù)組 SDA5-SDA8則利用相同的第二碼本CBK2壓縮。具體來說:
[0195] 第一子數(shù)組SDA1由元素序列a5、al形成;
[0196] 第二子數(shù)組SDA2由元素序列a8、a4形成;
[0197] 第三子數(shù)組SDA3由元素序列a9、al3形成;
[0198] 第四子數(shù)組SDA4由元素序列al2、al6形成;
[0199] 第五子數(shù)組SDA5由元素序列a6、a2形成;
[0200] 第六子數(shù)組SDA6由元素序列a7、a3形成;
[0201] 第七子數(shù)組SDA7由元素序列alO、al4形成;并且
[0202] 第八子數(shù)組SDA8由元素序列all、al5形成。
[0203] 在這種情況中:
[0204] 第一組當(dāng)中的每一個(gè)子數(shù)組SDA1-SDA4的第一元素ai屬于第三相關(guān)族CF3 ;
[0205] 第一組當(dāng)中的每一個(gè)子數(shù)組SDA1-SDA4的第二元素ai屬于第一相關(guān)族CF1 ;
[0206] 第二組當(dāng)中的每一個(gè)子數(shù)組SDA5-SDA8的第一元素ai屬于第四相關(guān)族CF4 ;并且
[0207] 第二組當(dāng)中的每一個(gè)子數(shù)組SDA5-SDA8的第二元素ai屬于第二相關(guān)族CF2。
[0208] 用于壓縮屬于第一組的一般子數(shù)組SDA1-SDA4的碼本CBK1包括N7個(gè)碼字CWj,其 中每一個(gè)碼字CWj具有屬于第三相關(guān)族CF3的第一元素以及屬于第一相關(guān)族CF1的第二元 素。用于壓縮屬于第二組的一般子數(shù)組SDA5-SDA8的碼本CBK2包括N8個(gè)碼字CWj,其中每 一個(gè)碼字CWj具有屬于第四相關(guān)族CF4的第一元素以及屬于第二相關(guān)族CF2的第二元素。
[0209] 因此,對(duì)于N7+N8個(gè)不同的碼字CWj,標(biāo)識(shí)出所有碼字所需要的最小比特?cái)?shù)目等于 4* (log2N7) +4* (log2N8)。
[0210] 很自然的是,本發(fā)明的想法同樣適用于細(xì)分成不同數(shù)目的子數(shù)組以及/或者不同 數(shù)目的碼本。此外,雖然在這里的描述中提到了在包括4x4個(gè)單元的格柵上計(jì)算并且每個(gè) 直方圖具有八個(gè)片元的SIF描述符的壓縮,但是在單元數(shù)目和/或每個(gè)直方圖的片元數(shù)目 不同以及考慮其他類型的描述符的情況下,類似的考慮同樣適用。
[0211] 與已知的解決方案相比,對(duì)于相同的壓縮失真,將描述符數(shù)組DA細(xì)分成各個(gè)子數(shù) 組SDAk和對(duì)于多于一個(gè)子數(shù)組SDAk采用相同碼本CBKy的組合使用允許大大減少對(duì)于存 儲(chǔ)被用來壓縮描述符數(shù)組DA的(多個(gè))碼本CBKy所需要的存儲(chǔ)器空間。這是一個(gè)很大的 優(yōu)點(diǎn),因?yàn)檎缜懊嫠岬降哪菢?,?duì)于圖像分析應(yīng)用所采用的硬件(例如圖形處理單元) 可能不會(huì)配備如此大容量的存儲(chǔ)器。通過將描述符數(shù)組DA細(xì)分成各個(gè)子數(shù)組SDAk和對(duì)于 多于一個(gè)子數(shù)組SDAk采用相同碼本CBKy的組合使用所給出的另一個(gè)優(yōu)點(diǎn)在于,用于生成 (多個(gè))碼本CBKy的訓(xùn)練規(guī)程最終更快。
[0212] 在提取規(guī)程100 (參見圖1)的階段140中對(duì)于所接收到的描述符D實(shí)施的壓縮 操作的結(jié)果是生成相應(yīng)的已壓縮描述符數(shù)組CDA,其近似由對(duì)應(yīng)的描述符數(shù)組DA取得的數(shù) 值。更具體來說,對(duì)于被用來壓縮描述符數(shù)組DA的每一個(gè)碼本CBKy,該碼本CBKy的每一個(gè) 碼字CWj由相應(yīng)的壓縮索引Cy標(biāo)識(shí);如果碼本CBKy由一定數(shù)目的N個(gè)不同的碼字CWj形 成,則壓縮索引Cy由至少log 2N個(gè)比特形成。對(duì)于已被細(xì)分成子數(shù)組SDAk的一個(gè)集合的 描述符數(shù)組DA,相應(yīng)的已壓縮描述符數(shù)組CDA包括對(duì)應(yīng)于該集合當(dāng)中的每一個(gè)子數(shù)組SDAk 的壓縮索引Cy,其中每一個(gè)壓縮索引Cy標(biāo)識(shí)出被用來近似所述子數(shù)組SDAk的碼本CBKy的 碼字CWj。
[0213] 坐標(biāo)的壓縮(階段150)
[0214] 根據(jù)本發(fā)明的一個(gè)實(shí)施例,通過壓縮屬于在提取規(guī)程100(參見圖1)的階段130 處計(jì)算的最優(yōu)子集SUB的各個(gè)關(guān)鍵點(diǎn)KP的坐標(biāo)C,進(jìn)一步減少了對(duì)于實(shí)施圖像分析操作而 將要管理(例如將要記憶和/或傳送)的數(shù)據(jù)量。
[0215] 圖7A示出了對(duì)應(yīng)于查詢圖像115的二維空間內(nèi)的最優(yōu)子集SUB當(dāng)中的關(guān)鍵點(diǎn)KP 的示例性分布;每一個(gè)關(guān)鍵點(diǎn)ΚΡ與標(biāo)識(shí)該關(guān)鍵點(diǎn)ΚΡ在查詢圖像115內(nèi)的位置的相應(yīng)的一 對(duì)空間坐標(biāo)C相關(guān)聯(lián)。
[0216] 首先,對(duì)子集SUB的所有關(guān)鍵點(diǎn)ΚΡ的坐標(biāo)C進(jìn)行量化。為此目的,將一個(gè)nxm格柵 疊加在查詢圖像115上。在圖7B所示出的實(shí)例中,所述格柵具有η = 10行和m= 15列。
[0217] 隨后生成二維直方圖,這是通過對(duì)于所述格柵的每一個(gè)單元(其對(duì)應(yīng)于直方圖的 一個(gè)片元)對(duì)位于其中的關(guān)鍵點(diǎn)KP的數(shù)目進(jìn)行計(jì)數(shù)。圖7C是通過把圖7B的格柵疊加在圖 7A的關(guān)鍵點(diǎn)KP的集合上而獲得的直方圖的示例性圖形描繪。在圖7C的圖形描繪中,其中 不存在關(guān)鍵點(diǎn)KP的單元用黑色表示,而包括至少一個(gè)關(guān)鍵點(diǎn)KP的單元?jiǎng)t用灰色表示。在 所討論的實(shí)例中(其中包括最多數(shù)目的關(guān)鍵點(diǎn)的單元包括兩個(gè)關(guān)鍵點(diǎn)),包括單一關(guān)鍵點(diǎn) KP的單元用深灰色表示,而包括兩個(gè)關(guān)鍵點(diǎn)KP的單元?jiǎng)t用較淺的灰色表示。
[0218] 從關(guān)鍵點(diǎn)計(jì)數(shù)獲得的直方圖具有大量其頻率等于零的片元,也就是說相應(yīng)的單元 不包括任何關(guān)鍵點(diǎn)KP (圖7C中描繪的黑色單元)。
[0219] 在壓縮表示直方圖的數(shù)據(jù)時(shí)可以有利地考慮到,其對(duì)應(yīng)于零頻率片元的各個(gè)部分 僅提供關(guān)于其相應(yīng)的單元不包括任何關(guān)鍵點(diǎn)的信息。
[0220] 為此,可以有利地去除所述格柵的完全由不包括任何關(guān)鍵點(diǎn)KP的單元形成的各 行和各列。但是由于去除這樣的各行和/或各列將改動(dòng)各個(gè)關(guān)鍵點(diǎn)KP的絕對(duì)和相對(duì)位置, 因此應(yīng)當(dāng)記錄關(guān)于不存在關(guān)鍵點(diǎn)KP的所有各行和各列的位置的指示(包括對(duì)應(yīng)于將被去 除的各行和/或各列的位置)。
[0221] 為此,通過以下方式定義兩個(gè)數(shù)組r和c :
[0222] 數(shù)組r是對(duì)于所述格柵的每一行包括一個(gè)元素的數(shù)組,其中如果格柵的相應(yīng)單元 不包括任何關(guān)鍵點(diǎn)KP,則該數(shù)組當(dāng)中的一般元素被設(shè)定到第一數(shù)值(例如0),并且如果格 柵的相應(yīng)單元包括至少一個(gè)關(guān)鍵點(diǎn)KP,則其被設(shè)定到第二數(shù)值(例如1);以及
[0223] 數(shù)組c是對(duì)于所述格柵的每一列包括一個(gè)元素的數(shù)組,其中如果格柵的相應(yīng)單元 不包括任何關(guān)鍵點(diǎn)KP,則該數(shù)組當(dāng)中的一般元素被設(shè)定到第一數(shù)值(例如0),并且如果格 柵的相應(yīng)單元包括至少一個(gè)關(guān)鍵點(diǎn)KP,則其被設(shè)定到第二數(shù)值(例如1)。
[0224] 一旦生成了數(shù)組r和c,下一步驟提供識(shí)別完全由不包括任何關(guān)鍵點(diǎn)KP的單元形 成的各行和/或各列。參照所討論的實(shí)例,在圖7D中用黑色描繪出這樣的各行和各列。
[0225] 隨后去除所述格柵的完全由不包括任何關(guān)鍵點(diǎn)KP的單元形成的各行和/或各列, 并且緊縮所得到的格柵部分以便填充通過所述去除而留下的空白空間。因此,在所得到的 (緊縮)格柵中(其被稱作秩1支持),所有各行和所有各列都包括其中包括至少一個(gè)關(guān)鍵 點(diǎn)KP的至少一個(gè)單元。在圖7E中示出了對(duì)應(yīng)于所討論的實(shí)例的秩1支持上的直方圖。
[0226] 從該直方圖中可以提取出兩項(xiàng)不同的信息:
[0227] 1)包括至少一個(gè)關(guān)鍵點(diǎn)KP的秩1支持的各個(gè)單元的位置;以及
[0228] 2)對(duì)于在點(diǎn)1)處識(shí)別出的秩1支持的每一個(gè)單元還有包括在其中的關(guān)鍵點(diǎn)KP的 數(shù)目。
[0229] 有利的是,正如 S. Tsai、D. Chen、G. Takacs、V. Chandrasekhar、J. P. Singh 和 B.Girod 在 "Location coding for mobile image retrieval (用于移動(dòng)圖像取回的位置 編碼)"(Proc.Int. Mobile Multimedia Conference (MobiMedia),2009 年)中所提出的那 樣,可以利用所謂的"直方圖映射圖"提取出對(duì)應(yīng)于點(diǎn)1)的信息,對(duì)應(yīng)于點(diǎn)2)的信息則可 以被設(shè)置在所謂的"直方圖計(jì)數(shù)"中。
[0230] 直方圖映射圖是秩1支持上的直方圖的二維映射,其標(biāo)識(shí)出具有等于或高于1的 頻率的片元。在圖7F中示出了對(duì)應(yīng)于圖7E的秩1支持上的直方圖的直方圖映射圖。
[0231] 直方圖映射圖可以利用相應(yīng)的矩陣來表示,如果秩1支持的相應(yīng)單元不包括任何 關(guān)鍵點(diǎn)KP,則其一般元素等于0,如果秩1支持的相應(yīng)單元包括至少一個(gè)關(guān)鍵點(diǎn)KP,則等于 1。圖7F中示出的直方圖映射圖的矩陣是如下矩陣:
[0232]
【權(quán)利要求】
1. 一種用于處理圖像的方法,包括: 識(shí)別出圖像中的一組關(guān)鍵點(diǎn); 對(duì)于該組當(dāng)中的每一個(gè)關(guān)鍵點(diǎn): a) 計(jì)算包括多個(gè)數(shù)組元素的相應(yīng)的描述符數(shù)組,其中每一個(gè)數(shù)組元素存儲(chǔ)由該關(guān)鍵點(diǎn) 的鄰域內(nèi)的所述圖像的對(duì)應(yīng)子區(qū)段的相應(yīng)的顏色梯度直方圖所取得的數(shù)值; b) 通過對(duì)所述描述符數(shù)組的至少一部分進(jìn)行壓縮生成至少一個(gè)已壓縮描述符數(shù)組,所 述壓縮是通過利用包括多個(gè)碼字(CW)的碼本(CBK)進(jìn)行矢量量化而實(shí)現(xiàn)的; 利用所述一組關(guān)鍵點(diǎn)當(dāng)中的各個(gè)關(guān)鍵點(diǎn)的所述至少一個(gè)已壓縮描述符數(shù)組來分析圖 像,其中所述方法還包括: 壓縮碼本,所述壓縮碼本包括: 生成碼本矩陣(C),所述碼本矩陣的每一行是該碼本的碼字; 對(duì)碼本矩陣進(jìn)行因式分解以便獲得至少第一矩陣(U)和第二矩陣(S)的乘積,第二矩 陣的各個(gè)項(xiàng)目的能量隨著該矩陣的列索引的增大總體上是不增大的; 通過從中去除第一數(shù)目的最后各列而截?cái)嗟谝痪仃嚕? 通過從中去除第一數(shù)目的最后各列和第一數(shù)目的最后各行而截?cái)嗟诙仃嚕? 生成對(duì)應(yīng)于截?cái)嗪蟮牡谝痪仃嚺c截?cái)嗪蟮牡诙仃嚨某朔e的另一個(gè)第一矩陣(US'); 對(duì)另一個(gè)第一矩陣的每一個(gè)項(xiàng)目進(jìn)行量化,其中利用相應(yīng)數(shù)目的量化水平對(duì)屬于另一 個(gè)第一矩陣的列的每一個(gè)項(xiàng)目進(jìn)行量化,其中所述相應(yīng)數(shù)目低于或等于被用來對(duì)屬于在前 的列的各個(gè)項(xiàng)目進(jìn)行量化的量化水平的數(shù)目; 生成另一個(gè)第二矩陣(X),其中另一個(gè)第二矩陣當(dāng)中的每一個(gè)項(xiàng)目對(duì)應(yīng)于另一個(gè)第一 矩陣當(dāng)中的項(xiàng)目,所述另一個(gè)第二矩陣當(dāng)中的每一個(gè)項(xiàng)目是關(guān)聯(lián)到另一個(gè)第一矩陣當(dāng)中的 相應(yīng)的已量化項(xiàng)目所采取的量化水平的索引; 通過把另一個(gè)第二矩陣的所述索引記憶在存儲(chǔ)器單元中來存儲(chǔ)碼本。
2. 根據(jù)權(quán)利要求1的方法,其中,第一矩陣(U)是規(guī)格化正交矩陣,第二矩陣(S)是對(duì) 角矩陣,其各個(gè)對(duì)角項(xiàng)目對(duì)應(yīng)于碼本矩陣(C)的各個(gè)奇異值,屬于第二矩陣的除最后一列 之外的列的每一個(gè)對(duì)角項(xiàng)目高于屬于后一列的項(xiàng)目。
3. 根據(jù)權(quán)利要求1或2的方法,其中,至少第一矩陣(U)與第二矩陣(S)的所述乘積還 包括第三矩陣(V)的轉(zhuǎn)置,所述第三矩陣(V)是規(guī)格化正交矩陣, 并且其中所述方法還包括: 通過從中去除第一數(shù)目的最后各列而截?cái)嗨龅谌仃嚕? 把截?cái)嗪蟮牡谌仃嚧鎯?chǔ)在存儲(chǔ)器單元中。
4. 根據(jù)權(quán)利要求3的方法,其中,所述截?cái)嗟谝?、第二和第三矩陣還包括: 計(jì)算第二矩陣的能量; 當(dāng)記憶在存儲(chǔ)器單元中時(shí)設(shè)定對(duì)應(yīng)于由另一個(gè)第二矩陣的所有已量化項(xiàng)目占據(jù)的存 儲(chǔ)器空間的第一目標(biāo)數(shù)值; 對(duì)于第二矩陣的每一個(gè)對(duì)角項(xiàng)目,計(jì)算對(duì)應(yīng)于第一目標(biāo)數(shù)值乘以該項(xiàng)目的能量與第二 矩陣的能量之間的比值的對(duì)應(yīng)的分配數(shù)值; 將每一個(gè)分配數(shù)值取整到整數(shù)值;以及 將第一數(shù)目設(shè)定到碼本矩陣的列數(shù)減去第二矩陣的更高列索引,其中對(duì)于所述更高列 索引,與屬于第二矩陣的由該列索引標(biāo)識(shí)的該列的對(duì)角項(xiàng)目相對(duì)應(yīng)的已取整分配數(shù)值高于 閾值。
5. 根據(jù)權(quán)利要求4的方法,其中,對(duì)于另一個(gè)第一矩陣的每一個(gè)項(xiàng)目的所述量化還包 括: 對(duì)于另一個(gè)第一矩陣的每一列,把用于對(duì)另一個(gè)第一矩陣的所述列當(dāng)中的每一個(gè)項(xiàng)目 進(jìn)行量化的量化水平的相應(yīng)數(shù)目設(shè)定到2的乘方,所述乘方的次數(shù)是與屬于第二矩陣的其 列索引與另一個(gè)第一矩陣的所述列相同的列的對(duì)角項(xiàng)目相對(duì)應(yīng)的已取整分配數(shù)值。
6. 根據(jù)任一在前權(quán)利要求的方法,還包括: 選擇數(shù)據(jù)類型; 通過系數(shù)對(duì)截?cái)嗪蟮牡谌仃嚠?dāng)中的每一個(gè)項(xiàng)目進(jìn)行縮放,所述系數(shù)對(duì)應(yīng)于能夠利用 所選數(shù)據(jù)類型表示的最高數(shù)值與截?cái)嗪蟮牡谌仃嚨母鱾€(gè)項(xiàng)目的絕對(duì)值當(dāng)中的最高絕對(duì) 值之間的比值;以及 利用所選數(shù)據(jù)類型表示截?cái)嗪蟮牡谌仃嚨拿恳粋€(gè)經(jīng)過縮放的項(xiàng)目,所述存儲(chǔ)碼本還 包括將利用所選數(shù)據(jù)類型表示的截?cái)嗪蟮牡谌仃嚨母鱾€(gè)經(jīng)過縮放的項(xiàng)目記憶在存儲(chǔ)器 單元中。
7. 權(quán)利要求6的方法,其中,所述生成另一個(gè)第一矩陣包括將截?cái)嗪蟮牡谝痪仃嚦艘?截?cái)嗪蟮牡诙仃?,并且隨后將所得到的矩陣的每一個(gè)項(xiàng)目乘以所述系數(shù)。
8. 根據(jù)任一在前權(quán)利要求的方法,其中,對(duì)碼本矩陣的所述因式分解包括利用奇異值 分解。
9. 根據(jù)任一在前權(quán)利要求的方法,其還包括: 在將碼本矩陣因式分解成至少第一和第二矩陣的乘積之前,計(jì)算從碼本矩陣的所有各 行的平均值獲得的平均數(shù)組并且隨后從碼本矩陣的每一行減去該平均數(shù)組,所述存儲(chǔ)碼本 還包括將平均數(shù)組記憶在存儲(chǔ)器單元中。
10. -種用于處理包括一組關(guān)鍵點(diǎn)的圖像的系統(tǒng),所述系統(tǒng)被配置成實(shí)施以下操作: 對(duì)于該組當(dāng)中的每一個(gè)關(guān)鍵點(diǎn): a) 計(jì)算包括多個(gè)數(shù)組元素的相應(yīng)的描述符數(shù)組,其中每一個(gè)數(shù)組元素存儲(chǔ)由該關(guān)鍵點(diǎn) 的鄰域內(nèi)的所述圖像的對(duì)應(yīng)子區(qū)段的相應(yīng)的顏色梯度直方圖所取得的數(shù)值; b) 通過對(duì)所述描述符數(shù)組的至少一部分進(jìn)行壓縮生成至少一個(gè)已壓縮描述符數(shù)組,所 述壓縮是通過利用包括多個(gè)碼字(CW)的碼本(CBK)進(jìn)行矢量量化而實(shí)現(xiàn)的; 利用所述一組關(guān)鍵點(diǎn)當(dāng)中的各個(gè)關(guān)鍵點(diǎn)的所述至少一個(gè)已壓縮描述符數(shù)組來分析圖 像,其中所述方法還包括: 壓縮碼本,所述壓縮碼本包括: 生成碼本矩陣(C),所述碼本矩陣的每一行是該碼本的碼字; 對(duì)碼本矩陣進(jìn)行因式分解以便獲得至少第一矩陣(U)和第二矩陣(S)的乘積,第二矩 陣的各個(gè)項(xiàng)目的能量隨著該矩陣的列索引的增大總體上是不增大的; 通過從中去除第一數(shù)目的最后各列而截?cái)嗟谝痪仃嚕? 通過從中去除第一數(shù)目的最后各列和第一數(shù)目的最后各行而截?cái)嗟诙仃嚕? 生成對(duì)應(yīng)于截?cái)嗪蟮牡谝痪仃嚺c截?cái)嗪蟮牡诙仃嚨某朔e的另一個(gè)第一矩陣(US'); 對(duì)另一個(gè)第一矩陣的每一個(gè)項(xiàng)目進(jìn)行量化,其中利用相應(yīng)數(shù)目的量化水平對(duì)屬于另一 個(gè)第一矩陣的列的每一個(gè)項(xiàng)目進(jìn)行量化,其中所述相應(yīng)數(shù)目低于或等于被用來對(duì)屬于在前 的列的各個(gè)項(xiàng)目進(jìn)行量化的量化水平的數(shù)目; 生成另一個(gè)第二矩陣(X),其中另一個(gè)第二矩陣當(dāng)中的每一個(gè)項(xiàng)目對(duì)應(yīng)于另一個(gè)第一 矩陣當(dāng)中的項(xiàng)目,所述另一個(gè)第二矩陣當(dāng)中的每一個(gè)項(xiàng)目是關(guān)聯(lián)到另一個(gè)第一矩陣當(dāng)中的 相應(yīng)的已量化項(xiàng)目所采取的量化水平的索引; 通過把另一個(gè)第二矩陣的所述索引記憶在存儲(chǔ)器單元中來存儲(chǔ)碼本。
【文檔編號(hào)】G06T9/00GK104254877SQ201380021355
【公開日】2014年12月31日 申請(qǐng)日期:2013年4月19日 優(yōu)先權(quán)日:2012年4月23日
【發(fā)明者】M·巴勒斯特里, G·弗蘭希尼, S·萊普索伊 申請(qǐng)人:意大利電信股份公司