這些年計算機(jī)視覺識別和搜索這個領(lǐng)域非常熱鬧熟空,后期出現(xiàn)了很多的創(chuàng)業(yè)公司陨界,大公司也在這方面也花了很多力氣在做。做視覺搜索痛阻,其實是深度學(xué)習(xí)(或人工智能)領(lǐng)域最重要的研究課題之一菌瘪,在現(xiàn)實生活中有著非常廣泛的應(yīng)用。
通常阱当,視覺搜索包含了兩步任務(wù):首先俏扩,待搜索物體的檢測與定位;其次弊添,從庫(知識圖譜录淡、圖片庫、信息庫等)中搜索該物體油坝,或查詢相關(guān)聯(lián)的場景嫉戚。比如從簡單的以圖搜圖、車牌識別澈圈,到人臉識別彬檀、植物或?qū)櫸锏淖R別,人體或車輛的跟蹤瞬女,無人機(jī)窍帝、無人汽車的自動駕駛,智能機(jī)器人等領(lǐng)域诽偷,都離不開計算機(jī)視覺搜索技術(shù)坤学,這也是此次谷歌開源基于 TensorFlow 的物體檢測代碼的意義所在疯坤。
谷歌此次開源版本中已經(jīng)實現(xiàn)的 Faster R-CNN、R-FCN深浮、SSD 檢測算法之外压怠,還有不少其他檢測算法,如除 SSD 外飞苇,另一款端到端的檢測算法:YOLO(You Only Look Once)刑峡,精度可能略遜于 Faster R-CNN(非絕對,不同的數(shù)據(jù)玄柠、網(wǎng)絡(luò)設(shè)計會導(dǎo)致差異)橱鹏,但檢測速度較快搭幻。后續(xù)的 YOLO 9000(YOLO 升級版)鲁森,論文提到能夠檢測識別超過 9000 類的物體序苏,而且檢測更加快速、準(zhǔn)確这弧。
計算機(jī)能夠比以往更快更精準(zhǔn)的識別圖片娃闲,但它們需要大量數(shù)據(jù)。所以ImageNet 和 Pascal VOC 經(jīng)過多年積累建立了包含幾百萬張圖片的龐大且免費的數(shù)據(jù)集匾浪,用描述圖片內(nèi)容的關(guān)鍵詞為圖片做好了標(biāo)簽皇帮,包括貓、山蛋辈、披薩和體育活動等属拾。這些開源數(shù)據(jù)集是使用機(jī)器學(xué)習(xí)進(jìn)行圖像識別的基礎(chǔ)。
ImageNet 每年一度的圖像識別挑戰(zhàn)賽眾所周知冷溶,ImageNet 由斯坦福大學(xué)和普林斯頓大學(xué)的計算機(jī)科學(xué)家在2009年發(fā)起渐白,當(dāng)時有 80,000 張打好標(biāo)簽的圖片,到今天這個數(shù)據(jù)已經(jīng)增加到 140 萬張逞频,這些數(shù)據(jù)可以隨時被用來進(jìn)行機(jī)器訓(xùn)練纯衍。
Pascal VOC 由英國的幾所大學(xué)支持,他們的圖片數(shù)量較少苗胀,但每張圖片有著更加豐富的釋文襟诸。這提升了機(jī)器學(xué)習(xí)的準(zhǔn)確度和應(yīng)用范圍,加快了整個過程基协,因為它可以省略掉一些繁重的子任務(wù)歌亲。
如今,谷歌堡掏、Facebook 等科技巨頭应结、創(chuàng)業(yè)公司、高校等都在使用這些開源圖片集來喂養(yǎng)他們的機(jī)器學(xué)習(xí)泉唁,但科技巨頭還享受另外一項優(yōu)勢鹅龄,谷歌和 Facebook 可以從 Google Photos 社交網(wǎng)絡(luò)上獲取數(shù)百萬張用戶已經(jīng)標(biāo)記好的圖片。你之前有沒有考慮過亭畜,為何谷歌和 Facebook 會讓你免費上傳如此多圖片扮休?原因就在于這些圖片可以將他們的深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練的更加準(zhǔn)確。
一拴鸵、舉例說明:
亞馬遜出品的Firefly當(dāng)時引起了很大的轟動雖然這個產(chǎn)品也很難說是不是成功但是當(dāng)時確實是很大膽的一個舉動玷坠。
百度也有圖像搜索和圖像識別微軟也有。
Google很早也有了Google Goggles這個產(chǎn)品雖然技術(shù)跟現(xiàn)在有很大的差別劲藐。
Pinterest在去年也有這樣的功能問世就是在它自己的分享照片上可以去搜相似的照片或者是相似的產(chǎn)品八堡。
阿里巴巴的一個圖片搜索——拍立淘強(qiáng)調(diào)的是用自己手機(jī)去拍照片去搜索網(wǎng)上相同或者相似的商品。
二聘芜、如果想構(gòu)建一個圖像搜索引擎兄渺,那如何對圖像進(jìn)行搜索呢?
一種方式是依賴于與圖像相關(guān)聯(lián)的標(biāo)簽汰现、關(guān)鍵字和文字描述挂谍,這種稱為標(biāo)簽搜索,或者叫以文搜圖瞎饲。
另一種方式是通過量化圖像并提取一組數(shù)字來表示圖像的顏色口叙、紋理或者形狀,然后通過對比圖像之間相似度來搜索圖像嗅战,這種成為范例搜索妄田,或者叫以圖搜圖。
最后一種是結(jié)合前面兩種方式驮捍,既依賴與圖像相關(guān)的文字信息形庭,也同時量化圖像本身,稱為混合搜索厌漂。
圖像搜索引擎有3種類型:標(biāo)簽搜索萨醒、范例搜索和混合搜索??
標(biāo)簽搜索
在谷歌或百度輸入關(guān)鍵字并點擊搜索按鈕,這是我們熟悉的文本搜索方式苇倡,而圖像的標(biāo)簽搜索與文本搜索很相似富纸。圖像的標(biāo)簽搜索引擎很少關(guān)注圖像本身,而依賴于文字線索旨椒。這些線索可以有各種來源晓褪,但主要方法是:
手動注釋:在這種情況下,管理員或者用戶提供圖像內(nèi)容的標(biāo)簽和關(guān)鍵字综慎;
上下文提示:通常涣仿,上下文提示僅適用于網(wǎng)頁。與手動注釋我們必須人工提取標(biāo)簽不同,上下文提示會自動檢查圖像周圍的文字內(nèi)容或圖片標(biāo)簽好港。這種方法的缺點是我們要假設(shè)圖像的內(nèi)容與網(wǎng)頁上的文本有關(guān)愉镰。這可能適用于諸如百度百科這樣的網(wǎng)站,其頁面上的圖像與文章的內(nèi)容高度相關(guān)钧汹;
范例搜索:
這些類型的圖像搜索引擎嘗試量化圖像本身丈探,稱為基于內(nèi)容的圖像檢索(CBIR)系統(tǒng)。一個簡單的例子是通過圖像中像素強(qiáng)度的平均值碗降,標(biāo)準(zhǔn)偏差和偏度來表征圖像的顏色塘秦。(如果只是構(gòu)建一個簡單的圖像搜索引擎,在許多情況下尊剔,這種方法實際效果很好)
對于給定的圖像數(shù)據(jù)集赋兵,將數(shù)據(jù)集中的所有圖像都計算出特征值笔咽,并將其存儲在磁盤上霹期。當(dāng)我們量化圖像時历造,我們描述圖像并提取圖像特征吭产。這些圖像特征是圖像的抽象臣淤,并用于表征圖像內(nèi)容姓蜂,從圖像集合中提取特征的過程稱為索引钱慢。
假定現(xiàn)在我們從數(shù)據(jù)集中的每一個圖像中都提取出了特征束莫,如何進(jìn)行搜索呢览绿?第一步是為我們的系統(tǒng)提供一個查詢圖像挟裂,這是我們在數(shù)據(jù)集中尋找的一個范例。查詢圖像以與索引圖像完全相同的方式提取特征渠啤。然后我們使用距離函數(shù)(如歐式距離)將我們的查詢特征與索引數(shù)據(jù)集中的特征進(jìn)行比對沥曹。然后根據(jù)相似性(歐幾里德距離越小意味著越相似)的結(jié)果進(jìn)行排序并顯示出來。
混合方式:
假如我們正在為Twitter建立一個圖像搜索引擎壶栋。Twitter允許在推文中使用圖片贵试。同時,Twitter也允許你給自己的推文提供標(biāo)簽桑滩。我們可以使用推文標(biāo)簽來建立圖像的標(biāo)簽搜索运准,然后分析和量化圖像本身特征,建立范例搜索听哭。這樣做的方式就是構(gòu)建一個混合圖像搜索引擎陆盘,其中包括文本關(guān)鍵字以及從圖像中提取的特征太防。
最好的例子就是谷歌的圖像搜索蜒车。谷歌的圖像搜索是實際通過分析圖像本身特征來進(jìn)行搜索,但是谷歌首先是一個文本搜索引擎嬉挡,因此它也允許你通過標(biāo)簽進(jìn)行搜索庞钢。
三、文本搜索又可以細(xì)分為三種
? 第一種用人來對文本做標(biāo)記
最早期上個世紀(jì)七八十年代時是很小的圖片集 是通過人來添加圖像的文本標(biāo)簽然后通過文本來搜索就夠了阱穗。之后就發(fā)展到了2004年前后的社交媒體時代那個時候像Flicker上圖片的Tag雖然也是人加的但是通過草根人群加的量就變得非常地大。通過這個也能做比較不錯的圖片搜索鲁僚。再往后的標(biāo)注就不是人給自己的圖片加標(biāo)簽了而是通過設(shè)計一些標(biāo)注的平臺——比較有名的是Google收購的Image Labeler——以游戲的方式對圖片進(jìn)行標(biāo)注。這些標(biāo)注當(dāng)然可以用來做圖像的搜索這就是通過人工加文本標(biāo)注的方式進(jìn)行圖像的搜索拓挥。
第二種通過網(wǎng)頁的文本對圖片進(jìn)行索引
目前的互聯(lián)網(wǎng)通用圖片搜索引擎基本上都是基于這一套技術(shù)侥啤。通過網(wǎng)頁的文本來對圖片進(jìn)行索引當(dāng)然這里面也涉及到很多的細(xì)節(jié)包括怎樣從網(wǎng)頁上提取有效的文字以及2008年之后也有很多圖像分析的內(nèi)容引進(jìn)到基于網(wǎng)頁的圖片搜索里來蚁鳖。也就是說雖然圖像是網(wǎng)頁中的圖片但是也會對其進(jìn)行內(nèi)容分析——不管是打標(biāo)簽還是特征抽取等——來改進(jìn)文本搜索存在的一些缺陷提升搜索的精準(zhǔn)性。
第三種自動標(biāo)注
大量的學(xué)術(shù)論文是這個方向上的一種叫concept detection或者叫tagging讥裤。規(guī)模上小到幾十個坞琴、幾百個大到上千個寒亥、上萬個的標(biāo)簽褂傀。
四仙辟、這一類嚴(yán)格來講又可細(xì)分為幾類:
Predefined categories。比如預(yù)先定好只分一千類然后就去訓(xùn)練一個分類器把這個圖片標(biāo)好粟焊。不限定標(biāo)簽的范圍或者說標(biāo)簽的范圍非常大然后去學(xué)習(xí)圖片和標(biāo)簽的一個共同的描述方式從而可以實現(xiàn)近似于free text的文本標(biāo)注。
Implicit tagging即隱式的自動標(biāo)注香追。搜索引擎在運行的過程中用戶在搜索時會點擊搜索結(jié)果這個時候搜索的詞和搜索的結(jié)果就通過被點擊這個動作建立起了一個關(guān)聯(lián)這種方式也可以認(rèn)為是一種標(biāo)注歪玲。雖然它有一些噪聲但是實際上也是非常有效的并且也可以用一些方法降低其噪聲甚至在相似圖像之間傳遞標(biāo)簽從而擴(kuò)大標(biāo)簽的覆蓋率滥崩。這種標(biāo)注對基于網(wǎng)頁的圖像搜索引擎對搜索質(zhì)量的提升起到了非常關(guān)鍵的作用。
五短条、圖像搜索——從火熱到?jīng)]落再到興起
最早在二十世紀(jì)九十年代時那個時候叫做CBIR(Content-Based Image Retrieval)即基于內(nèi)容的圖像檢索。但是那時基本上只能在幾千可都、幾萬幅圖上進(jìn)行檢索而且檢索的效果很難保證。當(dāng)時有一個一直流行到現(xiàn)在的詞叫做“語義鴻溝”這也是當(dāng)時我們經(jīng)常用來質(zhì)疑基于圖像的搜索或CBIR到底靠不靠譜签杈。
圖像搜索的沒落直到2008年左右才有所起色當(dāng)時出現(xiàn)了一家叫TinEye的公司提供這樣一種網(wǎng)絡(luò)服務(wù)你提交一個圖片后它可以幫你找互聯(lián)網(wǎng)上跟此圖非常相似的圖片。當(dāng)你的圖像再往大到千萬、億級甚至到十億睁壁、千億級別的時候就沒有辦法了。所以此時就要把圖片進(jìn)行索引钳降,索引在文本搜索里面是通過倒排的方法來做這個是非常容易實現(xiàn)的遂填。但是圖像不一樣圖像的描述是它的特征而這個特征是一個向量撵幽。
那如何用高維的特征去建索引的方法:
Partition tree是用各種各樣tree的方法把數(shù)據(jù)進(jìn)行分割、分塊使得查找起來比較方便链烈。
Hashing關(guān)于圖像搜索的Paper基本上都是在做Hashing。
Neighborhood Graph用鄰接圖的方法來建索引的方法漩勤。
Invert Index把所有的圖像特征轉(zhuǎn)化成視覺詞然后用倒排的方法來做。
這幾個方法之間基本上都是可以互相轉(zhuǎn)化的當(dāng)然轉(zhuǎn)化時有時是有信息損失的。如果做大規(guī)模的、數(shù)據(jù)量非常大的圖像搜索我個人認(rèn)為用倒排的方法來做比較合適筑累。
深度學(xué)習(xí)用在圖片搜索當(dāng)中:
深度學(xué)習(xí)出來之后可以讓我們?nèi)グ凑兆约核胍_(dá)到的目標(biāo)去學(xué)習(xí)一個神經(jīng)網(wǎng)絡(luò)通過這個神經(jīng)網(wǎng)絡(luò)去抽取圖像的特征。實際上搜索跟識別是密不可分的尤其是在做大規(guī)模圖像搜索時識別镜沽、檢測必不可少。識別有時也是要通過搜索來完成的译打,例如如果你類別非常多的時候往往要通過搜索的方法來實現(xiàn)而不是通過模型的方法來做識別奏司。所以搜索和識別在大數(shù)據(jù)時代的界限變得越來越模糊了它們之間互相需要互相利用。
六、為什么使用OpenCV+Python實現(xiàn)圖像搜索引擎呢勉吻?
首先,OpenCV是一個開源的計算機(jī)視覺處理庫短纵,在計算機(jī)視覺、圖像處理和模式識別中有廣泛的應(yīng)用悠就。接口安全易用,而且跨平臺做的相當(dāng)不錯,是一個不可多得的計算機(jī)圖像及視覺處理庫梭冠。
其次,Python的語法更加易用润脸,貼近自然語言倒堕,極為靈活。雖然計算效率并不高骤宣,但快速開發(fā)上它遠(yuǎn)勝于C++或其他語言,引入pysco能夠優(yōu)化python代碼中的循環(huán),一定程度上縮小與C/C++在計算上的差距锰霜。而且圖像處理中需要大量的矩陣計算,引入numpy做矩陣運算能夠降低編程的冗雜度,更多地把精力放在匹配的邏輯上,而非計算的細(xì)枝末節(jié)。
?圖片搜索引擎算法及框架設(shè)計:
基本步驟
采用顏色空間特征提取器和構(gòu)圖空間特征提取器提取圖像特征奕巍。
圖像索引表構(gòu)建驅(qū)動程序生成待搜索圖像庫的圖像特征索引表。
圖像搜索引擎驅(qū)動程序執(zhí)行搜索命令匾委,生成原圖圖像特征并傳入圖片搜索匹配器。
圖片搜索匹配內(nèi)核執(zhí)行搜索匹配任務(wù)挨措。返回前l(fā)imit個最佳匹配圖像。
所需模塊
numpy。科學(xué)計算和矩陣運算利器奋救。
cv2。OpenCV的python模塊接入。
re狡汉。正則化模塊。解析csv中的圖像構(gòu)圖特征和色彩特征集。
csv。高效地讀入csv文件畏梆。
glob宪巨。正則獲取文件夾中文件路徑。
argparse。設(shè)置命令行參數(shù)龄寞。
封裝類及驅(qū)動程序
顏色空間特征提取器ColorDescriptor滔金。
類成員bins。記錄HSV色彩空間生成的色相餐茵、飽和度及明度分布直方圖的最佳bins分配科阎。bins分配過多則可能導(dǎo)致程序效率低下,匹配難度和匹配要求過分苛嚴(yán)忿族;bins分配過少則會導(dǎo)致匹配精度不足锣笨,不能表證圖像特征道批。
成員函數(shù)getHistogram(self, image, mask, isCenter)错英。生成圖像的色彩特征分布直方圖。image為待處理圖像隆豹,mask為圖像處理區(qū)域的掩模椭岩,isCenter判斷是否為圖像中心,從而有效地對色彩特征向量做加權(quán)處理璃赡。權(quán)重weight取5.0簿煌。采用OpenCV的calcHist()方法獲得直方圖,normalize()方法歸一化鉴吹。
成員函數(shù)describe(self, image)。將圖像從BGR色彩空間轉(zhuǎn)為HSV色彩空間(此處應(yīng)注意OpenCV讀入圖像的色彩空間為BGR而非RGB)惩琉。生成左上豆励、右上、左下、右下良蒸、中心部分的掩模技扼。中心部分掩模的形狀為橢圓形。這樣能夠有效區(qū)分中心部分和邊緣部分嫩痰,從而在getHistogram()方法中對不同部位的色彩特征做加權(quán)處理剿吻。
構(gòu)圖空間特征提取器StructureDescriptor。
類成員dimension串纺。將所有圖片歸一化(降低采樣)為dimension所規(guī)定的尺寸丽旅。由此才能夠用于統(tǒng)一的匹配和構(gòu)圖空間特征的生成。
成員函數(shù)describe(self, image)纺棺。將圖像從BGR色彩空間轉(zhuǎn)為HSV色彩空間(此處應(yīng)注意OpenCV讀入圖像的色彩空間為BGR而非RGB)榄笙。返回HSV色彩空間的矩陣,等待在搜索引擎核心中的下一步處理祷蝌。
圖片搜索匹配內(nèi)核Searcher茅撞。
類成員colorIndexPath和structureIndexPath。記錄色彩空間特征索引表路徑和結(jié)構(gòu)特征索引表路徑巨朦。
成員函數(shù)solveColorDistance(self, features, queryFeatures, eps = 1e-5)米丘。求features和queryFeatures特征向量的二范數(shù)。eps是為了避免除零錯誤糊啡。
成員函數(shù)solveStructureDistance(self, structures, queryStructures, eps = 1e-5)拄查。同樣是求特征向量的二范數(shù)。eps是為了避免除零錯誤悔橄。需作統(tǒng)一化處理靶累,color和structure特征向量距離相對比例適中,不可過分偏頗癣疟。
成員函數(shù)searchByColor(self, queryFeatures)挣柬。使用csv模塊的reader方法讀入索引表數(shù)據(jù)。采用re的split方法解析數(shù)據(jù)格式睛挚。用字典searchResults存儲query圖像與庫中圖像的距離邪蛔,鍵為圖庫內(nèi)圖像名imageName,值為距離distance扎狱。
成員函數(shù)transformRawQuery(self, rawQueryStructures)侧到。將未處理的query圖像矩陣轉(zhuǎn)為用于匹配的特征向量形式。
成員函數(shù)searchByStructure(self, rawQueryStructures)淤击。類似4匠抗。
成員函數(shù)search(self, queryFeatures, rawQueryStructures, limit = 3)。將searchByColor方法和searchByStructure的結(jié)果匯總污抬,獲得總匹配分值汞贸,分值越低代表綜合距離越小绳军,匹配程度越高。返回前l(fā)imit個最佳匹配圖像矢腻。
圖像索引表構(gòu)建驅(qū)動index.py门驾。
引入color_descriptor和structure_descriptor。用于解析圖片庫圖像多柑,獲得色彩空間特征向量和構(gòu)圖空間特征向量奶是。
用argparse設(shè)置命令行參數(shù)。參數(shù)包括圖片庫路徑竣灌、色彩空間特征索引表路徑聂沙、構(gòu)圖空間特征索引表路徑。
用glob獲得圖片庫路徑帐偎。
生成索引表文本并寫入csv文件逐纬。
可采用如下命令行形式啟動驅(qū)動程序。
dataset為圖片庫路徑削樊。color_index.csv為色彩空間特征索引表路徑豁生。structure_index.csv為構(gòu)圖空間特征索引表路徑。
圖像搜索引擎驅(qū)動searchEngine.py漫贞。
引入color_descriptor和structure_descriptor甸箱。用于解析待匹配(搜索)的圖像,獲得色彩空間特征向量和構(gòu)圖空間特征向量迅脐。
用argparse設(shè)置命令行參數(shù)芍殖。參數(shù)包括圖片庫路徑、色彩空間特征索引表路徑谴蔑、構(gòu)圖空間特征索引表路徑豌骏、待搜索圖片路徑。
生成索引表文本并寫入csv文件隐锭。
可采用如下命令行形式啟動驅(qū)動程序窃躲。
dataset為圖片庫路徑。color_index.csv為色彩空間特征索引表路徑钦睡。structure_index.csv為構(gòu)圖空間特征索引表路徑蒂窒,query/pyramid.jpg為待搜索圖片路徑。
七荞怒、圖像搜索系統(tǒng)的四個基本要求
在索引建立的過程首先我們要到互聯(lián)網(wǎng)上去找到這些圖發(fā)現(xiàn)它以后還要選擇它洒琢。因為互聯(lián)網(wǎng)上的圖很多不可能把所有的圖都放在索引里面去,這時候就涉及到應(yīng)該把什么圖放進(jìn)去才能滿足用戶的搜索需求褐桌。這個要求是說選擇出來的圖片應(yīng)該能滿足當(dāng)前時間點上大部分人搜索的需求就可以了衰抑,這實際上會轉(zhuǎn)換成為一個機(jī)器學(xué)習(xí)的問題來解決。
選擇好后就要進(jìn)行理解和索引要知道這個圖片里有什么內(nèi)容荧嵌。如果基于網(wǎng)頁就要從網(wǎng)頁上抽信息停士,如果是完全基于圖像就要抽取圖像的特征進(jìn)行理解并建索引挖帘。建立索引以后再把這些索引推到搜索服務(wù)的機(jī)器上去,比如一個互聯(lián)網(wǎng)圖片搜索引擎這個時候可能要幾千臺機(jī)器才能hold住這個圖片庫的索引恋技。
視覺搜索關(guān)鍵要求:
第一個是相關(guān)性:這是一個最基本的要求。當(dāng)給了一幅圖像進(jìn)去出來的東西要跟給出的圖像要是相關(guān)的逻族。如何定義“相關(guān)”一般對于圖片搜索而言基本上是認(rèn)為“跟它一樣”或者是“相像”蜻底。例如產(chǎn)品同款產(chǎn)品不管顏色是否一樣但它是相同的東西這就叫做相關(guān)性。相關(guān)性一般來說是做搜索的人最關(guān)心的一個問題聘鳞;
第二個是覆蓋率:這就跟產(chǎn)品非常相關(guān)薄辅。不是我只能搜衣服不能搜其他的商品或者我只能搜商品又不能搜別的東西。否則用戶的體驗就很不好抠璃,甚至是在電商的搜索引擎里面如果用戶輸入了一個非商品我們該怎么反饋給用戶這都是涉及到覆蓋率的問題站楚。
第三個是伸縮性:①是否能夠高效快速地處理大量的商品和商品的變化即是否能夠非常快速地將大量商品放到索引里面去而且索引能夠很方便地更新搏嗡,也就是對于商品建造索引過程而言的一個伸縮性窿春。②能否響應(yīng)大量用戶的搜索請求,即當(dāng)有大量的用戶同時訪問搜索服務(wù)時要能夠快速地響應(yīng)所有的請求采盒。
第四是用戶體驗:比較偏交互式用戶界面設(shè)計方面旧乞;
八、商品圖片搜索相關(guān)關(guān)鍵技術(shù)
首先要知道一個圖片的大致類型磅氨。例如如果是一個商品需要知道它到底是上衣——是男士的上衣還是女士的上衣還是鞋子等尺栖。這樣來避免搜索出的結(jié)果完全不靠譜,這個我們一般把它叫做分類或識別烦租。
主體的檢測:主體的檢測方法在計算機(jī)視覺領(lǐng)域也有很多快速的方法基本上是先要找Proposal Window然后對其進(jìn)行分類延赌。這個場景通常要求速度非常快一個搜索請求進(jìn)來后所有的操作——包括上述分類叉橱、主體檢測以及后面的一些步驟到最終的返回結(jié)果——都是要在幾百毫秒之內(nèi)返回給用戶的挫以。因此我們的Proposal Window就不能那么多,否則計算量就相當(dāng)?shù)拇笊统伲赃@就會涉及到后續(xù)Proposal Window的refinement這樣一個步驟屡贺。
圖像特征來描述:基本方法還是是利用深度學(xué)習(xí)這個工具,force神經(jīng)網(wǎng)絡(luò)收斂到一個地方使得特征輸出能夠反映出這個商品的特性例如些種類锌杀、風(fēng)格甩栈、圖案、顏色等糕再。
覆蓋率分為三個角度來講:
索引的覆蓋率量没。這是我們一般提到覆蓋率時所指的含義。簡單說就是索引里多少貨商品當(dāng)然是越多越好種類越全越好這個比較容易理解突想。
特征的覆蓋率殴蹄。特征的覆蓋率是指商品的描述能夠覆蓋各個種類不是只能做鞋子或只能做服裝而不能做別的東西甚至非商品是不是能做究抓。為了描述的精準(zhǔn)、描述能力的優(yōu)化實際上不同的類型一般用不同的特征來描述袭灯。
搜索的覆蓋率刺下。這個覆蓋率是電商場景下所獨有的,因為電商只有商品圖像的索引沒有別的索引稽荧;那么用戶如果輸入的不是電商產(chǎn)品的圖片該怎么辦橘茉?比如用戶在街上看到一條很可愛的狗并拍照后在平臺上搜索該怎么處理呢?這個時候我們可以把狗識別出來然后返回給用戶一些狗相關(guān)的產(chǎn)品這是一種解決方案姨丈。如果是風(fēng)景畅卓、食品的話也可以對風(fēng)景進(jìn)行識別對食品里面的熱量進(jìn)行識別然后把這些信息返回給用戶。
伸縮性的實現(xiàn)方式主要有兩種:
第一種是通過系統(tǒng)的方法蟋恬,也就是通過大量的機(jī)器來實現(xiàn)翁潘。索引技術(shù)有了系統(tǒng)的方法來實現(xiàn)因此對索引的要求其實沒有那么高,有很多方法都可以完全滿足搜索系統(tǒng)的構(gòu)建需求歼争。正如講搜索引擎架構(gòu)時所述索引會分到很多機(jī)器上去拜马,那么只要做到每一臺機(jī)器上的數(shù)據(jù)搜索效率足夠高的話那么這個系統(tǒng)就可以完成大規(guī)模的搜索任務(wù)。
第二種是通過算法矾飞,對于算法而言就集中在一臺機(jī)器上怎么樣做到高效一膨。
九、圖像識別技術(shù):
圖像識別技術(shù)是數(shù)字圖像處理和模式識別技術(shù)相結(jié)合的產(chǎn)物洒沦。數(shù)字圖象處理是利用計算機(jī)或其他數(shù)字設(shè)備對圖像信息進(jìn)行各種加工和處理豹绪,以滿足目標(biāo)識別需求的基礎(chǔ)行為。模式識別研究如何用機(jī)器來實現(xiàn)人對事物的學(xué)習(xí)申眼、識別和判斷能力瞒津,因而是以滿足目標(biāo)識別的判斷行為。
為了模擬人類圖像識別活動括尸,人們提出了不同的圖像識別模型巷蚪。例如,模版匹配模型濒翻。這種模型認(rèn)為屁柏,識別圖像中的某個物體,必須在過去的經(jīng)驗中有有這個圖像對對物體的記憶模式有送,又叫模板淌喻,當(dāng)前的刺激如果能與大腦中的模板相匹配,這個物體就被識別了雀摘。
圖像識別的基本過程是抽取代表未知樣本模式的本質(zhì)表達(dá)形式(如各種特征)和預(yù)先存儲在機(jī)器中的標(biāo)準(zhǔn)模式表達(dá)形式的集合(稱為字典)逐一匹配裸删,用一定的準(zhǔn)則進(jìn)行判別,在機(jī)器存儲的標(biāo)準(zhǔn)模式表達(dá)形式的集合中阵赠,找到最接近輸入樣本子模式的表達(dá)形式涯塔,該表達(dá)模式對應(yīng)的類別就是識別結(jié)果肌稻。因此,圖像識別技術(shù)是一種從大量信息和數(shù)據(jù)出發(fā)匕荸,在已有經(jīng)驗和認(rèn)識的基礎(chǔ)上爹谭,利用計算機(jī)和數(shù)學(xué)推理的方法自動完成圖像中物體的識別和評價的過程秽誊。
圖像識別過程包括圖像采集(特征分析)映砖、圖像預(yù)處理、特征提取禾蚕、模式匹配4個環(huán)節(jié)药薯。
首先,通過高清攝像機(jī)救斑、掃描儀或其他圖像采集儀器采集圖像的原始信息童本。傳統(tǒng)的全局特征表示方法,如顏色脸候、形狀穷娱、紋理等特征,簡單直觀运沦,但易受光照泵额、裁剪、旋轉(zhuǎn)携添、噪聲等因素的影響嫁盲,目前基本只作為輔助手段。
圖像預(yù)處理的作用可以總結(jié)為:采用某種手段將圖像信息歸一化烈掠,以便于后續(xù)處理工作羞秤。圖像特征提取部分的作用是提取出最能表征一個物體的特征信息,并將其轉(zhuǎn)變成特征向量或矩陣的形式左敌。模式匹配是指系統(tǒng)用待測圖像的特征與特征庫中的信息進(jìn)行比對瘾蛋,通過選擇合適的分類器達(dá)到識別的目的。
1.圖像預(yù)處理
圖像預(yù)處理技術(shù)就是對圖像進(jìn)行正式處理前所做的一系列操作矫限。圖像預(yù)處理技術(shù)分為兩大方面哺哼,即圖像增強(qiáng)和圖像復(fù)原技術(shù)。圖像增強(qiáng)技術(shù)在圖像預(yù)處理中占有較大的比重叼风,是圖像預(yù)處理所必需的步驟取董,它與圖像復(fù)原技術(shù)的不同之處在于圖像復(fù)原是以恢復(fù)圖像原來的本質(zhì)為目的的。
一般來說咬扇,圖像增強(qiáng)技術(shù)有兩種方法:空間域和頻率域法甲葬。空間域法則主要是直接在空間域內(nèi)對圖像進(jìn)行運算處理懈贺,分為兩個方面:點運算和領(lǐng)域運算(局部運算)经窖。其中坡垫,點運算包括圖像灰度變換、直方圖均衡化和局部統(tǒng)計法等幾種方法画侣;
領(lǐng)域運算包括圖像平滑和圖像銳化等幾個方面冰悠。頻率域法則只在圖像的某種變換域里對圖像的變換值進(jìn)行運算,如我們對圖像進(jìn)行傅立葉變換配乱,然后在變換域里對圖像的頻譜進(jìn)行某種計算溉卓,最后把計算后的圖像逆變換到空間域。頻率域法通常分為高搬泥、低通濾波桑寨、頻率帶通和帶阻濾波等。圖像復(fù)原技術(shù)就是利用圖像的先驗知識來改變一副被退化的圖像的過程忿檩。圖像復(fù)原技術(shù)需要我們建立圖像模型尉尾,然后逆向反解這個退化過程,最后獲得退化前的最優(yōu)圖像燥透。
2.變換域處理
圖像變換域處理是以空間頻率(波數(shù))為自變量描述圖像的特征的沙咏,可以將一幅圖像元值在空間上的變化分解為具有不同振幅、空間頻率和相位的簡振函數(shù)的線性疊加班套,圖像中各種空間頻率成分和分布稱為空間頻譜肢藐。這種對圖像的空間頻率特征進(jìn)行分解、處理和分析稱為空間頻率域處理或波數(shù)域處理吱韭。在眾多的圖像變換技術(shù)中吆豹,常用的有離散余弦變換、沃什爾變換杉女、傅立葉變換瞻讽、Gabor變換和小波變換等。
(1)離散余弦變換DCT變換矩陣的基向量由于近似于托伯利茲向量熏挎,常常被認(rèn)為是對語言和圖像信號進(jìn)行變換的最佳變換速勇,雖然在壓縮效率上略遜于具有最好壓縮能力的K-L變換,但其可做到的高效處理型是K-L變換無法比擬的坎拐,并成為H.261烦磁、JPEG和MPEG等國際標(biāo)準(zhǔn)的主要環(huán)節(jié)。被廣泛應(yīng)用于圖像編碼方面哼勇。
(2)沃什爾變換是一種正交變換都伪,能將相鄰取樣點的相關(guān)性消除掉,使信號能量集中在變換矩陣的左上角积担,其它部分出現(xiàn)很多零值陨晶;或在誤差允許范圍內(nèi),允許省略掉小值,這樣可以達(dá)到數(shù)據(jù)壓縮的目的先誉。沃什爾變換在圖像傳輸湿刽、雷達(dá)、通信和生物醫(yī)學(xué)等領(lǐng)域曾得到廣泛應(yīng)用褐耳。
(3)傅立葉變換是一種常用的正交變換诈闺,其最主要的數(shù)學(xué)理論基礎(chǔ)就是傅立葉級數(shù),由著名數(shù)學(xué)家Fourier在1822年提出铃芦,其主要思想是將周期函數(shù)展開成正弦級數(shù)雅镊。傅立葉變換的提出奠定了圖像的理論基礎(chǔ),其通過在時空域和頻率域來回切換圖像刃滓,對圖像的信息特征進(jìn)行提取和分析仁烹,簡化了計算工作量,被喻為描述圖像信息的第二種語言咧虎,廣泛應(yīng)用于圖像變換晃危、圖像編碼與壓縮、圖像分割和圖像重建中老客。
(4)Gabor變換屬于加窗傅立葉變換,是短時Fourier變換中當(dāng)窗函數(shù)取為高斯函數(shù)時的一種特殊情況震叮。由于傅立葉變換存在一定的局限性胧砰,所以Gabor1946年提出了加窗傅立葉變換。加窗傅立葉變換方法的一個典型就是低通濾波器苇瓣。Gabor 函數(shù)可以在頻域不同尺度和不同方向上提取相關(guān)特征尉间。
(5)小波變換受到傅立葉變換的啟發(fā),Morlet于1984年提出了小波分析的概念击罪。1986年著名數(shù)學(xué)家Meyer和Mallat合作構(gòu)建了圖像小波函數(shù)的統(tǒng)一方法——多尺度分析哲嘲。目前在圖像去噪應(yīng)用方面,小波變換理論取得非常好的效果媳禁。
頻率域去噪主要是由于有的圖像在空間域處理的效果并不理想眠副,因此想到轉(zhuǎn)換到頻率域進(jìn)行處理,即用一組正交的函數(shù)系去逼近要處理的目標(biāo)函數(shù)竣稽,從而進(jìn)一步得到相應(yīng)級數(shù)的系數(shù)囱怕。頻率域處理主要用于與圖像空間頻率有關(guān)的處理中,如圖像恢復(fù)毫别、圖像重建娃弓、輻射變換、邊緣增強(qiáng)岛宦、圖像平滑台丛、噪聲壓制、頻譜分析和紋理分析等處理和分析中砾肺。
3.特征提取
特征提取計算機(jī)所視覺和圖像處理中的一個概念挽霉,它指的是使用計算機(jī)提取圖像信息防嗡,決定每個圖像的點是否屬于一個圖像特征。特征提取的結(jié)果是把圖像上的點分為不同的子集炼吴,這些子集往往屬于孤立的點本鸣、連續(xù)曲線或者連續(xù)的區(qū)域。
(1)特征選擇
原始數(shù)量的特征很大硅蹦,或者說原始樣本處于一個高維空間中荣德,從一組特征挑選出一些最有效的特征以達(dá)到降低特征空間維數(shù)的目的,這個過程就叫做特征選擇童芹。也就是說涮瞻,將對類別可分離性無貢獻(xiàn)或者貢獻(xiàn)不大的特征簡單地忽略掉。特征選擇是圖像識別中的一個關(guān)鍵問題假褪。
(2)特征變換
通過映射或變換的方法可以將高維空間中的特征描述用低維空間的特征來描述署咽,這個過程就叫做特征變換。通過特征變換獲得的特征是原始特征集的某種組合生音,新的特征中包含了原有全體特征的信息宁否。主成份分析法是最常用的特征變換方法。
特征的選擇與提取是非常重要的缀遍,特征選擇是模式識別中的一個關(guān)鍵問題慕匠。由于在很多實際問題中常常不容易找到那些最重要的特征,或受條件限制不能對它們進(jìn)行測量域醇,這就使特征選擇與提取的任務(wù)復(fù)雜化而成為構(gòu)造模式識別系統(tǒng)中最困難的任務(wù)之一台谊。
特征選擇與提取的基本任務(wù)是如何從許多特征中找出那些最有效的特征。解決特征選擇與特征提取問題譬挚,最核心的內(nèi)容就是如何對現(xiàn)有特征進(jìn)行評估锅铅,以及如何通過現(xiàn)有特征產(chǎn)生更好的特征。常見的圖像特征提取與描述方法如顏色特征减宣、紋理特征和幾何形狀特征提取與描述方法盐须。
特征提取算法:
斑點特征檢測,代表性算法有:LOG(高斯拉普拉斯算子檢測)蚪腋、DOH(利用圖像點的二階微分Hessian矩陣及其行列式)丰歌;
角點特征檢測,代表性算法有:Harris角點檢測屉凯、Shi-Tomasi角點檢測立帖、FAST角點檢測 等;
SIFT(尺度不變特征轉(zhuǎn)化)特征檢測悠砚,是具有劃時代意義的特征檢測算法晓勇。由于其具有非常不錯的仿射不變性,旋轉(zhuǎn)不變性,對于光線绑咱、噪點绰筛、視角變化等的容忍度也較高,在圖像搜索匹配領(lǐng)域應(yīng)用非常廣泛描融,后續(xù)也出現(xiàn)了很多基于 SIFT 的改良算法铝噩。
SURF(加速魯棒特征)特征檢測,是 SIFT 的高效變種窿克,簡化了 SIFT 特征提取的算法骏庸,運算效率更高,基本可實現(xiàn)實時處理年叮。
ORB 特征檢測具被,主要在 FAST 特征點檢測算法與 BRIEF 特征描述方法的基礎(chǔ)上,做了一些優(yōu)化和改進(jìn)只损,是 SIFT一姿、SURF(兩者都受專利保護(hù))之外一個很好的選擇。
KAZE/AKAZE(KAZE的加速版)特征檢測跃惫,比 SIFT 有著更優(yōu)異的性能和更穩(wěn)定的表現(xiàn)叮叹,是繼 SIFT 之后一個較大的突破,也是目前我在系統(tǒng)中優(yōu)先采用的圖像特征提取算法爆存。
另外衬横,還有基于 BRISK/SBRISK(二進(jìn)制魯棒尺度不變關(guān)鍵點)、FREAK(快速視網(wǎng)膜關(guān)鍵點)等算法的特征提取檢測
4.模式識別
根據(jù)有無標(biāo)準(zhǔn)樣本终蒂,模式識別可分為監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)。模式識別分類或描述通常是基于已經(jīng)得到分類或描述的模式集合而進(jìn)行的遥诉,人們稱這個模式集合為訓(xùn)練集拇泣,由此產(chǎn)生的學(xué)習(xí)策略稱為監(jiān)督學(xué)習(xí)。學(xué)習(xí)也可以是非監(jiān)督學(xué)習(xí)矮锈,在此意義下產(chǎn)生的系統(tǒng)不需要提供模式類的先驗知識霉翔,而是基于模式的統(tǒng)計規(guī)律或模式的相似性學(xué)習(xí)判斷模式的類別。
(1)數(shù)據(jù)采集
數(shù)據(jù)采集是指利用各種傳感器把被研究對象的各種信息轉(zhuǎn)換為計算機(jī)可以接收的數(shù)值或符號(串)集合苞笨。習(xí)慣上稱這種數(shù)值或符號(串)所組成的空間為模式空間债朵。這一步的關(guān)鍵是傳感器的選取。
一般獲取的數(shù)據(jù)類型如下:
物理參量和邏輯值:體溫瀑凝、化驗數(shù)據(jù)序芦、參量正常與否的描述。
一維波形:腦電圖粤咪、心電圖谚中、季節(jié)振動波形、語音信號等。
二維圖像:文字宪塔、指紋磁奖、地圖、照片等某筐。
(2)預(yù)處理
為了從這些數(shù)字或符號(串)中抽取出對識別有效的信息比搭,必須進(jìn)行預(yù)處理,目的是為了消除輸入數(shù)據(jù)或信息中的噪聲南誊,排除不相干的信號身诺,只留下與被研究對象的性質(zhì)和采用的識別方法密切相關(guān)的特征(如表征物體的形狀、周長弟疆、面積等)戚长。
舉例來說,在進(jìn)行指紋識別時怠苔,指紋掃描設(shè)備每次輸出的指紋圖像會隨著圖像的對比度同廉、亮度或背景等的不同而不同,有時可能還會產(chǎn)生變形柑司,而人們感興趣的僅僅是圖像中的指紋線迫肖、指紋分叉點和端點等,而不需要指紋的其他部分和背景攒驰。因此蟆湖,需要采用合理的濾波算法,如基于塊方圖的方向濾波和二值濾波等玻粪,過濾掉指紋圖像中這些不必要的部分隅津。
(3)特征提取
對原始數(shù)據(jù)進(jìn)行交換,從許多特征中尋找出最有效的特征劲室,得到最能反應(yīng)分類本質(zhì)的特征伦仍,將維數(shù)較高的測量空間(原始數(shù)據(jù)組成的空間)轉(zhuǎn)變?yōu)榫S數(shù)較低的特征空間(分類識別賴以進(jìn)行的空間),以降低后續(xù)處理過程的難度很洋。人類很容易獲取的特征充蓝,對于機(jī)器來說就很難獲取了,這就是模式識別中的特征選擇與提取的問題喉磁。特征選擇與提取是模式識別的一個關(guān)鍵問題谓苟。
一般情況下,候選特征種類越多协怒,得到的結(jié)果應(yīng)該越好涝焙。但是,由此可能會引發(fā)維數(shù)災(zāi)害孕暇,即特征維數(shù)過高纱皆,計算機(jī)難以求解湾趾。如何確定合適的特征空間是設(shè)計模式識別系統(tǒng)一個十分重要的問題。
對特征空間進(jìn)行優(yōu)化有兩種基本方法:
第一種是特征選擇派草,如果所選用的特征空間能使同類物體分布具有緊致性搀缠,為分類器設(shè)計成功提供良好的基礎(chǔ);反之近迁,如果不同類別的樣品在該特征空間中混雜在一起艺普,再好的設(shè)計方法也無法提高分類器的準(zhǔn)確性;
另一種是特征的組合優(yōu)化鉴竭,通過一種映射變換改造原特征空間歧譬,構(gòu)造一個新的精簡的特征空間。
(4)分類決策
基于模式特征空間搏存,就可以進(jìn)行模式識別的最后一部分:分類決策瑰步。該階段最后輸出的可能是對象所屬的類型,也可能是模型數(shù)椐庫中與對象最相似的模式編號璧眠。己知若干個樣品的類別及特征缩焦,例如,手寫阿拉伯?dāng)?shù)字的判別是具有10類的分類問題责静,機(jī)器首先要知道每個手寫數(shù)字的形狀特征袁滥,對同一個數(shù)字,不同的人有不同的寫法灾螃,甚至同一個人對同一個數(shù)字也行多種寫法题翻,就必須讓機(jī)器知道它屬于哪一類。因此腰鬼,對分類問題需要建立樣品庫嵌赠。根椐這些樣品庫建立判別分類函數(shù),這—過程是由機(jī)器來實現(xiàn)的熄赡,稱為學(xué)習(xí)過程猾普。然后對一個未知的新對象分析它的特征,決定它屬于哪一類本谜,這是一種監(jiān)督分類的方法。
具體步驟是建立特征空間中的訓(xùn)練集偎窘,已知訓(xùn)練集里每個點的所屬類別乌助,從這些條件出發(fā),尋求某種判別函數(shù)或判別準(zhǔn)則陌知,設(shè)計判決函數(shù)模型他托,然后根據(jù)訓(xùn)練集中的樣品確定模型中的參數(shù),便可將這模型用于判別仆葡,利用判別函數(shù)或判別準(zhǔn)則去判別每個未知類別的點應(yīng)該屬于哪一個類赏参。在模式識別學(xué)科中志笼,.一般把這個過程稱為訓(xùn)練與學(xué)習(xí)的過程。
分類的規(guī)則是依據(jù)訓(xùn)練樣品提供信息確定的把篓。分類器設(shè)計在訓(xùn)練過程中完成纫溃,利用一批訓(xùn)練樣品,包括各種類別的樣品韧掩,由這些樣品大致勾畫出各類事物在特征空間分布的規(guī)律性紊浩,為確定使用什么樣的數(shù)學(xué)公式及這些公式中的參數(shù)提供了信息。
一般來說疗锐,決定使用什么類型的分類函數(shù)是人決定的坊谁。分類器參數(shù)的選擇或者在學(xué)習(xí)過程中得到的結(jié)果取決于設(shè)計者選擇什么樣的準(zhǔn)則函數(shù)。不同準(zhǔn)則函數(shù)的最優(yōu)解對應(yīng)不同的學(xué)習(xí)結(jié)果滑臊,得到性能不同的分類器口芍。數(shù)學(xué)式子中的參數(shù)則往往通過學(xué)習(xí)來確定,在學(xué)習(xí)過程中雇卷,如果發(fā)現(xiàn)當(dāng)前采用的分類函數(shù)會造成分類錯誤鬓椭,那么利用錯誤提供應(yīng)如何糾正的信息,就可以使分類函數(shù)朝正確的方向前進(jìn)聋庵,這就形成了一種迭代的過程膘融。如果分類函數(shù)及其參數(shù)使出錯的情況越來越少,就可以說是逐漸收斂祭玉,學(xué)習(xí)過程就收到了效果氧映,設(shè)計也就可以結(jié)束。
針對不問的應(yīng)用目的脱货,模式識別系統(tǒng)4部分的內(nèi)容有很大的差異岛都,特別楚在數(shù)據(jù)預(yù)處理和分類決策這兩部分。為了提高識別結(jié)果的可靠性振峻,往往需要加入知識庫(規(guī)則)以對可能產(chǎn)生的錯誤進(jìn)行修正臼疫,或通過引入限制條件大大縮小待識別模式在模型庫中的搜索空間,以減少匹配計算量扣孟。
都說深度學(xué)習(xí)的興起和大數(shù)據(jù)息息相關(guān)烫堤,那么是不是數(shù)據(jù)集越大,訓(xùn)練出的圖像識別算法準(zhǔn)確率就越高呢凤价?
過去 10 年鸽斟,計算機(jī)視覺技術(shù)取得了很大的成功,其中大部分可以歸功于深度學(xué)習(xí)模型的應(yīng)用利诺。此外自 2012 年以來富蓄,這類系統(tǒng)的表現(xiàn)能力有了很大的進(jìn)步,原因包括:
1)復(fù)雜度更高的深度模型慢逾;
2)計算性能的提升立倍;
3)大規(guī)模標(biāo)簽數(shù)據(jù)的出現(xiàn)灭红。
每年,我們都能看到計算性能和模型復(fù)雜度的提升口注,從 2012 年 7 層的 AlexNet变擒,發(fā)展到 2015 年 101 層的 ResNet。然而疆导,可用數(shù)據(jù)集的規(guī)模卻沒有成比例地擴(kuò)大赁项。101 層的 ResNet 在訓(xùn)練時仍然用著和 AlexNet 一樣的數(shù)據(jù)集:ImageNet 中的 10 萬張圖。過去 5 年間澈段,GPU 計算力和模型復(fù)雜度都在持續(xù)增長悠菜,但訓(xùn)練數(shù)據(jù)集的規(guī)模沒有任何變化;
比如2017年探索“大量數(shù)據(jù)”與深度學(xué)習(xí)之間的關(guān)系:
1)使用當(dāng)前的算法败富,如果提供越來越多帶噪聲標(biāo)簽的圖片悔醋,視覺表現(xiàn)是否仍然可以得到優(yōu)化;
2)對于標(biāo)準(zhǔn)的視覺任務(wù)兽叮,例如分類芬骄、對象探測,以及圖像分割鹦聪,數(shù)據(jù)和性能之間的關(guān)系是什么账阻;
3)利用大規(guī)模學(xué)習(xí)技術(shù),開發(fā)能勝任計算機(jī)視覺領(lǐng)域各類任務(wù)的最先進(jìn)的模型泽本。
當(dāng)然淘太,問題的關(guān)鍵在于要從何處找到比 ImageNet 大 300 倍的數(shù)據(jù)集。
Google 一直努力構(gòu)建這樣的數(shù)據(jù)集规丽,以優(yōu)化計算機(jī)視覺算法蒲牧。在 Geoff Hinton、Francois Chollet 等人的努力下赌莺,Google 內(nèi)部構(gòu)建了一個包含 3 億張圖片的數(shù)據(jù)集冰抢,將其中的圖片標(biāo)記為 18291 個類,并將其命名為 JFT-300M艘狭。圖片標(biāo)記所用的算法混合了復(fù)雜的原始網(wǎng)絡(luò)信號挎扰,以及網(wǎng)頁和用戶反饋之間的關(guān)聯(lián)。通過這種方法巢音,這 3 億張圖片獲得了超過 10 億個標(biāo)簽(一張圖片可以有多個標(biāo)簽)遵倦。在這 10 億個標(biāo)簽中,約 3.75 億個通過算法被選出港谊,使所選擇圖片的標(biāo)簽精確度最大化。然而橙弱,這些標(biāo)簽中依然存在噪聲:被選出圖片的標(biāo)簽約有 20% 是噪聲歧寺。
最后訓(xùn)練得到意料之外的結(jié)果:
更好的表征學(xué)習(xí)(Representation Learning)能帶來幫助燥狰。
大規(guī)模數(shù)據(jù)有助于表征學(xué)習(xí),從而優(yōu)化我們所研究的所有視覺任務(wù)的性能斜筐。建立用于預(yù)訓(xùn)練的大規(guī)模數(shù)據(jù)集很重要龙致。這還說明無監(jiān)督表征學(xué)習(xí),以及半監(jiān)督表征學(xué)習(xí)方法有良好的前景顷链∧看看起來,數(shù)據(jù)規(guī)模繼續(xù)壓制了標(biāo)簽中存在的噪聲嗤练。
隨著訓(xùn)練數(shù)據(jù)數(shù)量級的增加榛了,任務(wù)性能呈線性上升。視覺任務(wù)性能和表現(xiàn)學(xué)習(xí)訓(xùn)練數(shù)據(jù)量(取對數(shù))之間的關(guān)系煞抬。即使訓(xùn)練圖片規(guī)模達(dá)到 3 億張霜大,也沒有觀察到性能上升出現(xiàn)停滯。
模型容量非常關(guān)鍵革答,如果希望完整利用 3 億張圖的數(shù)據(jù)集战坤,就需要更大容量(更深)的模型。例如残拐,對于 ResNet-50途茫,COCO 對象探測得分的上升很有限,只有 1.87%溪食,而使用 ResNet-152囊卜,這一得分上升達(dá)到 3%。此外眠菇,構(gòu)建包含 300M 圖片的數(shù)據(jù)集并不是最終目標(biāo)边败。應(yīng)當(dāng)探索,憑借更龐大的數(shù)據(jù)集(包含超過 10 億圖片)捎废,模型是否還能繼續(xù)優(yōu)化笑窜。
十、視覺搜索及圖像識別應(yīng)用的領(lǐng)域:
1登疗、電子商務(wù)結(jié)合排截,搜索同款或相似款的衣物、包包辐益;
2断傲、社交網(wǎng)絡(luò)結(jié)合,實現(xiàn)更好的圖像理解與互動智政;
3认罩、自媒體結(jié)合,更方便的尋找圖像续捂、視頻的素材垦垂;
4宦搬、知識產(chǎn)權(quán)結(jié)合,可以更準(zhǔn)確的追溯圖像來源與版權(quán)信息劫拗;
5间校、醫(yī)療健康結(jié)合,可以更準(zhǔn)確的做病理研究页慷;
6憔足、工業(yè)生成結(jié)合,實現(xiàn)更可靠的瑕疵物件篩選酒繁;
7滓彰、網(wǎng)絡(luò)安全結(jié)合,實現(xiàn)更好的對圖像欲逃、視頻內(nèi)容的自動過濾審核找蜜;
8、安保監(jiān)控結(jié)合稳析,可以實現(xiàn)更準(zhǔn)確的跟蹤定位洗做;
9、智能機(jī)器人相結(jié)合彰居,可以實現(xiàn)更好的機(jī)器人物體識別和場景定位...
圖像搜索結(jié)合用戶使用場景诚纸,能夠在復(fù)雜背景條件下準(zhǔn)確地識別和提取圖片中的主體信息,并使用當(dāng)前人工智能領(lǐng)域較為先進(jìn)的深度學(xué)習(xí)技術(shù)對獲取到的圖片信息進(jìn)行語義分析陈惰,現(xiàn)在圖像搜索的應(yīng)用范圍已經(jīng)越來越廣畦徘,例如:
1、手機(jī)拍照購物:在書店抬闯、超市井辆、電器賣場隨手拍攝一個商品,即可查到該商品在網(wǎng)上商城的價格溶握。移動拍照購物搜索杯缺,只需通過手機(jī)拍攝相應(yīng)物品的照片就可進(jìn)行購物搜索,這樣的搜索工具使網(wǎng)絡(luò)購物變得更加直觀睡榆、便捷萍肆。
2、購物網(wǎng)站相似:在具體商品頁面下部胀屿,自動列出相似款商品塘揣。讓使用者快速搜到相似的圖片,節(jié)省時間宿崭,提高效率亲铡。
3.目錄銷售:用戶在享受購物目錄翻閱的便捷和愜意過程中,用手機(jī)拍下感興趣的圖片,即刻被引導(dǎo)到商家的網(wǎng)站奖蔓,激活線上行為琅摩。為用戶提供了方便的購買途徑。
4.手機(jī)導(dǎo)覽增值服務(wù):著重為觀眾提供作品背后的信息體驗锭硼,用戶手機(jī)拍下感興趣的展品,相關(guān)的深度信息立刻在手機(jī)中顯示蜕劝。
5.版權(quán)保護(hù):通過圖像識別技術(shù)檀头,發(fā)現(xiàn)同源圖片的整體或局部在哪些地方出現(xiàn),包括線上和線下岖沛,保護(hù)圖片所有者的版權(quán)暑始。
十一、未來圖像搜索發(fā)展的趨勢:
圖像搜索和識別技術(shù)的未來:數(shù)據(jù)婴削、用戶廊镜、模型、系統(tǒng)唉俗,結(jié)合在一起使用嗤朴;因為絕對不是某一個算法能解決的,也不是僅憑深度學(xué)習(xí)就可以解決的虫溜,更不是說一個搜索系統(tǒng)雹姊、識別系統(tǒng)就可以解決的。