技術(shù)宅
微軟最近大出風(fēng)頭,他們推出的“How Old”服務(wù)可以判斷人的“顏值”年齡,已經(jīng)吸引了很多眼球,而最近他們正在研發(fā)的圖像注釋功能可能更要讓人印象深刻,它可以自動(dòng)識(shí)別出照片中的各種對(duì)象:臉、男人、女人、貓、相機(jī)等等。下面就讓我們深入了解一番,微軟研發(fā)的這個(gè)全新系統(tǒng)究竟如何實(shí)現(xiàn)對(duì)圖形里的物體的智能識(shí)別。
年齡識(shí)別——認(rèn)識(shí)How Old
How Old是微軟最近推出的一款人像識(shí)別服務(wù),我們只要登錄http://how-old.net,然后在搜索框輸入需要搜索的人物(或者點(diǎn)擊“Use your own photo”上傳本地照片),這樣在出現(xiàn)的人物搜索界面會(huì)添加一個(gè)黃色小標(biāo)簽,同時(shí)會(huì)判斷出圖片中人物的性別和年齡(圖1)。
這是微軟人工智能技術(shù)在圖片識(shí)別上的典型應(yīng)用,而近日其推出的圖像注釋功能則是在How Old的基礎(chǔ)上更進(jìn)一步,除了正確識(shí)別人臉外,它還可以識(shí)別照片中的其他物件,如照相機(jī)、頭發(fā)等,它的幕后功臣其實(shí)是微軟的Project Oxford服務(wù)。
更智能的識(shí)別——微軟Project Oxford系統(tǒng)
如上所述,圖像注釋功能擁有比How Old更強(qiáng)大的功能,它對(duì)照片其他部件的識(shí)別主要基于Project Oxford服務(wù)。Project Oxford服務(wù)是微軟在Build2015大會(huì)中發(fā)布的,這一服務(wù)主要能為Azure用戶免費(fèi)提供圖像、語(yǔ)音識(shí)別等智能REST API和SDK。其中的識(shí)別服務(wù)則主要使用其中的圖像識(shí)別API和人臉識(shí)別API。
比如對(duì)于人物的識(shí)別,微軟首先根據(jù)一定的標(biāo)準(zhǔn)為臉部識(shí)別建立復(fù)雜而龐大的數(shù)據(jù)庫(kù)。在這套識(shí)別系統(tǒng)中,微軟將人臉?lè)譃?7個(gè)標(biāo)志點(diǎn),如瞳孔、眼角、嘴角、鼻子等明顯會(huì)隨著年齡變化的部位,然后根據(jù)不同部位的變化與相應(yīng)的年齡段對(duì)應(yīng)起來(lái),從而將人臉關(guān)鍵標(biāo)記點(diǎn)量化(圖2)。
舉個(gè)簡(jiǎn)單的例子,比如皮膚褶皺是衰老的第一個(gè)重要標(biāo)志,這樣(臉部API)可借助醫(yī)用級(jí)別定義的褶皺范圍,然后通過(guò)褶皺程序來(lái)判斷照片里人的年齡。嬰兒、婦女、男人皮膚的褶皺程度是不同的,這樣當(dāng)網(wǎng)站服務(wù)器接收到一張包含上述三種人物的圖片后,微軟的Project Oxford服務(wù)首先根據(jù)人臉的主要器官(如臉、眼睛、嘴巴)將人臉識(shí)別出來(lái),接著會(huì)在后臺(tái)對(duì)人臉的褶皺進(jìn)行檢測(cè),假設(shè)褶皺程度在0~2,則判定這張人臉是嬰兒的臉部。這樣服務(wù)器會(huì)在后臺(tái)發(fā)出指令,同時(shí)在嬰兒臉部上方彈出黃色標(biāo)注框,告訴你這是一張嬰兒臉和對(duì)應(yīng)的年齡。同理,通過(guò)其他人臉的褶皺判斷出女人和男人臉(圖3)。
當(dāng)然,在實(shí)際識(shí)別服務(wù)中,僅僅依靠人臉的褶皺還無(wú)法實(shí)現(xiàn)精準(zhǔn)的判斷,Project Oxford服務(wù)還會(huì)通過(guò)照片中人臉的其他特征進(jìn)行綜合判斷。比如眼部皮膚作為人面部最薄弱最細(xì)嫩的部位,眼角、眼袋及上眼瞼都會(huì)隨著年齡的增長(zhǎng)出現(xiàn)松弛和下垂。Project Oxford服務(wù)將可以表示人年齡和性別的幾個(gè)主特征組合在一起,這樣就可以比較正確地判斷出照片中人物的性別和年齡了(圖4)。
同樣,對(duì)于照片中其他部件的識(shí)別也采用類似的方法。比如Project Oxford服務(wù)要判斷出照片中的相機(jī),首先Project Oxford也是在系統(tǒng)中建立關(guān)于相機(jī)的各種參數(shù)判斷標(biāo)準(zhǔn),指定在某個(gè)數(shù)值范圍內(nèi)的物體,如果該物體前方有突出的鏡頭則判定為相機(jī),這樣當(dāng)一張照片中有人舉著這樣一個(gè)物體時(shí),Project Oxford服務(wù)就判斷其為照相機(jī)。通過(guò)這樣的方法,Project Oxford服務(wù)就可以識(shí)別照片中的人物和其他物體,同時(shí)借助每個(gè)物體的關(guān)鍵字生成照片的說(shuō)明。
在下面這張照片中,Project Oxford會(huì)先根據(jù)識(shí)別的各個(gè)物體生成“人群”(通過(guò)識(shí)別多個(gè)人臉的識(shí)別判定)、“照相機(jī)”(通過(guò)相機(jī)參數(shù)判定)、“舉著”(通過(guò)人手的高度判定)、“女人”(通過(guò)人臉識(shí)別)、“貓”(通過(guò)女人蜷曲的頭發(fā)判定,這個(gè)是識(shí)別錯(cuò)誤)這幾個(gè)關(guān)鍵字。接著系統(tǒng)再根據(jù)實(shí)際情況對(duì)上述關(guān)鍵字進(jìn)行組合(排除貓的可能性),這樣最終就會(huì)自動(dòng)為這張照片生成一句“人群中舉著相機(jī)的一個(gè)女人”的注釋,也就比較精確地為這張照片做了文字注釋(圖5)。
不僅是好玩
Project Oxford也許會(huì)改變舊有生活
通過(guò)上面的介紹,我們了解了Project Oxford服務(wù)的強(qiáng)大功能,對(duì)于一張普通的照片,Project Oxford服務(wù)可以精確進(jìn)行識(shí)別并且添加正確的注釋。這種增強(qiáng)的人工智能會(huì)給我們生活帶來(lái)極大的便利。
在日常圖片搜索中,我們經(jīng)常需要使用模糊自然語(yǔ)言進(jìn)行搜索,如果Project Oxford服務(wù)普及了,那么微軟就可以為圖庫(kù)中的每一張照片添加精確的注釋,這樣我們?cè)谳斎胫T如“舉著相機(jī)的女人”進(jìn)行搜索時(shí),搜索引擎就可以通過(guò)檢索圖庫(kù)內(nèi)的文字注釋快速為我們推送類似上述的照片,可以大大提高我們搜索圖片的效率。
此外,由于Project Oxford服務(wù)可以自動(dòng)識(shí)別圖片中的人物和物品,這樣當(dāng)我們需要在視頻監(jiān)控(視頻可以自動(dòng)截取為圖片)中查找某人的時(shí)候,如生活中的逃犯或者丟失的親人,借助Project Oxford的自動(dòng)識(shí)別服務(wù)就可以很快在眾多視頻中找到目標(biāo)人物。