以圖找圖 (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 會再另外撰文介紹給大家。

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

    有趣。之前看到的都是朋友在Facebook上貼的,明星臉相似度的以圖找圖。
    不過,話說回來,我用黑筆寫字在Retrievr裡面,跑出來都是看不出聯繫的黑白照片。我果然沒有藝術天分….OTZ

  • 雖然我跟Mr. Saturday很熟,但是對於這句結論我持反對意見: “說實在真的是找不到什麼可以吸引大家都來用的殺手級應用”。我做過相關研究,與其說是沒有殺手級應用,不如說準確率不夠,外加運算速度沒辦法提升才是真正的問題。

  • 雖然我跟Mr. Saturday很熟,但是對於這句結論我持反對意見: “說實在真的是找不到什麼可以吸引大家都來用的殺手級應用”。我做過相關研究,與其說是沒有殺手級應用,不如說準確率不夠,外加運算速度沒辦法提升才是真正的問題。

  • 那請問Monday覺得這當中哪些服務是堪稱殺手級的應用勒??

  • 那請問Monday覺得這當中哪些服務是堪稱殺手級的應用勒??

  • 這種東西如果做的好的話應用很多啊。舉一個例子,我現在逛街,逛到一款我喜灣的玩意,我不知道這個叫什麼,可是我很有興趣,我拍一個照片,送回後端,你的engine以圖找圖告訴我這是什麼東西,有什個功用,或是有什麼歷史。這東西只要能做的好,應用可不少啊:)

  • 這種東西如果做的好的話應用很多啊。舉一個例子,我現在逛街,逛到一款我喜灣的玩意,我不知道這個叫什麼,可是我很有興趣,我拍一個照片,送回後端,你的engine以圖找圖告訴我這是什麼東西,有什個功用,或是有什麼歷史。這東西只要能做的好,應用可不少啊:)

  • 應用可以很多, 但是感覺不夠殺手啊. 像你講的應用對我來說一開始很新奇, 但如果平常生活中應該是不會常常用到耶

  • 應用可以很多, 但是感覺不夠殺手啊. 像你講的應用對我來說一開始很新奇, 但如果平常生活中應該是不會常常用到耶

  • How about this?

    http://0rz.tw/282K3

    例如有某個人的照片一張,連名字都沒有,若能以圖做搜尋的輸入說不定可以查到相關資料之類的。如果抓犯人沒什麼吸引力的話,或許美女圖有?

  • How about this?

    http://0rz.tw/282K3

    例如有某個人的照片一張,連名字都沒有,若能以圖做搜尋的輸入說不定可以查到相關資料之類的。如果抓犯人沒什麼吸引力的話,或許美女圖有?

  • 我是想到搜尋照片的例子
    譬如說我有很多照片
    有天突然想要拿一張照片出來回憶
    但是忘記是甚麼時候照的
    也沒有給他下標題 或是關鍵字下不好現在想不起來
    但是我記得照片裡面有一顆樹在右邊
    然後大家拿著某個東西 或是擺某個姿勢
    ————
    又或者我想找出我穿西裝照的相片
    或著是只有我一個人的照片
    之前整理相簿的時候可能沒有那麼勤勞
    把每一張穿的衣服和人數都加上tag
    那麼以圖找圖也是個方法…?
    ————
    就是難加上tag或是不容易那麼勤勞加上的tag
    以及比較屬於抽象和視覺化的特徵
    (人數,光線強弱,臉部辨識等基本特徵之外)
    以圖找圖應該就比較適合了?

  • 我是想到搜尋照片的例子
    譬如說我有很多照片
    有天突然想要拿一張照片出來回憶
    但是忘記是甚麼時候照的
    也沒有給他下標題 或是關鍵字下不好現在想不起來
    但是我記得照片裡面有一顆樹在右邊
    然後大家拿著某個東西 或是擺某個姿勢
    ————
    又或者我想找出我穿西裝照的相片
    或著是只有我一個人的照片
    之前整理相簿的時候可能沒有那麼勤勞
    把每一張穿的衣服和人數都加上tag
    那麼以圖找圖也是個方法…?
    ————
    就是難加上tag或是不容易那麼勤勞加上的tag
    以及比較屬於抽象和視覺化的特徵
    (人數,光線強弱,臉部辨識等基本特徵之外)
    以圖找圖應該就比較適合了?

  • 突然想到一個之前看過還頗有趣的應用,叫做Like Visual Search (http://www.like.com/)。這是一個購物網站,有趣的是它有提供商品的相似度搜尋(顏色,形狀,或兩者皆是)。因為商品的圖片都有處理過,背景很乾淨,搜尋結果還滿準確的,不失為一個實用的以圖找圖應用。

  • 突然想到一個之前看過還頗有趣的應用,叫做Like Visual Search (http://www.like.com/)。這是一個購物網站,有趣的是它有提供商品的相似度搜尋(顏色,形狀,或兩者皆是)。因為商品的圖片都有處理過,背景很乾淨,搜尋結果還滿準確的,不失為一個實用的以圖找圖應用。

  • Kevin

    哈哈,會不會有人以一張裸體圖找更多裸體圖?

  • Kevin

    哈哈,會不會有人以一張裸體圖找更多裸體圖?

  • Pingback: Top Posts « WordPress.com()

  • mildwind

    想到的幾個應用 ,

    1. 建築師 , 室內設計師 , 平面設計等等 ,

    可以透過手繪的方式進行搜尋

    2. 旅遊資訊, 旅遊相簿, 自動的旅遊社群連結

    扯更遠的 ,

    把輸入方式改變為實際影像,

    可以變成, 針對個人的衣著搭配與時尚建議 XD

  • mildwind

    想到的幾個應用 ,

    1. 建築師 , 室內設計師 , 平面設計等等 ,

    可以透過手繪的方式進行搜尋

    2. 旅遊資訊, 旅遊相簿, 自動的旅遊社群連結

    扯更遠的 ,

    把輸入方式改變為實際影像,

    可以變成, 針對個人的衣著搭配與時尚建議 XD

  • nagual.hsu

    在好幾年前, 這種搜尋被稱為Content-based Image Retrieval (簡稱CBIR), 現在叫什麼不曉得了, 不過那時候的搜尋結果都不是很穩定, 但是有一篇paper, 他的搜尋演算法, 可以將三點或兩點全露的裸照找出來並加以重點部位的遮敝 😛

  • nagual.hsu

    在好幾年前, 這種搜尋被稱為Content-based Image Retrieval (簡稱CBIR), 現在叫什麼不曉得了, 不過那時候的搜尋結果都不是很穩定, 但是有一篇paper, 他的搜尋演算法, 可以將三點或兩點全露的裸照找出來並加以重點部位的遮敝 😛

  • 這幾年在MM conference上面也還有CBIR的paper:)

  • 這幾年在MM conference上面也還有CBIR的paper:)

  • iguest
  • iguest
  • Ken

    最近開始在這個領域上面有些研究,覺得很多應用可以發展。但就像前面大家所討論的,performance還有正確率是蠻關鍵的技術。

    如果有甚麼這方面的資訊,是否可以mail給我作為參考呢?覺得上面的文章和討論都很有價值。激賞中…

  • Ken

    最近開始在這個領域上面有些研究,覺得很多應用可以發展。但就像前面大家所討論的,performance還有正確率是蠻關鍵的技術。

    如果有甚麼這方面的資訊,是否可以mail給我作為參考呢?覺得上面的文章和討論都很有價值。激賞中…

  • 謝謝大家的回應,以圖找圖的確已經有了很多有趣的應用,這部分看來我還得多收集一些資訊,還是 Mr. Monday 要寫篇文章來分享一下? 😛

    To Ken, 我們有什麼好的資訊, 都會寫成文章發表在這邊的, 還麻煩你常常光臨這邊囉, 如果你有什麼好的資訊, 也歡迎你來這邊分享或是投稿. 😀

  • 謝謝大家的回應,以圖找圖的確已經有了很多有趣的應用,這部分看來我還得多收集一些資訊,還是 Mr. Monday 要寫篇文章來分享一下? 😛

    To Ken, 我們有什麼好的資訊, 都會寫成文章發表在這邊的, 還麻煩你常常光臨這邊囉, 如果你有什麼好的資訊, 也歡迎你來這邊分享或是投稿. 😀

  • Pingback: My Program()

  • Pingback: 視覺傳遞路徑總整理()