以圖找圖 (Search by Image) 與印象派,下一代的搜尋應用何在?

Posted By Mr. Saturday

我們都看過諸多美國影集裡,犯人的臉被攝影機拍下之後,送進聯邦調查局的罪犯資料庫進行地毯式的人臉比對,找出犯人身分的情節,雖然一般人似乎與這種比對系統無緣,但是以圖找圖 (search by image) 這個概念,也許有朝一日可以讓我們體驗更有趣的應用。這篇文章就帶大家一窺以圖找圖的有趣世界。

一般網路對於搜尋引擎的使用,不外乎就是輸入關鍵字 (input),然後搜尋引擎吐出搜尋結果 (output) 給你。因此我們不難發現現在搜尋引擎的 input 主要是以文字為主,使用者輸入查詢關鍵字,搜尋引擎根據這些文字來搜尋,較為複雜的「以文找文」應用在業界雖然已經出現許久,但是並沒有被大家使用得很廣泛,主要還是因為應用的方式有限,實用性不高。如果各位讀者還記得的話,無名小站曾經使用過 Scupio 的以文找文功能,後來就悄悄消失了。

跳脫於文字之外的,當然就是圖像了,所以今天我們要探討的不關文字任何事情,而是要來看看 input 和 output 都是圖的這個有趣的概念。首先值得注意的是,以圖找圖的想法雖然早已成形,但是始終沒有在業界蓬勃發展,甚至於許多相關研究和技術都還停留在實驗室裡的研究階段。不過的確已經有人把這個應用在網路上實現,讓大家可以玩玩,這個應用就叫做 Retrievr。

Retrievr 是一個 Flickr mashup,由一位現年 27 歲的奧地利工程師 Christian Langreiter 所開發,當初開發的目的是為了替 System One 這家公司做一些產品相關的研究,後來由於這個 mashup 本身相當有趣,所以引起不少人的注意,Retrievr 是一個可以幫你搜尋 Flickr 圖片的 mashup,他的不同之處在於使用者不是透過輸入關鍵字來搜尋圖片,而是使用者必須自己畫一幅畫來當作 input!然後 Retrievr 會幫你從 Flickr 找出跟你畫的圖畫類似的圖片出來。使用者現在也可以上傳自己的圖片,Retrievr 會根據你上傳的圖片找出類似的圖片給你。如果你迫不及待想要試試的話,請點這邊吧

retrievr

Retrievr 的操作介面如上圖所示,使用者在左邊的白板畫了圖畫之後,右邊就會呈現出搜尋的結果,Mr. Saturday 在上面畫了一個形狀類似蘋果的 stop sign 出來,結果 Retrievr 同時幫我把 stop sign 和蘋果的圖片都找出來了,相當有趣。不過我相信各位讀者試用過的感覺一定是「找出來的都是一堆莫名其妙的圖片,是我太沒畫畫的天份嗎?」。其實不是的,這就要從 Retrievr 這個系統所使用的演算法說起了,Retrievr 的演算法基本上是使用 Fast Multiresolution Image Querying 這一篇 paper 之中的演算法,主要是把影像做 wavelet transform 之後丟進去資料庫做比對。細節我們在此略過不談,如果您有興趣的話,可以參考這邊

簡單來說,用這篇 paper 的方法所做出來的搜尋系統,結果會是比對圖片的時候著重的是色彩,而非實際的線條或是形狀,看到這句話大家是否有種熟悉的感覺?著重色彩卻不著重線條和形狀!?沒錯,這跟印象派像極了。所以大家可以發現,這個給使用者畫圖的介面實在是極其簡陋,只提供顏色卻不提供線條工具 (不過連橡皮擦也沒有就真的太簡陋了點)。這樣做的原因其實很大部分是遷就圖片分析的效率,用 wavelet transform 的方法去分析圖片,事實上分析的精細程度可以由研究者自行決定,圖片分析往往牽涉到去計算一張圖片的 signature,這個 signature 可以看成是該張圖片的代表,或是該張圖片的一種 encoding,系統比對相似性的時候,看的就是 signature 像不像。整體的系統架構就如下圖所示:

sketch

(圖片來源: http://grail.cs.washington.edu/projects/query/)

這樣的一種過程,會根據分析的精細程度來決定其 signature 複雜的程度,連帶著也決定了比對的時間長短,不難想像,越複雜自然比對的時間就越長。所以為了搜尋的效率,Retrievr 和這篇 paper 裡面用的方法,coefficients 用得非常少,加快了計算 signature 和比對的速度,所以你也可以發現,你畫畫的同時,系統會及時動態地幫你搜尋和更新圖片。這就是整個系統運作的來龍去脈。沒想到電腦科學的技術會如此美妙地對應到了印象派的畫風,實在是相當有趣!如果你是印象派的畫家,相信你用起這套系統絕對是得心應手!

不過話說回來,Retrievr 這個小玩意要推廣給一般使用者的困難之處在於:人人都會打字,但不是人人都會畫圖。雖然你可以上傳圖片當作 input,不過你會發現找出來的東西真的還滿莫名其妙的。當然,Retrievr 所倚重的那篇 paper,已經是 1995 年的老 paper 了,許多相關的研究在這十幾年來已經又累積了不少的成果。但是說到以圖找圖的相關應用,說實在真的是找不到什麼可以吸引大家都來用的殺手級應用。在業界要推廣出去,恐怕是相當困難。應用這部分還看各位讀者有沒有想到有趣且實用的應用。

這篇文章透過 Retrievr 這個好玩的 mashup 簡單地介紹了以圖找圖的概念,事實上以圖找圖的領域有著相當多有趣的研究成果可以給大家欣賞,之後 Mr. Saturday 會再另外撰文介紹給大家。

喜歡這篇文章嗎? 分享出去給作者一點鼓勵吧!