你的電腦是如何識別色圖的?

差評2019-07-12 06:50:54



大家有沒有發現。。。不知道啥時候開始,計算機能做到的事情越來越多了。


比如今年在網絡上頻繁刷屏的,利用計算機技術把視頻、圖片裡的人 “ 換一張臉 ”。


 效果還挺好的。差評君還試著把石原里美的臉,給合成到日本小短片裡了~


再比如,我們小時候的動畫畫面不是很清晰。


而現在計算機可以無中生有的為大家填補原畫裡沒有的像素,生成一個高清動畫。


還有那些被損壞的舊照片,哪怕它們是殘缺的,計算機現在也能把它搶救回來了。


不僅如此。


 在視頻監控系統中,計算機甚至能把你能從一大堆東西里給認出來,連你穿啥顏色衣服都能看的一清二楚。


 甚至有人,讓計算機幫自己識別不雅圖片。

GitHub 上就開源了一款鑑定不雅內容的 js 庫 NSFW JS ,通過這個教程,大家可以搭建屬於自己的識別小黃圖客戶端。

 sexy 只有5.58% ,差評。。。

哎嘿,人有視覺可以看到這個世界,難道計算機也有視覺麼?


沒錯,計算機也是能 “ 看見 ” 這個世界的。甚至它可能比你更清楚什麼叫做色情圖片。。。


  這些貫穿於我們生活的例子,它們的實現都依賴於一門叫計算機視覺的學科~


無論是人去看東西,又或是計算機,都不是簡單、粗暴的看到東西本身,而是一個巧妙的信息處理過程。


在知道計算機是如何理解看見的事物前,咱們得先知道計算機看的都是啥。


 這個事情非常簡單。當我們打開一張圖片,把它放大放大再放大以後,會看到一個個的小方格 ↓ ↓ ↓

這也就是咱們常說的像素點,所有的圖片都是由這些小像素點組成的。


大家都知道,計算機裡的所有東西本質上用 0 和 1 組成的二進制數字,表達出來的數字化信息。


通過 0 和 1 組成的不同數值,計算機會記錄像素點的位置和色彩數值。


這些寫好顏色的像素點排列在一起,到了電腦屏幕上就變成了我們能看懂的圖像


基於這些原理呢,人類可以對圖像做一些基本的處理。像剛才提到的圖像增強、圖像復原等。


那麼,它又是怎麼看見的呢?


 最開始,計算機看見的方式非常傻。得由人先設計好特徵,計算機根據設計好的算法提取對應的特徵,然後根據特徵識別。


即便如此,計算機也只能 “ 看見 ” 某個特定物體而已。。。


每希望計算機識別一種新的東西,都要花大量精力去設計特徵、建立模型。


我們生活中有多少東西?簡直難計其數。

於是這個事情,就這樣止步不前了。


說白了,這麼做還是讓計算機死記硬背圖像特點,並沒有真正地看到圖片。


雖然後來有了機器學習方法,但也沒有改善需要提取特徵的問題,效率非常低下,無法做出應用。


 直到有人想到了 1981 年的一個有趣的醫學研究成果。


1981 年諾貝爾醫學獎頒給了 David Hubel 等幾位哥們,他們發現了信息被傳遞到大腦皮層中是層層識別的。


 計算機專家們參考了這一模式。


舉個栗子。給一個人看一輛汽車。


首先,人眼接收光線之後,感光細胞會形成一些信號,傳達給大腦,這些信息說白了也是一堆像素。


攝入像素以後,這些信息會先進入第一層提取邊緣特徵識別出汽車的點、線等邊緣。


這些在第一層提取出來的描述邊緣的信息,會進入第二層,識別出圖像中的基本形狀或目標的局部比如車門、車燈等。


隨後大腦的下一層會根據這些信息生成一整個目標,也就是一輛完整的車。


前面這些過程,其實幾乎是本能反應,幾乎不需要你去主動思考就能處理完。


 最後,這些被處理過的信息會進入更高級的大腦皮層進行思考,並且得到一些抽象化的結果:比如對這輛汽車的描述。


而這一發現,被計算機專家所仿照,按照這樣由低到高,層層遞進,高層的特徵是低層特徵的組合



這有點像捲起來的紙一樣越卷越多,這一類模型被稱為卷積神經網絡模型~


 這樣,大家就不用設計特徵了,因為連特徵都讓計算機自己去學了。


但,隨之而來的,這個新生兒就沒了之前人為設計好的算法邏輯了。人們需要投喂數據給這個小朋友。


那怎麼辦呢,學。


這個過程還怪暴力的。科學家們給計算機觀看了數以億計的圖片,並且人工告訴在計算機每張圖片裡有什麼東西。


 在學習瞭如此龐大的圖片庫以後,你就有一個閱片無數的小哥幫你識別圖片了。


這時候,你再把新的圖片拿給這個小哥,他也能夠根據之前學習過的 “ 經驗 ” 來判斷新圖片裡有啥東西~ 


並且能夠簡單描述一張圖片。


 到這裡,大家知道為啥,計算機能對圖片裡的物體進行一一辨別了吧。。


在現代工業上,有一門學問叫做仿生學,將生物體的結構和功能原理,應用到工業領域上。


大家小時候應該都從課本上得知,人們學習蝙蝠靠超聲波定位的原理,發明了雷達;


學習蜻蜓翅膀上的翅痣結構,在直升機羽上部分加厚,提升了安全性。


以往我們認為,抽象的計算機工程很難在大自然中找到借鑑對象,結果發現還是被教做人了。


相信看了之前的描述,差友們都發現了,在關於教計算機怎麼思考這件事上,人們借鑑了自己的大腦:


在一層層大腦區域內,信息經過初級特徵處理,到抽象描述,從頭到尾搞定了視覺的產生過程。


人們在計算機視覺上摸索了這麼久,最終還是用上了大自然一開始的解決方案,這個方案人類晚了幾百萬年才用上。


人類站在了地球的頂點,證明了自己可能是大自然創造過的最好的產品。


如今現代工業發展了幾百年,我們終於能做出足以與之媲美的工業產品了,它就是人工智能。



參考資料、圖片來源:

Image Inpainting for Irregular Holes Using Partial Convolutions, 2018. https://blog.csdn.net/zouxy09/article/details/8775360 https://www.bilibili.com/video/av2812282/

https://shift.infinite.red/avoid-nightmares-nsfw-js-ab7b176978b1



“ 科技的力量 ”

https://weiwenku.net/d/201135038