GAITC 2021 馬思偉:人工智能技術(shù)推動(dòng)智能編碼的發(fā)展
6月6日,由中國(guó)人工智能學(xué)會(huì)(以下簡(jiǎn)稱CAAI)主辦,新浪新聞聯(lián)合中國(guó)傳媒大學(xué)共同承辦的2021全球人工智能技術(shù)大會(huì)(GAITC 2021)“發(fā)展與挑戰(zhàn)”專題論壇在杭州舉行。北京大學(xué)教授、國(guó)家杰青獲得者馬思偉先生在本次專題論壇上,與來(lái)自業(yè)界、學(xué)術(shù)界的嘉賓們分享了關(guān)于《智能圖像編碼》的研究。
馬思偉作主題演講。
馬思偉認(rèn)為,智能編碼主要面向視覺(jué)內(nèi)容內(nèi)容分析和理解,采用基于特征或語(yǔ)義的編碼方法。當(dāng)下數(shù)據(jù)驅(qū)動(dòng)、算力提升,都在推動(dòng)智能編碼的快速發(fā)展。從對(duì)象模型編碼、到知識(shí)、語(yǔ)義模型模型編碼,再到現(xiàn)在的深度學(xué)習(xí)編碼,智能編碼的發(fā)展始終與人工智能技術(shù)的發(fā)展密切相關(guān)。
以下為馬思偉演講實(shí)錄,內(nèi)容經(jīng)編輯略有刪減:
非常高興有機(jī)會(huì)來(lái)這兒匯報(bào)自己的工作。圖像編碼可以說(shuō)是一個(gè)老技術(shù)問(wèn)題,實(shí)際上編碼從數(shù)字圖像誕生時(shí)就開(kāi)始了,這個(gè)是計(jì)算機(jī)上的第一幅圖像,圖像分辨率是176×176×1bit,一個(gè)像素要么是黑,要么是白。
中間這幅圖像被稱為JPEG的守護(hù)神,圖像壓縮或圖像處理的應(yīng)該都知道,這時(shí)的圖像分辨率是512×512,1972年的掃描儀只能掃描這個(gè)分辨率。后面這幅圖像就是今天說(shuō)的比較多的4K、8K超高清分辨率的圖像。在8K分辨率圖像上我們可以看清狗的毛發(fā),一根一根的精細(xì)了。8K分辨率即7680×4320,位寬是10bit,這個(gè)數(shù)據(jù)量跟1957年比是一萬(wàn)多倍。
即便是和70年代的圖像相比,數(shù)據(jù)量增長(zhǎng)也是近200倍,可以說(shuō)分辨率提升帶來(lái)巨量的數(shù)據(jù)量增加。圖像采集是更精細(xì)準(zhǔn)確的記錄時(shí)空信息,圖像編碼則是為了降低數(shù)據(jù)量的儲(chǔ)存帶寬。智能編碼一方面是提高壓縮效率,另一方面是支持更方便、更智能的圖像處理。
最早熟知的圖像編碼技術(shù)是JPEG,現(xiàn)在數(shù)碼相機(jī)都還一直在使用。JPEG是1988年開(kāi)始啟動(dòng),1992年成為標(biāo)準(zhǔn),到現(xiàn)在接近30年,后來(lái)還有JPEG2000,性能比JPEG提升接近30%。由于技術(shù)專利問(wèn)題并沒(méi)有獲得廣泛使用,我們看到很多技術(shù)是成功的,但實(shí)際成功應(yīng)用是受很多因素影響的。后來(lái)雖然圖像編碼標(biāo)準(zhǔn)聽(tīng)說(shuō)的少些,但這些視頻編碼標(biāo)準(zhǔn)的幀內(nèi)編碼也通常用于圖像編碼,像h.264這代標(biāo)準(zhǔn)是2003年制定的,h.265/HEVC是2013年制定的,BPG圖像就是基于h.265編碼技術(shù)。最新的就是h.266了,是2020年制定完成的,像HEIF圖像就是基于H.266的。對(duì)圖像壓縮來(lái)講,從1992年開(kāi)始,近30年壓縮效率提升還不到兩倍。剛剛提到數(shù)據(jù)量是上百倍的增長(zhǎng),所以可以說(shuō)壓縮技術(shù)很難,編碼壓縮是很有需求的。
編碼的難題是什么?這個(gè)是現(xiàn)在的編碼技術(shù)的通用手段,一個(gè)是預(yù)測(cè)這塊降低數(shù)據(jù)的空間冗余,還有從空域變換到頻域進(jìn)行信號(hào)的分解去掉高頻信息。目前提高編碼效率是用很多的變換核,很多的預(yù)測(cè)技術(shù)手段綜合起來(lái)去選一個(gè)最優(yōu)的,選優(yōu)的過(guò)程是很復(fù)雜的,通?;诼适д鎯?yōu)化理論進(jìn)行決策選定編碼參數(shù),這種優(yōu)化編碼是比較有限的,采用一些簡(jiǎn)單的線性預(yù)測(cè)或者線性變換很難達(dá)到最優(yōu)的編碼效果,因?yàn)閷?shí)際的數(shù)據(jù)情況太多太復(fù)雜了。
所以就有了現(xiàn)在做的比較多的非線性預(yù)測(cè)、變換編碼技術(shù),也就是現(xiàn)在講的比較多的神經(jīng)網(wǎng)絡(luò)編碼、深度學(xué)習(xí)編碼,可以通過(guò)更復(fù)雜的非線性預(yù)測(cè)變換,降低數(shù)據(jù)冗余度,這是一個(gè)新的研究方向。簡(jiǎn)單講下深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)做預(yù)測(cè)編碼,我們傳統(tǒng)編碼里面通常取幾個(gè)像素做加權(quán)預(yù)測(cè),一般是固定幾套濾波器,從中選擇一種,但實(shí)際信號(hào)組合情況太復(fù)雜了,很難依靠幾套簡(jiǎn)單的濾波器解決這個(gè)問(wèn)題,相比之下神經(jīng)網(wǎng)絡(luò)可以做更復(fù)雜的優(yōu)化預(yù)測(cè)。通常在編碼里面我們都很喜歡0.5這個(gè)數(shù),0.5很簡(jiǎn)單,運(yùn)算時(shí)就是(A+B)÷2,我們也知道這個(gè)0.5肯定不是最優(yōu)的,但到底是0.1、0.2、0.7、0.8,一下子多了更多選擇之后,優(yōu)化就變的很難解決了,所以通過(guò)神經(jīng)網(wǎng)絡(luò)去求解更復(fù)雜的優(yōu)化編碼問(wèn)題,能夠?qū)Φ讓拥男盘?hào)特征處理更好,提高編碼效率,這個(gè)是深度學(xué)習(xí)編碼工作的背后機(jī)理。
基于神經(jīng)網(wǎng)絡(luò)做優(yōu)化編碼主要是兩方面的問(wèn)題,一方面是盡量少的去編碼信息,編碼較少的元素,比如神經(jīng)網(wǎng)絡(luò)輸出的特征盡量少,這樣降低碼率比較直觀,比如編8個(gè)數(shù)比編1個(gè)數(shù)考慮的情況要多的多,還有本身這個(gè)編碼元素的信息熵要低,這個(gè)是基本優(yōu)化的思想。
基于這些優(yōu)化思想現(xiàn)在可以看到基于神經(jīng)網(wǎng)絡(luò)編圖像性能提升,這些工作是在2016年,這個(gè)時(shí)候性能超過(guò)JPEG2000,2018年性能超過(guò)了h.265編碼。最后面的就是2020年的結(jié)果,它這個(gè)性能超過(guò)最新的VVC。前面說(shuō)過(guò)編碼是個(gè)很有難度的問(wèn)題,30年編碼效率只提升了一倍多?,F(xiàn)在這些基于神經(jīng)網(wǎng)絡(luò)編碼的方法比前面積累了幾十年的工作效果都好,但也有問(wèn)題,神經(jīng)網(wǎng)絡(luò)編碼數(shù)據(jù)的依賴性還有復(fù)雜度目前還是比較大的問(wèn)題。
前面我們看到用深度學(xué)習(xí)去解決更復(fù)雜的優(yōu)化編碼問(wèn)題,是可以提升編碼性能的?,F(xiàn)在還有另外一個(gè)變化,原來(lái)傳統(tǒng)編碼為了追求壓縮效率提升,主要是面向人觀看的影視節(jié)目,包括我們手機(jī)上刷的視頻,都是人去看它。
對(duì)于這類視頻做編碼的目的是為了節(jié)省存儲(chǔ)空間和帶寬,但是現(xiàn)在越來(lái)越多的視頻不只是人去觀看,而是越來(lái)越多的機(jī)器都要對(duì)這些視頻和圖像分析處理,這是傳統(tǒng)編碼并沒(méi)有太多考慮的。所以提出智能編碼,采用基于語(yǔ)義或者是特征的編碼手段,能夠更好地面向內(nèi)容分析與理解。
原來(lái)的圖像視頻是由機(jī)器記錄之后呈現(xiàn)給我們?nèi)丝?,是人和機(jī)器之間的一種交互形式。機(jī)器之前或者人機(jī)之間,可以有有更高級(jí)的通信方式,比如像神經(jīng)脈沖,不一定就是圖像視頻。
傳統(tǒng)編碼和智能編碼在數(shù)據(jù)獲取以及表示處理的時(shí)候有很大的差別,首先傳統(tǒng)編碼的對(duì)象,就是圖像視頻,它都是基于CCD、CMOS陣列刷新,對(duì)像素塊進(jìn)行處理編碼。后續(xù)基于圖像視頻的分析理解,目前基本都是基于深度學(xué)習(xí)的算法,有些方面比人做的都好了,與人的視覺(jué)系統(tǒng)相比效率還比較低。比如讓機(jī)器看了很多貓,后來(lái)一個(gè)貓它認(rèn)成了狗,這是普遍存在的問(wèn)題。對(duì)小孩子來(lái)說(shuō),給他看兩三只貓認(rèn)出來(lái)的還是貓。
對(duì)人類視覺(jué)系統(tǒng)的研究也有很多,比如很早就有許多很基礎(chǔ)的理論研究,基本上我們編碼里面用到的比較多的理論一個(gè)是多通道,即對(duì)色彩、對(duì)比敏感度等的多通道處理。還有就是非線性,非線性可以更好對(duì)圖像視頻內(nèi)容實(shí)現(xiàn)更好的表示,這是背后的機(jī)理。
我們現(xiàn)在對(duì)比下傳統(tǒng)編碼和智能編碼,傳統(tǒng)編碼都是基于像素塊的處理,對(duì)像素塊做預(yù)測(cè)變換編碼,處理的時(shí)候我們不知道里面是什么,都是一樣的,無(wú)非就是說(shuō)數(shù)據(jù)有的是方差大一點(diǎn)或者是小一點(diǎn),都是信號(hào)層面的底層特征。我們?nèi)丝磧?nèi)容是從邊緣結(jié)構(gòu)特征入手,再到輪廓、對(duì)象,它是這樣一個(gè)信息處理模式。人看東西實(shí)際上也是一個(gè)編碼過(guò)程,可以看到面向理解的編碼和信號(hào)保證的編碼之間差別是很大的。
那么是不是可以從更多利用特征層面進(jìn)行編碼呢?也就是說(shuō)的智能編碼。智能編碼概念其實(shí)并不是現(xiàn)在才有的,也有20多年了,只不過(guò)它的進(jìn)展一直沒(méi)有達(dá)到我們所要的智能。比如早些年提得比較多的基于模型的編碼,對(duì)圖像的內(nèi)容進(jìn)行區(qū)域分割和編碼。MPEG-4提出了基于對(duì)象的編碼,但是它依賴對(duì)象的很精細(xì)的分割,為了實(shí)現(xiàn)對(duì)象交互?,F(xiàn)在我們回頭思考下如果想要實(shí)現(xiàn)內(nèi)容的分析理解,需要準(zhǔn)確的分割嗎?不需要,只要對(duì)象的特征就足夠了。后來(lái)還有基于知識(shí)和語(yǔ)義的編碼,大概是在80年代末期到90年代中期,再后來(lái)就提出了綜合信號(hào)和視覺(jué)系統(tǒng)的智能編碼。其實(shí)還有很多工作是與智能編碼密切相關(guān)的,如MPEG-7中定義的視覺(jué)對(duì)象的描述,以及CDVS、CDVA,通過(guò)在圖像、視頻上附加上一些特征信息,可以基于特征進(jìn)行圖像檢索,不需要再處理原始的圖像。近期還有一個(gè)稱為面向機(jī)器視覺(jué)的編碼叫video coding for machine,簡(jiǎn)稱VCM,也是面向機(jī)器進(jìn)行分析和處理的編碼。
下面我們?cè)谏钊肓私庀律疃葘W(xué)習(xí)編碼和特征編碼之間的關(guān)系。對(duì)于像素層面的編碼進(jìn)行DCT變換,變換分解成不同信號(hào)進(jìn)行編碼,這是很底層的特征。再高層些的特征是邊緣輪廓,也可以通過(guò)學(xué)習(xí)得到,可以模擬人一樣對(duì)視覺(jué)信息的處理。到高層這里我們看到類似于人臉的特征。由此可見(jiàn)基于深度學(xué)習(xí)的編碼,實(shí)際上包含了很多視覺(jué)特征特征信息在里面。
這里我們提出了一個(gè)視覺(jué)信息分層的編碼框架。一個(gè)是結(jié)構(gòu)層面,比如輪廓信息,還有紋理層,就是顏色等信息,還有是語(yǔ)義層,最后是殘差信號(hào)層。基于這些層次信息的融合表示實(shí)現(xiàn)智能編碼,用相應(yīng)的特征去做更多的智能處理。
這是一個(gè)具體實(shí)現(xiàn)的網(wǎng)絡(luò)框架,有時(shí)特征的數(shù)據(jù)量也很大,這部分負(fù)責(zé)去除語(yǔ)義冗余降低碼率,后面這里是解碼重建過(guò)程。對(duì)這種編碼方法,我們?cè)谝恍┐笠?guī)模的圖像數(shù)據(jù)集上進(jìn)行了測(cè)試。
首先在編碼效率方面,和VVC比在同等視覺(jué)視覺(jué)量下,壓縮效率差不多可以提高到2-3倍。剛才說(shuō)了智能編碼不只是為了提升壓縮效率,還在內(nèi)容分析方面具有優(yōu)勢(shì)。
這個(gè)工作是訓(xùn)練網(wǎng)絡(luò)的時(shí)候不只是面向壓縮,同時(shí)面向圖像分割、人臉屬性預(yù)測(cè)這些分析識(shí)別任務(wù),網(wǎng)絡(luò)編碼提取的特征信息在達(dá)到壓縮的同時(shí)可以同時(shí)支撐分析識(shí)別任務(wù),不需要解碼圖像重建,不需要回到像素層次。
通過(guò)視覺(jué)信息分層編碼還可以做一些其他有意思的工作。像這里圖像結(jié)構(gòu)和紋理分開(kāi)了,可以把一幅圖像的輪廓信息和另一幅圖像的色彩信息做組合,能夠很快變化出更多的圖像內(nèi)容甚至其他東西來(lái),這些工作類似于圖像風(fēng)格化,但這里主要是講定義了底層的數(shù)據(jù)表示,可以基于這一表示去進(jìn)行更多的處理。
還有一個(gè)是我們現(xiàn)在在做的工作,打通智能編碼和更多智能處理之間的聯(lián)系。一個(gè)是視頻的生成,可以用一副圖像生成一段視頻出來(lái),還有一種是做圖像之間的變化效果,目前都還在進(jìn)行中。
最后,談?wù)勚悄芫幋a的未來(lái)趨向,最頂層是編碼的理論基礎(chǔ),包括信息論、視覺(jué)表示理論等,我想人的視覺(jué)系統(tǒng)是很好的編碼器,這個(gè)是有相應(yīng)的生理智能基礎(chǔ)的,中間是早期的感知機(jī)編碼,其實(shí)一開(kāi)始神經(jīng)網(wǎng)絡(luò)剛出來(lái)的既有很多的編碼工作,人看東西的過(guò)程也是編碼。后面到模型編碼,再后面是深度學(xué)習(xí)編碼,包括最近概念壓縮、生成壓縮等工作。從這里我們可以看到數(shù)據(jù)驅(qū)動(dòng)、算力提升,推動(dòng)了智能編碼的發(fā)展。智能編碼不是新東西,是在更多的計(jì)算資源、人工智能技術(shù)發(fā)展下有了更新的進(jìn)展,這里也體現(xiàn)了從對(duì)象到內(nèi)容、越來(lái)越語(yǔ)義化的螺旋式發(fā)展。
與傳統(tǒng)編碼定義編解碼方法達(dá)到壓縮的目的類似,智能編碼的目標(biāo)是定義更高效的數(shù)據(jù)表示形式,為更智能的數(shù)字媒體處理提供高層級(jí)的接口,我想這是智能媒體編碼未來(lái)的工作方向。