Google '相似圖片搜索':你可以用一張圖片,搜索互聯(lián)網(wǎng)上所有與它相似的圖片。
打開Google圖片搜索頁面:
點(diǎn)擊【相機(jī)】使用上傳一張《深度學(xué)習(xí)》的原圖:
點(diǎn)擊搜索后,Google會(huì)出現(xiàn)外觀類似的圖片,相似度越高,圖片越靠前。
這種技術(shù)的原理是什么?計(jì)算機(jī)怎么知道兩張圖片相似呢?
為了滿足大家的好奇心,下面我來講一下“以圖搜圖”背后的故事。
“以圖搜圖”正式的名稱應(yīng)該叫“相似圖像搜索引擎”,也稱為“反向圖片搜索引擎”。最初的圖像搜索引擎是基于文本關(guān)鍵字檢索的。早期的Altavista、Lycos等搜索引擎正是利用圖像的文件名和路徑名、圖像周圍的文本,以及Alt標(biāo)簽中的注釋索引和搜索相關(guān)圖像的。從本質(zhì)上來說,這樣的圖像搜索引擎其實(shí)還是基于文本搜索引擎的。有時(shí)圖像周邊的這些文本信息和圖像并沒有關(guān)系,會(huì)造成搜索出來的部分圖像結(jié)果和查詢關(guān)鍵詞并不一致。為了避免這種問題,有些搜索引擎采用人工的方式對(duì)圖像進(jìn)行標(biāo)注索引。雖然人工標(biāo)注保證了搜索引擎的查準(zhǔn)率,但是它限制了圖像索引的規(guī)模,不可能有很好的查全率。而有時(shí),圖像的內(nèi)容是很難用幾個(gè)關(guān)鍵詞就能完整描述出來的。在某種情況下,無論是利用圖像網(wǎng)頁相關(guān)文本信息,還是人工標(biāo)注文字說明,都很難做到較高的搜索準(zhǔn)確度。
1992年,T. Kato提出了基于內(nèi)容的圖像檢索(CBIR)的概念,它使用圖像的顏色、形狀等信息作為特征構(gòu)建索引以實(shí)現(xiàn)圖像檢索,即我們通常所說的“以圖搜圖”。基于這一概念,IBM開發(fā)了第一個(gè)商用的CBIR系統(tǒng)QBIC(Query By Image Content),用戶只需輸入一幅草圖或圖像,便可以搜索出相似的圖像。同一時(shí)期,很多公司也將這一技術(shù)引入搜索引擎。哥倫比亞大學(xué)開發(fā)的WebSEEK系統(tǒng)不僅提供了基于關(guān)鍵詞的圖像搜索和按照?qǐng)D像類目的主題瀏覽,還可以利用圖像的顏色信息進(jìn)行基于內(nèi)容的圖像搜索。Yahoo的ImageSurfer也提供了使用例圖的顏色、形狀、紋理特征,以及它們的組合來進(jìn)行基于內(nèi)容的圖像搜索功能。隨著視覺技術(shù)的進(jìn)步和發(fā)展,越來越多的搜索引擎采用這一方式來進(jìn)行圖像搜索,并在此基礎(chǔ)上不斷演進(jìn)。
早期曾使用過“以圖搜圖”方式進(jìn)行圖像搜索的讀者可能會(huì)有這樣的印象,這種圖像搜索方式在返回的結(jié)果的準(zhǔn)確度往往不太令人滿意。為此,很多視覺研究人員、圖像技術(shù)開發(fā)者不斷提出新的圖像特征表示算法。雖然準(zhǔn)確率在一點(diǎn)點(diǎn)提高,但是并未根本性地解決準(zhǔn)確度問題。這究竟是什么原因呢?原因在于無論是圖像的顏色、紋理、形狀這些全局信息,還是后來的SIFT等局部圖像信息,都是人為設(shè)計(jì)的硬編碼,還不能完整地表達(dá)人類對(duì)整幅圖像內(nèi)容的理解。
那圖像搜索的準(zhǔn)確率還能提高嗎?隨著人工智能(特別是深度學(xué)習(xí)理論和技術(shù))的發(fā)展,人們逐步找到了解決方案。深度學(xué)習(xí)技術(shù)極大地提高了圖像表達(dá)的準(zhǔn)確性。諸多主流圖像搜索引擎紛紛引入了深度學(xué)習(xí)算法來提高圖像搜索的準(zhǔn)確率。
如今我們?nèi)粘J褂玫陌俣?、搜狗等通用搜索引擎均提供了相似圖像檢索功能。淘寶、京東等電商平臺(tái)也利用自己龐大的商品圖像庫開發(fā)了垂直領(lǐng)域內(nèi)的圖像檢索功能來滿足消費(fèi)者們不易用文字描述的商品搜索需求。有更多的創(chuàng)業(yè)公司在各自的領(lǐng)域內(nèi)使用相似圖像搜索技術(shù)來滿足形形色色圖像檢索需求,服務(wù)于更多的行業(yè)和消費(fèi)者。
雖然圖像檢索技術(shù)已廣泛應(yīng)用于我們的生活當(dāng)中,但目前這一技術(shù)還未完全成熟,仍有許多問題需要解決,改進(jìn)和提高的空間還很大。搜索的結(jié)果和用戶的期望還有一些距離,存在一定的圖像語義鴻溝。這也是從事這項(xiàng)技術(shù)研究與開發(fā)的人員不斷進(jìn)步的源動(dòng)力。
根據(jù)一般的抽象方法,我們可以把事物非關(guān)鍵性的特征剝離出來,而只保留其最為本質(zhì)的特征。對(duì)于現(xiàn)有技術(shù)條件下的搜索引擎,必須事先生成索引庫,再在其上進(jìn)行搜索查詢。
如圖所示,首先需要對(duì)輸入數(shù)據(jù)進(jìn)行一定的預(yù)處理,以使我們可以對(duì)其進(jìn)行進(jìn)一步分析。接下來,把文本搜索引擎的詞法、語法分析等語言處理階段抽象為對(duì)輸入數(shù)據(jù)的特征提取,一個(gè)個(gè)提取出來的詞就是構(gòu)成一個(gè)文檔特征向量的基本元素,反向索引庫就是特征和文檔對(duì)應(yīng)關(guān)系的集合。對(duì)于查詢數(shù)據(jù),我們也要抽取其特征,然后計(jì)算它的特征向量與索引庫中所有特征向量的相似度,最終返回規(guī)定數(shù)量的相似結(jié)果。
抽象搜索引擎結(jié)構(gòu)
為了徹底弄清楚這類圖像搜索引擎的技術(shù)原理,我反復(fù)查找和閱讀當(dāng)時(shí)互聯(lián)網(wǎng)上甚為稀缺的相關(guān)資料,但收效甚微。直到后來,我遇到了一個(gè)叫作LIRE的開源項(xiàng)目,它讓我初步理解了圖像搜索引擎的技術(shù)原理。但是在實(shí)際應(yīng)用中,LIRE的效果并不是太好。為了解決這個(gè)問題,我又找到“深度學(xué)習(xí)”這個(gè)強(qiáng)有力的助手。
在探索原理的過程中,我發(fā)現(xiàn)國(guó)內(nèi)幾乎找不到一本介紹圖像搜索引擎基本原理和實(shí)現(xiàn)的書,這也成了《自制AI圖像搜索引擎》誕生的緣由。
《自制AI圖像搜索引擎》
作者:明恒毅
圖像搜索引擎有兩種實(shí)現(xiàn)方式——基于圖像上下文文本特征的方式和基于圖像視覺內(nèi)容特征的方式。本書所指的圖像搜索引擎是基于內(nèi)容特征的圖像檢索,也就是通常所說的“以圖搜圖”來檢索相似圖片。本書主要講解了搜索引擎技術(shù)的發(fā)展脈絡(luò)、文本搜索引擎的基本原理和搜索引擎的一般結(jié)構(gòu),詳細(xì)講述了圖像搜索引擎各主要組成部分的原理和實(shí)現(xiàn),并構(gòu)建了一個(gè)基于深度學(xué)習(xí)的Web圖像搜索引擎。
為什么要讀《自制AI圖像搜索引擎》?
業(yè)內(nèi)僅此一本,你還在等什么?
目前在國(guó)內(nèi)計(jì)算機(jī)專業(yè)圖書市場(chǎng)上,有關(guān)圖像檢索的書籍甚為稀缺。據(jù)我所知,僅有兩本中文專業(yè)書籍,分別是:科學(xué)出版社出版的清華大學(xué)章毓晉教授的《基于內(nèi)容的視覺信息檢索》,清華大學(xué)出版社出版的北師大周明全教授等人著的《基于內(nèi)容圖像檢索技術(shù)》。這兩本書均是純正的學(xué)術(shù)著作,理論豐富,但實(shí)踐相對(duì)不足。此外,這兩本書均出版于本世紀(jì)初,也就是深度學(xué)習(xí)技術(shù)開始風(fēng)靡之前,故兩本書中均未包含將深度學(xué)習(xí)應(yīng)用于圖像檢索的內(nèi)容。
《自制AI圖像搜索引擎》由一線開發(fā)人員所著,偏重實(shí)踐,兼有傳統(tǒng)和現(xiàn)代方法,可以說是目前市場(chǎng)上唯一一本有關(guān)AI圖像檢索的圖書。
將深度學(xué)習(xí)理論和應(yīng)用場(chǎng)景緊密結(jié)合,有技術(shù)、能落地
自2016年AlphaGo以4:1的比分戰(zhàn)勝世界頂級(jí)圍棋棋手李世石以來, AlphaGo所依賴的深度學(xué)習(xí)算法在公眾中得到了快速的科普。與此同時(shí),各大科技公司也紛紛在深度學(xué)習(xí)領(lǐng)域投入重金,開始高薪聘請(qǐng)首席科學(xué)家、算法研究員和工程師。圖書市場(chǎng)也紛紛推出各種有關(guān)深度學(xué)習(xí)的理論書籍。但隨著時(shí)間的推移,很多理論缺乏應(yīng)用場(chǎng)景,并未產(chǎn)生實(shí)際效用。不同于其他的理論和技術(shù),AI圖像檢索技術(shù)有著明確的應(yīng)用場(chǎng)景和目標(biāo)市場(chǎng),能夠緊密地將深度學(xué)習(xí)理論和應(yīng)用場(chǎng)景相結(jié)合,可謂“有技術(shù)、能落地”。
用理論指導(dǎo)編碼,用代碼闡釋理論,相得益彰
《自制AI圖像搜索引擎》一書的每有個(gè)圖像檢索的理論都配有一段Java代碼,使讀者既能深刻地理解理論,又能將理論轉(zhuǎn)變?yōu)榫幋a實(shí)現(xiàn)。無論是對(duì)理論功底強(qiáng)、實(shí)踐能力弱的學(xué)術(shù)讀者,還是對(duì)實(shí)踐能力強(qiáng)、理論功底弱的開發(fā)者,本書都能提供有針對(duì)性的指導(dǎo)。
循序漸進(jìn),深入淺出,適合各層次開發(fā)人員入手
《自制AI圖像搜索引擎》一書采用循序漸進(jìn)的敘述方式,沿著歷史和技術(shù)發(fā)展的脈絡(luò),由文本搜索引擎的基本原理逐步抽象出搜索引擎的一般結(jié)構(gòu),進(jìn)而由文本演進(jìn)到圖像。結(jié)合具體實(shí)現(xiàn)代碼,全面講述了圖像搜索引擎中各個(gè)組成部分的基本原理。任何愿意了解和學(xué)習(xí)AI圖像搜索引擎的讀者在研讀此書后,都能在理論與實(shí)踐方面收獲滿滿。
提供從零開始構(gòu)建AI圖像搜索引擎的案例教程,即學(xué)即用
《自制AI圖像搜索引擎》一書在最后一章提供了一個(gè)從零開始構(gòu)建一個(gè)基于深度學(xué)習(xí)的Web圖像搜索引擎的教程和相應(yīng)的可實(shí)際運(yùn)行的項(xiàng)目代碼,真正做到了即學(xué)即用。讀者既可以先嘗試一下運(yùn)行效果,而后帶著小小的成就感來學(xué)習(xí)相關(guān)的理論和技術(shù),也可以在學(xué)習(xí)完相關(guān)的理論和技術(shù)后,再研究最后一章的代碼與實(shí)現(xiàn)過程。
輕松學(xué)《自制AI圖像搜索引擎》你需要掌握:
聯(lián)系客服