圖片識別——需求篇

    最近由於工作的關係,學習了一些關於圖片識別的知識,併成功用於解決實際問題當中,特此一一記錄下來,以備後用,同時希望對大家有用。

場景

    企業端用戶在註冊時,會上傳一下公司的Logo。上傳的步驟是:選擇本地Logo圖片,點上傳,圖片被上傳至公司圖片服務器(此時這張圖片有了一個id:id_a);由於用戶的圖片尺寸不一定適合網頁的展示,因此要用戶做一下截取並保存(此時這張圖片有了新的id:id_b),圖片服務器會根據這張圖片,縮略爲大中小等多個長圖以適用不同場景的頁面展示使用。數據庫裏把id_b這個圖上id保存下來了。由於業務現在需要一張方圖,這就需要把原來的圖id_a找到重新截取了。

    下圖是QQ上傳頭像的場景,非常類似。

 

分析

    之前從來沒有接觸過圖片識別的課題,如何在短時間內找到解決方案呢?

    試想一下,用戶上傳logo,會不會像上圖QQ頭像一樣,把一張完整的圖片,截去一半字呢?當然不會!這是一個非常有用的前提,後面學習算法以後,會知道很多圖片比較算法,都是對整張圖的,有了這個假設以後,就可以通過將圖片的留白截去,轉變爲整圖的對比,從而簡化問題。要知道業界頂級的以圖搜圖公司,谷歌、百度也不能100%找到你想要的圖片。

    其次,在數以千萬計圖片中,找到某一張圖片,順序查找肯定是不行的,舉個例子,假如有1千萬張圖片,需要查找的Logo有10萬,就需要10^12次比較,假設每次比較10ms,則一共需要10^13ms,這是多久呢?不直觀,317年。天啊,那時早就見佛祖了。這肯定是不行的,比須想辦法減少比較次數,雖然到目前爲止,我還沒有學習任何圖片比較算法,但是必須要有這個心理準備。

    接下來就從這兩方面來解決問題吧!

調研

    接下來我們從兩方面來調研方案,分別在圖片比較和提高查詢速度兩方面:

    會涉及到3種哈希算法:均值哈希算法感知哈希算法差異哈希算法

    哈希值比較:漢明距離

    海量數據查詢:提高漢明距離海量查詢性能的方法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章