用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的方法
【專利摘要】本申請(qǐng)所述匹配檢測(cè)的方法及設(shè)備通過(guò)獲取將待檢測(cè)對(duì)象的圖像和參考對(duì)象的圖像進(jìn)行特征提取并對(duì)特征提取獲得的數(shù)據(jù)進(jìn)行匹配檢測(cè),產(chǎn)生圖像匹配檢測(cè)結(jié)果,進(jìn)而根據(jù)圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。進(jìn)一步的,在進(jìn)行匹配檢測(cè)的過(guò)程,利用尺度不變特征轉(zhuǎn)換算法結(jié)合快速最近鄰逼近搜索函數(shù)庫(kù)匹配算法進(jìn)行特征提取,并利用隨機(jī)抽樣一致算法中的變換矩陣獲取算法獲取關(guān)于所述第三待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣,所述方法能夠更精準(zhǔn)、快速識(shí)別出相似圖像,進(jìn)而產(chǎn)生匹配檢測(cè)結(jié)果。
【專利說(shuō)明】
用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的方法
技術(shù)領(lǐng)域
[0001] 本申請(qǐng)?jiān)O(shè)及通信及計(jì)算機(jī)領(lǐng)域,尤其設(shè)及一種用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢 測(cè)的方法。
【背景技術(shù)】
[0002] 近年來(lái),互聯(lián)網(wǎng)迅速發(fā)展,各類軟件應(yīng)用不管是在種類還是數(shù)量上都大量增加,尤 其是智能手機(jī)領(lǐng)域。當(dāng)然,運(yùn)其中也包括越來(lái)越多的病毒軟件和盜版軟件。盜版軟件在功 能、表現(xiàn)和交互上都與正版軟件極其相似,很難辨別。在應(yīng)對(duì)盜版軟件問(wèn)題上,業(yè)界多呼吁 開(kāi)發(fā)者采用各種防盜版技術(shù)(如加固等),或者推出各種所謂安全的應(yīng)用市場(chǎng),卻很少探討 怎樣在第一時(shí)間阻止盜版軟件接近用戶或者及時(shí)發(fā)現(xiàn)盜版軟件并給予用戶適當(dāng)?shù)奶嵝?。?是國(guó)內(nèi)的安全市場(chǎng)大多缺乏嚴(yán)格的審核標(biāo)準(zhǔn)和制度,也幾乎對(duì)版權(quán)侵犯視而不見(jiàn)。即使是 國(guó)內(nèi)知名手機(jī)安全軟件也鮮有盜版軟件檢測(cè)功能。即便有的安全軟件有盜版檢測(cè)功能,但 是效果也極差。
[0003] 由于現(xiàn)有的文件相似度算法和數(shù)據(jù)挖掘技術(shù)對(duì)資源文件相似度計(jì)算、程序控制流 挖掘、程序數(shù)據(jù)流挖掘、程序API調(diào)用序列挖掘需要大量的計(jì)算資源,而且由于軟件中各種 文件對(duì)應(yīng)用的貢獻(xiàn)率不同,目前的技術(shù)還無(wú)法有效地將各種相似度融合。對(duì)于融合的效果 也不曾探究。正因?yàn)榍懊嫠黾夹g(shù)在復(fù)雜度和資源需求上都非常大,實(shí)現(xiàn)和應(yīng)用都是一大 難題。而且很多盜版軟件只是對(duì)正版軟件進(jìn)行很少改動(dòng),如增加一段后臺(tái)發(fā)短信獲取賬號(hào) 的代碼、增加一段推送廣告的代碼等,運(yùn)樣的小改動(dòng)對(duì)于整個(gè)應(yīng)用來(lái)說(shuō)可W忽略不計(jì),很難 從程序控制流、程序API調(diào)用、文本相似度上反映出來(lái)。因此,不少安全廠商就采用了建立 在應(yīng)用簽名(有的也考慮應(yīng)用包名)基礎(chǔ)上的白名單匹配的方法來(lái)判斷軟件是否為盜版。 此方法簡(jiǎn)單、快速,但是忽略了太多應(yīng)用本身的信息,如應(yīng)用本身的結(jié)構(gòu)、關(guān)鍵的資源文件 等,從而導(dǎo)致只能檢測(cè)很小一部分應(yīng)用,不能檢測(cè)到常見(jiàn)的盜版軟件,如修改應(yīng)用包名和應(yīng) 用名后重打包的軟件就不能檢測(cè)出來(lái)。
[0004] 總之,基于資源文件相似度、程序控制流、程序API調(diào)用序列的方法由于考慮的粒 度太細(xì)和軟件中各種資源的相似度的融合缺少可行的方案不適合實(shí)際應(yīng)用,而基于白名單 匹配的方式由于忽略太多應(yīng)用本身內(nèi)容信息取得的收效也很微弱。 陽(yáng)0化]因此,需要一種匹配檢測(cè)方法,能夠根據(jù)軟件本身的信息判斷軟件是否是盜版軟 件,并W簡(jiǎn)單、快速、準(zhǔn)確的地檢測(cè)更多的盜版軟件,W在第一時(shí)間警示用戶W避免因使用 盜版軟件而帶來(lái)的隱私信息或財(cái)產(chǎn)的損失。進(jìn)一步地,該匹配檢測(cè)方法還可W應(yīng)用于其他 具有圖像,W及具有和特征字符串文件的對(duì)象匹配檢測(cè)中,W實(shí)現(xiàn)更高應(yīng)用價(jià)值。
【發(fā)明內(nèi)容】
[0006] 本申請(qǐng)的目的是提供一種用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的方法。
[0007] 有鑒于此,本申請(qǐng)?zhí)峁┮环N用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的方法,其中,所 述方法包括:
[0008] 獲取參考對(duì)象及所述參考對(duì)象的第一參考數(shù)據(jù)和第二參考數(shù)據(jù);
[0009] 獲取待檢測(cè)對(duì)象,并從所述待檢測(cè)對(duì)象中獲取待匹配圖像;
[0010] 對(duì)所述待匹配圖像進(jìn)行特征提取,W獲得第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù),并 對(duì)所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì),W從所述第一待匹配數(shù)據(jù)中獲取第 Ξ待匹配數(shù)據(jù);
[0011] 獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣;
[0012] 通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè)結(jié)果;W及
[0013] 根據(jù)所述圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。
[0014] 優(yōu)選的,獲取所述參考對(duì)象的第一參考數(shù)據(jù)和第二參考數(shù)據(jù)包括:
[0015] 獲取參考對(duì)象;
[0016] 從所述參考對(duì)象中獲取參考圖像;W及
[0017] 對(duì)所述參考圖像進(jìn)行特征提取,W獲得所述第一參考數(shù)據(jù)和所述第二參考數(shù)據(jù)。
[0018] 優(yōu)選的,利用尺度不變特征轉(zhuǎn)換算法對(duì)所述參考圖像進(jìn)行特征提取。
[0019] 優(yōu)選的,所述第一參考數(shù)據(jù)和所述第二參考數(shù)據(jù)分別為所述參考圖像的特征描述 子和相應(yīng)的特征點(diǎn)。
[0020] 優(yōu)選的,利用尺度不變特征轉(zhuǎn)換算法對(duì)所述待匹配圖像進(jìn)行特征提取。
[0021] 優(yōu)選的,從所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)包括:
[0022] 設(shè)定良好匹配距離闊值;
[0023] 利用快速最近鄰逼近捜索函數(shù)庫(kù)匹配算法計(jì)算所述第一待匹配數(shù)據(jù)與所述相應(yīng) 第一參考數(shù)據(jù)的匹配距離;W及
[0024] 將所述匹配距離小于所述良好匹配距離闊值的所述第一待匹配數(shù)據(jù)確定為所述 第Ξ待匹配數(shù)據(jù)。
[00巧]優(yōu)選的,利用隨機(jī)抽樣一致算法中的變換矩陣獲取算法獲取關(guān)于所述第Ξ待匹配 數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣,所述匹配矩陣為仿射變換矩陣。
[00%] 優(yōu)選的,所述第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù)分別為所述待匹配圖像的特征描 述子和相應(yīng)的特征點(diǎn)。
[0027] 優(yōu)選的,所述待檢測(cè)對(duì)象和所述參考對(duì)象還具有字符串,則所述方法還包括:
[0028] 獲取所述參考對(duì)象的參考特征字符串文件;
[0029] 從所述待檢測(cè)對(duì)象中獲取待匹配特征字符串文件;W及
[0030] 對(duì)所述待匹配特征字符串文件與所述參考對(duì)象的參考特征字符串文件進(jìn)行比對(duì), 并根據(jù)比對(duì)結(jié)果產(chǎn)生字符串匹配檢測(cè)結(jié)果。
[0031] 優(yōu)選的,根據(jù)所述圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果包括:
[0032] 根據(jù)所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果的結(jié)合產(chǎn)生對(duì)象匹配檢 測(cè)結(jié)果。
[0033] 優(yōu)選的,若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果均為不相似,則產(chǎn) 生對(duì)象匹配檢測(cè)結(jié)果為不相似;若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果至少 有一個(gè)為相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為相似。
[0034] 優(yōu)選的,所述待檢測(cè)對(duì)象和所述參考對(duì)象所具有的字符串包括字母、文字及數(shù)字 字符中的一種或任意組合。
[0035] 優(yōu)選的,所述待檢測(cè)對(duì)象為待檢測(cè)的軟件,所述參考對(duì)象為參考軟件。
[0036] 優(yōu)選的,所述待檢測(cè)對(duì)象和所述參考對(duì)象采用爬蟲(chóng)技術(shù)獲取。
[0037] 優(yōu)選的,所述待匹配圖像為所述待檢測(cè)軟件的圖標(biāo),所述參考圖像為參考軟件的 圖標(biāo)。
[0038] 優(yōu)選的,所述待匹配特征字符串文件為所述待檢測(cè)軟件的特征字符串文件,所述 待檢測(cè)軟件的特征字符串文件包括:所述待檢測(cè)軟件的簽名、證書(shū)、包名、應(yīng)用名、資源文 件、全局配置文件、源代碼及引用庫(kù)中的一種或任意組合;所述參考特征字符串文件為參考 軟件的特征字符串文件,所述參考軟件的特征字符串文件包括:所述參考軟件的簽名、證 書(shū)、包名、應(yīng)用名、資源文件、全局配置文件、源代碼及引用庫(kù)中的一種或任意組合。
[0039] 優(yōu)選的,所述待檢測(cè)軟件的特征字符串文件通過(guò)反編譯工具解析所述待檢測(cè)軟件 獲取,所述參考軟件的特征字符串文件通過(guò)反編譯工具解析所述參考軟件獲取。
[0040] 本申請(qǐng)另一方面還提供一種用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的設(shè)備,其中, 所述設(shè)備包括:
[0041] 第一裝置,用于獲取參考對(duì)象及所述參考對(duì)象的第一參考數(shù)據(jù)和第二參考數(shù)據(jù);
[0042] 第二裝置,用于獲取待檢測(cè)對(duì)象,并從所述待檢測(cè)對(duì)象中獲取待匹配圖像;
[0043] 第Ξ裝置,用于對(duì)所述待匹配圖像進(jìn)行特征提取,W獲得第一待匹配數(shù)據(jù)和第二 待匹配數(shù)據(jù),并對(duì)所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì),W從所述第一待匹 配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù);
[0044] 第四裝置,用于獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣;
[0045] 第五裝置,用于通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè)結(jié)果;
[0046] 第六裝置,用于根據(jù)所述圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。
[0047] 優(yōu)選的,所述第一裝置包括:
[0048] 第一單元,用于獲取參考對(duì)象;
[0049] 第二單元,用于從所述參考對(duì)象中獲取參考圖像;W及
[0050] 第Ξ單元,用于對(duì)所述參考圖像進(jìn)行特征提取,W獲得所述第一參考數(shù)據(jù)和所述 第二參考數(shù)據(jù)。
[0051] 優(yōu)選的,所述第Ξ單元利用尺度不變特征轉(zhuǎn)換算法對(duì)所述參考圖像進(jìn)行特征提 取。
[0052] 優(yōu)選的,所述第一參考數(shù)據(jù)和所述第二參考數(shù)據(jù)分別為所述參考圖像的特征描述 子和相應(yīng)的特征點(diǎn)。
[0053] 優(yōu)選的,所述第Ξ裝置利用尺度不變特征轉(zhuǎn)換算法對(duì)所述待匹配圖像進(jìn)行特征提 取。
[0054] 優(yōu)選的,所述第Ξ裝置從所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)包括:
[0055] 設(shè)定良好匹配距離闊值;
[0056] 利用快速最近鄰逼近捜索函數(shù)庫(kù)匹配算法計(jì)算所述第一待匹配數(shù)據(jù)與所述相應(yīng) 第一參考數(shù)據(jù)的匹配距離;W及
[0057] 將所述匹配距離小于所述良好匹配距離闊值的所述第一待匹配數(shù)據(jù)確定為所述 第Ξ待匹配數(shù)據(jù)。
[0058] 優(yōu)選的,所述第四裝置利用隨機(jī)抽樣一致算法中的變換矩陣獲取算法獲取關(guān)于所 述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣,所述匹配矩陣為仿射變換矩陣。
[0059] 優(yōu)選的,所述第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù)分別為所述待匹配圖像的特征描 述子和相應(yīng)的特征點(diǎn)。
[0060] 優(yōu)選的,所述待檢測(cè)對(duì)象和所述參考對(duì)象還具有字符串,則所述設(shè)備還包括:
[0061] 第屯裝置,用于獲取所述參考對(duì)象的參考特征字符串文件;
[0062] 第八裝置,用于從所述待檢測(cè)對(duì)象中獲取待匹配特征字符串文件;W及
[0063] 第九裝置,用于對(duì)所述待匹配特征字符串文件與所述參考對(duì)象的參考特征字符串 文件進(jìn)行比對(duì),并根據(jù)比對(duì)結(jié)果產(chǎn)生字符串匹配檢測(cè)結(jié)果。
[0064] 優(yōu)選的,所述第六裝置根據(jù)所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果的 結(jié)合產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。 陽(yáng)〇化]優(yōu)選的,若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果均為不相似,則所 述第六裝置產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為不相似;若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配 檢測(cè)結(jié)果至少有一個(gè)為相似,則所述第六裝置產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為相似。
[0066] 優(yōu)選的,所述待檢測(cè)對(duì)象和所述參考對(duì)象所具有的字符串包括字母、文字及數(shù)字 字符中的一種或任意組合。
[0067] 優(yōu)選的,所述待檢測(cè)對(duì)象為待檢測(cè)的軟件,所述參考對(duì)象為參考軟件。
[0068] 優(yōu)選的,所述待檢測(cè)對(duì)象和所述參考對(duì)象采用爬蟲(chóng)技術(shù)獲取。
[0069] 優(yōu)選的,所述待匹配圖像為所述待檢測(cè)軟件的圖標(biāo),所述參考圖像為參考軟件的 圖標(biāo)。
[0070] 優(yōu)選的,所述待匹配特征字符串文件為所述待檢測(cè)軟件的特征字符串文件,所述 待檢測(cè)軟件的特征字符串文件包括:所述待檢測(cè)軟件的簽名、證書(shū)、包名、應(yīng)用名、資源文 件、全局配置文件、源代碼及引用庫(kù)中的一種或任意組合;所述參考特征字符串文件為參考 軟件的特征字符串文件,所述參考軟件的特征字符串文件包括:所述參考軟件的簽名、證 書(shū)、包名、應(yīng)用名、資源文件、全局配置文件、源代碼及引用庫(kù)中的一種或任意組合。
[0071] 優(yōu)選的,所述待檢測(cè)軟件的特征字符串文件通過(guò)反編譯工具解析所述待檢測(cè)軟件 獲取,所述參考軟件的特征字符串文件通過(guò)反編譯工具解析所述參考軟件獲取。
[0072] 與現(xiàn)有技術(shù)相比,本申請(qǐng)所述匹配檢測(cè)的方法及設(shè)備通過(guò)獲取將待檢測(cè)對(duì)象的圖 像和參考對(duì)象的圖像進(jìn)行特征提取并對(duì)特征提取獲得的數(shù)據(jù)進(jìn)行匹配檢測(cè),產(chǎn)生圖像匹配 檢測(cè)結(jié)果,進(jìn)而根據(jù)圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。進(jìn)一步的,在進(jìn)行匹配檢測(cè) 的過(guò)程,利用尺度不變特征轉(zhuǎn)換算法結(jié)合快速最近鄰逼近捜索函數(shù)庫(kù)匹配算法進(jìn)行特征提 取,并利用隨機(jī)抽樣一致算法中的變換矩陣獲取算法獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述 第二參考數(shù)據(jù)的匹配矩陣。通過(guò)快速最近鄰逼近捜索函數(shù)庫(kù)匹配算法選擇良好的匹配對(duì), 保留了幾何位置的特征點(diǎn),利用特征點(diǎn)在圖片中的位置信息來(lái)補(bǔ)充描述子,從而在計(jì)算匹 配算法中所設(shè)及的仿射變換的矩陣時(shí),對(duì)其中各個(gè)維度的變換值進(jìn)行闊值限定從而去掉擾 動(dòng)過(guò)大的匹配對(duì),保留好的匹配對(duì),使利用利用尺度不變特征轉(zhuǎn)換算法獲得的描述子與特 征點(diǎn)結(jié)合的方法能夠更精準(zhǔn)、快速識(shí)別出相似圖像。
[0073] 進(jìn)一步的,本申請(qǐng)所述匹配檢測(cè)的方法及設(shè)備能夠基于軟件內(nèi)容本身進(jìn)行盜版檢 巧。。所述方法能夠綜合考慮軟件應(yīng)用的圖標(biāo)、簽名、應(yīng)用名、包名、組織結(jié)構(gòu)等資源,采用簡(jiǎn) 單、高校的字符串匹配和快速、準(zhǔn)確的圖標(biāo)匹配算法來(lái)更快、更準(zhǔn)地檢測(cè)更多的盜版軟件。
【附圖說(shuō)明】
[0074] 通過(guò)閱讀參照W下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它 特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[00巧]圖1示出根據(jù)本申請(qǐng)一個(gè)方面的一種用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的設(shè) 備示意圖; 陽(yáng)076] 圖2示出本申請(qǐng)一實(shí)施例中第一裝置的示意圖;
[0077] 圖3示出根據(jù)本申請(qǐng)一優(yōu)選的實(shí)施例中用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的 設(shè)備不意圖;
[0078] 圖4示出根據(jù)本申請(qǐng)一個(gè)方面的一種用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)方法 的過(guò)程示意圖;
[0079] 圖5示出本申請(qǐng)一實(shí)施例中第一裝置的示意圖;
[0080] 圖6示出根據(jù)本申請(qǐng)一優(yōu)選的實(shí)施例中用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)方 法的過(guò)程示意圖。
[0081] 圖7示出本申請(qǐng)一優(yōu)選的實(shí)施例中作為參考對(duì)象的正版軟件的相關(guān)信息示意圖。
[0082] 圖8示出本申請(qǐng)一優(yōu)選的實(shí)施例中作為待檢測(cè)對(duì)象的若干待檢測(cè)軟件的相關(guān)信 息不意圖。
[0083] 附圖中相同或相似的附圖標(biāo)記代表相同或相似的部件。
【具體實(shí)施方式】
[0084] 在本申請(qǐng)一個(gè)典型的配置中,終端、服務(wù)網(wǎng)絡(luò)的設(shè)備和可信方均包括一個(gè)或多個(gè) 處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。
[0085] 內(nèi)存可能包括計(jì)算機(jī)可讀介質(zhì)中的非永久性存儲(chǔ)器,隨機(jī)存取存儲(chǔ)器(RAM)和/ 或非易失性內(nèi)存等形式,如只讀存儲(chǔ)器(ROM)或閃存(flashRAM)。內(nèi)存是計(jì)算機(jī)可讀介質(zhì) 的示例。
[0086] 計(jì)算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動(dòng)和非可移動(dòng)媒體可W由任何方法 或技術(shù)來(lái)實(shí)現(xiàn)信息存儲(chǔ)。信息可W是計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。 計(jì)算機(jī)的存儲(chǔ)介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、 動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器值RAM)、其他類型的隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電 可擦除可編程只讀存儲(chǔ)器巧EPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤(pán)只讀存儲(chǔ)器 (CD-ROM)、數(shù)字多功能光盤(pán)值VD)或其他光學(xué)存儲(chǔ)、磁盒式磁帶,磁帶磁盤(pán)存儲(chǔ)或其他磁性 存儲(chǔ)設(shè)備或任何其他非傳輸介質(zhì),可用于存儲(chǔ)可W被計(jì)算設(shè)備訪問(wèn)的信息。按照本文中的 界定,計(jì)算機(jī)可讀介質(zhì)不包括非暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信 號(hào)和載波。
[0087] 圖1示出根據(jù)本申請(qǐng)一個(gè)方面的一種用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的設(shè) 備示意圖。所述設(shè)備1包括第一裝置101、第二裝置102、第Ξ裝置103、第四裝置104、第五 裝置105和第六裝置106。
[0088] 其中,所述第一裝置101用于獲取參考對(duì)象及所述參考對(duì)象的第一參考數(shù)據(jù)和第 二參考數(shù)據(jù);所述第二裝置102用于獲取待檢測(cè)對(duì)象,并從所述待檢測(cè)對(duì)象中獲取待匹配 圖像;所述第Ξ裝置103用于對(duì)所述待匹配圖像進(jìn)行特征提取,W獲得第一待匹配數(shù)據(jù)和 第二待匹配數(shù)據(jù),并對(duì)所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì),W從所述第一 待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù);所述第四裝置104用于獲取關(guān)于所述第Ξ待匹配數(shù)據(jù) 與所述第二參考數(shù)據(jù)的匹配矩陣;所述第五裝置105用于通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維 度的值產(chǎn)生圖像匹配檢測(cè)結(jié)果;W及所述第六裝置106用于跟據(jù)所述圖像匹配檢測(cè)結(jié)果產(chǎn) 生對(duì)象匹配檢測(cè)結(jié)果。
[0089] 本申請(qǐng)所述設(shè)備用于針對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè),通過(guò)對(duì)待檢測(cè)對(duì)象的圖 像與參考對(duì)象的圖像進(jìn)行匹配檢測(cè),來(lái)確定關(guān)于待檢測(cè)對(duì)象與參考的對(duì)象匹配檢測(cè)結(jié)果, W進(jìn)一步確定檢測(cè)對(duì)象的其他信息。
[0090] 具體的,第一裝置101獲取參考對(duì)象及所述參考對(duì)象的第一參考數(shù)據(jù)和第二參考 數(shù)據(jù);其中,所述參考對(duì)象具有圖像,所述第一參考數(shù)據(jù)和第二參考數(shù)據(jù)為所述參考對(duì)象的 圖像所具有的數(shù)據(jù)。
[0091] 圖2示出本申請(qǐng)一實(shí)施例中第一裝置的示意圖,所述第一裝置101包括第一單元 1001、第二單元1002和第Ξ單元1003。其中,所述第一單元1001獲取參考對(duì)象,所述第二 單元1002從所述參考對(duì)象中獲取參考圖像,所述第Ξ單元1003對(duì)所述參考圖像進(jìn)行特征 提取,W獲得所述第一參考數(shù)據(jù)和所述第二參考數(shù)據(jù)。在較佳的實(shí)施例中,所述第Ξ單元 1003利用尺度不變特征轉(zhuǎn)換算法(Scale-Invariant Fea1:ure Transform, SIFT)對(duì)所述參 考圖像進(jìn)行特征提取。所述第一參考數(shù)據(jù)和所述第二參考數(shù)據(jù)分別為所述參考圖像的特征 描述子和相應(yīng)的特征點(diǎn)。
[0092] 在此,所述尺度不變特征轉(zhuǎn)換(Scale-invariant fea1:ure transform, SIFT),是 用于圖像處理領(lǐng)域的一種描述子。運(yùn)種描述具有尺度不變性,可在圖像中檢測(cè)出特征點(diǎn),是 一種局部特征描述子的圖像匹配檢測(cè)方法。
[0093] 其中,第Ξ單元1003利用尺度不變特征轉(zhuǎn)換算法對(duì)所述參考圖像進(jìn)行特征提取 主要包括W下步驟:
[0094] -對(duì)參考圖像構(gòu)建尺度空間,檢測(cè)極值點(diǎn),獲得尺度不變性; 陽(yáng)0巧]-特征點(diǎn)過(guò)濾并進(jìn)行精確定位;
[0096] -為特征點(diǎn)分配方向值;
[0097] -生成與特征點(diǎn)相應(yīng)的特征描述子。
[0098] 接著,所述第二裝置102獲取待檢測(cè)對(duì)象,并從所述待檢測(cè)對(duì)象中獲取待匹配圖 像。
[0099] 接著,所述第Ξ裝置103對(duì)所述待匹配圖像進(jìn)行特征提取,W獲得第一待匹配數(shù) 據(jù)和第二待匹配數(shù)據(jù),并對(duì)所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì),W從所述 第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)。
[0100] 優(yōu)選的,所述第Ξ裝置103利用尺度不變特征轉(zhuǎn)換算法(Scale-Invariant Fea化re Transform, SIFT)對(duì)所述待匹配圖像進(jìn)行特征提取,W獲得第一待匹配數(shù)據(jù)和第 二待匹配數(shù)據(jù),則所述第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù)分別為所述待匹配圖像的特征描 述子和相應(yīng)的特征點(diǎn)。 陽(yáng)101] 具體地,所述第Ξ裝置103利用尺度不變特征轉(zhuǎn)換算法對(duì)所述待匹配圖像進(jìn)行特 征提取主要包括W下步驟:
[0102]-對(duì)待匹配圖像構(gòu)建尺度空間,檢測(cè)極值點(diǎn),獲得尺度不變性; 陽(yáng)103]-特征點(diǎn)過(guò)濾并進(jìn)行精確定位;
[0104]-為特征點(diǎn)分配方向值;
[01化]-生成與特征點(diǎn)相應(yīng)的特征描述子。
[0106] 接著,所述第Ξ裝置103對(duì)所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì), W從所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)。 陽(yáng)107] 當(dāng)所述待匹配圖像的第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù)生成W后,就可W采用第 一待匹配數(shù)據(jù)的距離作為參考圖像和待匹配圖像的相似性判定度量。取參考圖像中某個(gè)第 一參考數(shù)據(jù),通過(guò)遍歷找到待匹配圖像中的距離最近的第一待匹配數(shù)據(jù),如果該第一待匹 配數(shù)據(jù)與該第一參考數(shù)據(jù)的最近距離小于某個(gè)良好匹配距離闊值,則判定為一對(duì)匹配點(diǎn), 則第一待匹配數(shù)據(jù)選擇為第Ξ待匹配數(shù)據(jù)。
[0108] 具體地,所述第Ξ裝置103從所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)包括:
[0109] -設(shè)定良好匹配距離闊值化eta,所述良好匹配距離闊值化eta可W根據(jù)具體的匹 配過(guò)程進(jìn)行動(dòng)態(tài)設(shè)定,例如但不限于:良好匹配距離闊值化eta可W選擇匹配過(guò)程中最大 距離值和最小距離值的平均值;
[0110] -利用快速最近鄰逼近捜索函數(shù)庫(kù)匹配算法(Fast Approx化arest Nei曲bor Classification, Flann)計(jì)算所述第一待匹配數(shù)據(jù)與所述相應(yīng)第一參考數(shù)據(jù)的匹配距離; 在此,所述快速最近鄰逼近捜索函數(shù)庫(kù)是一種用于快速捜索近似近鄰的開(kāi)源算法庫(kù)度SD 認(rèn)可),已被集成到OpenCV庫(kù)(Open Source Computer Vision Library,是一個(gè)基于開(kāi)源 發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可W運(yùn)行在Linux、Windows和Mac OS等操作系統(tǒng)上,由一系 列C函數(shù)和少量C++類構(gòu)成,同時(shí)提供了 IMhon、Ruby、MTLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像 處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法的數(shù)據(jù)庫(kù))。本文所述方法可W直接使用的Flann 匹配算法,所述快速最近鄰逼近捜索函數(shù)庫(kù)匹配算法可W直接利用化enCV中的Flann匹配 算法,直接利用K-d樹(shù)、隨機(jī)樹(shù)、層次K-means樹(shù)等輔助數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)高維數(shù)據(jù)的快速捜索。 將所述匹配距離小于所述良好匹配距離闊值的所述第一待匹配數(shù)據(jù)確定為所述第Ξ待匹 配數(shù)據(jù),所述第Ξ待匹配數(shù)據(jù)是優(yōu)選的第一待匹配數(shù)據(jù),第Ξ待匹配數(shù)據(jù)能夠更有利于后 續(xù)進(jìn)行匹配檢測(cè)工作。
[0111] 由于不同的圖標(biāo)有不同的特點(diǎn),提取出的SIFT特征的分布也不一樣,例如對(duì)于具 有很多角點(diǎn)的圖像,SIFT特征較多而且很規(guī)范,匹配度較好(即距離較?。?duì)于圓形的圖 像的角點(diǎn)較少,SIFT特征點(diǎn)也較少,匹配度較差(即距離較大)。則此時(shí),可W根據(jù)圖像的 具體情況,動(dòng)態(tài)設(shè)定良好匹配距離闊值。因此,距離小于設(shè)定的良好匹配距離闊值theta的 才算是良好的匹配對(duì),在后續(xù)的計(jì)算中,我們只考慮符合良好匹配的特征點(diǎn)構(gòu)成的集合Ml 和M2,而忽略其它。運(yùn)樣能有效忽略一些異常點(diǎn)。
[0112] 接著,第四裝置104獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩 陣。
[0113] 優(yōu)選的,所述第四裝置104利用隨機(jī)抽樣一致算法(Random Sample Consensus, RANSAC)中的變換矩陣獲取算法獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配 矩陣,且所述匹配矩陣為仿射變換矩陣。
[0114] 在此,所述仿射變換矩陣是仿射變換中的一種矩陣,仿射變換是一個(gè)向量空間中 的向量通過(guò)仿射矩陣變換為另一個(gè)空間中的向量,包括旋轉(zhuǎn)、平移、縮放。仿射變換矩陣形 式例如但不限于如下: 陽(yáng)115]
[0116] 仿射變換矩陣有九個(gè)維度(圖中示例表示Ξ個(gè)維度為固定值,其他六個(gè)維度為自 由維度),理論上選擇至少Ξ對(duì)不共線的SIFT的特征點(diǎn)就可W解出所有的參數(shù)。仿射變換 矩陣中mO、ml、m3、m4代表旋轉(zhuǎn)和縮放變換,而m2、m5則是平移變換分量。例如,針對(duì)檢測(cè) 圖像大小較小情況,(基本上都是幾十K *幾十K的大?。?,而且經(jīng)過(guò)交叉校驗(yàn)(不同闊值 的重復(fù)實(shí)驗(yàn))后將mO、ml、m3、m4的闊值設(shè)定為0. 6, m2、m5的闊值設(shè)定為30,當(dāng)然各個(gè)維 度闊值的設(shè)定僅W舉例的形式給出,但并不限制于此。
[0117] 接著,第五裝置105通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè)結(jié) 果。
[0118] 具體地,第五裝置105首先設(shè)定匹配矩陣中若干維度的闊值,例如對(duì)于仿射變換 矩陣可W有九個(gè)維度的闊值,然后,根據(jù)仿射變換規(guī)則和應(yīng)用需要,分別對(duì)所述匹配矩陣的 各個(gè)維度的值與各個(gè)維度的闊值進(jìn)行檢測(cè),如果各個(gè)維度的值均大于該維度的闊值,則說(shuō) 明待檢測(cè)圖像與參考對(duì)象的參考圖像的匹配差異大,則產(chǎn)生圖像匹配檢測(cè)結(jié)果為不相似; 如果各個(gè)維度的值都在相應(yīng)闊值的范圍內(nèi),則產(chǎn)生圖像匹配檢測(cè)結(jié)果為相似。
[0119] 接著,第六裝置106根據(jù)所述圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。在本實(shí) 施例中,當(dāng)圖像匹配檢測(cè)結(jié)果為不相似,則產(chǎn)生待檢測(cè)對(duì)象和參考對(duì)象的對(duì)象匹配檢測(cè)結(jié) 果為不相似,當(dāng)圖像匹配檢測(cè)結(jié)果為相似,則產(chǎn)生待檢測(cè)對(duì)象和參考對(duì)象的對(duì)象匹配檢測(cè) 結(jié)果為相似。
[0120] 圖3示出根據(jù)本申請(qǐng)一優(yōu)選的實(shí)施例中用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的 設(shè)備示意圖。所述待檢測(cè)對(duì)象和所述參考對(duì)象不僅具有圖像,還具有字符串。所述設(shè)備1 包括第一裝置10Γ、第二裝置102'、第Ξ裝置103'、第四裝置104'、第五裝置105'、第六裝 置106'、第屯裝置107'、第八裝置108'和第九裝置109'。 陽(yáng)121] 在此,所述待檢測(cè)對(duì)象和所述參考對(duì)象所具有的字符串可W是字母、文字及數(shù)字 字符中的一種或任意組合。 陽(yáng)122] 其中,所述第屯裝置107'獲取所述參考對(duì)象的參考特征字符串文件;所述第八裝 置108'用于從所述待檢測(cè)對(duì)象中獲取待匹配特征字符串文件;所述第九裝置109'用于對(duì) 所述待匹配特征字符串文件與所述參考對(duì)象的參考特征字符串文件進(jìn)行比對(duì),并根據(jù)比對(duì) 結(jié)果產(chǎn)生字符串匹配檢測(cè)結(jié)果。
[0123] 具體的,所述第屯裝置107'和第八裝置108'可W分別通過(guò)解析參考對(duì)象和待檢 測(cè)對(duì)象,W獲取參考特征字符串文件和待匹配特征字符串文件。所述第九裝置109'采用字 符串相似度矩陣算法進(jìn)行比對(duì),其中字符串相似度矩陣算法的基本單位是字符串,具體步 驟如下:
[0124] -采用非字母、非數(shù)字字符對(duì)待匹配特征字符串文件si和參考對(duì)象的參考特征字 符串s2進(jìn)行劃分。例如,給定兩個(gè)長(zhǎng)度相等的任意字符串Strl ="油cddacbcb"和Str2 ="aadaccbddc",對(duì)兩個(gè)字符串在任意的位置比對(duì): 陽(yáng)125]
(字符中間沒(méi)有空格)。 陽(yáng)126] 字符串的長(zhǎng)度記為n(例如,n= 10),相同字母(d、a、c)的個(gè)數(shù)記為m(例如,m = 3),兩字符串重疊的個(gè)數(shù)記為r(例如,r = 8)。
[0127] -計(jì)算待匹配特征字符串文件si和參考對(duì)象的參考特征字符串s2的重疊率和匹 配率,其中重疊率兩個(gè)長(zhǎng)度相等的(包括在長(zhǎng)度的短的字符串中加入空格,使其長(zhǎng)度相等 的情況)字符串在字符串移動(dòng)匹配的過(guò)程中,重疊字符串的個(gè)數(shù)與字符串的長(zhǎng)度的比率, 即L = r/n,匹配率為兩個(gè)長(zhǎng)度相等的(包括在長(zhǎng)度的短的字符串中加入空格,使其長(zhǎng)度相 等的情況)字符串在字符串移動(dòng)匹配的過(guò)程中,對(duì)應(yīng)位置字符相同的個(gè)數(shù)與字符串長(zhǎng)度的 比率,即Μ = m/n。
[0128] -設(shè)定參數(shù)alpha和參數(shù)beta的值,并根據(jù)公式:alpha*匹配率+beta*重復(fù)率計(jì) 算待匹配特征字符串文件si和參考對(duì)象的參考特征字符串s2的相似度,其中,參數(shù)al地a 和參數(shù)beta可W根據(jù)具體檢測(cè)要求進(jìn)行具體設(shè)定,不再寶述。
[0129] -設(shè)定相似度闊值theta。如果相似度小于相似度闊值theta,則待匹配特征字符 串文件si和參考對(duì)象的參考特征字符串s2不相似;否則,兩個(gè)字符串相似。
[0130] 然后,所述第六裝置106'根據(jù)所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果 的結(jié)合產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。具體地,若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè) 結(jié)果均為不相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為不相似,若所述圖像匹配檢測(cè)結(jié)果和所述字 符串匹配檢測(cè)結(jié)果至少有一個(gè)為相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為相似。 陽(yáng)131] 在此,所述設(shè)備1包括第一裝置101'、第二裝置102'、第Ξ裝置103'、第四裝置 104'及第五裝置105'與圖1所示出的第一裝置101、第二裝置102、第Ξ裝置103、第四裝 置104及第五裝置105的內(nèi)容相同或基本相同,在此W引用的方式包含于此,不再寶述。 陽(yáng)132] 所述設(shè)備在對(duì)所述待檢測(cè)對(duì)象和所述參考對(duì)象進(jìn)行匹配檢測(cè)的過(guò)程中,不僅通過(guò) 待檢測(cè)對(duì)象和所述參考對(duì)象的圖像進(jìn)行匹配檢測(cè),還結(jié)合對(duì)待檢測(cè)對(duì)象和所述參考對(duì)象的 字符串進(jìn)行匹配檢測(cè),通過(guò)對(duì)圖像和字符串同時(shí)進(jìn)行匹配檢測(cè),能夠提高對(duì)待檢測(cè)對(duì)象和 參考對(duì)象的匹配檢測(cè)的準(zhǔn)確性。
[0133] 在本申請(qǐng)一優(yōu)選的實(shí)施例中,所述具有圖像和字符串的對(duì)象可W是軟件,待檢測(cè) 對(duì)象為待檢測(cè)的疑似盜版軟件,參考軟件可W是正版軟件。
[0134] 在此,軟件是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合,軟件的內(nèi)容 除了基本的程序指令外,軟件本身具有相關(guān)識(shí)別信息,例如軟件簽名、軟件名稱及圖標(biāo)等。 正版軟件是指獲取正規(guī)廠家授權(quán),合法的直接使用或間接授權(quán)使用的軟件。盜版軟件是指 在未經(jīng)版權(quán)所有人同意或授權(quán)的情況下,對(duì)正版軟件進(jìn)行復(fù)制、再分發(fā)的違法軟件。
[0135] 進(jìn)一步的,所述待匹配圖像為所述待檢測(cè)軟件的圖標(biāo),所述參考圖像為參考軟件 的圖標(biāo)。所述待匹配特征字符串文件為所述待檢測(cè)軟件的特征字符串文件,所述待檢測(cè)軟 件的特征字符串文件包括:所述待檢測(cè)軟件的簽名、證書(shū)、包名、應(yīng)用名、資源文件、全局配 置文件、源代碼及引用庫(kù)中的一種或任意組合;所述參考特征字符串文件為參考軟件的特 征字符串文件,所述參考軟件的特征字符串文件包括:所述參考軟件的簽名、證書(shū)、包名、應(yīng) 用名、資源文件、全局配置文件、源代碼及引用庫(kù)中的一種或任意組合。所述待檢測(cè)軟件的 特征字符串文件通過(guò)反編譯工具解析所述待檢測(cè)軟件獲取,所述參考軟件的特征字符串文 件通過(guò)反編譯工具解析所述參考軟件獲取。
[0136] 為使描述更清楚,W下結(jié)合圖1~圖3, W軟件作為具有圖像的對(duì)象為例,進(jìn)一步 說(shuō)明設(shè)備進(jìn)行匹配檢測(cè)過(guò)程。當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)能理解上述具有圖像的對(duì)象為軟件 為較佳的應(yīng)用,其他現(xiàn)有的或今后可能出現(xiàn)的具有圖像的對(duì)象如可適用于本申請(qǐng),也應(yīng)包 含在本申請(qǐng)保護(hù)范圍W內(nèi),并在此W引用方式包含于此。
[0137] 目前,行業(yè)普遍通過(guò)建立白名單規(guī)則收錄正規(guī)軟件廠商的正版軟件,每個(gè)正版軟 件都具有唯一的簽名,該唯一簽名對(duì)外是通過(guò)加密公布的。現(xiàn)有的正版軟件及疑似待檢測(cè) 軟件的數(shù)量和種類龐大而繁雜。
[0138] 具體的,第一裝置10Γ首先獲取正版軟件及所述正版軟件的第一參考數(shù)據(jù)和第二 參考數(shù)據(jù),第一裝置101對(duì)正版軟件的獲取可W從已有的正版軟件的數(shù)據(jù)庫(kù)中獲取?;蛘?, 直接從提供正版軟件方獲取正版軟件。較佳的,所述第一裝置10 Γ包括第一單元100 Γ、第 二單元1002'和第Ξ單元1003'(未示出)。具體地,第一裝置101'的第一單元1001'利 用爬蟲(chóng)技術(shù)從應(yīng)用官方網(wǎng)站、網(wǎng)絡(luò)應(yīng)用市場(chǎng)或研究機(jī)構(gòu)等爬取正版軟件、或通過(guò)終端收集 正版軟件、或直接向應(yīng)用的官方機(jī)構(gòu)索取正版軟件,從而建立正版軟件的數(shù)據(jù)庫(kù)。第一裝置 10Γ的第二單元1002'獲取正版軟件的圖標(biāo)。第一裝置的第Ξ單元1003'能夠?qū)Φ诙卧?1002'獲取的圖標(biāo)進(jìn)行特征提取,利用尺度不變特征轉(zhuǎn)換算法(Scale-Invariant Fea化re 化ansform,SIFT)進(jìn)行特征提取,獲得正版軟件的圖標(biāo)中的特征描述子和相應(yīng)的特征點(diǎn)分 別作為第一參考數(shù)據(jù)和第二參考數(shù)據(jù)。在此,第一裝置的第Ξ單元1003'對(duì)第二單元1002' 獲取的圖標(biāo)進(jìn)行特征提取過(guò)程與圖2所示出的裝置的第Ξ單元1003利用尺度不變特征轉(zhuǎn) 換算法對(duì)所述參考圖像進(jìn)行特征提取過(guò)程的內(nèi)容相同或基本相同,在此W引用的方式包含 于此,不再寶述。
[0139] 接著,第二裝置102'利用爬蟲(chóng)技術(shù)從提供應(yīng)用的網(wǎng)站、網(wǎng)絡(luò)應(yīng)用市場(chǎng)或研究機(jī)構(gòu) 等爬取、或通過(guò)終端進(jìn)行收集,W獲取待檢測(cè)的疑似盜版軟件。
[0140] 所述第Ξ裝置103'利用尺度不變特征轉(zhuǎn)換算法(Scale-Invariant化日化的 Transform, SIFT)對(duì)所述待檢測(cè)軟件的圖標(biāo)進(jìn)行特征提取,W獲得第一待匹配數(shù)據(jù)和第二 待匹配數(shù)據(jù),則所述第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù)分別為所述待檢測(cè)軟件的圖標(biāo)的特 征描述子和相應(yīng)的特征點(diǎn)。 陽(yáng)141] 在此,所述第二裝置103'利用尺度不變特征轉(zhuǎn)換算法對(duì)所述待檢測(cè)軟件的圖標(biāo)進(jìn) 行特征提取的過(guò)程與圖1中第Ξ裝置103利用尺度不變特征轉(zhuǎn)換算法對(duì)所述待檢測(cè)圖像進(jìn) 行特征提取的過(guò)程相同或基本相同,為簡(jiǎn)明起見(jiàn),W包含的方式包含于此,不再寶述。
[0142] 接著,所述第Ξ裝置103'對(duì)所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì), W從所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)。當(dāng)所述待匹配圖像的第一待匹配數(shù)據(jù)和 第二待匹配數(shù)據(jù)生成W后,就可W采用第一待匹配數(shù)據(jù)的距離作為正版軟件的圖標(biāo)和待檢 測(cè)軟件的圖標(biāo)的相似性判定度量。取待檢測(cè)軟件的圖標(biāo)中某個(gè)第一參考數(shù)據(jù),通過(guò)遍歷找 到待檢測(cè)軟件的圖標(biāo)中的距離最近的第一待匹配數(shù)據(jù),如果該第一待匹配數(shù)據(jù)與該第一參 考數(shù)據(jù)的最近距離小于某個(gè)良好匹配距離闊值,則判定為一對(duì)匹配點(diǎn),則第一待匹配數(shù)據(jù) 選擇為第Ξ待匹配數(shù)據(jù)。 陽(yáng)143] 在此,所述第Ξ裝置103'從所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)與圖1示 出的第Ξ裝置103從所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)的過(guò)程相同或基本相同, 為簡(jiǎn)明起見(jiàn),W包含的方式包含于此,不再寶述。
[0144] 接著,第四裝置104'獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配 矩陣。優(yōu)選的,所述第四裝置104'利用隨機(jī)抽樣一致算法(Random Sample Consensus, RANSAC)中的變換矩陣獲取算法獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配 矩陣,且所述匹配矩陣為仿射變換矩陣。
[0145] 接著,第五裝置105'通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè)結(jié) 果。 陽(yáng)146] 在此,所述第四裝置104'獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹 配矩陣與圖1示出的所述第四裝置104獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù) 的匹配矩陣的過(guò)程相同或基本相同,第五裝置105'通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值 產(chǎn)生圖像匹配檢測(cè)結(jié)果與圖1示出的第五裝置105通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值 產(chǎn)生圖像匹配檢測(cè)結(jié)果,為簡(jiǎn)明起見(jiàn),W包含的方式包含于此,不再寶述。 陽(yáng)147] 同時(shí),所述第屯裝置107'可W采用反編譯工具對(duì)爬取到的參考圖像進(jìn)行解析,解 析能夠獲取字符串文件,例如圖標(biāo),資源文件、全局配置文件、源代碼及引用庫(kù)等相關(guān)數(shù)據(jù), 還能夠根據(jù)白名單規(guī)則收集正版軟件白名單列表,例如軟件包名、簽名及應(yīng)用名等。其中, 反編譯工具采用的是可供商用的開(kāi)源工具,例如用于Amlroid(安卓)平臺(tái)的Dexdump庫(kù) (該庫(kù)是An化oid解析Dex的源碼,是隨An化oid安卓平臺(tái)一起開(kāi)源的)或其他反編譯工 具。
[0148] 接著,所述第八裝置108'可W采用反編譯工具對(duì)爬取到的待檢測(cè)軟件進(jìn)行解析, 解析能夠獲取字符串文件,例如資源文件、全局配置文件、源代碼及引用庫(kù)等相關(guān)數(shù)據(jù),W 及軟件包名、簽名及應(yīng)用名等。其中,反編譯工具采用的是可供商用的開(kāi)源工具,例如用于 An化oid (安卓)平臺(tái)的Dexdump庫(kù)(該庫(kù)是An化oid解析Dex的源碼,是隨An化oid安卓 平臺(tái)一起開(kāi)源的)或其他反編譯工具。
[0149] 所述第九裝置109'對(duì)所述待匹配特征字符串文件與所述參考對(duì)象的參考特征字 符串文件進(jìn)行比對(duì),并根據(jù)比對(duì)結(jié)果產(chǎn)生字符串匹配檢測(cè)結(jié)果。具體地,所述第九裝置109' 采用字符串相似度矩陣算法進(jìn)行比對(duì)的過(guò)程與圖3所示出的第九裝置109'采用字符串相 似度矩陣算法進(jìn)行比對(duì)的過(guò)程內(nèi)容相同或基本相同,故不再寶述。
[0150] 然后,所述第六裝置106'根據(jù)所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果 的結(jié)合產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。具體地,若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè) 結(jié)果均為不相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為不相似,若所述圖像匹配檢測(cè)結(jié)果和所述字 符串匹配檢測(cè)結(jié)果至少有一個(gè)為相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為相似。進(jìn)而,通過(guò)對(duì)待檢 測(cè)的疑似盜版軟件所具有的圖標(biāo)及字符串與正版軟件所具有的圖標(biāo)及字符串進(jìn)行匹配檢 巧。,產(chǎn)生圖像匹配檢測(cè)結(jié)果和字符串匹配檢測(cè)結(jié)果,并根據(jù)圖像匹配檢測(cè)結(jié)果確定待檢測(cè) 的疑似盜版軟件是否為盜版軟件及是哪一款正版軟件的盜版軟件,從而在軟件安裝時(shí),即 可警示用戶,進(jìn)而避免用戶因使用盜版軟件而帶來(lái)的隱私信息或財(cái)產(chǎn)的損失。 陽(yáng)151] 圖4示出根據(jù)本申請(qǐng)一個(gè)方面的一種用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)方法 的過(guò)程示意圖。所述方法包括步驟SOI、步驟S02、步驟S03、步驟S04、步驟S05及步驟S06。 陽(yáng)152] 其中,在步驟SOI中:獲取參考對(duì)象及所述參考對(duì)象的第一參考數(shù)據(jù)和第二參考 數(shù)據(jù);在步驟S02中:獲取待檢測(cè)對(duì)象,并從所述待檢測(cè)對(duì)象中獲取待匹配圖像;在步驟 S03中:對(duì)所述待匹配圖像進(jìn)行特征提取,W獲得第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù),并對(duì) 所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì),W從所述第一待匹配數(shù)據(jù)中獲取第Ξ 待匹配數(shù)據(jù);在步驟S04中:獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩 陣;在步驟S05中:通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè)結(jié)果;在步驟 S06中:跟據(jù)所述圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。
[0153] 本申請(qǐng)所述方法用于針對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè),通過(guò)對(duì)待檢測(cè)對(duì)象的圖 像與參考對(duì)象的圖像進(jìn)行匹配檢測(cè),來(lái)確定關(guān)于待檢測(cè)對(duì)象與參考的對(duì)象匹配檢測(cè)結(jié)果, W進(jìn)一步確定檢測(cè)對(duì)象的其他信息。 陽(yáng)154] 具體的,在步驟SOI中獲取參考對(duì)象及所述參考對(duì)象的第一參考數(shù)據(jù)和第二參考 數(shù)據(jù);其中,所述參考對(duì)象具有圖像,所述第一參考數(shù)據(jù)和第二參考數(shù)據(jù)為所述參考對(duì)象的 圖像所具有的數(shù)據(jù)。 陽(yáng)155] 圖5示出本申請(qǐng)一實(shí)施例中第一裝置的示意圖,在步驟SOI中包括步驟S101、步 驟S102及步驟S103。其中,在步驟S101中:獲取參考對(duì)象,在步驟S102中:從所述參考對(duì) 象中獲取參考圖像,在步驟S103中:對(duì)所述參考圖像進(jìn)行特征提取,W獲得所述第一參考 數(shù)據(jù)和所述第二參考數(shù)據(jù)。在較佳的實(shí)施例中,在步驟S103中利用尺度不變特征轉(zhuǎn)換算法 (Scale-Invariant Fea1:ure Transform, SIFT)對(duì)所述參考圖像進(jìn)行特征提取。所述第一 參考數(shù)據(jù)和所述第二參考數(shù)據(jù)分別為所述參考圖像的特征描述子和相應(yīng)的特征點(diǎn)。 陽(yáng)?56]在此,所述尺度不變特征轉(zhuǎn)換(Scale-invariant fea1:ure transform, SIFT),是 用于圖像處理領(lǐng)域的一種描述子。運(yùn)種描述具有尺度不變性,可在圖像中檢測(cè)出特征點(diǎn),是 一種局部特征描述子的圖像匹配檢測(cè)方法。
[0157] 其中,在步驟S103利用尺度不變特征轉(zhuǎn)換算法對(duì)所述參考圖像進(jìn)行特征提取主 要包括W下步驟:
[0158] -對(duì)參考圖像構(gòu)建尺度空間,檢測(cè)極值點(diǎn),獲得尺度不變性; 陽(yáng)159]-特征點(diǎn)過(guò)濾并進(jìn)行精確定位;
[0160]-為特征點(diǎn)分配方向值; 陽(yáng)161]-生成與特征點(diǎn)相應(yīng)的特征描述子。 陽(yáng)162] 接著,在步驟S02中,獲取待檢測(cè)對(duì)象,并從所述待檢測(cè)對(duì)象中獲取待匹配圖像。
[0163] 接著,在步驟S03中,對(duì)所述待匹配圖像進(jìn)行特征提取,W獲得第一待匹配數(shù)據(jù)和 第二待匹配數(shù)據(jù),并對(duì)所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì),W從所述第一 待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)。
[0164] 優(yōu)選的,在步驟S03,利用尺度不變特征轉(zhuǎn)換算法(Scale-Invariant Fea化re Transform, SIFT)對(duì)所述待匹配圖像進(jìn)行特征提取,W獲得第一待匹配數(shù)據(jù)和第二待匹配 數(shù)據(jù),則所述第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù)分別為所述待匹配圖像的特征描述子和相 應(yīng)的特征點(diǎn)。
[0165] 具體地,在步驟S03利用尺度不變特征轉(zhuǎn)換算法對(duì)所述待匹配圖像進(jìn)行特征提取 主要包括W下步驟:
[0166] -對(duì)待匹配圖像構(gòu)建尺度空間,檢測(cè)極值點(diǎn),獲得尺度不變性; 陽(yáng)167]-特征點(diǎn)過(guò)濾并進(jìn)行精確定位;
[0168] -為特征點(diǎn)分配方向值;
[0169] -生成與特征點(diǎn)相應(yīng)的特征描述子。
[0170] 接著,在步驟S03,對(duì)所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì),W從所 述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)。 陽(yáng)171] 當(dāng)所述待匹配圖像的第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù)生成W后,就可W采用第 一待匹配數(shù)據(jù)的距離作為參考圖像和待匹配圖像的相似性判定度量。取參考圖像中某個(gè)第 一參考數(shù)據(jù),通過(guò)遍歷找到待匹配圖像中的距離最近的第一待匹配數(shù)據(jù),如果該第一待匹 配數(shù)據(jù)與該第一參考數(shù)據(jù)的最近距離小于某個(gè)良好匹配距離闊值,則判定為一對(duì)匹配點(diǎn), 則第一待匹配數(shù)據(jù)選擇為第Ξ待匹配數(shù)據(jù)。 陽(yáng)172] 具體地,在步驟S03從所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)包括:
[0173] -設(shè)定良好匹配距離闊值化eta,所述良好匹配距離闊值化eta可W根據(jù)具體的匹 配過(guò)程進(jìn)行動(dòng)態(tài)設(shè)定,例如但不限于:良好匹配距離闊值化eta可W選擇匹配過(guò)程中最大 距離值和最小距離值的平均值;
[0174] -利用快速最近鄰逼近捜索函數(shù)庫(kù)匹配算法(Fast Approx化arest Nei曲bor Classification, Flann)計(jì)算所述第一待匹配數(shù)據(jù)與所述相應(yīng)第一參考數(shù)據(jù)的匹配距離; 在此,所述快速最近鄰逼近捜索函數(shù)庫(kù)是一種用于快速捜索近似近鄰的開(kāi)源算法庫(kù)度SD 認(rèn)可),已被集成到OpenCV庫(kù)(Open Source Computer Vision Library,是一個(gè)基于開(kāi)源 發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可W運(yùn)行在Linux、Windows和Mac OS等操作系統(tǒng)上,由一系 列C函數(shù)和少量C++類構(gòu)成,同時(shí)提供了 IMhon、Ruby、MTLAB等語(yǔ)言的接口,實(shí)現(xiàn)了圖像 處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法的數(shù)據(jù)庫(kù))。本文所述方法可W直接使用的Flann 匹配算法,所述快速最近鄰逼近捜索函數(shù)庫(kù)匹配算法可W直接利用化enCV中的Flann匹配 算法,直接利用K-d樹(shù)、隨機(jī)樹(shù)、層次K-means樹(shù)等輔助數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)高維數(shù)據(jù)的快速捜索。 將所述匹配距離小于所述良好匹配距離闊值的所述第一待匹配數(shù)據(jù)確定為所述第Ξ待匹 配數(shù)據(jù),所述第Ξ待匹配數(shù)據(jù)是優(yōu)選的第一待匹配數(shù)據(jù),第Ξ待匹配數(shù)據(jù)能夠更有利于后 續(xù)進(jìn)行匹配檢測(cè)工作。 陽(yáng)175] 由于不同的圖標(biāo)有不同的特點(diǎn),提取出的SIFT特征的分布也不一樣,例如對(duì)于具 有很多角點(diǎn)的圖像,SIFT特征較多而且很規(guī)范,匹配度較好(即距離較小)。對(duì)于圓形的圖 像的角點(diǎn)較少,SIFT特征點(diǎn)也較少,匹配度較差(即距離較大)。則此時(shí),可W根據(jù)圖像的 具體情況,動(dòng)態(tài)設(shè)定良好匹配距離闊值。因此,距離小于設(shè)定的良好匹配距離闊值theta的 才算是良好的匹配對(duì),在后續(xù)的計(jì)算中,我們只考慮符合良好匹配的特征點(diǎn)構(gòu)成的集合Ml 和M2,而忽略其它。運(yùn)樣能有效忽略一些異常點(diǎn)。
[0176] 接著,在步驟S04中,獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配 矩陣。
[0177] 優(yōu)選的,在步驟S04中,利用隨機(jī)抽樣一致算法(Random Sample Consensus, RANSAC)中的變換矩陣獲取算法獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配 矩陣,且所述匹配矩陣為仿射變換矩陣。
[0178] 在此,所述仿射變換矩陣是仿射變換中的一種矩陣,仿射變換是一個(gè)向量空間中 的向量通過(guò)仿射矩陣變換為另一個(gè)空間中的向量,包括旋轉(zhuǎn)、平移、縮放。仿射變換矩陣形 式例如但不限于如下: 陽(yáng) 179]
[0180] 仿射變換矩陣有九個(gè)維度(圖中示例表示Ξ個(gè)維度為固定值,其他六個(gè)維度為自 由維度),理論上選擇至少Ξ對(duì)不共線的SIFT的特征點(diǎn)就可W解出所有的參數(shù)。仿射變換 矩陣中mO、ml、m3、m4代表旋轉(zhuǎn)和縮放變換,而m2、m5則是平移變換分量。例如,針對(duì)檢測(cè) 圖像大小較小情況,(基本上都是幾十K *幾十K的大小),而且經(jīng)過(guò)交叉校驗(yàn)(不同闊值 的重復(fù)實(shí)驗(yàn))后將mO、ml、m3、m4的闊值設(shè)定為0. 6, m2、m5的闊值設(shè)定為30,當(dāng)然各個(gè)維 度闊值的設(shè)定僅W舉例的形式給出,但并不限制于此。 陽(yáng)181] 接著,在步驟S05中通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè)結(jié) 果。
[0182] 具體地,步驟S05首先設(shè)定匹配矩陣中若干維度的闊值,例如對(duì)于仿射變換矩陣 可W有九個(gè)維度的闊值,然后,根據(jù)仿射變換規(guī)則和應(yīng)用需要,分別對(duì)所述匹配矩陣的各個(gè) 維度的值與各個(gè)維度的闊值進(jìn)行檢測(cè),如果各個(gè)維度的值均大于該維度的闊值,則說(shuō)明待 檢測(cè)圖像與參考對(duì)象的參考圖像的匹配差異大,則產(chǎn)生圖像匹配檢測(cè)結(jié)果為不相似;如果 各個(gè)維度的值都在相應(yīng)闊值的范圍內(nèi),則產(chǎn)生圖像匹配檢測(cè)結(jié)果為相似。 陽(yáng)183] 接著,在步驟S06中,根據(jù)所述圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。在本實(shí) 施例中,當(dāng)圖像匹配檢測(cè)結(jié)果為不相似,則產(chǎn)生待檢測(cè)對(duì)象和參考對(duì)象的對(duì)象匹配檢測(cè)結(jié) 果為不相似,當(dāng)圖像匹配檢測(cè)結(jié)果為相似,則產(chǎn)生待檢測(cè)對(duì)象和參考對(duì)象的對(duì)象匹配檢測(cè) 結(jié)果為相似。
[0184] 圖6示出根據(jù)本申請(qǐng)一優(yōu)選的實(shí)施例中用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)方 法的過(guò)程示意圖。所述待檢測(cè)對(duì)象和所述參考對(duì)象不僅具有圖像,還具有字符串。所述方 法包括步驟SOΓ、步驟S02'、步驟S03'、步驟S04'、步驟S05'、步驟S06'、步驟S07'、步驟 S08'及步驟S09'。
[0185] 在此,所述待檢測(cè)對(duì)象和所述參考對(duì)象所具有的字符串可W是字母、文字及數(shù)字 字符中的一種或任意組合。 陽(yáng)186] 其中,在步驟S07'中,獲取所述參考對(duì)象的參考特征字符串文件;在步驟S08'中, 從所述待檢測(cè)對(duì)象中獲取待匹配特征字符串文件;所述在步驟S09'中,對(duì)所述待匹配特征 字符串文件與所述參考對(duì)象的參考特征字符串文件進(jìn)行比對(duì),并根據(jù)比對(duì)結(jié)果產(chǎn)生字符串 匹配檢測(cè)結(jié)果。 陽(yáng)187] 具體的,步驟S07'和步驟S08'可W分別通過(guò)解析參考對(duì)象和待檢測(cè)對(duì)象,W獲取 參考特征字符串文件和待匹配特征字符串文件。步驟S09'采用字符串相似度矩陣算法進(jìn) 行比對(duì),其中字符串相似度矩陣算法的基本單位是字符串,具體步驟如下: 陽(yáng)18引-采用非字母、非數(shù)字字符對(duì)待匹配特征字符串文件si和參考對(duì)象的參考特征字 符串s2進(jìn)行劃分。例如,給定兩個(gè)長(zhǎng)度相等的任意字符串Strl ="油cddacbcb"和Str2 ="aadaccbddc",對(duì)兩個(gè)字符串在任意的位置比對(duì): a b c d d a c- b c b 陽(yáng)189] $王王王玉王的(字符中間沒(méi)有空格)。 a a d ?\ c c h d d c 陽(yáng)190] 字符串的長(zhǎng)度記為n(例如,n= 10),相同字母(d、a、c)的個(gè)數(shù)記為m(例如,m = 3),兩字符串重疊的個(gè)數(shù)記為r(例如,r = 8)。 陽(yáng)191]-計(jì)算待匹配特征字符串文件si和參考對(duì)象的參考特征字符串s2的重疊率和匹 配率,其中重疊率兩個(gè)長(zhǎng)度相等的(包括在長(zhǎng)度的短的字符串中加入空格,使其長(zhǎng)度相等 的情況)字符串在字符串移動(dòng)匹配的過(guò)程中,重疊字符串的個(gè)數(shù)與字符串的長(zhǎng)度的比率, 即L = r/n,匹配率為兩個(gè)長(zhǎng)度相等的(包括在長(zhǎng)度的短的字符串中加入空格,使其長(zhǎng)度相 等的情況)字符串在字符串移動(dòng)匹配的過(guò)程中,對(duì)應(yīng)位置字符相同的個(gè)數(shù)與字符串長(zhǎng)度的 比率,即Μ = m/n。
[0192]-設(shè)定參數(shù)alpha和參數(shù)beta的值,并根據(jù)公式:alpha*匹配率+beta*重復(fù)率計(jì) 算待匹配特征字符串文件si和參考對(duì)象的參考特征字符串s2的相似度,其中,參數(shù)al地a 和參數(shù)beta可W根據(jù)具體檢測(cè)要求進(jìn)行具體設(shè)定,不再寶述。 陽(yáng)193]-設(shè)定相似度闊值theta。如果相似度小于相似度闊值theta,則待匹配特征字符 串文件si和參考對(duì)象的參考特征字符串s2不相似;否則,兩個(gè)字符串相似。
[0194] 然后,在步驟S06'中,根據(jù)所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果的 結(jié)合產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。具體地,若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié) 果均為不相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為不相似,若所述圖像匹配檢測(cè)結(jié)果和所述字符 串匹配檢測(cè)結(jié)果至少有一個(gè)為相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為相似。 陽(yáng)1巧]在此,所述步驟SOI'、步驟S02'、步驟S03'、步驟S04'及步驟S05'與圖4示出的 步驟SO 1、步驟S02、步驟S03、步驟S04及步驟S05'的內(nèi)容相同或基本相同,在此W引用的 方式包含于此,不再寶述。 陽(yáng)196] 所述設(shè)備在對(duì)所述待檢測(cè)對(duì)象和所述參考對(duì)象進(jìn)行匹配檢測(cè)的過(guò)程中,不僅通過(guò) 待檢測(cè)對(duì)象和所述參考對(duì)象的圖像進(jìn)行匹配檢測(cè),還結(jié)合對(duì)待檢測(cè)對(duì)象和所述參考對(duì)象的 字符串進(jìn)行匹配檢測(cè),通過(guò)對(duì)圖像和字符串同時(shí)進(jìn)行匹配檢測(cè),能夠提高對(duì)待檢測(cè)對(duì)象和 參考對(duì)象的匹配檢測(cè)的準(zhǔn)確性。
[0197] 在本申請(qǐng)一優(yōu)選的實(shí)施例中,所述具有圖像和字符串的對(duì)象可W是軟件,待檢測(cè) 對(duì)象為待檢測(cè)的疑似盜版軟件,參考軟件可W是正版軟件。
[0198] 在此,軟件是一系列按照特定順序組織的計(jì)算機(jī)數(shù)據(jù)和指令的集合,軟件的內(nèi)容 除了基本的程序指令外,軟件本身具有相關(guān)識(shí)別信息,例如軟件簽名、軟件名稱及圖標(biāo)等。 正版軟件是指獲取正規(guī)廠家授權(quán),合法的直接使用或間接授權(quán)使用的軟件。盜版軟件是指 在未經(jīng)版權(quán)所有人同意或授權(quán)的情況下,對(duì)正版軟件進(jìn)行復(fù)制、再分發(fā)的違法軟件。
[0199] 進(jìn)一步的,所述待匹配圖像為所述待檢測(cè)軟件的圖標(biāo),所述參考圖像為參考軟件 的圖標(biāo)。所述待匹配特征字符串文件為所述待檢測(cè)軟件的特征字符串文件,所述待檢測(cè)軟 件的特征字符串文件包括:所述待檢測(cè)軟件的簽名、證書(shū)、包名、應(yīng)用名、資源文件、全局配 置文件、源代碼及引用庫(kù)中的一種或任意組合;所述參考特征字符串文件為參考軟件的特 征字符串文件,所述參考軟件的特征字符串文件包括:所述參考軟件的簽名、證書(shū)、包名、應(yīng) 用名、資源文件、全局配置文件、源代碼及引用庫(kù)中的一種或任意組合。所述待檢測(cè)軟件的 特征字符串文件通過(guò)反編譯工具解析所述待檢測(cè)軟件獲取,所述參考軟件的特征字符串文 件通過(guò)反編譯工具解析所述參考軟件獲取。 陽(yáng)200] 為使描述更清楚,W下結(jié)合圖1~圖3, W軟件作為具有圖像的對(duì)象為例,進(jìn)一步 說(shuō)明所述方法進(jìn)行匹配檢測(cè)的過(guò)程。當(dāng)然,本領(lǐng)域技術(shù)人員應(yīng)能理解上述具有圖像的對(duì)象 為軟件為較佳的應(yīng)用,其他現(xiàn)有的或今后可能出現(xiàn)的具有圖像的對(duì)象如可適用于本申請(qǐng), 也應(yīng)包含在本申請(qǐng)保護(hù)范圍W內(nèi),并在此W引用方式包含于此。 陽(yáng)201]目前,行業(yè)普遍通過(guò)建立白名單規(guī)則收錄正規(guī)軟件廠商的正版軟件,每個(gè)正版軟 件都具有唯一的簽名,該唯一簽名對(duì)外是通過(guò)加密公布的?,F(xiàn)有的正版軟件及疑似待檢測(cè) 軟件的數(shù)量和種類龐大而繁雜。 陽(yáng)202] 具體的,在步驟SOr中,首先獲取正版軟件及所述正版軟件的第一參考數(shù)據(jù)和第 二參考數(shù)據(jù),在步驟sor中,對(duì)正版軟件的獲取可W從已有的正版軟件的數(shù)據(jù)庫(kù)中獲取。 或者,直接從提供正版軟件方獲取正版軟件。較佳的,所述步驟SOr包括步驟S101'、步驟 S102'和步驟S103'(未示出)。具體地,步驟SlOr利用爬蟲(chóng)技術(shù)從應(yīng)用官方網(wǎng)站、網(wǎng)絡(luò)應(yīng) 用市場(chǎng)或研究機(jī)構(gòu)等爬取正版軟件、或通過(guò)終端收集正版軟件、或直接向應(yīng)用的官方機(jī)構(gòu) 索取正版軟件,從而建立正版軟件的數(shù)據(jù)庫(kù)。步驟S102'獲取正版軟件的圖標(biāo),步驟S103' 對(duì)步驟S102'獲取的圖標(biāo)進(jìn)行特征提取,利用尺度不變特征轉(zhuǎn)換算法(Scale-Invariant Fea化re化ansform,SIFT)進(jìn)行特征提取,獲得正版軟件的圖標(biāo)中的特征描述子和相應(yīng)的 特征點(diǎn)分別作為第一參考數(shù)據(jù)和第二參考數(shù)據(jù)。在此,步驟S103'對(duì)步驟S102'獲取的圖 標(biāo)進(jìn)行特征提取的過(guò)程與圖5所示出的步驟S103利用尺度不變特征轉(zhuǎn)換算法對(duì)所述參考 圖像進(jìn)行特征提取過(guò)程的內(nèi)容相同或基本相同,在此W引用的方式包含于此,不再寶述。 陽(yáng)203] 接著,在步驟S02'中,利用爬蟲(chóng)技術(shù)從提供應(yīng)用的網(wǎng)站、網(wǎng)絡(luò)應(yīng)用市場(chǎng)或研究機(jī)構(gòu) 等爬取、或通過(guò)終端進(jìn)行收集,W獲取待檢測(cè)的疑似盜版軟件。 陽(yáng)2〇4] 接著,在步驟S03'中,利用尺度不變特征轉(zhuǎn)換算法(Scale-Invariant Fea化re Transform, SIFT)對(duì)所述待檢測(cè)軟件的圖標(biāo)進(jìn)行特征提取,W獲得第一待匹配數(shù)據(jù)和第二 待匹配數(shù)據(jù),則所述第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù)分別為所述待檢測(cè)軟件的圖標(biāo)的特 征描述子和相應(yīng)的特征點(diǎn)。 陽(yáng)205] 在此,步驟S03'中利用尺度不變特征轉(zhuǎn)換算法對(duì)所述待檢測(cè)軟件的圖標(biāo)進(jìn)行特征 提取的過(guò)程與圖4中步驟S03利用尺度不變特征轉(zhuǎn)換算法對(duì)所述待檢測(cè)圖像進(jìn)行特征提取 的過(guò)程相同或基本相同,為簡(jiǎn)明起見(jiàn),W包含的方式包含于此,不再寶述。 陽(yáng)206] 接著,在步驟S03'中,對(duì)所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì),W從 所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)。當(dāng)所述待匹配圖像的第一待匹配數(shù)據(jù)和第二 待匹配數(shù)據(jù)生成W后,就可W采用第一待匹配數(shù)據(jù)的距離作為正版軟件的圖標(biāo)和待檢測(cè)軟 件的圖標(biāo)的相似性判定度量。取待檢測(cè)軟件的圖標(biāo)中某個(gè)第一參考數(shù)據(jù),通過(guò)遍歷找到待 檢測(cè)軟件的圖標(biāo)中的距離最近的第一待匹配數(shù)據(jù),如果該第一待匹配數(shù)據(jù)與該第一參考數(shù) 據(jù)的最近距離小于某個(gè)良好匹配距離闊值,則判定為一對(duì)匹配點(diǎn),則第一待匹配數(shù)據(jù)選擇 為第Ξ待匹配數(shù)據(jù)。 陽(yáng)207] 在此,步驟S03'從所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)與圖4示出的步驟 S03從所述第一待匹配數(shù)據(jù)中獲取第Ξ待匹配數(shù)據(jù)的過(guò)程相同或基本相同,為簡(jiǎn)明起見(jiàn),W 包含的方式包含于此,不再寶述。 陽(yáng)20引接著,在步驟S04'獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩 陣。優(yōu)選的,步驟S04'中利用隨機(jī)抽樣一致算法(Random Sample Consensus, RANSAC)中 的變換矩陣獲取算法獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣,且所 述匹配矩陣為仿射變換矩陣。 陽(yáng)209] 接著,在步驟S05'中,通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè) 結(jié)果。
[0210] 在此,步驟S04'獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣與 圖4示出的步驟S04獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣的過(guò)程 相同或基本相同,步驟S105'通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè)結(jié) 果與圖4示出的步驟S05通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè)結(jié)果, 為簡(jiǎn)明起見(jiàn),W包含的方式包含于此,不再寶述。 陽(yáng)211] 同時(shí),在步驟S07'中,可W采用反編譯工具對(duì)爬取到的參考圖像進(jìn)行解析,解析能 夠獲取字符串文件,例如圖標(biāo),資源文件、全局配置文件、源代碼及引用庫(kù)等相關(guān)數(shù)據(jù),還能 夠根據(jù)白名單規(guī)則收集正版軟件白名單列表,例如軟件包名、簽名及應(yīng)用名等。其中,反編 譯工具采用的是可供商用的開(kāi)源工具,例如用于An化oid (安卓)平臺(tái)的Dexdump庫(kù)(該庫(kù) 是An化oid解析Dex的源碼,是隨An化oid安卓平臺(tái)一起開(kāi)源的)或其他反編譯工具。 陽(yáng)212] 接著,在步驟S08'中,可W采用反編譯工具對(duì)爬取到的待檢測(cè)軟件進(jìn)行解析,解 析能夠獲取字符串文件,例如資源文件、全局配置文件、源代碼及引用庫(kù)等相關(guān)數(shù)據(jù),W及 軟件包名、簽名及應(yīng)用名等。其中,反編譯工具采用的是可供商用的開(kāi)源工具,例如用于 An化oid (安卓)平臺(tái)的Dexdump庫(kù)(該庫(kù)是An化oid解析Dex的源碼,是隨An化oid安卓 平臺(tái)一起開(kāi)源的)或其他反編譯工具。
[0213] 在步驟S09'中,對(duì)所述待匹配特征字符串文件與所述參考對(duì)象的參考特征字符串 文件進(jìn)行比對(duì),并根據(jù)比對(duì)結(jié)果產(chǎn)生字符串匹配檢測(cè)結(jié)果。具體地,步驟S09'采用字符串 相似度矩陣算法進(jìn)行比對(duì)的過(guò)程與圖6所示出的步驟S09'采用字符串相似度矩陣算法進(jìn) 行比對(duì)的過(guò)程內(nèi)容相同或基本相同,故不再寶述。
[0214] 然后,在步驟S06'根據(jù)所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果的結(jié)合 產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。具體地,若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果均 為不相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為不相似,若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹 配檢測(cè)結(jié)果至少有一個(gè)為相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為相似。進(jìn)而,通過(guò)對(duì)待檢測(cè)的疑 似盜版軟件所具有的圖標(biāo)及字符串與正版軟件所具有的圖標(biāo)及字符串進(jìn)行匹配檢測(cè),產(chǎn)生 圖像匹配檢測(cè)結(jié)果和字符串匹配檢測(cè)結(jié)果,并根據(jù)圖像匹配檢測(cè)結(jié)果確定待檢測(cè)的疑似盜 版軟件是否為盜版軟件及是哪一款正版軟件的盜版軟件,從而在軟件安裝時(shí),即可警示用 戶,進(jìn)而避免用戶因使用盜版軟件而帶來(lái)的隱私信息或財(cái)產(chǎn)的損失。
[0215] W下結(jié)合一具體應(yīng)用場(chǎng)景,對(duì)所述方法進(jìn)行進(jìn)一步說(shuō)明,首先,獲取某官方發(fā)布的 正版軟件"某寶",正版軟件"某寶"可W先利用反編譯工具如Dex2jar、Dexdump等技術(shù)對(duì)應(yīng) 用對(duì)應(yīng)用程序進(jìn)行解壓、反匯編等得到應(yīng)用程序的詳細(xì)信息,如證書(shū)、包名、應(yīng)用名、圖標(biāo)、 資源文件等,獲取的圖標(biāo)及相關(guān)信息如圖7所示,其中,圖7示出本申請(qǐng)一優(yōu)選的實(shí)施例中 作為參考對(duì)象的正版軟件的相關(guān)信息示意圖,并從圖標(biāo)中提取出該正版軟件的圖標(biāo)的描述 子D2和相應(yīng)的特征點(diǎn)K2,可W把解析得到淘寶官方應(yīng)用的信息放入標(biāo)準(zhǔn)庫(kù),其中圖標(biāo)除了 存放原文件外,還需要存放圖標(biāo)提取出來(lái)的SIFT描述子和特征點(diǎn)。
[0216] 接著,利用網(wǎng)絡(luò)爬蟲(chóng)從應(yīng)用市場(chǎng)及應(yīng)用論壇等爬取軟件,通常通過(guò)文件后綴名、文 件頭內(nèi)容、編碼方式等可W判斷其是否為軟件的應(yīng)用程序文件。運(yùn)些程序是否為盜版都是 未知的。
[0217] 圖8示出本申請(qǐng)一優(yōu)選的實(shí)施例中作為待檢測(cè)對(duì)象的若干待檢測(cè)軟件的相關(guān)信 息示意圖。如圖8所示,從某應(yīng)用市場(chǎng)中獲得若干未知軟件,一一對(duì)未知軟件進(jìn)行匹配檢 測(cè)。
[0218] 采用本申請(qǐng)所述匹配檢測(cè)方法對(duì)未知軟件與正版軟件"某寶"進(jìn)行匹配檢測(cè),首 先利用反編譯工具對(duì)該未知軟件進(jìn)行解析獲得該未知軟件的圖標(biāo)、簽名、包名、應(yīng)用名等信 息,對(duì)其中的圖標(biāo)進(jìn)行灰度轉(zhuǎn)化之后,用SIFT特征提取算法提取待檢測(cè)的特征描述子D1和 相應(yīng)的特征點(diǎn)K1。
[0219] 接著,把未知軟件的證書(shū)與正版軟件"某寶"的證書(shū)相比較。如果證書(shū)相同,則該 未知軟件為正版軟件的應(yīng)用,僅更改了名字;如果證書(shū)不同,則需進(jìn)行進(jìn)一步檢測(cè)。
[0220] 然后,利用字符串相似度量算法計(jì)算未知軟件的包名、應(yīng)用名與正版軟件"某寶" 的包名、應(yīng)用名的相似度,則如果相似度達(dá)到一定闊值W上(例如在90% W上),則認(rèn)為是 盜版。 陽(yáng)221] 如果包名、應(yīng)用名并不相似,則進(jìn)行更進(jìn)一步的圖標(biāo)檢測(cè):從未知應(yīng)用程序的圖標(biāo) 中提取SIFT特征,并利用本申請(qǐng)所述的匹配檢測(cè)方法將其與正版軟件"某寶"的圖標(biāo)(正版 軟件"某寶"的圖標(biāo)的SIFT特征描述子和特征點(diǎn)已經(jīng)事先提取并存入數(shù)據(jù)庫(kù))進(jìn)行比較。 接著,利用RANSAC算法W正版軟件"某寶"的圖標(biāo)提取出該正版軟件的圖標(biāo)的描述子D2和 相應(yīng)的特征點(diǎn)K2的庫(kù)M2為標(biāo)準(zhǔn),對(duì)未知軟件的圖標(biāo)的特征點(diǎn)K1進(jìn)行隨機(jī)抽樣,并迭代地 往其中加入一些特征點(diǎn),構(gòu)成新的集合N然后計(jì)算由N與M2的匹配距離是否比較小和由N 變換到M2的變換矩陣是否在誤差允許的范圍內(nèi)。如果匹配距離太大或變換矩陣誤差太大 則丟棄集合N,從新進(jìn)行隨機(jī)抽樣和迭代加入特征點(diǎn),直到得到一個(gè)滿足距離小和矩陣誤差 小的特征點(diǎn)集合N。其中,所述該算法可W使用openCV的仿射矩陣計(jì)算集成功能實(shí)現(xiàn)。 陽(yáng)222] 所述匹配檢測(cè)方法檢測(cè)出的盜版軟件(包括軟件名稱、圖標(biāo)等)比僅用白名單 匹配方法檢測(cè)到的盜版軟件要多很多,實(shí)際檢測(cè)的準(zhǔn)確率可W達(dá)96% W上。如一個(gè)知名 Amlroid應(yīng)用,用白名單匹配找到的盜版軟件只有12個(gè),而我們方法找到的有315個(gè),多找 出303個(gè),而運(yùn)303個(gè)盜版軟件中有177個(gè)都是病毒。因此,所述匹配檢測(cè)方法對(duì)盜版軟件 發(fā)現(xiàn)和病毒軟件發(fā)現(xiàn)有很好的效果。 陽(yáng)223] 此外,本申請(qǐng)所述匹配檢測(cè)方法和設(shè)備除應(yīng)用于盜版軟件的檢測(cè)之外,還可應(yīng)用 于需要小圖標(biāo)精確匹配的應(yīng)用中,例如手機(jī)應(yīng)用中的各種圖標(biāo)等尺寸小的圖像的匹配檢 測(cè)。
[0224] 與現(xiàn)有技術(shù)相比,本申請(qǐng)所述匹配檢測(cè)的方法及設(shè)備通過(guò)獲取將待檢測(cè)對(duì)象的圖 像和參考對(duì)象的圖像進(jìn)行特征提取并對(duì)特征提取獲得的數(shù)據(jù)進(jìn)行匹配檢測(cè),產(chǎn)生圖像匹配 檢測(cè)結(jié)果,進(jìn)而根據(jù)圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。進(jìn)一步的,在進(jìn)行匹配檢測(cè) 的過(guò)程,利用尺度不變特征轉(zhuǎn)換算法結(jié)合快速最近鄰逼近捜索函數(shù)庫(kù)匹配算法進(jìn)行特征提 取,并利用隨機(jī)抽樣一致算法中的變換矩陣獲取算法獲取關(guān)于所述第Ξ待匹配數(shù)據(jù)與所述 第二參考數(shù)據(jù)的匹配矩陣。通過(guò)快速最近鄰逼近捜索函數(shù)庫(kù)匹配算法選擇良好的匹配對(duì), 保留了幾何位置的特征點(diǎn),利用特征點(diǎn)在圖片中的位置信息來(lái)補(bǔ)充描述子,從而在計(jì)算匹 配算法中所設(shè)及的仿射變換的矩陣時(shí),對(duì)其中各個(gè)維度的變換值進(jìn)行闊值限定從而去掉擾 動(dòng)過(guò)大的匹配對(duì),保留好的匹配對(duì),使利用利用尺度不變特征轉(zhuǎn)換算法獲得的描述子與特 征點(diǎn)結(jié)合的方法能夠更精準(zhǔn)、快速識(shí)別出相似圖像。
[0225] 進(jìn)一步的,本申請(qǐng)所述匹配檢測(cè)的方法及設(shè)備能夠基于軟件內(nèi)容本身進(jìn)行盜版檢 巧。。所述方法能夠綜合考慮軟件應(yīng)用的圖標(biāo)、簽名、應(yīng)用名、包名、組織結(jié)構(gòu)等資源,采用簡(jiǎn) 單、高校的字符串匹配和快速、準(zhǔn)確的圖標(biāo)匹配算法來(lái)更快、更準(zhǔn)地檢測(cè)更多的盜版軟件。 陽(yáng)226] 顯然,本領(lǐng)域的技術(shù)人員可W對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精 神和范圍。運(yùn)樣,倘若本申請(qǐng)的運(yùn)些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本申請(qǐng)也意圖包含運(yùn)些改動(dòng)和變型在內(nèi)。 陽(yáng)227] 需要注意的是,本申請(qǐng)可在軟件和/或軟件與硬件的組合體中被實(shí)施,例如,可采 用專用集成電路(ASIC)、通用目的計(jì)算機(jī)或任何其他類似硬件設(shè)備來(lái)實(shí)現(xiàn)。在一個(gè)實(shí)施例 中,本申請(qǐng)的軟件程序可W通過(guò)處理器執(zhí)行W實(shí)現(xiàn)上文所述步驟或功能。同樣地,本申請(qǐng)的 軟件程序(包括相關(guān)的數(shù)據(jù)結(jié)構(gòu))可W被存儲(chǔ)到計(jì)算機(jī)可讀記錄介質(zhì)中,例如,RAM存儲(chǔ)器, 磁或光驅(qū)動(dòng)器或軟磁盤(pán)及類似設(shè)備。另外,本申請(qǐng)的一些步驟或功能可采用硬件來(lái)實(shí)現(xiàn),例 如,作為與處理器配合從而執(zhí)行各個(gè)步驟或功能的電路。
[0228] 另外,本申請(qǐng)的一部分可被應(yīng)用為計(jì)算機(jī)程序產(chǎn)品,例如計(jì)算機(jī)程序指令,當(dāng)其被 計(jì)算機(jī)執(zhí)行時(shí),通過(guò)該計(jì)算機(jī)的操作,可W調(diào)用或提供根據(jù)本申請(qǐng)的方法和/或技術(shù)方案。 而調(diào)用本申請(qǐng)的方法的程序指令,可能被存儲(chǔ)在固定的或可移動(dòng)的記錄介質(zhì)中,和/或通 過(guò)廣播或其他信號(hào)承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲(chǔ)在根據(jù)所述程序指令運(yùn)行 的計(jì)算機(jī)設(shè)備的工作存儲(chǔ)器中。在此,根據(jù)本申請(qǐng)的一個(gè)實(shí)施例包括一個(gè)裝置,該裝置包括 用于存儲(chǔ)計(jì)算機(jī)程序指令的存儲(chǔ)器和用于執(zhí)行程序指令的處理器,其中,當(dāng)該計(jì)算機(jī)程序 指令被該處理器執(zhí)行時(shí),觸發(fā)該裝置運(yùn)行基于前述根據(jù)本申請(qǐng)的多個(gè)實(shí)施例的方法和/或 技術(shù)方案。
[0229] 對(duì)于本領(lǐng)域技術(shù)人員而言,顯然本申請(qǐng)不限于上述示范性實(shí)施例的細(xì)節(jié),而且在 不背離本申請(qǐng)的精神或基本特征的情況下,能夠W其他的具體形式實(shí)現(xiàn)本申請(qǐng)。因此,無(wú)論 從哪一點(diǎn)來(lái)看,均應(yīng)將實(shí)施例看作是示范性的,而且是非限制性的,本申請(qǐng)的范圍由所附權(quán) 利要求而不是上述說(shuō)明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有 變化涵括在本申請(qǐng)內(nèi)。不應(yīng)將權(quán)利要求中的任何附圖標(biāo)記視為限制所設(shè)及的權(quán)利要求。此 夕F,顯然"包括"一詞不排除其他單元或步驟,單數(shù)不排除復(fù)數(shù)。裝置權(quán)利要求中陳述的多 個(gè)單元或裝置也可W由一個(gè)單元或裝置通過(guò)軟件或者硬件來(lái)實(shí)現(xiàn)。第一,第二等詞語(yǔ)用來(lái) 表示名稱,而并不表示任何特定的順序。
【主權(quán)項(xiàng)】
1. 一種用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的方法,其中,所述方法包括: 獲取參考對(duì)象及所述參考對(duì)象的第一參考數(shù)據(jù)和第二參考數(shù)據(jù); 獲取待檢測(cè)對(duì)象,并從所述待檢測(cè)對(duì)象中獲取待匹配圖像; 對(duì)所述待匹配圖像進(jìn)行特征提取,以獲得第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù),并對(duì)所 述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì),以從所述第一待匹配數(shù)據(jù)中獲取第三待 匹配數(shù)據(jù); 獲取關(guān)于所述第三待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣; 通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè)結(jié)果;以及 根據(jù)所述圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。2. 根據(jù)權(quán)利要求1所述的方法,其中,獲取所述參考對(duì)象的第一參考數(shù)據(jù)和第二參考 數(shù)據(jù)包括: 獲取參考對(duì)象; 從所述參考對(duì)象中獲取參考圖像;以及 對(duì)所述參考圖像進(jìn)行特征提取,以獲得所述第一參考數(shù)據(jù)和所述第二參考數(shù)據(jù)。3. 根據(jù)權(quán)利要求2所述的方法,其中,利用尺度不變特征轉(zhuǎn)換算法對(duì)所述參考圖像進(jìn) 行特征提取。4. 根據(jù)權(quán)利要求3所述的方法,其中,所述第一參考數(shù)據(jù)和所述第二參考數(shù)據(jù)分別為 所述參考圖像的特征描述子和相應(yīng)的特征點(diǎn)。5. 根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其中,利用尺度不變特征轉(zhuǎn)換算法對(duì)所述 待匹配圖像進(jìn)行特征提取。6. 根據(jù)權(quán)利要求5所述的方法,其中,從所述第一待匹配數(shù)據(jù)中獲取第三待匹配數(shù)據(jù) 包括: 設(shè)定良好匹配距離閾值; 利用快速最近鄰逼近搜索函數(shù)庫(kù)匹配算法計(jì)算所述第一待匹配數(shù)據(jù)與所述相應(yīng)第一 參考數(shù)據(jù)的匹配距離;以及 將所述匹配距離小于所述良好匹配距離閾值的所述第一待匹配數(shù)據(jù)確定為所述第三 待匹配數(shù)據(jù)。7. 根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其中,利用隨機(jī)抽樣一致算法中的變換矩 陣獲取算法獲取關(guān)于所述第三待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣,所述匹配矩陣 為仿射變換矩陣。8. 根據(jù)權(quán)利要求6或7所述的方法,其中,所述第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù)分別 為所述待匹配圖像的特征描述子和相應(yīng)的特征點(diǎn)。9. 根據(jù)權(quán)利要求1或8中任一項(xiàng)所述的方法,其中,所述待檢測(cè)對(duì)象和所述參考對(duì)象還 具有字符串,則所述方法還包括: 獲取所述參考對(duì)象的參考特征字符串文件; 從所述待檢測(cè)對(duì)象中獲取待匹配特征字符串文件;以及 對(duì)所述待匹配特征字符串文件與所述參考對(duì)象的參考特征字符串文件進(jìn)行比對(duì),并根 據(jù)比對(duì)結(jié)果產(chǎn)生字符串匹配檢測(cè)結(jié)果。10. 根據(jù)權(quán)利要求9所述的方法,其中,根據(jù)所述圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè) 結(jié)果包括: 根據(jù)所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果的結(jié)合產(chǎn)生對(duì)象匹配檢測(cè)結(jié) 果。11. 根據(jù)權(quán)利要求10所述的方法,其中,若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配 檢測(cè)結(jié)果均為不相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為不相似;若所述圖像匹配檢測(cè)結(jié)果和所 述字符串匹配檢測(cè)結(jié)果至少有一個(gè)為相似,則產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為相似。12. 根據(jù)權(quán)利要求9至11中任一項(xiàng)所述的方法,其中,所述待檢測(cè)對(duì)象和所述參考對(duì)象 所具有的字符串包括字母、文字及數(shù)字字符中的一種或任意組合。13. 根據(jù)權(quán)利要求9至12中任一項(xiàng)所述的方法,其中,所述待檢測(cè)對(duì)象為待檢測(cè)的軟 件,所述參考對(duì)象為參考軟件。14. 根據(jù)權(quán)利要求13所述的方法,其中,所述待檢測(cè)對(duì)象和所述參考對(duì)象采用爬蟲(chóng)技 術(shù)獲取。15. 根據(jù)權(quán)利要求13或14所述的方法,其中,所述待匹配圖像為所述待檢測(cè)軟件的圖 標(biāo),所述參考圖像為參考軟件的圖標(biāo)。16. 根據(jù)權(quán)利要求15所述的方法,其中,所述待匹配特征字符串文件為所述待檢測(cè)軟 件的特征字符串文件,所述待檢測(cè)軟件的特征字符串文件包括:所述待檢測(cè)軟件的簽名、證 書(shū)、包名、應(yīng)用名、資源文件、全局配置文件、源代碼及引用庫(kù)中的一種或任意組合;所述參 考特征字符串文件為參考軟件的特征字符串文件,所述參考軟件的特征字符串文件包括: 所述參考軟件的簽名、證書(shū)、包名、應(yīng)用名、資源文件、全局配置文件、源代碼及引用庫(kù)中的 一種或任意組合。17. 根據(jù)權(quán)利要求16所述的方法,其中,所述待檢測(cè)軟件的特征字符串文件通過(guò)反編 譯工具解析所述待檢測(cè)軟件獲取,所述參考軟件的特征字符串文件通過(guò)反編譯工具解析所 述參考軟件獲取。18. -種用于對(duì)具有圖像的對(duì)象進(jìn)行匹配檢測(cè)的設(shè)備,其中,所述設(shè)備包括: 第一裝置,用于獲取參考對(duì)象及所述參考對(duì)象的第一參考數(shù)據(jù)和第二參考數(shù)據(jù); 第二裝置,用于獲取待檢測(cè)對(duì)象,并從所述待檢測(cè)對(duì)象中獲取待匹配圖像; 第三裝置,用于對(duì)所述待匹配圖像進(jìn)行特征提取,以獲得第一待匹配數(shù)據(jù)和第二待匹 配數(shù)據(jù),并對(duì)所述第一待匹配數(shù)據(jù)與所述第一參考數(shù)據(jù)進(jìn)行比對(duì),以從所述第一待匹配數(shù) 據(jù)中獲取第三待匹配數(shù)據(jù); 第四裝置,用于獲取關(guān)于所述第三待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配矩陣; 第五裝置,用于通過(guò)檢測(cè)所述匹配矩陣的各個(gè)維度的值產(chǎn)生圖像匹配檢測(cè)結(jié)果; 第六裝置,用于根據(jù)所述圖像匹配檢測(cè)結(jié)果產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。19. 根據(jù)權(quán)利要求15至17中任一項(xiàng)所述的設(shè)備,其中,所述第一裝置包括: 第一單元,用于獲取參考對(duì)象; 第二單元,用于從所述參考對(duì)象中獲取參考圖像;以及 第三單元,用于對(duì)所述參考圖像進(jìn)行特征提取,以獲得所述第一參考數(shù)據(jù)和所述第二 參考數(shù)據(jù)。20. 根據(jù)權(quán)利要求19所述的設(shè)備,其中,所述第三單元利用尺度不變特征轉(zhuǎn)換算法對(duì) 所述參考圖像進(jìn)行特征提取。21. 根據(jù)權(quán)利要求20所述的設(shè)備,其中,所述第一參考數(shù)據(jù)和所述第二參考數(shù)據(jù)分別 為所述參考圖像的特征描述子和相應(yīng)的特征點(diǎn)。22. 根據(jù)權(quán)利要求18至21中任一項(xiàng)所述的設(shè)備,其中,所述第三裝置利用尺度不變特 征轉(zhuǎn)換算法對(duì)所述待匹配圖像進(jìn)行特征提取。23. 根據(jù)權(quán)利要求22所述的設(shè)備,其中,所述第三裝置從所述第一待匹配數(shù)據(jù)中獲取 第三待匹配數(shù)據(jù)包括: 設(shè)定良好匹配距離閾值; 利用快速最近鄰逼近搜索函數(shù)庫(kù)匹配算法計(jì)算所述第一待匹配數(shù)據(jù)與所述相應(yīng)第一 參考數(shù)據(jù)的匹配距離;以及 將所述匹配距離小于所述良好匹配距離閾值的所述第一待匹配數(shù)據(jù)確定為所述第三 待匹配數(shù)據(jù)。24. 根據(jù)權(quán)利要求18至23中任一項(xiàng)所述的設(shè)備,其中,所述第四裝置利用隨機(jī)抽樣一 致算法中的變換矩陣獲取算法獲取關(guān)于所述第三待匹配數(shù)據(jù)與所述第二參考數(shù)據(jù)的匹配 矩陣,所述匹配矩陣為仿射變換矩陣。25. 根據(jù)權(quán)利要求23或24所述的設(shè)備,其中,所述第一待匹配數(shù)據(jù)和第二待匹配數(shù)據(jù) 分別為所述待匹配圖像的特征描述子和相應(yīng)的特征點(diǎn)。26. 根據(jù)權(quán)利要求17至25中任一項(xiàng)所述的設(shè)備,其中,所述待檢測(cè)對(duì)象和所述參考對(duì) 象還具有字符串,則所述設(shè)備還包括: 第七裝置,用于獲取所述參考對(duì)象的參考特征字符串文件; 第八裝置,用于從所述待檢測(cè)對(duì)象中獲取待匹配特征字符串文件;以及 第九裝置,用于對(duì)所述待匹配特征字符串文件與所述參考對(duì)象的參考特征字符串文件 進(jìn)行比對(duì),并根據(jù)比對(duì)結(jié)果產(chǎn)生字符串匹配檢測(cè)結(jié)果。27. 根據(jù)權(quán)利要求26所述的設(shè)備,其中,所述第六裝置根據(jù)所述圖像匹配檢測(cè)結(jié)果和 所述字符串匹配檢測(cè)結(jié)果的結(jié)合產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果。28. 根據(jù)權(quán)利要求27所述的設(shè)備,其中,若所述圖像匹配檢測(cè)結(jié)果和所述字符串匹配 檢測(cè)結(jié)果均為不相似,則所述第六裝置產(chǎn)生對(duì)象匹配檢測(cè)結(jié)果為不相似;若所述圖像匹配 檢測(cè)結(jié)果和所述字符串匹配檢測(cè)結(jié)果至少有一個(gè)為相似,則所述第六裝置產(chǎn)生對(duì)象匹配檢 測(cè)結(jié)果為相似。29. 根據(jù)權(quán)利要求26或28所述的設(shè)備,其中,所述待檢測(cè)對(duì)象和所述參考對(duì)象所具有 的字符串包括字母、文字及數(shù)字字符中的一種或任意組合。30. 根據(jù)權(quán)利要求26至29中任一項(xiàng)所述的設(shè)備,其中,所述待檢測(cè)對(duì)象為待檢測(cè)的軟 件,所述參考對(duì)象為參考軟件。31. 根據(jù)權(quán)利要求30所述的設(shè)備,其中,所述待檢測(cè)對(duì)象和所述參考對(duì)象采用爬蟲(chóng)技 術(shù)獲取。32. 根據(jù)權(quán)利要求30或31所述的設(shè)備,其中,所述待匹配圖像為所述待檢測(cè)軟件的圖 標(biāo),所述參考圖像為參考軟件的圖標(biāo)。33. 根據(jù)權(quán)利要求32中所述的設(shè)備,其中,所述待匹配特征字符串文件為所述待檢測(cè) 軟件的特征字符串文件,所述待檢測(cè)軟件的特征字符串文件包括:所述待檢測(cè)軟件的簽名、 證書(shū)、包名、應(yīng)用名、資源文件、全局配置文件、源代碼及引用庫(kù)中的一種或任意組合;所述 參考特征字符串文件為參考軟件的特征字符串文件,所述參考軟件的特征字符串文件包 括:所述參考軟件的簽名、證書(shū)、包名、應(yīng)用名、資源文件、全局配置文件、源代碼及引用庫(kù)中 的一種或任意組合。34.根據(jù)權(quán)利要求33中所述的設(shè)備,其中,所述待檢測(cè)軟件的特征字符串文件通過(guò)反 編譯工具解析所述待檢測(cè)軟件獲取,所述參考軟件的特征字符串文件通過(guò)反編譯工具解析 所述參考軟件獲取。
【文檔編號(hào)】G06F21/12GK105825084SQ201510005669
【公開(kāi)日】2016年8月3日
【申請(qǐng)日】2015年1月6日
【發(fā)明人】侯冬梅, 余文濤
【申請(qǐng)人】阿里巴巴集團(tuán)控股有限公司