TWI847135B - 影像匹配系統 - Google Patents
影像匹配系統 Download PDFInfo
- Publication number
- TWI847135B TWI847135B TW111117451A TW111117451A TWI847135B TW I847135 B TWI847135 B TW I847135B TW 111117451 A TW111117451 A TW 111117451A TW 111117451 A TW111117451 A TW 111117451A TW I847135 B TWI847135 B TW I847135B
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- processor
- sketch
- images
- vector
- Prior art date
Links
- 239000013598 vector Substances 0.000 claims abstract description 104
- 238000000034 method Methods 0.000 claims description 44
- 238000003708 edge detection Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 16
- 230000001052 transient effect Effects 0.000 claims description 8
- 238000003709 image segmentation Methods 0.000 claims description 3
- 230000000916 dilatatory effect Effects 0.000 claims 2
- 238000004422 calculation algorithm Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 26
- 238000005516 engineering process Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 15
- 238000013527 convolutional neural network Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 13
- 238000010801 machine learning Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 7
- 210000005069 ears Anatomy 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 235000013405 beer Nutrition 0.000 description 4
- 238000002360 preparation method Methods 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 3
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 3
- 241001303755 Porpita porpita Species 0.000 description 3
- 238000000513 principal component analysis Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012109 statistical procedure Methods 0.000 description 1
- 230000008719 thickening Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Abstract
影像匹配系統包括非暫態電腦可讀取媒體和處理器。非暫態電腦可讀取媒體組構成儲存複數個影像的資訊。處理器組構成識別圖示物件之原始影像中的物件區域。處理器組構成正規化物件區域,造成正規化影像。處理器組構成從正規化影像來計算形狀向量和色彩向量。處理器組構成使用形狀向量和色彩向量來計算匹配分數。處理器組構成基於匹配分數來決定非暫態電腦可讀取媒體是否對於原始影像儲存相同匹配。
Description
本發明關於影像匹配系統,尤其是用於匹配商品影像。
影像匹配,即在大的影像池中找出視覺上類似影像而不使用任何其他資訊(亦即文字標籤/標號),已是迷人且具挑戰性的研究領域。於今日的電子商務時代,影像匹配演算法是根本的以提供先進的特徵和功能性,舉例而言為相同影像匹配、產品變體偵測、類似產品推薦、類別式影像分類。
自然影像(例如任何影像)可以在概念上劃分為主題和背景。目標是要找出含有相同主題的影像。良好的影像匹配演算法應具有以下特色:(1)尺寸不變體-具有不同相對尺寸的相同主題應由演算法視為相同;(2)位置不變體或平移不變體-在影像中不同位置之相同主題的影像應視為相同;(3)旋轉不變體-在2維平面上的旋轉影
像應視為相同。對於良好的影像匹配演算法還有其他需求。舉例而言,一種需求是3維旋轉不變體,這意謂取自不同觀點之相同主題的影像應認為是相同物件。
影像匹配具有深厚的理論重要性和多樣的實務應用。已有許多先前工作聚焦於這區域,其可以分類成手工匹配演算法和基於機器學習的演算法。
手工匹配演算法經常從原始像素值來擷取獨特的不變體特徵以進行可靠的匹配。某些熟知的演算法包括比例不變體特徵轉變(scale-invariant feature transform,SIFT)、加速穩健特徵(speeded-up robust feature,SURF)、最大穩定外部區域(maximally stable external region,MSER)。然而,這些「特徵」(feature)經常是尖銳角落或多條線的接合。平滑彎曲的物件(例如棒球或純色圓領汗衫的影像)甚至沒有任何「特徵」,因而此種物件無法被匹配。附帶而言,不考量物件的整體形狀,這讓它不適合通用的影像匹配。
機器學習演算法使用卷積神經網路(convolutional neural network,CNN)來做特徵擷取。CNN原始設計用於影像分類,並且它稍後調適用於影像檢索。就正確度而言,基於CNN的機器學習演算法可與古典的手工演算法相比擬。這留下機器學習演算法不比傳統演算法優秀很多的最後幾個領域,因為影像匹配問題無法公式化成機器學習所依賴的客觀功能。
既有的影像匹配演算法具有幾個主要缺點。
舉例而言,手工演算法對於僅有平滑曲線的單純物件沒用,並且它們忽略物件的整體形狀。另一方面,機器學習演算法遺漏關於色彩的物件資訊,並且無法輕易修改以修正特定問題(像是修補的色彩差異和次區域差異)。有相當大量的假相同匹配,其中影像除了某些小區域以外幾乎相同。欠缺提升且改善演算法而不修改和再訓練模型的方式。
鑒於前述,需要有解決既有演算法之上面缺點的影像匹配系統。也需要有影像匹配系統,其在影像匹配過程期間達成三不變體:尺寸不變體、位置不變體、2維旋轉不變體。本揭示的具體態樣是針對這點和其他考量。
揭示科技的諸多方面包括用於影像匹配的系統和方法。與揭示的具體態樣一致,影像匹配系統包括非暫態電腦可讀取媒體和處理器。非暫態電腦可讀取媒體組構成儲存複數個影像的資訊。處理器組構成識別圖示物件之原始影像中的物件區域。處理器組構成正規化物件區域,造成正規化影像。處理器組構成從正規化影像來計算形狀向量和色彩向量。處理器組構成使用形狀向量和色彩向量來計算匹配分數。處理器組構成基於匹配分數來決定非暫態電腦可讀取媒體是否對於原始影像儲存相同匹配。
揭示科技的另一方面關於影像匹配方法。方
法可能包括由處理器來識別圖示物件之原始影像中的物件區域。方法可能包括由處理器來正規化物件區域,造成正規化影像。方法可能包括由處理器從正規化影像來計算形狀向量和色彩向量。方法可能包括由處理器使用形狀向量和色彩向量來計算匹配分數。方法可能包括基於匹配分數而由處理器來決定非暫態電腦可讀取媒體是否對於原始影像儲存相同匹配,其中非暫態電腦可讀取媒體儲存複數個影像的資訊。
揭示科技的額外方面有關用於影像匹配的電腦程式產品。電腦程式產品包含電腦可讀取的儲存媒體,其含有電腦程式碼。電腦程式碼可能允許由處理器來識別圖示物件之原始影像中的物件區域。電腦程式碼可能允許由處理器來正規化物件區域,造成正規化影像。電腦程式碼可能允許由處理器從正規化影像來計算形狀向量和色彩向量。電腦程式碼可能允許由處理器使用形狀向量和色彩向量來計算匹配分數。電腦程式碼可能允許基於匹配分數而由處理器來決定非暫態電腦可讀取媒體是否對於原始影像儲存相同匹配,其中非暫態電腦可讀取媒體儲存複數個影像的資訊。
下文參考伴隨圖式所示範的特定具體態樣來更詳細解釋本揭示的進一步特徵和藉此提供的優點,其中圖式的相像元件是由相像的參考符號所指出。
100:範例性環境
110:影像匹配系統
120:處理器
140:非暫態電腦可讀取媒體
160:客戶電腦
180:網路
210~280:影像匹配之準備過程的步驟
300:使用邊緣偵測來生成草圖影像的過程
2002~2012:修正次區域差異的步驟
現將參考伴隨的圖式,其未必按比例來繪製,並且其併入本揭示中而構成本揭示的一部分、示範揭示科技的多樣實施例和方面、連同說明書而解釋揭示科技的原理。於圖式:[圖1]是可能用於實施本揭示的一或更多個具體態樣之範例性環境的圖解。
[圖2]是根據本揭示之一個方面的影像匹配系統所進行之過程的範例性流程圖。
[圖3]示範根據本揭示之一個方面而使用邊緣偵測以生成草圖影像的過程300。
[圖4]示範根據本揭示之一個方面而從原始影像如何產生草圖影像的過程。
[圖5]示範根據本揭示之一個方面而將原始影像轉換成輪廓的某些樣本結果。
[圖6]示範根據本揭示的一個方面之輪廓生成的某些範例。
[圖7]示範根據本揭示的一個方面之旋轉影像的某些範例。
[圖8]示範根據本揭示之一個方面而識別草圖影像中之外接矩形的範例。
[圖9]示範根據本揭示之一個方面而將草圖影像加以剪裁、重調尺寸、和填補的某些範例。
[圖10]示範根據本揭示之一個方面而將正規化草圖影像劃分成多個胞元。
[圖11]示範根據本揭示之一個方面而從正規化草圖影像來計算形狀向量的流程圖。
[圖12]示範根據本揭示之一個方面來計算色彩向量的流程圖。
[圖13]示範根據本揭示的一個方面之二個影像的色彩分布直方圖。
[圖14]示範根據本揭示之一個方面而基於向量化來識別匹配影像的流程圖。
[圖15A]示範根據本揭示之一個方面而作為搜尋目標的遙控器。
[圖15B]示範根據本揭示之一個方面而對於圖15A之遙控器的返回匹配。
[圖16]示範根據本揭示之一個方面來解決修補色彩差異問題的流程圖。
[圖17]示範根據本揭示之一個方面的輸入影像和結果影像。
[圖18A]示範根據本揭示之一個方面而作為搜尋目標的啤酒瓶。
[圖18B]示範根據本揭示之一個方面而對於圖18A之啤酒瓶的返回匹配。
[圖19]示範根據本揭示之一個方面來修正次區域差異的流程圖。
[圖20]示範根據本揭示之一個方面來修正次區域差異的過程。
[圖21A]示範根據本揭示之一個方面而作為搜尋目標的標誌。
[圖21B]示範根據本揭示之一個方面而與圖21A之標誌做比較的其他標誌。
將參考伴隨圖式來更完整地描述揭示科技的某些實施例。然而,這揭示科技可能具體成許多不同形式且不應解讀成受限於在此所列的實施例。下文描述成構成揭示科技之多樣元件的組件打算是示例性而非限制性。會進行與在此所述組件相同或類似之功能的許多適合組件打算要涵蓋在揭示之電子裝置和方法的範圍裡。未在此所述的此種其他組件舉例而言可能包括但不限於在揭示科技的發展之後所發展的組件。
也要了解提及了一或更多個方法步驟並不排除存在了額外的方法步驟或在那些明白識別的步驟之間有中介方法步驟。
現將詳細參考揭示科技的範例性具體態樣,其範例圖示於伴隨圖式且揭示於此。無論何處方便的話,全篇圖式將使用相同的參考數字以指稱相同或相像的零件。
可能互換地使用例如「索引」(index)和「向量」(vector)等詞,其各者可能指稱浮點數字的陣列。
圖1顯示可能實施本揭示之特定方面的範例
性環境100。圖1所示的組件和配置不打算限制揭示的具體態樣,因為用於實施揭示之過程和特徵的組件可能有所變化。如圖1所示,於某些實施例,環境100可能包括以下一或更多者:影像匹配系統110、網路180、客戶電腦160。影像匹配系統110可能包括處理器120和非暫態電腦可讀取媒體140。客戶電腦160可能發送輸入影像給影像匹配系統110。客戶電腦160可能接收、觀看或顯示來自影像匹配系統110的影像匹配結果。
處理器120的目標可能在影像(例如商品影像)的次分類,其具有在二維平面上之大多乾淨的背景和物件。處理器120所處理的影像可能具有乾淨且平滑的背景。於某些具體態樣,處理器120所處理的影像可能具有雜訊背景,其中主題和背景不可分開。處理器120可能基於整個影像而非僅有主題來進行匹配。
當進行影像匹配時,處理器120可能處置尺寸不變體、位置不變體、2維旋轉不變體。
處理器120可能進行二個過程,包括準備過程和匹配過程。於準備過程,可能處理許多影像,例如數百萬個影像,並且可能無客戶電腦160涉入。一旦準備完成,則各個影像可能關聯於一個形狀向量和一個色彩向量。可能使用這些向量以填充分布資料庫表格,例如彈性搜尋(Elasticsearch)索引。這些向量可能儲存於非暫態電腦可讀取媒體140。於匹配過程,輸入影像可能從客戶電腦160發送至處理器120。輸入影像可能經歷向量生成過
程。可能進行快速搜尋以窄化到小量的候選者。對於各個候選者,可能計算匹配分數並且可能返回匹配分數在閾值以上的候選者。於一範例,可能使用所得的形狀向量和色彩向量以在彈性搜尋索引中找出類似向量。處理器120可能基於形狀向量和色彩向量而進行假相同匹配檢查。若在閾值裡找出任何類似向量,則可能將對應的影像連同匹配分數發送回給客戶電腦160。若找不到匹配,則可能將空的結果組發送給客戶電腦160以指出沒找到匹配。
圖2示範處理器120所進行的影像匹配之準備過程的範例性流程圖。
在210,處理器120可能進行草圖影像生成。在220,處理器120可能進行輪廓影像生成。在230,處理器120可能找出主軸且預先旋轉輪廓影像。在240,處理器120可能進行在草圖影像中找出外接矩形。在250,處理器120可能對草圖影像進行剪裁、重調尺寸、和填補。在260,處理器120可能進行從草圖影像來計算形狀向量。在270,處理器120可能進行從色彩和輪廓影像來計算色彩向量。在280,處理器120可能準備假相同匹配檢查,包括對原始彩色影像、草圖影像、和輪廓影像加以剪裁、重調尺寸、和填補。
在210,處理器120可能首先使用邊緣偵測而將原始影像轉換成草圖代表。處理器120可能使用邊緣偵測以生成看起來像物件之草圖的抽象影像,其可能稱為「草圖」(sketch)影像。圖3示範使用邊緣偵測來生成草圖
影像的過程300。邊緣偵測可能是以三組不同的閾值來做:高(閾值1=150,閾值2=300)、中(閾值1=100,閾值2=200)、低(閾值1=50,閾值2=100)。邊緣偵測過程可能實施任何可用的邊緣偵測演算法,例如以約翰‧肯尼(John Canny)教授來命名的「肯尼邊緣偵測」(Canny edge detection)。肯尼邊緣偵測演算法使用二個閾值,而其他的邊緣偵測演算法使用一或二個閾值。邊緣偵測演算法都使用某種閾值來決定所得的邊緣影像中有多少細節。
邊緣影像可能分別針對高和中解析度邊緣影像而以疊代2和1來膨脹。膨脹可能是指處理期間把草圖影像之線條加粗的過程。低解析度邊緣影像可能沒有膨脹。最後,三個膨脹影像可能以邏輯或(OR)運算來組合。圖4示範從原始影像可能如何產生草圖影像而為上面過程的結果。於圖4,原始影像可能是彩色,而圖4的剩餘示範者可能是黑白。
返回到圖2,在220,處理器120可能將原始影像轉換成輪廓影像。處理器120可能不是使用來自Scikit-image的影像分段演算法就是使用OpenCV而從背景將主要物件分段。當輪廓影像由於主題和背景之間的對比不足而不太好時,處理器120可能藉由將輪廓和草圖影像做邏輯OR(邏輯或運算)而部分修正問題。圖5示範某些樣本結果。於圖5,原始影像可能是彩色,而圖5的剩餘示範者可能是黑白。
用於輪廓生成的通用機器學習演算法一般依
賴前景物件可能為何者。最接近的機器學習演算法可能是影像分段;若物件是在預先定義的分類中則可能很有用,若物件不在預先定義的分類中則可能不太有用,有時可能根本就沒用。圖6示範某些範例。於圖6,原始影像可能是彩色,而圖6的輪廓和修正圖可能是黑白。圖6的機器學習輪廓可能是彩色。
返回到圖2,處理器120可能找出質心(輪廓影像中之物件的主軸),並且預先旋轉輪廓影像。處理器120可能預先旋轉物件,使得主軸朝上、右、下、和左方向,如此則可能比較在任何2維指向的物件。處理器120可能進行主要組件分析(principal component analysis,PCA)。PCA是擷取資料組之最重要特徵的統計程序。資料組可能是指影像,例如輪廓影像。處理器120可能使用OpenCV實施例以計算質心的位置以及主軸和次軸的指向。次軸可能垂直於主軸。處理器120可能旋轉輪廓影像,使得主軸朝上。現在可能比較影像,而不管原始指向為何。有時當物件在對角方向上粗略地對齊時,小改變可能使物件在全然不同的方向,例如豎直或水平。為了避免此種問題,處理器120可能把第一對齊的影像旋轉90、180、和270度以涵蓋所有四個可能的主要指向。旋轉作業可能也須在草圖影像上進行。圖7示範某些範例。於圖7,原始影像可能是彩色,而圖7的剩餘示範者可能是黑白。於一具體態樣,可能設定旗標以指出處理器120是否進行旋轉不變體匹配。若旗標為真,則處理器120可能使用所
有四個影像。可能從旋轉影像來計算四個形狀向量。一個色彩向量可能是從原始指向的影像來計算。色彩向量可能基於旋轉影像來計算,但來自四個旋轉影像的結果可能相同。於一個具體態樣,處理器120可能使用預先旋轉(首先對齊)的草圖影像以計算一個形狀向量和在原始指向的輪廓影像以計算一個色彩向量。若旗標為偽,則處理器120可能跳過圖2所示範的步驟230且僅使用原始指向的草圖影像和輪廓影像。旗標的預設值可能為偽。
返回到圖2,處理器120可能在步驟240識別草圖影像中的外接矩形。圖8示範一範例。
返回到圖2,在250,處理器120可能對草圖影像進行剪裁、重調尺寸、和填補,這些都可能稱為正規化。在這些作業之後,所有的影像可能有相同尺寸,使得處理器120可能採取像素對像素或胞元對胞元來比較它們,如圖10所示範。於一具體態樣,處理器120可能以外接盒來剪裁草圖影像,使得物件被包在方形外接盒中且不是皆碰觸外接盒的頂緣和底緣二者就是皆碰觸外接盒的左緣和右緣二者。
處理器120然後可能將剪裁的草圖影像重調尺寸成標準尺寸,如此以能夠在影像之間做比較。處理器120可能以相同方式而將輸入影像以及輪廓影像重調尺寸成標準尺寸。於一範例,處理器120可能將剪裁的草圖影像重調尺寸成最大尺度。於一範例,彈性搜尋中的最大向量尺度是1,024。1024的平方根是32,這意謂32x32個胞
元。若各個胞元具有10*10=100個像素,則影像尺寸是320*320(32*10=320)。若各個胞元具有12*12=144個像素,則影像尺寸是384*384(32*12=384)。於一範例,處理器120可能把(若物件是方形)剪裁的草圖影像重調尺寸成384*384個像素,或者若物件不是方形則不是寬度就是高度重調尺寸為384個像素。處理器120然後可能把草圖影像填補成方形,造成正規化的草圖影像。圖9示範某些範例結果。高物件可能皆碰觸頂和底邊界二者,而寬物件可能皆碰觸左和右邊界二者。
返回到圖2,處理器120可能在260從正規化的草圖影像來計算形狀向量。各個影像可能是由1024維的形狀向量來代表。非暫態電腦可讀取媒體140可能儲存複數個產品影像的資訊,例如10百萬個形狀向量。若它是1維向量,則可能使用二元搜尋樹(binary search tree,BST)以找出最佳匹配。舉例而言,可能把範圍反覆地砍半,直到找出匹配為止。對於多維度向量,可能使用k維樹(k維度的搜尋樹)、球樹、資料庫(像是Google BigQuery)或彈性搜尋索引以進行搜尋。於一範例,彈性搜尋具有最佳效能且最有成本效益。
處理器120可能藉由將正規化的草圖影像劃分成多個胞元(例如各個維度有32個方塊)而計算形狀向量,如圖10所示範。圖10示範10*10個胞元。處理器120可能計數每胞元的明亮像素。處理器120可能計算各個胞元中之明亮像素的百分比。
當影像尺寸是384*384個像素時,處理器120可能將它劃分成32*32個方塊,造成總共1,024個胞元(32*32)。各個胞元可能是12*12個像素。384個像素除以32個方塊造成12個像素。圖11示範當n是32時的計算流程圖。圖11示範雙重循環的流程圖。首先,將2維的向量[32][32](n=32)初始化。然後,影像可能使用「i」作為循環計數器而循環經過一列接著一列。在每一列,可能使用「j」作為循環計數器而循環經過每一行。雙重循環的本體可能是下方的三盒。舉例而言,若i=3且j=5(第四列的第六胞元),則起點可能是(96,128)且終點可能是(127,159),其中96=32*3且127=32*4-1。這胞元含有矩形中的所有144個像素,而矩形的左上角在(96,128)且右下角在(127,159)。若明亮像素計數是53,則明亮胞元百分率是53/144=0.368,因而向量[3][5]=0.368。一旦做完雙重循環,則2維向量(各個維度具有32個元素)可能轉換成1024個元素的1維向量。以上過程可能稱為「平坦化」(flatten)。
返回到圖2,處理器120可能在270從彩色和輪廓影像來計算色彩向量。於一具體態樣,步驟270可能不依賴步驟260。步驟270可能在步驟220後分支,使得步驟270可能平行於步驟230到280。步驟270可能不依賴正規化的草圖影像。
處理器120可能將整個RGB色彩空間(例如256*256*256)劃分成64個儲桶(4*4*4)。處理器120可能循
環經過各個前景像素,其中輪廓的像素是明亮的,並且指派給64個儲桶中的一者。於一具體態樣,前景像素是輪廓影像上的白色像素,而黑色像素是被忽略的影像背景。於圖7的輪廓,前景像素是白色鞋形區域,其餘黑色部分代表背景像素。
最後,處理器120可能將色彩向量正規化。處理器120可能引入色彩分布直方圖來捕捉物件色彩資訊而能夠做比較。圖12示範流程圖,其中n=4、w=384、和h=384。
圖12示範雙重循環,一列接著一列作為外循環,而一行接著行作為內循環。「n」變數可能是指在RGB色彩空間之一個維度上的數值數目。當n=4時,可能存在了64個儲桶。「w」變數可能是指影像的寬度,例如w=384。「w」變數也可能是指影像的列數。「h」變數可能是指影像的高度,例如h=384。「h」變數也可能是指每列的行數。首先,向量被起始化以儲存結果,該向量是1維、元素的數目是64、和初始值為0。雙重循環的本體可能是有條件的檢查和在流程圖下半部的二盒。於一範例,當i=123且j=97時,遮罩是輪廓影像並且它是灰階。各個像素可能是1維或恰為純量。若數值等於0,則它是黑暗像素。若數值大於0,則它是明亮像素。若遮罩[123][97]不大於0(所以它是0),則它是黑暗像素且不進行過程。若它是明亮像素,則在下面的二盒中進行計算。圖12中「影像」(image)變數可能稱為正規化的彩色影像而尺寸為
384*384。各個像素可能是具有三元素的1維陣列,舉例而言,影像[123][97]=(201,87,149),意謂紅色=201、綠色=87、和藍色=149。在RGB數值除以n3(其為64)之後,取整數部分:r=int(201/64)=int(3.14)=3,g=int(87/64)=int(1.36)=1,b=int(149/64)=int(2.33)=2。然後,索引=n*n*r+n*g+b=4*4*3+4*1+2=48+4+2=54。然後,向量[54]中的數值遞增1。在完成雙重循環後,向量可能包括例如(27,5,235,0,14…)的數值。可能取其總和。各個元素可能除以總和。可能獲得其分布,並且最後步驟可能稱為「正規化」(normalize)。
圖13示範某些樣本結果,例如二個影像及其等的直方圖。二個影像中的圓領汗衫可能是紅色。
返回到圖2,在280,處理器120可能準備假相同匹配檢查,包括對原始彩色影像、草圖影像、輪廓影像加以剪裁、重調尺寸、和填補。處理器可能在步驟250對原始彩色影像、邊緣偵測影像、和輪廓影像重複相同作業,並且儲存它們以供未來使用(假相同匹配的移除)。處理器120可能使用影像的向量代表來匹配影像。
處理器120可能使用彈性搜尋來進行大規模搜尋,其中彈性搜尋就索引填充分布和搜尋效能二者而言優於搜尋樹。處理器120可能運算影像之間的相似度。在原始影像上,處理器120可能針對CNN向量、形狀和色彩向量而使用彈性搜尋作為搜尋軟體。數值向量是彈性搜尋中的資料類型。舉例而言,「緻密_向量」(dense_vector)
是一種數值向量。
局部性敏感雜湊(locality sensitive hashing,LSH)是一種改善搜尋效率的方法。LSH從形狀向量來運算出雜湊值,例如整數,其運算方式使得類似向量具有相同雜湊值,並且這雜湊值用於過濾彈性搜尋索引。於10,000,000個向量的範例,為了避免每當進行影像匹配就要循環經過這些10,000,000個形狀向量,LSH可能將這些10,000,000個向量劃分成10,000個儲桶,並且各個儲桶可能具有一獨特的雜湊值,例如整數。鞋子的雜湊值可能極不同於電視機的的雜湊值。因而,當使用LSH來搜尋電視機時,僅研究電視機儲桶而忽略其餘9,999個儲桶。
下表提供有關綱目的解釋。
於表1,例如「cnn_signature_256_0」的簽章是從對應的向量來計算,見上面有關LSH(局部性敏感雜湊)的解釋。為了避免儲桶化的緣故而遺漏任何東西,可能使用四種不同方式來做LSH。當進行搜尋時,可能從搜尋影像生成四個LSH簽章。可能使用各個LSH簽章來進行四個搜尋。可能從這四個搜尋結合出搜尋結果組。「cnn_vector_256」向量可能是藉由卷積神經網路(CNN)機器學習模型而生成,如此以比較本揭示的方法與機器學習方法。CNN模型可以由開放原始碼來獲得。
處理器120可能把影像向量(不是CNN向量[1024維]就是形狀向量[1024維])減少至256維度。處理器120可能針對CNN向量256維和形狀向量256維二者皆計算四個LSH數值。表中的所有欄位可能是由一個影像的資料所構成,並且所有影像的資料可能填充分布至彈性搜尋索引中。
於搜尋期間,輸入影像可能以相同方式來處理。可能不是使用cnn_vector_256就是使用shape_vector_256連同雜湊值來做搜尋。對於每一個產品影像,生成表1所列的所有欄位。基本數值是shape_vector_1024,其是從所有的影像處理來計算。由於shape_vector_1024具有1,024個維度,並且在這麼多維度上搜尋是有點慢,故可能藉由將鄰近的四個數值平均成一個(1024/4=256)而生成較小版本的shape_vector_256,其具有256個維度。為了加速搜尋過程,使用LSH以在小且相關的次組上搜尋。使用四個不
同LSH以避免由於這儲桶化的緣故而遺漏任何匹配。然後,從這四個LSH過濾的搜尋(在shape_vector_256上)結合所有結果。對於各個匹配,搜尋影像與匹配影像之間的距離(或分數)可能藉由使用shape_vector_1024和閾值來計算以移除具有較低分數(或較大距離)的匹配。然後,可能使用color_vector_64以計算分數且進一步移除具有較低分數的匹配。最後,進行假相同匹配檢查,並且移除假相同匹配。然後,可能決定且返回匹配影像。所有這些步驟可能始於CNN_vector_1024來進行,僅作為比較,其為那些CNN_*數值所用,並且它們是可選用的。
特定而言,可能發送四個搜尋請求以呼叫服務,各者具有一雜湊值。雜湊值可能使用以過濾出搜尋影像的次組。可能使用四個雜湊值以確保沒有匹配因為過濾而遺漏。在做完搜尋後,可能使用CNN向量1024維和形狀向量1024維以用餘弦相似度來計算匹配分數,連同使用餘弦相似度來計算色彩匹配分數。距離和分數是二個關聯概念。若僅有二個維度v0(x0,y0)和v1(x1,y1),則距離是√((x0-x1)2+(y0-y1)2)。距離愈小則匹配愈好。二個相同向量可能給出0之距離。分數或餘弦相似度可能定義成(x0*x1+y0*y1)/(√(x02+y02)*√(x12+y12))。分數愈高則匹配愈好。二個相同向量可能具有分數1。可能使用這些分數以決定它是否為相同匹配。處理器120可能使用二種CNN模型:MobileNet和NASNet,MobileNet分數≧0.90,NASNet分數≧0.88。對於這些模型:形狀分數≧0.92且色
彩分數≧0.965。圖14示範搜尋期間的流程圖。於圖14,在「應用閾值」和「得到匹配影像」的步驟之間,進行假相同匹配檢查步驟。
可能存在著假相同匹配問題。舉例而言,一種問題可能稱為修補色彩差異,其中對於許多影像的整體形狀和色彩都是在相似度閾值之上,但影像中仍有不同色彩的修補。
當搜尋具有如圖15A所示範之淡藍色按鈕的遙控器時,基於向量相似度而可能返回四個匹配作為相同匹配,如圖15B所示範。於圖15A,遙控器具有淡藍色按鈕,並且顯示器裡的卡通角色可能具有綠色耳朵。於圖15B,左上匹配可能具有藍色按鈕,並且顯示器裡的卡通角色可能具有綠色耳朵。右上匹配可能具有紫色按鈕,並且顯示器裡的卡通角色可能具有橘色耳朵。底下二匹配可能具有粉紅色按鈕,並且顯示器裡的卡通角色可能具有橘色耳朵。明顯而言,僅第一個是相同匹配(順帶而言,第一匹配影像不是該影像本身)。最後三個結果影像無法藉由縮緊閾值而排除,這樣做會消除許多其他合格的匹配且減少匹配正確度。有三個概念來描述模型方法有多好:精密度、喚回、正確度。若搜尋返回10個匹配但僅8個正確,則精密度是8/10=80%。若資料組中有10個真正匹配且我們的搜尋返回7個匹配,則喚回是7/10=70%。正確度或稱為「F1分數」(F1 score),其定義成2*精密度*喚回/(精密度+喚回)=2*80%*70%/(80%+70%)=74.7%。若遺漏良好
的候選者,則會減少喚回,因而減少F1分數(正確度)。
為了解決修補色彩差異問題,處理器120可能計算「色彩差異百分率」(color diff percent)以測量此種色彩差異,如圖16所示範。對於各個結果影像,處理器120可能藉由針對輪廓像素是明亮的各個像素來檢查在相同位置之結果影像和輸入影像的色彩是否相同而生成色彩差異映射。若為相同色彩,則數值設為0。若為不同色彩,則數值設為1。在此的「色彩」(color)是64個色彩儲桶中的索引。然後,處理器120可能使用具有極高閾值(h=50)的雜訊減少來移除小修補。處理器120可能得到色彩差異映射中之1位元的總和(輪廓影像中之明亮像素的總和),並且計算百分率。若這數值大於閾值(5%),則二影像可能視為不同。色彩差異可能有二個不同的原因。第一,對於相同產品,影像可能是由不同人所拍攝。照光、角度或解析度的差異可能呈現為隨機的像素和小斑點。第二,有真正顯著的差異,像是遙控器上的按鈕。在此情形,差異呈現為較大的斑點。處理器120可能移除雜訊和小斑點且僅保存像是按鈕的較大斑點。處理器120可能具有參數(閾值h)。參數可能設得極高以移除不真的是雜訊的小斑點。之後,處理器120可能計數有多少明亮像素留下來,然後把它除以像素的總數。若數值大於0.05(5%),則處理器120可能決定它是不同影像,否則它們是「相同」(identical)影像。圖17示範輸入影像和結果影像。於圖17,頂列示範呈不同色彩的範例性遙控器。左邊數來第
一和第二個遙控器可能具有藍色小鍵盤或按鈕,並且顯示器中的卡通人物可能具有綠色耳朵。於剩下的三個遙控器,卡通人物可能具有橘色耳朵。中間遙控器和最右邊的遙控器可能具有粉紅色小鍵盤。右邊數來第二個遙控器可能具有紫色小鍵盤。
第二假相同匹配問題可能稱為次區域差異,其中物件除了某些小區域的差異以外極類似。第二假相同匹配問題可能是由次區域的差異所引起。影像極類似於輸入影像,但僅在影像裡的小區域有所不同,經常是某種標誌。舉例而言,當搜尋具有如圖18A所示範之國家美式足球聯盟紐奧良聖徒(NFL New Orleans Saints)標誌的啤酒瓶時,可能返回具有如圖18B所示範之不同標誌的某些類似影像。
不論是藉由機器學習模型或是藉由形狀和色彩向量,這種問題可能都難以修正,因為整體形狀相同且色彩差異極小。為了解決這問題,處理器120可能生成草圖差異映射、平均所有差異影像以凸顯真正的差異區域、對平均差異影像加以閾限、使用叢集技術以將平均差異影像劃分成叢集、最後針對結果群組中的所有原始影像來比較剪裁區域。
圖19示範高階步驟。在2002,處理器120可能生成邊緣差異影像。在2004,處理器120可能生成邊緣差異影像的平均。在2006,處理器120可能對平均差異影像加以閾限。在2008,處理器120可能將平均差異影像加
以叢集。在2010,處理器120可能針對尺寸在前n個叢集得到外接矩形。在2012,處理器120可能循環經過各個外接矩形、生成次影像、比較目標影像和候選影像之間的色彩向量和形狀向量。
圖20示範以上演算法。於圖20,第一行是針對候選影像(假相同匹配)的邊緣偵測影像。第二行是輸入影像的邊緣偵測影像。第三行是第一和第二行之間的差異影像。第四行(其僅有一列)是第三行的平均。第五行是對平均影像加以閾限。最後一行顯示來自閾限影像之最大叢集的外接矩形。
上面的演算法可能在以下假設下有用。第一,標誌區域可能與影像的其餘者隔離。第二,候選影像可能良好對齊於輸入影像,使得在差異步驟移除多數的非相關邊緣。第三,可能有足夠的候選影像,使得平均可以消除雜訊。於圖20,上方的差異影像具有許多非相關差異,但由於有大量候選者的緣故,在對標誌區域加以平均和閾限之後仍凸顯得不錯。第四,標誌區域可能不太大或太小。若它太大,後續比較則不太可能分辨它們。若它太小,則也難以做良好的比較。
在生成平均差異影像的閾限之後,處理器120可能進行叢集化而將像素劃分成不連接的區域以供進一步比較。處理器120可能實施叢集演算法,例如帶有雜訊應用之基於密度的空間叢集化(Density-Based Spatial Clustering of Applications with Noise,DBSCAN)。
在最後步驟,處理器120可能比較標誌區域。對於啤酒瓶範例,處理器120可能比較如圖21A所示範的紐奧良聖徒標誌與圖21B所示範的其他標誌。處理器120可能使用形狀向量和色彩向量的組合以供次比較。
於一實驗,10.4百萬個產品影像是以二種不同的CNN模型(MobileNet模型和NASNet模型)以及形狀和色彩向量化來處理。填充了彈性搜尋索引。隨機地選擇1,270個影像以對10.4百萬個影像的整個影像池做搜尋。名列前茅的搜尋結果做手動檢查和打標籤,並且計算正確度。下表列出微平均結果,也就是計數所有正和負例子,然後計算正確度。
於表2,「準則」(criteria)是用於決定相同匹配的相似度閾值。舉例而言,於第一列的MobileNet模型,「MobileNet分數≧0.90」意謂若分數≧0.90,則它視為相同匹配。
揭示的科技勝過既有的機器學習演算法。舉例而言,揭示科技的平均正確度是87%,這優於機器學習演算法的約58%。
影像匹配系統110可能使用作為聯合行銷平臺中之瀏覽器延伸的一部分。舉例而言,影像匹配系統
110可能使用在像是家得寶(Home Depot)之非聯合會員網站上的部分購物,這造成在聯合會員的網站上藉由影像來搜尋和匹配較低價的替代選擇。高體積品項(例如電冰箱)可能在使用者觀看前預先搜尋且預先匹配,使得替代選擇可能幾乎即時地呈現給使用者。影像匹配可能使用於例如布料或鞋子的商品。
可能使用影像匹配系統110以進行重複偵測,譬如針對單一產品有二個登錄。可能使用處理器120所進行的影像匹配過程以移除或識別系統資料庫中的重複。重複的登錄可能合併在一起以增加品質管控。
返回到圖1,處理器120可能包括以下一或更多者:微處理器、微控制器、數位訊號處理器、共同處理器或類似者或其組合,其能夠執行所儲存的指令且在儲存的資料上運作。處理器120可能是一或更多個已知的處理裝置,例如來自IntelTM所製造之PentiumTM家族或AMDTM所製造之TurionTM家族的微處理器。處理器120可能由單核或多核處理器所組成,其同時執行平行的過程。舉例而言,處理器120可能是單核處理器,其組構有虛擬處理科技。於特定具體態樣,處理器120可能使用邏輯處理器以同時執行和控制多個過程。處理器120可能實施虛擬機器科技或其他類似已知的科技以提供執行、控制、運行、調處、儲存…等多個軟體過程、應用程式、程式…等的能力。此技術中的一般人士會了解或可實施提供在此揭示的能力之其他類型的處理器配置。
非暫態電腦可讀取媒體140可能含有作業系統(operating system,OS)和程式。於某些實施例,非暫態電腦可讀取媒體140可能包括一或更多種適合類型的記憶體(譬如例如揮發性或非揮發性記憶體、隨機存取記憶體[random access memory,RAM]、唯讀記憶體[read only memory,ROM]、可程式化的唯讀記憶體[programmable read-only memory,PROM]、可抹除且可程式化唯讀記憶體[erasable programmable read-only memory,EPROM]、可電抹除且可程式化唯讀記憶體[electrically erasable programmable read-only memory,EEPROM]、磁碟、光碟、軟碟、硬碟、可移除卡匣、快閃記憶體、獨立磁碟冗餘陣列[redundant array of independent disks,RAID]和類似者)以儲存檔案,包括作業系統、應用程式(舉例而言包括網路瀏覽器應用程式、介面工具或小工具引擎及/或視需要的其他應用程式)、可執行的指令和資料。於一具體態樣,在此所述的處理技術實施成非暫態電腦可讀取媒體140裡之可執行的指令和資料的組合。非暫態電腦可讀取媒體140可能包括一或更多個記憶體裝置,其儲存用於進行揭示的具體態樣之一或更多個特徵的資料和指令。非暫態電腦可讀取媒體140也可能包括一或更多個資料庫的任何組合,其藉由記憶體控制器裝置(譬如[多個]伺服器…等)或軟體來控制,例如文件管理系統、MicrosoftTMSQL資料庫、SharePointTM資料庫、OracleTM資料庫、SybaseTM資料庫或其他關聯性或非關聯性資料庫。非暫態電腦可讀
取媒體140可能包括軟體組件,其當由處理器120執行時進行與揭示之具體態樣一致的一或更多個過程。於某些具體態樣,非暫態電腦可讀取媒體140可能包括資料庫以進行揭示之具體態樣所關聯的一或更多個過程和功能性。非暫態電腦可讀取媒體140可能包括一或更多個程式以進行揭示之具體態樣的一或更多個功能。再者,處理器120可能執行位在影像匹配系統110遠方的一或更多個程式。舉例而言,影像匹配系統110可能存取一或更多個遠端程式,其當執行時進行關於揭示之具體態樣的功能。
返回到圖1,網路180可能包括互連運算裝置的網路(更常稱為網際網路)。網路180可能是任何適合的類型,包括經由網際網路的獨立連接,例如蜂巢式或WiFi網路。於某些具體態樣,網路180可能使用例如射頻識別(radio-frequency identification,RFID)、近場通訊(near-field communication,NFC)、BluetoothTM、低能量BluetoothTM(low-energy Bluetooth,BLE)、WiFiTM、ZigBeeTM、周遭反向散射通訊(ambient backscatter communication,ABC)協定、通用序列匯流排(USB)、廣域網路(WAN)或區域網路(LAN)的直接連接而連接終端機、服務、行動裝置。因為傳輸的資訊可能是私人的或機密的,所以保全顧慮可能指定一或更多種這些類型的連接要加密或另外保全。然而,於某些具體態樣,要傳輸的資訊可能較不是私人性,因而可能為了保全上的方便而選擇網路連接。網路180可能包含用於交換資料之任何類型的電
腦連網配置。舉例而言,網路180可能是網際網路、私用資料網路、使用公共網路的虛擬私用網路和/或其他適合的(多種)連接,其使系統環境100中的組件能夠作用。網路180也可能包括公共切換電話網路(public switched telephone network,PSTN)和/或無線網路。網路180也可能包括區域網路,其包含任何類型的電腦連網配置而用於在局部化的區域中交換資料,例如WiFi、BluetoothTM、乙太網路和其他適合的網路連接,其使系統環境100的組件能彼此互動。
雖然已關於目前視為最實用且多樣的實施例而描述了揭示科技的特定實施例,但要了解揭示科技不是要受限於揭示的實施例,相反而言意欲涵蓋附上之申請專利範圍裡所包括的多樣修改和等同配置。雖然在此採用特定的詞彙,但它們僅是以一般性和敘述性意味來使用且無限制目的。
根據揭示科技的範例性實施例,上面參考系統及方法的方塊圖解和流程圖解及/或電腦程式產品而描述了揭示科技的特定實施例。將了解方塊圖解和流程圖解的一或更多個方塊以及方塊圖解和流程圖解的方塊組合分別可以由電腦可執行的程式指令來實施。類似而言,根據揭示科技的某些實施例,方塊圖解和流程圖解的某些方塊可能未必以所呈現的次序來進行,或者可能根本不須必然進行。
這些電腦程式指令也可能儲存於電腦可讀取
記憶體,其可以指引電腦或其他可程式化資料處理設備以特殊方式來發揮功能,使得儲存於電腦可讀取記憶體中的指令產出製品,其包括實施一或多個流程圖解方塊所指定之一或更多個功能的指令手段。
揭示科技的實施例可能提供電腦程式產品,其包含電腦可使用的媒體而具有在此所具體之電腦可讀取的程式碼或程式指令,該電腦可讀取的程式碼調適成執行以實施一或多個流程圖解方塊所指定的一或更多個功能。電腦程式指令也可能載入電腦或其他可程式化的資料處理設備以使一系列作業元件或步驟在電腦或其他可程式化的設備上進行而產生電腦實施的過程,使得電腦或其他可程式化設備上所執行的指令提供元件或步驟來實施一或多個流程圖解方塊所指定的功能。
據此,方塊圖解和流程圖解的方塊支援:用於進行指定功能之手段的組合、用於進行指定功能之元件或步驟的組合、用於進行指定功能的程式指令手段。也將了解方塊圖解和流程圖解的各個方塊以及方塊圖解和流程圖解的方塊組合可以由特殊目的之基於硬體的電腦系統來實施,其進行指定的功能、元件或步驟,或由特殊目的之硬體和電腦指令的組合來實施。
本說明書使用範例以揭示本揭示科技的特定實施例,包括最佳模式,並且也使任何熟於此技術者能實施揭示科技的特定實施例,包括製作和使用任何裝置或系統及進行任何併入的方法。揭示科技之特定實施例的可專
利範圍是界定於請求項,並且可能包括熟於此技術者所想到的其他範例。若此種其他範例所具有的結構元件不異於請求項的字面語文,或若它們包括等同的結構元件而與請求項的字面語文無實質差異,則此種其他範例意欲位在申請專利範圍裡。
Claims (17)
- 一種影像匹配系統,其包含:非暫態電腦可讀取媒體,其組構成儲存複數個影像的資訊;以及處理器,其組構成:識別圖示物件之原始影像中的物件區域;正規化該物件區域,造成正規化影像;從該正規化影像來計算形狀向量和色彩向量;使用該形狀向量和該色彩向量,來計算該原始影像、以及儲存於該非暫態電腦可讀取媒體的各個該複數個影像之間的匹配分數;基於該匹配分數來決定該非暫態電腦可讀取媒體是否對於該原始影像儲存相同匹配;從該原始影像產生草圖影像;識別該草圖影像中的外接矩形;以該外接矩形來剪裁該草圖影像、將該剪裁的草圖影像重調尺寸和填補,造成該正規化影像;從該正規化影像來計算該形狀向量;藉由使用邊緣偵測而從該原始影像產生該草圖影像;以及使用具有三組不同閾值的邊緣偵測;以針對高解析度、中解析度、低解析度之邊緣影像的不同疊代來膨脹;以及以邏輯或(OR)運算來組合該三邊緣影像。
- 如請求項1的影像匹配系統,其中該處理 器組構成:基於該物件的主軸而預先旋轉該草圖影像;以及從該預先旋轉的草圖影像產生該正規化影像。
- 如請求項2的影像匹配系統,其中該處理器組構成:藉由進一步旋轉該預先旋轉的草圖影像而產生一或更多個正規化影像;以及從各個該正規化影像來計算該形狀向量。
- 如請求項1的影像匹配系統,其中該處理器組構成:從該原始影像產生輪廓影像;將該輪廓影像重調尺寸,造成該正規化影像;以及從色彩和該正規化影像來計算該色彩向量。
- 如請求項1的影像匹配系統,其中該處理器組構成:藉由進行假相同匹配檢查而決定是否錯誤地識別該相同匹配。
- 如請求項4的影像匹配系統,其中該處理器組構成藉由使用影像分段而從背景將主要物件分段以從該原始影像產生該輪廓影像。
- 如請求項4的影像匹配系統,其中該處理器組構成:從該原始影像產生草圖影像,基於其計算了該形狀向量;以及 在該輪廓影像和該草圖影像之間進行邏輯或運算。
- 如請求項1的影像匹配系統,其中該處理器組構成以該外接矩形來剪裁該草圖影像,使得該物件被包在該外接矩形中且不是皆碰觸該外接矩形的頂緣和底緣二者就是皆碰觸該外接矩形的左緣和右緣二者。
- 如請求項1的影像匹配系統,其中該處理器組構成將該剪裁的草圖影像重調尺寸成標準尺寸。
- 如請求項1的影像匹配系統,其中該處理器組構成填補該重調尺寸的草圖影像而成方形。
- 如請求項1的影像匹配系統,其中該處理器組構成藉由將該正規化的草圖影像劃分成複數個胞元來計算該形狀向量。
- 如請求項11的影像匹配系統,其中該處理器組構成計數每胞元的明亮像素。
- 如請求項1的影像匹配系統,其中該處理器組構成藉由循環經過各個前景像素來計算該色彩向量且將其指派給64個儲桶中的一者。
- 如請求項1的影像匹配系統,其中該處理器組構成正規化該色彩向量。
- 如請求項1的影像匹配系統,其中該處理器組構成計算用於該形狀向量和該色彩向量二者的四個局部性敏感的雜湊值。
- 一種影像匹配方法,其包含:由處理器來識別圖示物件之原始影像中的物件區域; 由該處理器來正規化該物件區域,造成正規化影像;由該處理器從該正規化影像來計算形狀向量和色彩向量;由該處理器使用該形狀向量和該色彩向量,來計算該原始影像、以及儲存於非暫態電腦可讀取媒體的各個複數個影像之間的匹配分數;以及基於該匹配分數而由該處理器來決定該非暫態電腦可讀取媒體是否對於該原始影像儲存相同匹配,其中該非暫態電腦可讀取媒體儲存該複數個影像的資訊;該影像匹配方法包含,由該處理器進行:從該原始影像產生草圖影像;識別該草圖影像中的外接矩形;以該外接矩形來剪裁該草圖影像、將該剪裁的草圖影像重調尺寸和填補,造成該正規化影像;從該正規化影像來計算該形狀向量;藉由使用邊緣偵測而從該原始影像產生該草圖影像;以及使用具有三組不同閾值的邊緣偵測;以針對高解析度、中解析度、低解析度之邊緣影像的不同疊代來膨脹;以及以邏輯或(OR)運算來組合該三邊緣影像。
- 一種用於影像匹配的電腦程式產品,該電腦程式產品包含電腦可讀取的儲存媒體,其含有電腦程式碼以用於:由處理器來識別圖示物件之原始影像中的物件區域; 由該處理器來正規化該物件區域,造成正規化影像;由該處理器從該正規化影像來計算形狀向量和色彩向量;由該處理器使用該形狀向量和該色彩向量,來計算該原始影像、以及儲存於非暫態電腦可讀取媒體的各個複數個影像之間的匹配分數;以及基於該匹配分數而由該處理器來決定該非暫態電腦可讀取媒體是否對於該原始影像儲存相同匹配,其中該非暫態電腦可讀取媒體儲存該複數個影像的資訊,該電腦程式碼用於,由該處理器進行:從該原始影像產生草圖影像;識別該草圖影像中的外接矩形;以該外接矩形來剪裁該草圖影像、將該剪裁的草圖影像重調尺寸和填補,造成該正規化影像;從該正規化影像來計算該形狀向量;藉由使用邊緣偵測而從該原始影像產生該草圖影像;以及使用具有三組不同閾值的邊緣偵測;以針對高解析度、中解析度、低解析度之邊緣影像的不同疊代來膨脹;以及以邏輯或(OR)運算來組合該三邊緣影像。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/318,984 US12002252B2 (en) | 2021-05-12 | 2021-05-12 | Image matching system |
US17/318,984 | 2021-05-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202244844A TW202244844A (zh) | 2022-11-16 |
TWI847135B true TWI847135B (zh) | 2024-07-01 |
Family
ID=
Non-Patent Citations (1)
Title |
---|
期刊 Khan, Fahad Shahbaz, Joost Van de Weijer, and Maria Vanrell. "Modulating shape features by color attention for object recognition." International Journal of Computer Vision 98 (2012): 49-64. Springer 2012 pages:1-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210365679A1 (en) | Systems, methods and computer program products for automatically extracting information from a flowchart image | |
Mouine et al. | A shape-based approach for leaf classification using multiscaletriangular representation | |
JP5916886B2 (ja) | 画像特徴の類似性に基づく画像索引作成 | |
US9330111B2 (en) | Hierarchical ranking of facial attributes | |
JP2016530641A (ja) | コンテンツベースの画像検索 | |
Chatfield et al. | Efficient retrieval of deformable shape classes using local self-similarities | |
US20200410280A1 (en) | Methods and apparatuses for updating databases, electronic devices and computer storage mediums | |
US8942468B1 (en) | Object recognition | |
Furuya et al. | Visual saliency weighting and cross-domain manifold ranking for sketch-based image retrieval | |
Bhattacharjee et al. | Query adaptive instance search using object sketches | |
Wu et al. | Privacy leakage of sift features via deep generative model based image reconstruction | |
EP4089644A1 (en) | Image matching system | |
CN105190689A (zh) | 包括基于毗连特征的对象检测和/或双边对称对象分段的图像处理 | |
TWI847135B (zh) | 影像匹配系統 | |
Kordelas et al. | Viewpoint independent object recognition in cluttered scenes exploiting ray-triangle intersection and SIFT algorithms | |
CN112445926A (zh) | 一种图像检索方法以及装置 | |
Di Ruberto | Generalized hough transform for shape matching | |
Sipiran Mendoza | Local features for partial shape matching and retrieval | |
Gao et al. | Fast image-based chinese calligraphic character retrieval on large scale data | |
Bakshi et al. | Postmatch pruning of SIFT pairs for iris recognition | |
Šinjur et al. | Fast convex layers algorithm for near-duplicate image detection | |
Zhang et al. | A Novel Two‐Stage Illumination Estimation Framework for Expression Recognition | |
Xinhai et al. | Color pattern diffusion: Verification for wide baseline matching | |
Fu et al. | Indoor objects and outdoor urban scenes recognition by 3d visual primitives | |
Aouat et al. | Coarse comparison of silhouettes using XLWDOS language |