今年五月Google發表了新的Google相簿功能,它會辨識你的照片裡有什麼,並把照片加上標籤、自動分類,完全不用透過手動整理,而且就算我們沒有為照片加上標籤,我們還是可以用某些關鍵字找到Google相簿裡,某年某月某件事的照片。
這是運用了電腦視覺技術(Computer Vision)的結果。
現在Google相簿可以自動分辨人臉、地點跟物件,Android手機上有內建,也有支援iPhone,幾個禮拜前,這些功能也在一些亞洲國家的Google相簿上架了,包括台灣。(其實Flickr也有這樣的功能)


電腦視覺就是教電腦如何識別照片跟影片,也是機器學習(Machine Learning)的其中一項,比方現在的Google相簿會自動把人物的照片抓出來,並把相似的臉放在一起。
另外像是地點、物件...等,也會自動分類,這些照片事前都沒有手動加入標籤,都是Google相簿自己抓出來的。




科普時間:電腦能辨識圖片,其實跟「全面啟動」有關


雖然現在看到的分類不一定都正確(比方把天竺鼠或是狗辨識成貓了),但我們先來看看,Google相簿怎麼運用電腦視覺,讓電腦學習辨識照片裡有什麼。
其實不只相簿,Google很多產品都有運用到電腦視覺技術,比方最早的例子是讓電腦在Google街景圖上辨識商家地址;還有像Google翻譯,用相機拍攝菜單,辨識上面的文字跟語言並翻譯出來。


但辨識文字對電腦來說是簡單的,因為文字或數字就是長那樣,「牛肉麵」就是這麼寫,不會有不同寫法(呃...但美術變形字可能有辨識的問題)。
但辨識物件,就不全然那麼簡單,某些地標,比方艾菲爾鐵塔,或許這個角度看跟那個角度看不一樣,但它就是長那樣,而且就固定在那個地方,這對電腦視覺來說還算容易。
或者地點、地標,因為手機拍照時可以幫照片加上座標,這對電腦來說也容易判斷。

但全世界有各種這樣的貓,不用說體型毛色姿勢不一樣,同樣的眼睛鼻子鬍鬚,每一支貓也都不盡相同,或者單眼拍的旅遊照,就不會有地理座標,這對電腦視覺來說,就需要更複雜的運算,才能辨識出來。

之前有提過,機器學習需要大量大量的案例來訓練機器,在電腦視覺裡,除了也需要大量案例來訓練機器外,科學家還用了人工神經網路的方法來訓練電腦認識圖像。



Google相簿分析團隊的工程師Chris Perry在簡報時提到,
去年九月,Google研究團隊「GoogLeNet」發表了一篇關於神經網路的論文,其中提到一個名為「Inception」的架構,Google就以此來打造電腦辨識影像的方法。
咦?這是李奧納多的電影「全面啟動」吧?沒錯,很多人應該也都看過這部電影,裡面描繪的夢境是一層一層,有連結的,而且從這個夢境,又可以深入進到另一個夢境。
電腦辨識圖片時,採用的人工神經網路原理,就有點類似全面啟動裡一層層的夢境。


「Inception」架構裡有22層神經網路,每一層負責辨識不一樣的訊息/ 特徵,以辨識貓來說,第一層可能先辨識顏色,把第二層再辨識輪廓、線條...等,捨棄不重要的部分,把類似歸在一群,這樣就會產生很群,接著後面越來越深入,比方繼續辨識眼睛或耳朵的特徵,一層層分辨下去,最後就會產生一組,是所有特徵都最符合的。

Chris提到,但Inception的認知過程有點像小孩,一開始小孩子認得這隻有毛的,透明眼睛的動物會喵喵叫,但他不知道這東西叫「貓」(這個名稱),Inception也是,透過神經網路運算,最後電腦知道這張照片裡的主角身形長這樣,眼睛耳朵長這樣,但還不知道這東西叫「貓」,它還無法把這些特徵和這個名詞連在一起,把辨識結果有意義的呈現出來,這也是電腦視覺辨識到最後,一個很困難的地方。

這時候就要靠Google強大的搜尋庫了。
Google搜尋14年來做了很多連結「影像」和「文字」的努力,因此我們可以在Google搜尋打入關鍵字,就找到圖片影片。
再回到貓的例子,網路上有非常非常多照片和「貓」這個標籤連結在一起,而我們也從這些照片歸納出通常裡面會有尖尖的耳朵,或一些特有的線條,於是就可以把Inception最後辨識出的結果,跟Google搜尋庫做比對,最後系統就可以為Inception辨識結果加上標籤,自動辨識出這照片是「貓」。

上面的例子也可以點出一個困境,就是對電腦來說,情境是一個很難辨識的東西。
大部分的照片裡會有很多物件,有車、房子、花、人、食物...等,比方看到一張片是一群人圍著蛋糕要吹蠟燭了,我們很快就能理解這是一張生日派對照,但對電腦來說,它可以辨識出有四個人、有蠟燭、蛋糕,但它不知道這是一個生日派對,Google影像辨識的團隊要做的就是機器也能像人類一樣,知道這張照片的情境。(讓我們可以打”生日”找到這張照片)

這裡就得再加上更多訓練了,最常用的是加上時間條件來訓練,
比方辨識到照片裡有個人,穿了快打旋風的衣服,又偵測到這張照片是10月拍的,那就告訴系統這照片跟萬聖節有關。
或是辨識到照片裡的人穿著長袍外套,加上照片是在6月拍的,那辨識系統就知道這照片是在畢業典禮拍的。
其他如早午晚餐、日出日落...等,也是類似的訓練方法。
Google用各種參數,讓Inception這套系統用全局的方式來辨識照片,做演繹推理。
這樣的訓練可以讓我們更準確搜尋到照片。





看看Google相簿怎分類~


不如實際來試試。
這是我的相簿,自動分出人物、地點跟事物了。


其實很多分類還不見得準確,
比方他把周杰倫跟李敏鎬放在一起了(雖然都是歐吧...),可能五官特徵有類似的地方所以分在一起了吧(單眼皮?)


地點是辨識照片上的位置座標來分的。


但有些單眼相機沒能幫照片加座標怎麼辦?
這時候就是用電腦視覺技術,找到照片上地點的特徵,再和Google搜尋圖庫或自己相簿裡的照片匹配後,找到照片在哪裡拍的,並標記上地標或地點名稱,比方夏威夷鑽石頭山、日本富士山...等上千個地標,都可以用這種方法自動辨識出來。

比方這照片我是某年去日本三浦半島旅行時,用RX100 Mark2拍的,並沒有加上座標,但它還是自動幫我分在Miura(三浦)這個地點分類,我其實不知道它是看到那裡得知的,可能是「三浦海岸駅」這個招牌吧。


這張在上野吃拉麵的照片也是,一樣是用RXM100 Mark2拍的,照片沒有座標,而且這種拉麵屋應該到處都是,但很神奇的地點放對了(東京都台東區--Taito),可能因為跟其他好辨識的照片是同一天同個時間拍的吧,而更神奇的是後來打上野搜尋還是找得到...


事物類型就很多,這些標籤都是它自動生成的,同類的放在一起。


目前自動分類上都不一定100%準確,尤其是事物的判斷,比方除了真的貓之外,不知為何天竺鼠也被辨識成貓


其實也不用太苛責機器,在談到機器學習時也說過,機器要靠很多很多,海量的案例來學習辨認,而且大部分面向是學「什麼是正確的特徵」,而不是學「這是錯誤的訊息」,因為如果教機器去學什麼是錯的,那一來數量太多了,二來這些訊息對機器學習來說,都算是噪音(有點干擾的意思),所以特徵相似的東西很容易就被歸為一類,
我拍天竺鼠時,其實只拍到臉的局部,不是連身體整隻都一起拍進去,不巧這天竺鼠也是耳朵尖尖的,鬍子很多,照片的訊息有限,可能因此系統誤判了。
你也可以手動選取後,把哈姆太郎從貓分類裡移除,可能有助於機器日後的判斷。


但....貓相簿裡還有TORO貓(那隻布娃娃),這是怎麼回事,它哪裡像貓?
它。是。貓。沒。錯!!
雖然我清楚知道它是貓,但電腦不知道,於是我在某張TORO貓照片裡手動加入說明,可能因為有打到「貓」這關鍵字,後來看,TORO的照片全都自動收進貓相簿了...[科科]


做複合搜尋時覺得挺神奇的,比方之前去新加坡採訪手機發表會,打上「Singapore Conference」,就真的找到了當時的照片,這次去東京採訪的Google活動也是如此搜尋找到。


以及打「美國 貓」,找到TORO貓在美國拍的照片...(其實不知為何還有些沒找到...)



在會後的QA裡,Google也提到他們其實還在逐步完善辨識成功率,Google每年都會參加「ImageNet」這個視覺辨識競賽,2014年照片偵測分類的結果,就比2013年減少了一半的錯誤率,Google也提到,其實圖片辨識每半年每半年就會有很大的進步,辨識率也會逐漸提高,但Google沒有提到目前的辨識成功率是多少。

這些影像辨識技術,是經過成千上萬個電腦的運作,才得以實現,雖然背後很複雜,但我們在前端使用時,就是很簡單的:不用手動分類,打上關鍵字就可以搜尋到我某日某主題的照片。
這些技術也有被用在Google圖片搜尋、YouTube...等產品上,雖然在後來的QA上沒有明確說自動駕駛車是不是也用了電腦視覺技術,但要判斷路標、障礙物..等以求順利駕駛,也是需要影像辨識技術的。



================================

簡報時Google相簿主講人Chris說了一個故事,前幾天他父親開刀了,因此無法自由走動,他回憶起他父親很喜歡遠足踏青,小時候曾經和父親一起到西部的某個山區健行了50英里,他記得當時的心情非常很快樂,這時候他在Google相簿上,輸入「father、hiking」,就找到了小時候的這張照片。


Google常說發展這麼多技術的最終目的,都是想要改善人類的生活。
雖然聽到這些話,心裡惡魔的那一面還是會默默的浮現這樣的OS:最終目的還是想獲利吧,而你們這些聰明人老是想著用機器取代人力,那弱勢族群怎麼辦....之類的。(但我並不像蔻蔻姐那麼勇敢當場發問...

不過低頭看看手機上的各種功能,覺得也不用把這些聰明人看得那麼邪惡。

所謂技術改善生活就是這樣,這次Google亞太區的活動,以機器學習為主題,而機器學習、電腦視覺、人工神經網路...這些名詞,聽起來很像某個火星博士生艱深論文上東西,很硬,而且我們也不一定懂它的原理(其實也不需要知道),但工程師們正在運用這些技術讓我們的生活更方便,那怕只是小小的,搜尋一張照片,或找到一間讓你幫小孩過生日的餐廳...
而且他們真的幫我把好多詐騙信丟到眼不見為淨的垃,省了我很多事,然後多出的時間可以多看一些本日星座運勢,讓我今天可以過得聰明一點(? 時間好像不是這樣用的吧...

總之我們就快樂的享用這些成果吧,如果我們可以因此覺得生活變聰明一點點了,這樣不是也很好嗎~
(但也是有點感慨自己過著跟機器一般的生活,但卻沒有機器的智慧...是怎樣是怎樣是怎樣!! 不如把我變成機器寄到Google總部給工程師們調一調可以嗎...T_T)