龔星衡, 吳肖伶, 張衛(wèi)華
(四川大學(xué)計(jì)算機(jī)學(xué)院, 成都 610065)
隨著工業(yè)4.0[1]的到來(lái),無(wú)人車成為了最近研究的熱點(diǎn),在各種工業(yè)/物流等場(chǎng)景下應(yīng)用無(wú)人車能夠降低人工成本,提高生產(chǎn)效率.無(wú)人車現(xiàn)多用于承擔(dān)工業(yè)園區(qū)的運(yùn)輸工作,但由于園區(qū)無(wú)線電規(guī)制,用于無(wú)人車圖傳的帶寬可能受限,需要編碼技術(shù)能夠在碼率較低的情況下對(duì)圖像視頻信號(hào)進(jìn)行壓縮[2],需要對(duì)視頻編碼技術(shù)進(jìn)行改進(jìn),同時(shí),考慮圖傳設(shè)備算力有限,采用的編碼方法應(yīng)盡可能的簡(jiǎn)單,保證不過(guò)多占用圖傳設(shè)備的算力,節(jié)約成本.
然而,園區(qū)無(wú)人車除了需要實(shí)時(shí)圖像傳輸之外,還需要利用RTK進(jìn)行解算GPS信息,故圖像壓縮的復(fù)雜度不能過(guò)高,同時(shí)園區(qū)無(wú)人車上的圖像傳輸需要保持較高的實(shí)時(shí)性,在網(wǎng)絡(luò)帶寬有限的情況下,如何降低圖像的數(shù)據(jù)量,同時(shí)保證圖像質(zhì)量能用于識(shí)別是急需解決的問(wèn)題.本文為了同時(shí)滿足有限網(wǎng)絡(luò)帶寬、壓縮率高、低復(fù)雜度的要求,同時(shí)保證被壓縮圖像的質(zhì)量,選用了H.264/AVC[3]作為基礎(chǔ)方法.H.264具有較高的壓縮率,同時(shí),H.264的復(fù)雜度比H.265要低,容易滿足低算力的圖像采集設(shè)備.據(jù)此,本文提出一種基于姿態(tài)傳感器和H.264/AVC視頻壓縮算法提取圖像感興趣區(qū)域,以感興趣區(qū)域來(lái)分割壓縮圖像質(zhì)量的算法,旨在利用有限帶寬的情況下保證圖像的可識(shí)別性.
地面無(wú)人車輛集環(huán)境感知、規(guī)劃決策與多等級(jí)輔助駕駛功能于一體,是涉及到傳感、信息融合、計(jì)算機(jī)、通訊、人工智能及自動(dòng)控制技術(shù)等多學(xué)科多領(lǐng)域的高技術(shù)集合體[4].地面無(wú)人車又常被稱為無(wú)人車、智能車、智能機(jī)器人等.憑借其靈活小巧的特性,其被運(yùn)用于大量行業(yè).
國(guó)外地面無(wú)人車輛研究主要集中在歐洲地區(qū)與美日等國(guó);國(guó)內(nèi)多家企業(yè)與高校針對(duì)無(wú)人車的研究取得一系列的成果,已廣泛用于各個(gè)行業(yè),如工業(yè)運(yùn)送、物流、公共交通等.百度公司2013年開始研發(fā)無(wú)人駕駛車項(xiàng)目[5],京東公司在2016年正式發(fā)布無(wú)人配送車,以自動(dòng)駕駛核心技術(shù)為基礎(chǔ)[6].
現(xiàn)在無(wú)線圖像傳輸使用的壓縮方法十分豐富,有使用JPEG[7]、MJPEG[8]直接對(duì)視頻圖像直接進(jìn)行壓縮的方法,優(yōu)點(diǎn)是壓縮速度很快,圖像清晰,幾乎不占用CPU計(jì)算資源,缺點(diǎn)是壓縮率不高,圖像傳輸帶寬占用資源巨大;也有使用H.264[9]、H.265[10]對(duì)視頻先進(jìn)行一定壓縮處理,然后再通過(guò)網(wǎng)絡(luò)傳輸,優(yōu)點(diǎn)是圖像清晰、壓縮率很高、圖像傳輸帶寬占用資源較小,缺點(diǎn)是需要使用一定的CPU計(jì)算資源、壓縮需要一定的時(shí)間.
無(wú)人車在園區(qū)移動(dòng)的時(shí)候,需要關(guān)注的地方只有水平視場(chǎng)是否有人、車等可能出現(xiàn)妨礙駕駛的物體.無(wú)人車需要搭載圖像采集設(shè)備用于檢測(cè)行動(dòng)水平視場(chǎng)的圖像數(shù)據(jù),但考慮到園區(qū)路面顛簸不平,水平視場(chǎng)是一個(gè)動(dòng)態(tài)的狀態(tài),例如當(dāng)無(wú)人車由于路面上仰的時(shí)候,無(wú)人車的水平視場(chǎng)大小會(huì)變小,同時(shí)水平視場(chǎng)所占圖像中的位置會(huì)隨之下降.為解決因路面不平出現(xiàn)的水平視場(chǎng)動(dòng)態(tài)變化問(wèn)題,本文利用姿態(tài)傳感器用于計(jì)算無(wú)人車實(shí)時(shí)姿態(tài),從而計(jì)算水平視場(chǎng)大小與水平視場(chǎng)所在圖像位置.同時(shí)為了保證無(wú)人車所采集圖像數(shù)據(jù)能夠較快傳輸,并盡可能少占用傳輸帶寬,以免控制無(wú)人車信號(hào)產(chǎn)生較大的延時(shí),本文采用了將水平視場(chǎng)視為圖像感興趣區(qū)域,水平視場(chǎng)以外的地方視為非感興趣區(qū)域,非感興趣區(qū)域進(jìn)行壓縮擴(kuò)大的壓縮方法.
實(shí)驗(yàn)所用無(wú)人車控制器采用RaspberryPi 3B實(shí)現(xiàn),安裝ICM20948九軸傳感器,采集車的偏轉(zhuǎn)角度.九軸傳感器的靈敏度軸和旋轉(zhuǎn)極性的方向如圖1所示,其中,Z為偏航角,Y為翻滾角,X為俯仰角.
圖1 靈敏度軸和旋轉(zhuǎn)極性的方向
ICM20948九軸傳感器包括了三組傳感器,加速度傳感器,陀螺儀與羅盤儀以用于計(jì)算姿態(tài)使用,如果直接使用三組傳感器原始數(shù)據(jù),會(huì)算出三種無(wú)人車姿態(tài),簡(jiǎn)單的選取一個(gè)傳感器計(jì)算出的姿態(tài)不夠精確,本文選用卡爾曼濾波將傳感器數(shù)據(jù)進(jìn)行融合得到最終的車輛姿態(tài),同時(shí)能夠處理一定的噪聲信號(hào).如圖2所示,利用RTIMULib庫(kù)[11]可以方便的將使用卡爾曼濾波融合了三組傳感器的角度數(shù)據(jù)提取出來(lái).
無(wú)人車在園區(qū)行駛時(shí),可能出現(xiàn)的障礙物與目標(biāo)標(biāo)志物均貼近地面的情況,如果將貼近地面部分與天空部分進(jìn)行同等碼率的壓縮,為了保留更多的細(xì)節(jié),則接近天空那部分區(qū)域就極大的占用網(wǎng)絡(luò)傳輸帶寬.如圖3所示,以貼近地面的那部分區(qū)域?yàn)楦信d趣區(qū)域,如果園區(qū)無(wú)人車以相對(duì)水平的姿態(tài)前進(jìn)的話,圖像的上三分之一部分的可用消息很少,我們可以將其視為背景消息,將其的壓縮比例變得比其他區(qū)域更大,且在保持感興趣區(qū)域圖像質(zhì)量不變的情況下,使最終視頻的尺寸更小.
圖2 融合傳感器參數(shù),得到當(dāng)前姿態(tài)
園區(qū)無(wú)人車在路面不平穩(wěn)的情況下會(huì)發(fā)生顛簸,除因顛簸導(dǎo)致的車頭左右偏移之外,車頭上下俯仰與左右偏轉(zhuǎn)對(duì)感興趣區(qū)域的影響比較巨大.如前所述,只有貼近地面的部分為感興趣區(qū)域,車頭的俯仰會(huì)導(dǎo)致車頭向上偏移或者向下偏移,攝像頭采集到的畫面隨之上下偏移,當(dāng)攝像頭向上偏移的時(shí)候,拍攝到天空的部分會(huì)增加,感興趣區(qū)域應(yīng)該隨之向下移動(dòng)且減少;當(dāng)攝像頭向下偏移的時(shí)候,拍攝到地面的部分會(huì)增加,感興趣區(qū)域隨著向下移動(dòng)且增加.設(shè)車的俯仰角度為△?,提出一種簡(jiǎn)單的線性關(guān)系如下式.
ROIpitch:{(x,y)|x∈φ0W,y∈(?0+△?)H}
(1)
其中,x與y是感興趣區(qū)域的坐標(biāo)點(diǎn);?0是路面平整時(shí)感興趣區(qū)域的寬度系數(shù);W是圖像的寬度;φ0是路面平整時(shí)感興趣區(qū)域的寬度系數(shù);H為圖像的高度.
當(dāng)車開始傾斜,傳感器采集到翻轉(zhuǎn)角度時(shí),攝像頭隨之左右傾斜,當(dāng)攝像頭向左偏移的時(shí)候,拍攝到地面向左邊偏轉(zhuǎn),感興趣區(qū)域即隨之左移;當(dāng)攝像頭向右偏移的時(shí)候,拍攝到地面向右邊偏轉(zhuǎn),感興趣區(qū)域即隨之右移動(dòng).設(shè)車的偏轉(zhuǎn)角度為△φ,感興趣區(qū)域的集合如下.
ROIroll:{(x,y)|?0Wtan△φ-xtan△φ-y≥0}
(2)
其中,?0是人為的設(shè)定的,作為圖像開始偏轉(zhuǎn)的基礎(chǔ)位置.當(dāng)車同時(shí)遇到翻轉(zhuǎn)與上下顛簸時(shí),就需要將兩種情況綜合起來(lái)考慮,將式(1)和式(2)綜合起來(lái)得到式(3)和式(4).
(3)
ROIpitch,roll:{(x,y)|f(x,y)≥0}
(4)
有上式即可在既有翻轉(zhuǎn)又有俯仰角度的情況下進(jìn)行感興趣區(qū)域的計(jì)算.在完成感興趣區(qū)域計(jì)算后,對(duì)感興趣區(qū)域保留更多的空間細(xì)節(jié).在H.264算法中,使用量化參數(shù)(Quantization Parameter,QP)來(lái)反應(yīng)空間細(xì)節(jié)壓縮情況.如QP小,則圖像的大部分細(xì)節(jié)會(huì)被保留,隨著QP值增大,一些細(xì)節(jié)丟失,碼率降低,但圖像質(zhì)量下降.本文所用感興趣區(qū)域壓縮算法將興趣區(qū)域的QP值設(shè)置為0,非感興趣區(qū)域的默認(rèn)QP值設(shè)置為10,之后再利用H.264/AVC技術(shù)把原始yuv視頻壓縮為mp4或者H.264裸流,方便通過(guò)網(wǎng)絡(luò)傳輸.
在真實(shí)園區(qū)情況中,如果無(wú)人車遇到上坡直線前進(jìn)或者上坡傾斜上行的情況,利用式(1)和式(3)即可算出無(wú)人車傳回圖像的感興趣區(qū)域,圖4為無(wú)人車分別在平坦路面,傾斜路面,傾斜向上路面行駛,并獲得感興趣區(qū)域的流程圖.
圖4 平坦、傾斜、傾斜向上路面感興趣區(qū)域提取流程圖Fig.4 The step that extract ROI of flat, inclined, inclined upward pavement
如圖5,實(shí)驗(yàn)所用系統(tǒng)可簡(jiǎn)單分為視頻采集端、姿態(tài)傳感器端、視頻處理算法這三個(gè)部分.其中,視頻采集端為搭載無(wú)人車上的視頻采集設(shè)備,對(duì)無(wú)人車行進(jìn)道路進(jìn)行原始視頻數(shù)據(jù)采集.姿態(tài)傳感器端為車上搭載的ICM20948九軸傳感器,利用其對(duì)當(dāng)前的姿態(tài)信息進(jìn)行采集.視頻處理算法主要是利用姿態(tài)傳感器數(shù)據(jù)設(shè)計(jì)一種簡(jiǎn)單的感興趣區(qū)域提取方法,使用H.264/AVC編碼方式對(duì)視頻感興趣區(qū)域與非感興趣區(qū)域設(shè)置不同的壓縮比.
首先,測(cè)試姿態(tài)傳感器姿勢(shì)與角度的對(duì)應(yīng)關(guān)系,通過(guò)將當(dāng)前轉(zhuǎn)動(dòng)著的Rasberry Pi 3B的偏航角,翻滾角,俯仰角實(shí)時(shí)打印,來(lái)測(cè)試傳感器姿勢(shì)與傳感器參數(shù)的關(guān)系;然后,模擬6種場(chǎng)景(平地、上坡、下坡、橫向、斜向上和斜向下),讓無(wú)人車分別在這6種情況前進(jìn),并記錄無(wú)壓縮視頻與傳感器測(cè)出的無(wú)人車姿態(tài)角度;最后,將無(wú)壓縮視頻分別使用libx264壓縮與本文所提方法壓縮并對(duì)比兩種壓縮方法輸出結(jié)果感興趣區(qū)域的差別.
實(shí)驗(yàn)所用模擬無(wú)人車為ArduRover2.5,車上固定九軸傳感器(sense-hat)與Raspberry PI Camera攝像頭.實(shí)驗(yàn)設(shè)定第3節(jié)式(1)~式(3)的初始值為,φ0=1,?0=0.43,?0=0.5.
圖5 系統(tǒng)架構(gòu)Fig.5 System architecture
為測(cè)試傳感器參數(shù)靈敏度,我們將以幾個(gè)典型角度來(lái)測(cè)試傳感器參數(shù).實(shí)驗(yàn)結(jié)果如表1所示.
表1 靈敏度軸和旋轉(zhuǎn)極性的角度對(duì)應(yīng)傳感器參數(shù)
由實(shí)驗(yàn)結(jié)果知,我們以圖1所示的x軸坐標(biāo)系為基準(zhǔn),按順時(shí)針轉(zhuǎn)動(dòng),傳感器翻轉(zhuǎn)角度與傳感器數(shù)值正負(fù)相反,以轉(zhuǎn)動(dòng)180°為界,傳感器數(shù)值變?yōu)檎?例如實(shí)際傳感器轉(zhuǎn)動(dòng)了0°~180°的時(shí)候,傳感器數(shù)值為0°~-180°的弧度值;傳感器轉(zhuǎn)動(dòng)180°~360°,傳感器數(shù)值為180°~360°的弧度值.我們以圖2所示的y軸為基準(zhǔn),按順時(shí)針轉(zhuǎn)動(dòng),傳感器翻轉(zhuǎn)角度與傳感器數(shù)值對(duì)應(yīng),傳感器翻轉(zhuǎn)角度超過(guò)180°后,數(shù)值從-180°開始直到0°.
由以上分析可知,姿態(tài)傳感器能精確地反應(yīng)真實(shí)世界的姿態(tài),而且傳感器翻轉(zhuǎn)角度與現(xiàn)實(shí)角度的對(duì)應(yīng)關(guān)系比較簡(jiǎn)單.傳感器轉(zhuǎn)動(dòng)角度從使用場(chǎng)景與現(xiàn)實(shí)生活經(jīng)驗(yàn)可知,車轉(zhuǎn)動(dòng)不會(huì)超過(guò)±90°,即轉(zhuǎn)動(dòng)有效角度為0°~ 90°,270°~ 360°,從實(shí)驗(yàn)結(jié)果來(lái)看傳感器參數(shù)就是0°~±90°的弧度值.故真實(shí)轉(zhuǎn)動(dòng)角度與轉(zhuǎn)動(dòng)傳感器參數(shù)轉(zhuǎn)化也比較簡(jiǎn)單.
為驗(yàn)證本方法可以用于改進(jìn)無(wú)人車圖像傳輸,本實(shí)驗(yàn)利用車上拍攝的多種分辨率的多個(gè)視頻,進(jìn)行本方法的壓縮與原始H.264壓縮的壓縮信噪比進(jìn)行比較,同時(shí)分別對(duì)感興趣區(qū)域與非感興趣區(qū)域進(jìn)行兩種壓縮方法的壓縮信噪比對(duì)比.本實(shí)驗(yàn)將對(duì)車的俯仰與偏轉(zhuǎn)進(jìn)行了單獨(dú)測(cè)試與綜合測(cè)試,首先考慮俯仰的情況,如圖6(a),在固定角度的坡上使無(wú)人車從下到上和從上到下運(yùn)動(dòng),以模擬無(wú)人車俯仰的情況;然后考慮翻轉(zhuǎn)的情況,如圖6(b),在同一個(gè)坡上以側(cè)方向角度開動(dòng)無(wú)人車,以模擬車翻轉(zhuǎn)的情況;最后考慮車同時(shí)翻轉(zhuǎn)與俯仰,如圖6(c),在同一個(gè)坡上以斜上角度開動(dòng)無(wú)人車以模擬車同時(shí)翻轉(zhuǎn)與俯仰的情況.本實(shí)驗(yàn)對(duì)上面的幾種情況進(jìn)行測(cè)試,如圖6所示,無(wú)人車以三種的箭頭所示方向前進(jìn)為實(shí)驗(yàn)設(shè)計(jì)的6種情況.本實(shí)驗(yàn)把攝像頭采集原始yuv2視頻數(shù)據(jù)保存下來(lái),將視頻數(shù)據(jù)進(jìn)行H.264壓縮和按感興趣區(qū)域壓縮,并進(jìn)行客觀視頻尺寸,質(zhì)量對(duì)比.
圖6 模擬無(wú)人車翻轉(zhuǎn)俯仰實(shí)驗(yàn)示意Fig.6 Simulated unmanned vehicle rollover and pitch experiment
圖7 libx264為原始H.264壓縮方法,mask為本文使用方法的對(duì)應(yīng)掩膜,ours為本文使用壓縮算法
圖像掩膜為用選定的圖像、圖形或物體,對(duì)處理的圖像(全部或局部)進(jìn)行遮擋,來(lái)控制圖像處理的區(qū)域或處理過(guò)程.本實(shí)驗(yàn)主要用圖像掩膜來(lái)提取感興趣區(qū),根據(jù)傳感器參數(shù)計(jì)算的感興趣區(qū)掩模與待處理圖像相乘,得到感興趣區(qū)圖像,感興趣區(qū)內(nèi)圖像值保持不變,而區(qū)外圖像值都為0.為了說(shuō)明本實(shí)驗(yàn)的壓縮質(zhì)量,本實(shí)驗(yàn)選取了峰值信噪比作為視頻質(zhì)量的量度標(biāo)準(zhǔn).峰值信噪比[12](Peak Signal-to-Noise Ratio,??s寫為PSNR)是一個(gè)表示信號(hào)最大可能功率和影響它的表示精度的破壞性噪聲功率的比值的工程術(shù)語(yǔ).本實(shí)驗(yàn)在得到傳感器翻轉(zhuǎn)與偏移角度的通過(guò),根據(jù)第3節(jié)的式(1)~所示的(4)得到的區(qū)間,圖像在區(qū)間內(nèi)的像素將其賦值為0,否則為255,則得到了該幀感興趣區(qū)域的掩膜圖像,通過(guò)感興趣區(qū)域的掩膜將未壓縮圖像、libx264壓縮圖像與本文算法壓縮圖像進(jìn)行分割處理,然后將分割保留部分進(jìn)行PSNR計(jì)算,即為感興趣區(qū)域的PSNR計(jì)算方法.
如圖7,列舉了以上情況的視頻的某一幀,并計(jì)算了感興趣區(qū)域的PSNR值與掩膜.由圖7所示,本文算法將非感興趣區(qū)域的壓縮率設(shè)置的比較大,從圖7可看到,非感興趣區(qū)域比較模糊,但感興趣區(qū)域中與H.264方法壓縮的圖像基本沒(méi)有變化.本文這種壓縮方法可以保持對(duì)感興趣區(qū)域是否有汽車、人等特殊關(guān)注物體細(xì)節(jié)的同時(shí)壓縮車所傳輸?shù)囊曨l體積,實(shí)時(shí)性更佳.
我們將以上情況所作實(shí)驗(yàn)進(jìn)行整合,得到本文算法每幀圖像的感興趣區(qū)域的PSNR與libx264所壓縮算法的每幀圖像的PSNR,繪制為折線圖如圖8.
圖8 6種情況下視頻感興趣區(qū)域的PSNR對(duì)比,除下坡情況(e)因感興趣區(qū)域太小,非感興趣區(qū)域占圖片較大比例,明顯比原圖PSNR值低外,其余情況均和原始圖像感興趣區(qū)域的PSNR沒(méi)有太大變化
圖8中橫坐標(biāo)為視頻的幀數(shù),縱坐標(biāo)為對(duì)應(yīng)的幀的PSNR值和感興趣區(qū)域的PSNR值.因H.264算法壓縮視頻采用了關(guān)鍵幀(I幀),向前搜索幀(P幀),雙向搜索幀(B幀)的壓縮方法[13],不同的幀之間的PSNR值會(huì)有一定誤差.從圖8中可以看到,本實(shí)驗(yàn)壓縮方法感興趣區(qū)域PSNR值和改進(jìn)前整體趨勢(shì)符合預(yù)期,證明本文所述感興趣區(qū)域壓縮方法有效.
我們將以上情況所做的實(shí)驗(yàn)進(jìn)行整合,得到結(jié)果如表2.
由以上實(shí)驗(yàn)數(shù)據(jù)得出,對(duì)于天空這種圖片信息不豐富的地方,壓縮比例提高對(duì)視頻壓縮大小有顯著提升,而對(duì)于視頻的感興趣區(qū)域的平均PSNR值變化不是很大.我們可以得出結(jié)論:對(duì)于景區(qū)而言,對(duì)無(wú)人車所拍攝車載圖像來(lái)說(shuō),視頻上部分,壓縮比增大,雖對(duì)觀看視頻有一定影響,但是對(duì)機(jī)器對(duì)感興趣區(qū)域特殊物體識(shí)別幾乎沒(méi)有影響,同時(shí)對(duì)視頻傳輸?shù)木W(wǎng)絡(luò)資源更加友好.
表2 俯仰傾斜視頻壓縮實(shí)驗(yàn),?為俯仰角,φ為翻轉(zhuǎn)角,表中PSNR為感興趣區(qū)域與的PSNR
綜上所述,針對(duì)無(wú)人車在園區(qū)行駛這種情況,利用姿態(tài)傳感器提出一種計(jì)算感興趣區(qū)域的模型,并利用該模型進(jìn)行了視頻分區(qū)編碼壓縮,從而明顯地減少了視頻的大小,同時(shí)PSNR值并沒(méi)有有較大的損失,肉眼觀察非感興趣區(qū)域與感興趣區(qū)域的清晰度并沒(méi)有明顯變化,滿足園區(qū)無(wú)人車圖傳的要求.盡管如此,本文設(shè)計(jì)的無(wú)人車圖傳系統(tǒng)仍有不足的地方:(1) 當(dāng)小車的運(yùn)動(dòng)速度過(guò)快,路面稍有不平,傳感器的采集到的數(shù)值會(huì)出現(xiàn)一個(gè)抖動(dòng)現(xiàn)象,本文所提算法沒(méi)有對(duì)抖動(dòng)現(xiàn)象有一個(gè)有效的處理;(2) 當(dāng)路面顛簸程度較大,小車速度過(guò)快,會(huì)導(dǎo)致圖傳的實(shí)時(shí)性降低,本文所提方法不能很好解決這個(gè)問(wèn)題.