速來學(xué)習(xí)!完整版視頻圖像分析處理教程
來源:投稿 作者:LSC
編輯:學(xué)姐
一、視頻分析處理的完整流程
(1)視頻編解碼的入門知識
盡管壓縮工具五花八門,但是他們的目的都只有一個:都是為了減小文件的占用空間。
除去我們常見的.zip,.7z,.rar等格式外,其實我們接觸的.mp3,.mp4,.AVI等格式也都有著壓縮的作用。只不過和.zip這樣的專有的壓縮格式相比他們執(zhí)行的是有損壓縮。
為什么要進(jìn)行視頻壓縮呢? 因為未經(jīng)壓縮的數(shù)字視頻的數(shù)據(jù)量巨大;儲存困難:一張DVD只能儲存幾秒鐘未壓縮的數(shù)字視頻。

(2)為什么可以壓縮
壓縮的本質(zhì)就是——去除冗余信息:
空間冗余:圖像相鄰像素之間有較強(qiáng)的相關(guān)性
時間冗余:視頻序列的相鄰圖像之間內(nèi)容相似
編碼冗余:不同像素值出現(xiàn)的概率不同
視覺冗余:人的視覺系統(tǒng)對某些細(xì)節(jié)不敏感
知識冗余:規(guī)律性的結(jié)構(gòu)可由先驗知識和背景知識得到
(3)數(shù)據(jù)壓縮分類
無損壓縮(Lossless)
壓縮前解壓縮后圖像完全一致X=X'
壓縮比低(2:1~3:1)
例如:Winzip,JPEG-LS
有損壓縮(Lossy)
壓縮前解壓縮后圖像不一致X≠X'
壓縮比高(10:1~20:1)
利用人的視覺系統(tǒng)的特性
例如:MPEG-2,H.264/AVC,AVS
(4)Intel Media SDK概述
Intel Media SDK是開發(fā)專業(yè)的視頻和媒體應(yīng)用程序。在適用于Windows和Linux的應(yīng)用程序中提供硬件加速的視頻編碼、解碼和處理。
SDK主要目的是為了簡化開發(fā):
使用此SDK中包含的庫、工具和示例,為數(shù)字監(jiān)控、零售、工業(yè)、智能家居、視頻會議等開發(fā)專業(yè)級媒體和視頻應(yīng)用程序,并支持硬件加速,可實現(xiàn)快速視頻轉(zhuǎn)碼,圖像處理和媒體工作流程。

(5)圖像預(yù)處理
圖像預(yù)處理的目的:
圖像預(yù)處理,是將每一個圖像分檢出來交給識別模塊識別,這一過程稱為圖像預(yù)處理。在圖像分析中,對輸入圖像進(jìn)行特征抽取、分割和匹配前所進(jìn)行的處理。
圖像預(yù)處理的常用方法:
圖像預(yù)處理的主要目的是消除圖像中無關(guān)的信息,恢復(fù)有用的真實信息,增強(qiáng)有關(guān)信息的可檢測性和最大限度地簡化數(shù)據(jù),從而改進(jìn)特征抽取、圖像分割、匹配和識別的可靠性。
(6)圖像預(yù)處理的常用方法
圖像分析中,圖像質(zhì)量的好壞直接影響識別算法的設(shè)計與效果的精度,因此在圖像分析(特征提取、分割、匹配和識別等)前,需要根據(jù)圖像識別任務(wù)的不同進(jìn)行預(yù)處理。
常見的圖像預(yù)處理方法包括: 圖像顏色空間轉(zhuǎn)換、圖像二值化、圖像濾波、圖像金字塔、圖像ROI、幾何變換、形態(tài)學(xué)變換、圖像邊緣檢測等,這里主要介紹圖像ROI以及圖像幾何變換中的縮放這兩中方法。

ROI(Region Of Interest),指圖像分析中感興趣的區(qū)域。只要找到這個ROI區(qū)域,那么需要處理的圖像就由原來的大圖變?yōu)橐粋€小圖像區(qū)域,可以減少處理時間,增加處理精度。以人臉識別為例,圖像中待檢測的人臉就是感興趣區(qū)域(ROI)。提取ROI區(qū)域可以說是計算機(jī)視覺中必不可少的操作。

ROI提取(切片操作)

在一個行人監(jiān)控場景中,攝像機(jī)是固定的,相機(jī)對著門。當(dāng)有人出現(xiàn)時,保存當(dāng)前行人。我們感興趣的是行人,其他的是背景,背景變化不大沒有必要保存(節(jié)約儲存空間),門框在原圖像中的位置是固定的,并且行人出現(xiàn)在門框中。在該場景中,可以使用切片操作提取門框。假設(shè)門框左上角在原圖像中的坐標(biāo)為(200,300),門框?qū)?00,高200。
可以使用如下所示代碼提取門框:

圖像縮放:
圖像縮放是指將一副圖像放大或縮小得到新圖像。對一張圖像進(jìn)行縮放操作,可以按照比例縮放,亦可指定圖像寬高進(jìn)行縮放。放大圖像實際上是對圖像矩陣進(jìn)行拓展,而縮小實際上是對圖像矩陣進(jìn)行壓縮。放大圖像會增大圖像文件大小,縮小圖像會減小文件體積。

模型推理部署的挑戰(zhàn):
[1]深度學(xué)習(xí)框架種類繁多:業(yè)界廣泛使用的深度學(xué)習(xí)框架有許多,例如Caffe,TensorFlow,MXNet,Kaldi,PyTorch等。
[2]性能與功耗的限制: 深度學(xué)習(xí)網(wǎng)絡(luò)的訓(xùn)練是在數(shù)據(jù)中心或服務(wù)器中進(jìn)行的,而推理則可能在針對性能和功耗進(jìn)行了優(yōu)化的嵌入式平臺上進(jìn)行。使用原始訓(xùn)練框架進(jìn)行推理,從軟件角度(編程語言,第三方依賴關(guān)系,內(nèi)存消耗,支持的操作系統(tǒng))和硬件角度(不同的數(shù)據(jù)類型,有限的功耗)來看,此類平臺通常都受到限制,因此通常不建議這樣做(有時甚至是不可能的)。
[3]復(fù)雜性高: 針對上述兩個難點有一種替代解決方案是使用針對特定硬件平臺進(jìn)行了優(yōu)化的專用推理API。但是由于部署過程的其他復(fù)雜性包括支持越來越復(fù)雜的各種層類型和網(wǎng)絡(luò),導(dǎo)致確保變換網(wǎng)絡(luò)后的模型準(zhǔn)確性不受大的影響并非易事。
(7)模型部署的工作流程
DLDT是Deep Learning Deployment Toolkit英特爾?深度學(xué)習(xí)部署工具包的縮寫,其主要用于神經(jīng)網(wǎng)絡(luò)的推理。
部署訓(xùn)練完成的深度學(xué)習(xí)模型完整工作流程因受到應(yīng)用場景需求、精確度以及硬件設(shè)備等諸多因素的影響較為復(fù)雜。
這里只介紹一種模型部署的典型工作流程:

(8)模型部署的典型工作流程
[1]針對特定框架配置模型優(yōu)化器(用于訓(xùn)練模型)。
[2]運行模型優(yōu)化器,以基于訓(xùn)練后的網(wǎng)絡(luò)拓?fù)洌瑱?quán)重和偏差值以及其他可選參數(shù),生成模型的優(yōu)化中間表示(IR)。
[3]在目標(biāo)環(huán)境中使用提供的Inference Engine示例應(yīng)用程序,使用Inference Engine對IR格式的模型進(jìn)行測試。
[4]將Inference Engine集成到您的應(yīng)用程序中,以在目標(biāo)環(huán)境中部署模型。

2.視頻后處理
在圖像處理中,經(jīng)常需要將某個感興趣區(qū)域用圖形標(biāo)注出來,特別是在物體檢測、物體追蹤技術(shù)中,繪圖幾乎是每個程序必不可少的功能。OpenCV提供了一些繪圖函數(shù),可以滿足在圖像中繪制直線、圓、矩陣、多邊形、字符串等功能。








有論文需求的同學(xué)看這里!
關(guān)注【學(xué)姐帶你玩AI】公眾號
后臺回復(fù)“CVPR”領(lǐng)取CV頂會必讀高分論文pdf
包含55個細(xì)分方向?。傆心阈枰?/span>