放到桌面 添加到收藏夾
首頁 > 商機 > 為什么攝像頭能認出你的臉?

為什么攝像頭能認出你的臉?

2019-11-13 09:06:08 點擊: 來自:大國爭霸
為什么攝像頭能認出你的臉?

歡迎關注“創事記”微信訂閱號:sinachuangshiji

來源:鮮棗課堂(ID:xzclasscom)

如今我們所處的時代,是移動互聯網時代,也可以說是視頻時代。

為什么攝像頭能認出你的臉?

從短視頻,從“三生三世”到“延禧攻略”,我們的生活,被越來越多的視頻元素所影響。

為什么攝像頭能認出你的臉?

而這一切,離不開視頻拍攝技術的不斷升級,還有視頻制作產業的日益強大。

為什么攝像頭能認出你的臉?

此外,也離不開通信技術的飛速進步。試想一下,如果還是當年的56K Modem撥號,或者是2G手機,你還能享受到現在動輒1080P甚至4K的視頻體驗嗎?

為什么攝像頭能認出你的臉?

除了視頻拍攝工具和網絡通信技術升級之外,我們能享受到視頻帶來的便利和樂趣,還有一個重要因素,就是視頻編碼技術的突飛猛進。

為什么攝像頭能認出你的臉?

今天,我就給大家做一個關于它的零基礎科普。

  圖像基礎知識    

說視頻之前,先要說說圖像。

圖像,大家都知道,是由很多“帶有顏色的點”組成的。這個點,就是“像素點”

為什么攝像頭能認出你的臉?

像素點的英文叫Pixel(縮寫為PX)。這個單詞是由 Picture(圖像) 和 Element(元素)這兩個單詞的字母所組成的。

電影《像素大戰(Pixels)》,2015年

電影《像素大戰(Pixels)》,2015年

像素是圖像顯示的基本單位。我們通常說一幅圖片的大小,例如是1920×1080,就是長度為1920個像素點,寬度為1080個像素點。乘積是2,073,600,也就是說,這個圖片是兩百萬像素的。

1920×1080,這個也被稱為這幅圖片的分辨率。

分辨率也是顯示器的重要指標

分辨率也是顯示器的重要指標

那么,我們經常所說的PPI又是什么東西呢?

PPI,就是“Pixels Per Inch”,每英寸像素數。也就是,手機(或顯示器)屏幕上每英寸面積,到底能放下多少個“像素點”。

這個值當然是越高越好啦!PPI越高,圖像就越清晰細膩。

為什么攝像頭能認出你的臉?

以前的功能機,例如諾基亞,屏幕PPI都很低,有很強烈的顆粒感。

為什么攝像頭能認出你的臉?

后來,蘋果開創了史無前例的“視網膜”(Retina)屏幕,PPI值高達326(每英寸屏幕有326像素),畫質清晰,再也沒有了顆粒感。

為什么攝像頭能認出你的臉?

像素點必須要有顏色,才能組成繽紛絢麗的圖片。那么,這個顏色,又該如何表示呢?

大家都知道,我們生活中的顏色,可以擁有無數種類別。

光是妹紙們的口紅色號,就足以讓我們這些屌絲瞠目結舌。。。

光是妹紙們的口紅色號,就足以讓我們這些屌絲瞠目結舌。。。

在計算機系統里,我們不可能用文字來表述顏色。不然,就算我們不瘋,計算機也會瘋掉的。在數字時代,當然是用數字來表述顏色。

這就牽出了“彩色分量數字化”的概念。

以前我們美術課學過,任何顏色,都可以通過紅色(Red)綠色(Green)藍色(Blue)按照一定比例調制出來。這三種顏色,被稱為“三原色”

為什么攝像頭能認出你的臉?

在計算機里,R、G、B也被稱為“基色分量”。它們的取值,分別從0到255,一共256個等級(256是2的8次方)。

所以,任何顏色,都可以用R、G、B三個值的組合表示。

RGB=[183,67,21]

RGB=[183,67,21]

通過這種方式,一共能表達多少種顏色呢?256×256×256=16,777,216種,因此也簡稱為1600萬色。RGB三色,每色有8bit,這種方式表達出來的顏色,也被稱為24位色(占用24bit

這個顏色范圍已經超過了人眼可見的全部色彩,所以又叫真彩色。再高的話,對于我們人眼來說,已經沒有意義了,完全識別不出來。

為什么攝像頭能認出你的臉?

視頻編碼基礎知識     

好了,剛才說了圖像,現在,我們開始說視頻。

所謂視頻,大家從小就看動畫,都知道視頻是怎么來的吧?沒錯,大量的圖片連續起來,就是視頻。

為什么攝像頭能認出你的臉?

衡量視頻,又是用的什么指標參數呢?

最主要的一個,就是幀率(Frame Rate)

在視頻中,一個幀(Frame)就是指一幅靜止的畫面。幀率,就是指視頻每秒鐘包括的畫面數量(FPS,Frame per second)。  

幀率越高,視頻就越逼真、越流暢。

幀率越高,視頻就越逼真、越流暢。

有了視頻之后,就涉及到兩個問題,一個是存儲,二個是傳輸。

為什么攝像頭能認出你的臉?

而之所以會有視頻編碼,關鍵就在于此:一個視頻,如果未經編碼,它的體積是非常龐大的。

以一個分辨率1920×1280,幀率30的視頻為例。

1920×1280=2,073,600(Pixels 像素)

每個像素點是24bit(前面算過的哦)

也就是每幅圖片2073600×24=49766400bit

8 bit(位)=1 byte(字節),所以,49766400bit=6220800byte≈6.22MB。

這是一幅1920×1280圖片的原始大小,再乘以幀率30,也就是說,每秒視頻的大小是186.6MB,每分鐘大約是11GB,一部90分鐘的電影,約是1000GB。。。

嚇尿了吧?就算你現在電腦硬盤是4TB的(實際也就3600GB),也放不下幾部大姐姐啊!

不僅要存儲,還要傳輸,不然視頻從哪來呢?

如果按照100M的網速(12.5MB/s),下剛才那部電影,需要22個小時。。。再次崩潰。。。

正因為如此,屌絲工程師們就提出了,必須對視頻進行編碼。

為什么攝像頭能認出你的臉?

什么是編碼?

編碼,就是按指定的方法,將信息從一種形式(格式),轉換成另一種形式(格式)。

視頻編碼,就是將一種視頻格式,轉換成另一種視頻格式。

為什么攝像頭能認出你的臉?

編碼的終極目的,說白了,就是為了壓縮。

各種五花八門的視頻編碼方式,都是為了讓視頻變得體積更小,有利于存儲和傳輸。

我們先來看看,視頻從錄制到播放的整個過程,如下:

為什么攝像頭能認出你的臉?

首先是視頻采集。通常我們會使用攝像機、攝像頭進行視頻采集。限于篇幅,我就不打算和大家解釋CCD成像原理了。

為什么攝像頭能認出你的臉?

采集了視頻數據之后,就要進行模數轉換,將模擬信號變成數字信號。其實現在很多都是攝像機(攝像頭)直接輸出數字信號。

信號輸出之后,還要進行預處理,將RGB信號變成YUV信號。

前面我們介紹了RGB信號,那什么是YUV信號呢?

簡單來說,YUV就是另外一種顏色數字化表示方式。

視頻通信系統之所以要采用YUV,而不是RGB,主要是因為RGB信號不利于壓縮

在YUV這種方式里面,加入了亮度這一概念。

在最近十年中,視頻工程師發現,眼睛對于亮和暗的分辨要比對顏色的分辨更精細一些,也就是說,人眼對色度的敏感程度要低于對亮度的敏感程度

所以,工程師認為,在我們的視頻存儲中,沒有必要存儲全部顏色信號。我們可以把更多帶寬留給黑—白信號(被稱作“亮度”),將稍少的帶寬留給彩色信號(被稱作“色度”)。于是,就有了YUV。

YUV里面的“Y”,就是亮度(Luma),“U”和“V”則是色度(Chroma)。

大家偶爾會見到的Y'CbCr,也稱為YUV,是YUV的壓縮版本,不同之處在于Y'CbCr用于數字圖像領域,YUV用于模擬信號領域,MPEG、DVD、攝像機中常說的YUV其實就是Y'CbCr。

YUV(Y'CbCr)是如何形成圖像的

YUV(Y'CbCr)是如何形成圖像的

YUV碼流的存儲格式其實與其采樣的方式密切相關。(采樣,就是捕捉數據。)

主流的采樣方式有三種,YUV4:4:4,YUV4:2:2,YUV4:2:0。

為什么攝像頭能認出你的臉?

具體解釋起來有點繁瑣,大家只需記住,通常用的是YUV4:2:0的采樣方式,能獲得1/2的壓縮率。

這些預處理做完之后,就是正式的編碼了。

  視頻編碼的實現原理    

前面我們說了,編碼就是為了壓縮。要實現壓縮,就要設計各種算法,將視頻數據中的冗余信息去除。

當你面對一張圖片,或者一段視頻的時候,你想一想,如果是你,你會如何進行壓縮呢?

對于新垣女神,我一bit也不舍得壓縮…

對于新垣女神,我一bit也不舍得壓縮…

我覺得,首先你想到的,應該是找規律。

是的,尋找像素之間的相關性,還有不同時間的圖像幀之間,它們的相關性。

舉個例子,如果一幅圖(1920×1080分辨率),全是紅色的,我有沒有必要說2073600次[255,0,0]?我只要說一次[255,0,0],然后再說2073599次“同上”。

為什么攝像頭能認出你的臉?

如果一段1分鐘的視頻,有十幾秒畫面是不動的,或者,有80%的圖像面積,整個過程都是不變(不動)的。那么,是不是這塊存儲開銷,就可以節約掉了?

以我們的簽名圖為例,只有部分元素在動,大部分是不動的

以我們的簽名圖為例,只有部分元素在動,大部分是不動的

是的,所謂編碼算法,就是尋找規律,構建模型。誰能找到更精準的規律,建立更高效的模型,誰就是厲害的算法。

通常來說,視頻里面的冗余信息包括:

為什么攝像頭能認出你的臉?為什么攝像頭能認出你的臉?

視頻編碼技術優先消除目標,就是空間冗余和時間冗余。

接下來,小棗君就和大家介紹一下,究竟是采用什么樣的辦法,才能干掉它們。

以下內容稍微有點高能,不過我相信大家耐心一些還是可以看懂的。

視頻是由不同的幀畫面連續播放形成的。

這些幀,主要分為三類,分別是I幀,B幀,P幀。

I幀,是自帶全部信息的獨立幀,是最完整的畫面(占用的空間最大),無需參考其它圖像便可獨立進行解碼。視頻序列中的第一個幀,始終都是I幀。

P幀,“幀間預測編碼幀”,需要參考前面的I幀和/或P幀的不同部分,才能進行編碼。P幀對前面的P和I參考幀有依賴性。但是,P幀壓縮率比較高,占用的空間較小。

P幀

P幀

B幀,“雙向預測編碼幀”,以前幀后幀作為參考幀。不僅參考前面,還參考后面的幀,所以,它的壓縮率最高,可以達到200:1。不過,因為依賴后面的幀,所以不適合實時傳輸(例如視頻會議)。

B幀

B幀

通過對幀的分類處理,可以大幅壓縮視頻的大小。畢竟,要處理的對象,大幅減少了(從整個圖像,變成圖像中的一個區域)。

為什么攝像頭能認出你的臉?

如果從視頻碼流中抓一個包,也可以看到I幀的信息,如下:

為什么攝像頭能認出你的臉?

我們來通過一個例子看一下。

這有兩個幀:

為什么攝像頭能認出你的臉?

好像是一樣的? 

不對,我做個GIF動圖,就能看出來,是不一樣的:

為什么攝像頭能認出你的臉?

人在動,背景是沒有在動的。

第一幀是I幀,第二幀是P幀。兩個幀之間的差值,就是如下:

為什么攝像頭能認出你的臉?

也就是說,圖中的部分像素,進行了移動。移動軌跡如下:

為什么攝像頭能認出你的臉?

這個,就是運動估計和補償。

為什么攝像頭能認出你的臉?

當然了,如果總是按照像素來算,數據量會比較大,所以,一般都是把圖像切割為不同的“塊(Block)”或“宏塊(MacroBlock)”,對它們進行計算。一個宏塊一般為16像素×16像素。

將圖片切割為宏塊

將圖片切割為宏塊

好了,我來梳理一下。

對I幀的處理,是采用幀內編碼方式,只利用本幀圖像內的空間相關性。

對P幀的處理,采用幀間編碼(前向運動估計),同時利用空間和時間上的相關性。簡單來說,采用運動補償(motion compensation)算法來去掉冗余信息。 

為什么攝像頭能認出你的臉?

需要特別注意,I幀(幀內編碼),雖然只有空間相關性,但整個編碼過程也不簡單。

為什么攝像頭能認出你的臉?

如上圖所示,整個幀內編碼,還要經過DCT(離散余弦變換)、量化、編碼等多個過程。限于篇幅,加之較為復雜,今天就放棄解釋了。

那么,視頻經過編碼解碼之后,如何衡量和評價編解碼的效果呢?

一般來說,分為客觀評價和主觀評價。

客觀評價,就是拿數字來說話。例如計算“信噪比/峰值信噪比”。

搞通信的童鞋應該對這個概念不會陌生吧?

為什么攝像頭能認出你的臉?

信噪比的計算,我就不介紹了,丟個公式,有空可以自己慢慢研究...

為什么攝像頭能認出你的臉?為什么攝像頭能認出你的臉?

除了客觀評價,就是主觀評價了。

主觀評價,就是用人的主觀感知直接測量,額,說人話就是——“好不好看我說了算”。

為什么攝像頭能認出你的臉?

視頻編碼的國際標準    

接下來,我們再說說標準(Standard)

任何技術,都有標準。自從有視頻編碼以來,就誕生過很多的視頻編碼標準。

提到視頻編碼標準,先介紹幾個制定標準的組織。

首先,就是大名鼎鼎的ITU(國際電信聯盟)。

為什么攝像頭能認出你的臉?

ITU是聯合國下屬的一個專門機構,其總部在瑞士的日內瓦。

ITU下屬有三個部門,分別是ITU-R(前身是國際無線電咨詢委員會CCIR)、ITU-T(前身是國際電報電話咨詢委員會CCITT)、ITU-D。

為什么攝像頭能認出你的臉?

除了ITU之外,另外兩個和視頻編碼關系密切的組織,是ISO/IEC。

為什么攝像頭能認出你的臉?

ISO大家都知道,就是推出ISO9001質量認證的那個“國際標準化組織”。IEC,是“國際電工委員會”。

1988年,ISO和IEC聯合成立了一個專家組,負責開發電視圖像數據和聲音數據的編碼、解碼和它們的同步等標準。這個專家組,就是大名鼎鼎的MPEG,Moving Picture Expert Group(動態圖像專家組)

為什么攝像頭能認出你的臉?

三十多年以來,世界上主流的視頻編碼標準,基本上都是它們提出來的。

ITU提出了H.261、H.262、H.263、H.263+、H.263++,這些統稱為H.26X系列,主要應用于實時視頻通信領域,如會議電視、可視電話等。

ISO/IEC提出了MPEG1、MPEG2、MPEG4、MPEG7、MPEG21,統稱為MPEG系列。

ITU和ISO/IEC一開始是各自搗鼓,后來,兩邊成立了一個聯合小組,名叫JVT(Joint Video Team,視頻聯合工作組)

為什么攝像頭能認出你的臉?

JVT致力于新一代視頻編碼標準的制定,后來推出了包括H.264在內的一系列標準。

壓縮率對比

壓縮率對比

視頻編碼標準的發展關系

視頻編碼標準的發展關系

大家特別注意一下上圖里面的HEVC,也就是現在風頭正盛的H.265。

為什么攝像頭能認出你的臉?

作為一種新編碼標準,相比H.264有極大的性能提升,目前已經成為最新視頻編碼系統的標配。

為什么攝像頭能認出你的臉?

最后,我再說說封裝

對于任何一部視頻來說,只有圖像,沒有聲音,肯定是不行的。所以,視頻編碼后,加上音頻編碼,要一起進行封裝。

封裝,就是封裝格式,簡單來說,就是將已經編碼壓縮好的視頻軌和音頻軌按照一定的格式放到一個文件中。再通俗點,視頻軌相當于飯,而音頻軌相當于菜,封裝格式就是一個飯盒,用來盛放飯菜的容器。

目前主要的視頻容器有如下:MPG、VOB、MP4、3GP、ASF、RMVB、WMV、MOV、Divx、MKV、FLV、TS/PS等。

封裝之后的視頻,就可以傳輸了,你也可以通過視頻播放器進行解碼觀看。

最后的話    

好啦!額滴神啊,終于介紹完了。。。

為什么攝像頭能認出你的臉?

其實,小棗君之所以要做視頻編碼這么一個看似和通信無關的“跨界”專題,是有原因的。

以前我上大學的時候,就有一門專業課程,叫圖像識別,當時是我們學校的王牌專業,屬于計算機系。那個時候我并不明白,圖像識別到底是什么,為什么“畫畫”這種事情,會歸為“計算機類”。

后來,我才明白,所謂的“圖像識別”,就是讓計算機看懂圖像。怎么樣才能看懂呢?就是把圖像數字化。

圖像變成了數字,計算機就能從中找到規律,也就能對它進行分析(圖像識別)和學習(機器學習)。

為什么攝像頭能認出你的臉?

這么多年過去了,圖像識別取得了非常大的發展。我們漸漸發現,攝像頭開始“認臉”了,停車場開始“看懂”車牌了,生活開始變得不一樣了。

為什么攝像頭能認出你的臉?

更沒有想到的是,機器學習和AI人工智能也因此迅速崛起,開始對傳統技術發起挑戰。

前段時間很火的谷歌“你畫我猜”程序,就是AI結合圖像識別技術的一個“人機交互”經典案例。

前段時間很火的谷歌“你畫我猜”程序,就是AI結合圖像識別技術的一個“人機交互”經典案例。

運算速度足夠快,存儲空間足夠大,學習數據足夠多,計算機可以海量分析圖像和視頻數據,尋找其中的規律,構建模型。如果這個AI足夠強大,就能做出反應和處理。

在電影《鷹眼》里,也描繪到這樣的一個場景:強大的AI大腦,控制全球的視頻攝像頭,還有所有的計算機系統、武器系統,可以隨時在全球范圍內,找到想找到的人,并且干掉他。電影《速度與激情6》里,也有類似的場景。

電影《鷹眼》,2008年

電影《鷹眼》,2008年

除此之外,還有3D視頻、VR/AR等,也都是和圖像視頻密切相關的應用。

總而言之,圖像和視頻識別是一個非常有前途的技術領域,也是AI人工智能的基礎,值得深入進行研究。我們一直在尋找的5G爆款應用,也很可能與這個領域有關!

為什么攝像頭能認出你的臉?

好啦,今天的內容就到這里,感謝大家的耐心觀看!

下期再見!

分享到:
相關閱讀
文章評論 · 所有評論
評論請遵守當地法律法規
Copyright © 2018-2020 熱點新聞網版權所有 侵權必究.
免責聲明:以上所展示的信息由企業自行提供,內容的真實性、準確性和合法性由發布企業負責, 熱點新聞網 對此不承擔責任.
qq群投票可以重新选吗