本發(fā)明的技術(shù)方案涉及應(yīng)用電子設(shè)備進行圖像縮放的方法,具體地說是一種圖像縮放方法。
背景技術(shù):
隨著數(shù)字視頻技術(shù)的發(fā)展,不同分辨率及尺寸比例的顯示設(shè)備種類激增,網(wǎng)絡(luò)上的各種圖像和視頻的顯示比例各異,為了使圖像及視頻能完整、適當?shù)仫@示在不同的設(shè)備上,圖像縮放成為亟待解決的問題。
傳統(tǒng)的圖像縮放方法包括等比例縮放和圖像裁剪兩類。其中,等比例縮放的方法使用雙線性、雙三次插值或最近鄰域方法直接將圖像按需要的比例縮放到要求的尺寸,該類方法會導(dǎo)致主體區(qū)域發(fā)生拉伸或壓縮的嚴重變形;而圖像裁剪的方法是直接剪切圖像到要求的尺寸,又不可避免地造成圖像內(nèi)容的丟失,因此研究基于內(nèi)容感知的圖像縮放有助于解決上述問題。2007年,Avidan和Shamir在論文“Seam carving for content-aware image resizing”中首先提出將圖像縮放的過程分成圖像的重要度圖求解與依重要度圖像縮放的內(nèi)容感知的圖像縮放方法。該方法經(jīng)過改進,如今大致分成三個方向:基于線裁剪縮放方法、基于圖像變形縮放方法和多操作圖像縮放方法。Avidan和Shamir在論文“Seam carving for content-aware image resizing”中提出的線裁剪算法,每次從圖像中刪除一條能量值最小的八連通曲線,直到圖像滿足條件為止,該方法在縮放過程中刪除重要度低的像素點,從而減少圖像的主體區(qū)域的扭曲,但是由于沒有考慮到裁剪線被刪除后其左右兩側(cè)的像素點相鄰后產(chǎn)生的新能量,會導(dǎo)致圖像裁剪后產(chǎn)生鋸齒狀形變,該方法也被稱為Backward方法。2008年Rubinstein等人在論文“Optimized scale-and-stretch for image resizing”中提出Forward線裁剪算法,該算法考慮了刪除裁剪線后其左右兩側(cè)像素點相鄰后產(chǎn)生的能量,并將其記入變形能量當中,提高了視覺效果。但是這兩種方法都是單向裁剪,當目標圖像要求縮放兩個方向時則無法綜合考慮兩個方向的變形而降低視覺誤差。此后,Shi等人在論文“Optimal Bi-directional seam carving for content-aware image resizing”中將單向線裁剪改成雙向線裁剪,Liu等人在論文“Adaptive image retargeting using saliency-based continuous seam Carving”中改進了線裁剪的重要度能量函數(shù),這些方法不同程度地提升了圖像縮放的效果,但仍然無法避免圖像縮放過程產(chǎn)生的鋸齒現(xiàn)象?;趫D像變形的圖像縮放方法是先用矩形或三角形的網(wǎng)格把圖像分成小塊,然后根據(jù)圖像的重要度對小塊進行處理,盡量使變形發(fā)生在重要度低的小塊上,重要度高的小塊盡量不做改變或做等長寬比的統(tǒng)一縮放,該方法容易造成主要物體邊界的扭曲變形,甚至圖像中的主體大小隨圖像大小本身的縮放而縮放。多操作圖像縮放方法一般會結(jié)合傳統(tǒng)縮放、線裁剪和直接裁剪等多種方法,通過調(diào)整各個方法的順序及數(shù)量來提高效果,該方案一般比單獨使用其中一種方法效果好,但是時間花費較多,如在論文“Optimised image retargeting using aesthetic-based cropping and scaling”中,Liang等人通過比較各種縮放操作的結(jié)果選擇最佳的方法進行縮放,但所用時間較長。CN102568443B公開了一種圖像縮放算法,該算法根據(jù)原圖像的尺寸與目標圖像的尺寸,以像素點為單位進行復(fù)制和移除操作,由于沒有從整體上考慮圖像中的主要物體,因此會造成圖像的主要物體發(fā)生形變和扭曲。CN102509259A公開了一種圖像縮放算法,該算法根據(jù)圖像能量圖計算原始圖像中各像素點的方向,通過刪除各像素點的方向之間形成的縫隙中能量最少的一條縫隙進行縮放,由于各像素點的方向完全由能量圖決定,當圖像中的主要物體內(nèi)部過度平滑時,該圖像的主要物體會被大面積刪除。
圖像縮放算法的運算速度是評價其優(yōu)劣的重要指標,在上述依重要度圖像縮放的內(nèi)容感知的圖像縮放方法的三個方向:基于線裁剪縮放方法、基于圖像變形縮放方法和多操作圖像縮放方法,均存在無法在保證圖像縮放效果的同時又能滿足實時的圖像縮放速度的缺陷。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提供一種圖像縮放方法,是一種基于閾值與概率的圖像快速縮放方法,克服了現(xiàn)有技術(shù)無法在保證圖像縮放效果的同時又能滿足實時的圖像縮放速度的缺陷。
本發(fā)明解決該技術(shù)問題所采用的技術(shù)方案是:一種圖像縮放方法,是一種基于閾值與概率的圖像快速縮放方法,分為兩個過程,A.徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程;B.需要進行縮放的被測試圖像的縮放過程,具體步驟如下:
A.徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練過程:
第一步,輸入訓(xùn)練圖像進行預(yù)處理:
通過USB接口輸入訓(xùn)練用的彩色RGB圖像,將輸入的訓(xùn)練用彩色RGB圖Itn像由RGB空間轉(zhuǎn)化到灰度空間得到灰度圖像Igray_tn,采用的公式(1)如下:
Igray_tn=0.299IR+0.587IG+0.114IB (1),
其中IR、IG、IB分別是RGB圖像的紅色、綠色和藍色通道三個分量,同時保留原始輸入的訓(xùn)練用的彩色RGB圖像Itn,供第二步中顯著性檢測算法使用,輸入訓(xùn)練用的彩色RGB圖像Itn的大小為ltn×wtn像素,ltn>0,wtn>0;
第二步,提取訓(xùn)練用的彩色RGB圖像重要度圖:
(2.1)利用視覺顯著度模型檢測訓(xùn)練用的彩色RGB圖像Itn中的顯著性目標,得到顯著度圖:
利用視覺顯著度模型檢測訓(xùn)練用的彩色RGB圖像Itn中的顯著性目標,即對第一步保留的原始輸入的彩色RGB圖像Itn通過視覺顯著度模型即GBVS模型計算顯著度圖,并將該顯著圖輸出為原始圖片的單通道尺寸l×w像素,得到顯著度圖IGBVS_tn,l>0,w>0;
(2.2)提取灰度圖像IGBVS_tn的梯度圖:
利用第一步中得到的灰度圖像Igray_tn計算圖像的梯度圖,分別在x方向和y方向上對灰度圖像求偏導(dǎo),并取其絕對值得到兩個方向上的梯度,然后將兩個方向上的梯度相加得到第一步中的灰度圖像Igray_tn的梯度圖IGrad_tn,采用的公式(2)如下:
(2.3)重要度融合:
將上述(2.1)步中得到的顯著度圖IGBVS_tn與(2.2)步中得到的梯度圖IGrad_tn進行融合,得到最終的重要度圖IE_tn,采用的公式(3)如下:
IE_tn=IGBVS_tn+IGrad_tn (3),
由此提取到訓(xùn)練用的彩色圖像重要度圖;
第三步,計算輸入訓(xùn)練用的彩色RGB圖像的能量向量分布直方圖:
根據(jù)第二步得到的重要度圖IE_tn,計算輸入訓(xùn)練用的彩色RGB圖像的能量向量分布直方圖,
(3.1)計算垂直方向能量向量分布直方圖:
首先計算垂直方向能量向量,即垂直方向的重要度圖的累加和,利用公式(4):
其中,IE_tn(i,j)是重要度圖IE_tn的第i行第j列個值,j=1,…,w,Vtn_v(j)是能量向量Vtn_v的第j個值;
其次,進行垂直方向能量向量歸一化處理:
則的取值范圍是[0,1];
最后,將的取值范圍[0,1]平均分成N個子區(qū)間,N≥2,計算歸一化后的垂直方向能量向量落在第k個子區(qū)間[(k-1)/N,k/N]的垂直方向能量向量值的個數(shù)mtn_v(k),k=1,2,…,N,統(tǒng)計mtn_v(k)在總列數(shù)中所占的比例數(shù)htn_v(k):
根據(jù)htn_v(k)的計算得到垂直方向能量向量分布直方圖:
Htn_v=[htn_v(1),htn_v(2),htn_v(3),...,htn_v(N)] (7);
(3.2)計算水平方向能量向量分布直方圖:
首先計算水平方向能量向量,即水平方向的重要度圖的累加和,利用公式(8):
其中,Vtn_h(i)是能量向量Vtn_h的第i個值,i=1,…,l;
其次,進行水平方向能量向量歸一化處理:
則的取值范圍是[0,1];
最后,將的取值范圍[0,1]平均分成N個子區(qū)間,N≥2,計算歸一化后的水平方向能量向量落在第k個子區(qū)間[(k-1)/N,k/N]的水平方向能量向量值的個數(shù)mtn_h(k),k=1,2,…,N,統(tǒng)計mtn_h(k)在總列數(shù)中所占的比例數(shù)htn_h(k):
根據(jù)htn_h(k)得到水平方向能量向量分布直方圖:
Htn_h=[htn_h(1),htn_h(2),htn_h(3),...,htn_h(N)] (11),
由此完成能量向量分布直方圖的計算;
第四步,獲得閾值模型:
根據(jù)MSRA圖像數(shù)據(jù)集中提供的與訓(xùn)練用的彩色RGB圖像所對應(yīng)的真實標注圖與上述第三步得到的能量向量分布直方圖,統(tǒng)計圖像的最佳人工閾值并訓(xùn)練閾值模型,步驟如下:
(4.1)設(shè)定初始閾值Tm:
將彩色RGB圖像中能量向量大于初始閾值Tm的部分使用陰影方式標注出來;
(4.2)對比帶有標注的圖像與真實標注圖:
當帶有標注的圖像中被標注的區(qū)域沒有完全覆蓋真實標注圖中標出的主要物體,則減小初始閾值Tm直到帶有標注的圖像中被標記的區(qū)域恰好覆蓋真實標注圖中標出的主要物體,當帶有標注的圖像中被標記的區(qū)域能夠完全覆蓋真實標注圖中標出的主要物體并且覆蓋到真實標注圖中標出的主要物體區(qū)域之外,則增加初始閾值Tm直到帶有標注的圖像中被標記的區(qū)域恰好覆蓋真實標注圖中標出的主要物體;
(4.3)獲得閾值模型:
統(tǒng)計訓(xùn)練集中所有圖像的經(jīng)過調(diào)整的初始閾值Tm即人工閾值,將所得到的每幅圖像的最佳閾值與上述第三步計算的能量向量分布直方圖作為輸入數(shù)據(jù),利用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,得到閾值模型;
至此,完成徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練過程;
B.需要進行縮放的被測試圖像的縮放過程:
第五步,輸入需要進行縮放的被測試彩色RGB圖像進行預(yù)處理:
通過計算機USB接口輸入需要進行縮放的被測試彩色RGB圖像Its,并輸入目標圖像的大小,將得到的彩色圖像由RGB空間轉(zhuǎn)化到灰度空間得到灰度圖像Igray_ts,采用的公式(1’)為:
Igray_ts=0.299IR+0.587IG+0.114IB (1’),
其中IR、IG、IB分別是被測試彩色RGB圖像的紅色、綠色和藍色通道三個分量,保留原始輸入的被測試彩色RGB圖像Its,供下一步中顯著性檢測算法使用,輸入的被測試彩色RGB圖像Its每個通道的大小為lts×wts像素,lts>0,wts>0,目標圖像Io每個通道的大小為l′ts×w′ts像素,l′ts>0,w′ts>0;
第六步,提取需要進行縮放的被測試彩色RGB圖像重要度圖:
使用與上述A中第二步相同的方法,提取需要進行縮放的被測試彩色RGB圖像Its的重要度圖IE_ts,由此提取到被測試彩色圖像重要度圖IE_ts;
第七步,判斷需要進行縮放的被測試彩色RGB圖像縮放方式:
根據(jù)上述第五步輸入需要進行縮放的被測試彩色RGB圖像Its的大小lts×wts像素和目標圖像Io大小l′ts×w′ts像素,用如下式(12)計算總縮放比,并判斷縮放方式,即是縮小操作還是放大操作,并計算水平方向與垂直方向所要刪除/復(fù)制的直線條數(shù);
上式中,Rl為需要進行縮放的被測試彩色RGB圖像橫向的總縮放率,Rw為需要進行縮放的被測試彩色RGB圖像的縱向總縮放率,具體操作如下;
(7.1)刪除操作:
將輸入的需要進行縮放的被測試彩色RGB圖像大小和目標圖像Io大小進行對比,當lts<l′ts或wts<w′ts時,進行刪除操作,設(shè)置縮放閾值TMAX,用于衡量縮放的尺度是否過大,當水平縮放尺度(lts-l′ts)與垂直縮放尺度(wts-w′ts)均滿足下式(13a),則水平方向刪除的線條數(shù)Nl與垂直方向刪除的線條數(shù)Nw,計算公式如式(13b):
當輸入的需要進行縮放的被測試彩色RGB圖像與目標圖像Io的大小在一個或兩個方向不滿足式(13a),則水平方向刪除的線條數(shù)Nl與垂直方向刪除的線條數(shù)Nw計算公式如式(14):
(7.2)復(fù)制操作:
將輸入的需要進行縮放的被測試彩色RGB圖像與目標圖像Io的進行對比,當lts>l′ts并且wts>w′ts時,進行復(fù)制操作,對于上述(7.1)步中的縮放閾值TMAX,當水平縮放尺度(l′ts-lts)與垂直縮放尺度(w′ts-wts)均滿足下式(15a),則水平方向復(fù)制的線條數(shù)Nl與垂直方向復(fù)制的線條數(shù)Nw計算公式如式(15b):
當輸入的需要進行縮放的被測試彩色RGB圖像與目標圖像Io的大小在一個或兩個方向不滿足式(15a),則水平方向上復(fù)制的線條數(shù)Nl與垂直方向上復(fù)制的線條數(shù)Nw計算公式如式(16),
第八步,計算需要進行縮放的被測試彩色RGB圖像的能量向量分布直方圖:
根據(jù)上述第六步得到的需要進行縮放的被測試彩色RGB圖像的重要度圖IE_ts以及上述第七步的判斷縮放方式,在需要縮放的方向上使用上述A中的第三步計算輸入訓(xùn)練用的彩色RGB圖像的能量向量分布直方圖的相同的方法計算得需要進行縮放的被測試彩色RGB圖像的能量向量分布直方圖H;
第九步,根據(jù)當前圖像的閾值Td將需要進行縮放的被測試彩色RGB圖像分成保護區(qū)域與非保護區(qū)域:
將上述第八步得到的需要進行縮放的被測試彩色RGB圖像的能量向量分布直方圖H輸入到上述A中完成訓(xùn)練的徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模型,得到當前圖像的閾值Td,并根據(jù)閾值Td將需要進行縮放的被測試彩色RGB圖像分成保護區(qū)域與非保護區(qū)域,設(shè)Vts為需要進行縮放的被測試彩色RGB圖像的能量向量Vts中的第i個值,當Vts(i)<Td,則需要進行縮放的被測試彩色RGB圖像的第i列屬于保護區(qū)域;當Vts(i)<Td,則原需要進行縮放的被測試彩色RGB圖像的的第i列屬于非保護區(qū)域;
第十步,計算需要進行縮放的被測試彩色RGB圖像保護區(qū)域與非保護區(qū)域的縮放比:
(10.1)根據(jù)上述第七步的判斷縮放方式得到需要進行縮放的被測試彩色RGB圖像總縮放率,并判斷需要進行縮放的被測試彩色RGB圖像的保護區(qū)域與非保護區(qū)域是否都要進行縮放,為了使非保護區(qū)域不被過度刪除,設(shè)定一個固定閾值Tdel=0.5,當只縮放非保護區(qū)域就能達到目標縮放比,且對非保護區(qū)域縮放量不超過固定閾值Tdel,即滿足下式(17),則認為縮放比不大;反之,則認為縮放比大,
上式中,Nul指非保護區(qū)域的需要進行縮放的被測試彩色RGB圖像列數(shù),Nuw指非保護區(qū)域的需要進行縮放的被測試彩色RGB圖像行數(shù);
(10.2)當縮放比不大,則只刪除或復(fù)制非保護區(qū)域的需要進行縮放的被測試彩色RGB圖像列數(shù)或行數(shù)直到完成縮放目標,需要刪除或復(fù)制非保護區(qū)域的圖像列數(shù)或行數(shù)的公式如式18(a)和18(b)所示,當縮放比大,則先刪除或復(fù)制非保護區(qū)域的圖像列至達到固定閾值Tdel上限,然后對非保護區(qū)域與保護區(qū)域使用同樣大小的縮放比來刪除或復(fù)制需要進行縮放的被測試彩色RGB圖像列至完成縮放目標,即當需要進行縮放的被測試彩色RGB圖像的保護區(qū)域的縮放比是x,則需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域的縮放比是x+Tdel,其需要刪除或復(fù)制需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域與需要進行縮放的被測試彩色RGB圖像的保護區(qū)域的圖像列數(shù)或行數(shù)如式(18c)~(18f)所示;
上述式(18)中,Nudl指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域需要刪除或復(fù)制的圖像列數(shù),Nudw指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域需要刪除或復(fù)制的圖像行數(shù),Npdl指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域需要刪除或復(fù)制的圖像列數(shù),Npdw指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域需要刪除或復(fù)制的圖像行數(shù),xl指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域圖像行的刪除率,xw指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域圖像列的刪除率,wtsu指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域的寬度,ltsu指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域的長度,
至此完成需要進行縮放的被測試彩色RGB圖像的保護區(qū)域與非保護區(qū)域的縮放比計算;
第十一步,依概率隨機縮放:
根據(jù)上述第十步中計算得到的需要進行縮放的被測試彩色RGB圖像的保護區(qū)域和非保護區(qū)域的縮放比,求出的需要進行縮放的被測試彩色RGB圖像的保護區(qū)域和非保護區(qū)域需要刪除或復(fù)制的直線數(shù)目,對需要進行縮放的被測試彩色RGB圖像的保護區(qū)域與非保護區(qū)域進行依概率隨機縮放,具體操作如下:
(11.1)對要進行縮放行或列的需要進行縮放的被測試彩色RGB圖像的保護區(qū)域和非保護區(qū)域,使用以下公式(19)對需要進行縮放的被測試彩色RGB圖像的第i列計算其概率函數(shù)值Pi,
Pi=1-[(Vts(i)-min(Vts))/(max(Vts)-min(Vts))]1/2 (19),
上式中,Vts是需要進行縮放的被測試彩色RGB圖像的能量向量;
(11.2)獲得一個在[0,1]范圍內(nèi)的隨機值Ri,比較Pi與Ri的大小,當Pi>Ri,則對需要進行縮放的被測試彩色RGB圖像的第i列進行標注處理,當Pi<Ri,則不對需要進行縮放的被測試彩色RGB圖像的第i列進行處理,當標注的直線數(shù)達到上述第七步中得到的進行縮放要求的數(shù)目時,則停止處理,進行下述第(11.3)步;
(11.3)根據(jù)在上述第七步中得到的縮放方式對標注的直線進行處理,當是縮小操作,則直接刪除當前直線,并將其右側(cè)的所有直線向左側(cè)移動一個像素,當是放大操作,則先將其右側(cè)的所有直線向右側(cè)移動一個像素,再在該直線右側(cè)一個像素處復(fù)制當前直線;
至此完成需要進行縮放的被測試彩色RGB圖像的快速縮放。
上述一種圖像縮放方法,所述設(shè)定初始閾值Tm=0.5。
上述一種圖像縮放方法,所述縮放閾值TMAX=0.3。
上述一種圖像縮放方法,所述固定閾值Tdel=0.5。
上述一種圖像縮放方法,其中的徑向基函數(shù)的英文為縮寫為RBF,全稱為Radial BasisFunction;視覺顯著度模型的英文為縮寫為GBVS,全稱為Graph-based Visual Saliency;均是本技術(shù)領(lǐng)域公知的算法。
本發(fā)明的有益效果是:與現(xiàn)有技術(shù)相比,本發(fā)明的突出的實質(zhì)性特點和顯著進步如下:
(1)本發(fā)明一種圖像縮放方法,是一種基于閾值與概率的圖像快速縮放方法,克服了現(xiàn)有技術(shù)無法在保證圖像縮放效果的同時又能滿足實時的圖像縮放速度的缺陷。
(2)本發(fā)明方法使用徑向基函數(shù)(RBF)神經(jīng)網(wǎng)絡(luò)進行機器學(xué)習(xí)的方法求閾值,能根據(jù)輸入圖像的特征給定最佳的閾值,能有效的避免使用固定閾值所造成的重要物體邊緣部分過渡裁剪和非重要物體部分的鄰近區(qū)域過渡刪除。
(3)本發(fā)明將方法將需要進行縮放的圖像分成保護區(qū)域與非保護區(qū)域,并為兩個區(qū)域分配不同的縮放比,當要求縮放比小時,則只縮放非保護區(qū)域;當要求縮放比大時,則對保護區(qū)域進行少量縮放,對非保護區(qū)域進行大量縮放,這樣既能減少對包含重要物體的保護區(qū)域進行縮放所引起的重要物體變形,也能在要求縮放比大時不會引起圖像背景部分的嚴重變形。
(4)本發(fā)明方法在縮放時使用依概率隨機縮放,根據(jù)提出的概率模型為需要進行縮放的圖像的行或列分配不同的概率值,重要度高的圖像行或列被刪除的概率小,重要度低的圖像行或列被刪除的概率大,該方法既能避免由于對相鄰多列重要度接近的區(qū)域過度縮放導(dǎo)致視覺失真,又能利用重要度圖刪除圖像中不重要的圖像列而保存圖像的相對重要的區(qū)域。
附圖說明
下面結(jié)合附圖和實施例對本發(fā)明進一步說明。
圖1是本發(fā)明圖像縮放算法的流程示意框圖。
圖2(a)是MSRA圖像數(shù)據(jù)集中的原始圖像。
圖2(b)是MSRA圖像數(shù)據(jù)集中與圖2(a)對應(yīng)的真實標注圖。
圖3是本發(fā)明通過視覺顯著度模型即GBVS模型計算求得的視覺顯著度圖與梯度圖相融合得到的重要度圖。
圖4是本發(fā)明根據(jù)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)進行機器學(xué)習(xí)求出閾值將圖像分成保護區(qū)域與非保護區(qū)域的效果圖。
圖5是本發(fā)明根據(jù)依概率隨機縮放的方法進行縮放的刪除線圖。
圖6是本發(fā)明對圖片進行縮放處理后的效果示意圖。
具體實施方式
圖1所示實施例表明,本發(fā)明圖像縮放算法的流程分為兩個過程:A.徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練過程;B.需要進行縮放的被測試圖像的縮放過程。
A.徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練過程輸入訓(xùn)練圖像進行預(yù)處理→提取訓(xùn)練用的彩色RGB圖像重要度圖→計算輸入訓(xùn)練用的彩色RGB圖像的能量向量分布直方圖→獲得閾值模型→完成訓(xùn)練的徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模型;B.需要進行縮放的被測試圖像的縮放過程輸入需要進行縮放的被測試彩色RGB圖像進行預(yù)處理→提取需要進行縮放的被測試彩色RGB圖像重要度圖→判斷需要進行縮放的被測試彩色RGB圖像縮放方式→計算需要進行縮放的被測試彩色RGB圖像的能量向量分布直方圖→將上述得到的需要進行縮放的被測試彩色RGB圖像的能量向量分布直方圖H輸入到上述A中完成訓(xùn)練的徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模型得到當前圖像的閾值Td,根據(jù)當前圖像的閾值Td將需要進行縮放的被測試彩色RGB圖像分成保護區(qū)域與非保護區(qū)域→計算需要進行縮放的被測試彩色RGB圖像保護區(qū)域與非保護區(qū)域的縮放比→依概率隨機縮放→完成需要進行縮放的被測試圖像的縮放過程。
圖2(a)所示實施例顯示了MSRA圖像數(shù)據(jù)集中的一幅原始圖像,該圖像作為被發(fā)明方法進行需要進行縮放處理的圖像;
圖2(b)所示實施例顯示了模型訓(xùn)練過程所需要的MSRA圖像數(shù)據(jù)集中與圖2(a)對應(yīng)的真實標注圖。
圖3所示實施例顯示了是本發(fā)明通過視覺顯著度模型即GBVS模型計算求得的視覺顯著度圖與梯度圖相融合得到的重要度圖,本發(fā)明通過視覺顯著度模型即GBVS模型計算求得目標圖片的顯著圖,然后使用圖像梯度公式計算梯度圖,并將兩者進行融合得到的重要度圖,該重要度圖既能保護圖像中的結(jié)構(gòu)信息,又能保護圖像中的主體對象。
圖4是本發(fā)明根據(jù)徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)進行機器學(xué)習(xí)求出閾值將圖像分成保護區(qū)域與非保護區(qū)域的效果圖,其中橫線陰影標注的是保護區(qū)域,其余部分為非保護區(qū)域。
圖5是本發(fā)明根據(jù)依概率隨機縮放的方法進行縮放的刪除線圖,白色豎線標記為需要刪除的部分,橫坐標縮放到原來的0.6倍,縱坐標不變。
圖6是本發(fā)明對圖片進行縮放處理后的效果示意圖,橫坐標縮放到原來的0.6倍,縱坐標不變。
實施例1
本實施例所使用的訓(xùn)練圖像庫為MSRA圖像數(shù)據(jù)集的第1到第800共800幅圖像,使用每幅圖像的能量向量分布直方圖與人工閾值做為訓(xùn)練數(shù)據(jù)。
本實施例的一種圖像縮放方法,是一種基于閾值與概率的圖像快速縮放方法,分為兩個過程,A.徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練過程;B.需要進行縮放的被測試圖像的縮放過程,具體步驟如下:
A.徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練過程:
第一步,輸入訓(xùn)練圖像進行預(yù)處理:
通過USB接口輸入訓(xùn)練用的彩色RGB圖像,將輸入的訓(xùn)練用彩色RGB圖像Itn由RGB空間轉(zhuǎn)化到灰度空間得到灰度圖像Igray_tn,采用的公式(1)如下:
Igray_tn=0.299IR+0.587IG+0.114IB (1),
其中IR、IG、IB分別是RGB圖像的紅色、綠色和藍色通道三個分量,同時保留原始輸入的訓(xùn)練用的彩色RGB圖像Itn,供第二步中顯著性檢測算法使用,輸入訓(xùn)練用的彩色RGB圖像Itn的大小為ltn×wtn像素,ltn>0,wtn>0;
第二步,提取訓(xùn)練用的彩色RGB圖像重要度圖:
(2.1)利用視覺顯著度模型檢測訓(xùn)練用的彩色RGB圖像Itn中的顯著性目標,得到顯著度圖:
利用視覺顯著度模型檢測訓(xùn)練用的彩色RGB圖像Itn中的顯著性目標,即對第一步保留的原始輸入的彩色RGB圖像Itn通過視覺顯著度模型即GBVS模型計算顯著度圖,并將該顯著圖輸出為原始圖片的單通道尺寸l×w像素,得到顯著度圖IGBVS_tn,l>0,w>0;
(2.2)提取灰度圖像IGBVS_tn的梯度圖:
利用第一步中得到的灰度圖像Igray_tn計算圖像的梯度圖,分別在x方向和y方向上對灰度圖像求偏導(dǎo),并取其絕對值得到兩個方向上的梯度,然后將兩個方向上的梯度相加得到第一步中的灰度圖像Igray_tn的梯度圖IGrad_tn,采用的公式(2)如下:
(2.3)重要度融合:
將上述(2.1)步中得到的顯著度圖IGBVS_tn與(2.2)步中得到的梯度圖IGrad_tn進行融合,得到最終的重要度圖IE_tn,采用的公式(3)如下:
IE_tn=IGBVS_tn+IGrad_tn (3),
由此提取到訓(xùn)練用的彩色圖像重要度圖;
第三步,計算輸入訓(xùn)練用的彩色RGB圖像的能量向量分布直方圖:
根據(jù)第二步得到的重要度圖IE_tn,計算輸入訓(xùn)練用的彩色RGB圖像的能量向量分布直方圖,
(3.1)計算垂直方向能量向量分布直方圖:
首先計算垂直方向能量向量,即垂直方向的重要度圖的累加和,利用公式(4):
其中,IE_tn(i,j)是重要度圖IE_tn的第i行第j列個值,j=1,…,w,Vth_v(j)是能量向量Vtn_v的第j個值;
其次,進行垂直方向能量向量歸一化處理:
則的取值范圍是[0,1];
最后,將的取值范圍[0,1]平均分成N個子區(qū)間,N≥2,計算歸一化后的垂直方向能量向量落在第k個子區(qū)間[(k-1)/N,k/N]的垂直方向能量向量值的個數(shù)mtn_v(k),k=1,2,…,N,統(tǒng)計mtn_v(k)在總列數(shù)中所占的比例數(shù)htn_v(k):
根據(jù)htn_v(k)的計算得到垂直方向能量向量分布直方圖:
Htn_v=[htn_v(1),htn_v(2),htn_v(3),...,htn_v(N)] (7);
(3.2)計算水平方向能量向量分布直方圖:
首先計算水平方向能量向量,即水平方向的重要度圖的累加和,利用公式(8):
其中,Vtn_h(i)是能量向量Vtn_h的第i個值,i=1,…,l;
其次,進行水平方向能量向量歸一化處理:
則的取值范圍是[0,1];
最后,將的取值范圍[0,1]平均分成N個子區(qū)間,N≥2,計算歸一化后的水平方向能量向量落在第k個子區(qū)間[(k-1)/N,k/N]的水平方向能量向量值的個數(shù)mtn_h(k),k=1,2,…,N,統(tǒng)計mtn_h(k)在總列數(shù)中所占的比例數(shù)htn_h(k):
根據(jù)htn_h(k)得到水平方向能量向量分布直方圖:
Htn_h=[htn_h(1),htn_h(2),htn_h(3),…,htn_h(N)] (11),
由此完成能量向量分布直方圖的計算;
第四步,獲得閾值模型:
根據(jù)MSRA圖像數(shù)據(jù)集中提供的與訓(xùn)練用的彩色RGB圖像所對應(yīng)的真實標注圖與上述第三步得到的能量向量分布直方圖,統(tǒng)計圖像的最佳人工閾值并訓(xùn)練閾值模型,步驟如下:
(4.1)設(shè)定初始閾值Tm=0.5:
將彩色RGB圖像中能量向量大于初始閾值Tm的部分使用陰影方式標注出來;
(4.2)對比帶有標注的圖像與真實標注圖:
當帶有標注的圖像中被標注的區(qū)域沒有完全覆蓋真實標注圖中標出的主要物體,則減小初始閾值Tm直到帶有標注的圖像中被標記的區(qū)域恰好覆蓋真實標注圖中標出的主要物體,當帶有標注的圖像中被標記的區(qū)域能夠完全覆蓋真實標注圖中標出的主要物體并且覆蓋到真實標注圖中標出的主要物體區(qū)域之外,則增加初始閾值Tm直到帶有標注的圖像中被標記的區(qū)域恰好覆蓋真實標注圖中標出的主要物體;
(4.3)獲得閾值模型:
統(tǒng)計訓(xùn)練集中所有圖像的經(jīng)過調(diào)整的初始閾值Tm即人工閾值,將所得到的每幅圖像的最佳閾值與上述第三步計算的能量向量分布直方圖作為輸入數(shù)據(jù),利用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,得到閾值模型;
至此,完成徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練過程;
B.需要進行縮放的被測試圖像的縮放過程:
第五步,輸入需要進行縮放的被測試彩色RGB圖像進行預(yù)處理:
通過計算機USB接口輸入需要進行縮放的被測試彩色RGB圖像Its,并輸入目標圖像的大小,將得到的彩色圖像由RGB空間轉(zhuǎn)化到灰度空間得到灰度圖像Igray_ts,采用的公式(1’)為:
Igray_ts=0.299IR+0.587IG+0.114IB (1’),
其中IR、IG、IB分別是被測試彩色RGB圖像的紅色、綠色和藍色通道三個分量,保留原始輸入的被測試彩色RGB圖像Its,供下一步中顯著性檢測算法使用,輸入的被測試彩色RGB圖像Its每個通道的大小為lts×wts像素,lts>0,wts>0,目標圖像Io每個通道的大小為l′ts×w′ts像素,l′ts>0,w′ts>0;
第六步,提取需要進行縮放的被測試彩色RGB圖像重要度圖:
使用與上述A中第二步相同的方法,提取需要進行縮放的被測試彩色RGB圖像Its的重要度圖IE_ts,由此提取到被測試彩色圖像重要度圖IE_ts;
第七步,判斷需要進行縮放的被測試彩色RGB圖像縮放方式:
根據(jù)上述第五步輸入需要進行縮放的被測試彩色RGB圖像Its的大小lts×wts像素和目標圖像Io大小l′ts×w′ts像素,用如下式(12)計算總縮放比,并判斷縮放方式,即是縮小操作還是放大操作,并計算水平方向與垂直方向所要刪除/復(fù)制的直線條數(shù);
上式中,Rl為需要進行縮放的被測試彩色RGB圖像橫向的總縮放率,Rw為需要進行縮放的被測試彩色RGB圖像的縱向總縮放率,具體操作如下;
(7.1)刪除操作:
將輸入的需要進行縮放的被測試彩色RGB圖像大小和目標圖像Io大小進行對比,當lts<l′ts時,進行刪除操作,設(shè)置縮放閾值TMAX=0.3,用于衡量縮放的尺度是否過大,當水平縮放尺度(lts-l′ts)與垂直縮放尺度(wts-w′ts)均滿足下式(13a),則水平方向刪除的線條數(shù)Nl與垂直方向刪除的線條數(shù)Nw計算公式如式(13b):
當輸入的需要進行縮放的被測試彩色RGB圖像與目標圖像Io的大小在一個方向不滿足式(13a),則水平方向刪除的線條數(shù)Nl與垂直方向刪除的線條數(shù)Nw計算公式如式(14):
(7.2)復(fù)制操作:
將輸入的需要進行縮放的被測試彩色RGB圖像與目標圖像Io的進行對比,當lts>l′ts并且wts>w′ts時,進行復(fù)制操作,對于上述(7.1)步中的縮放閾值TMAX,當水平縮放尺度(l′ts-lts)與垂直縮放尺度(w′ts-wts)均滿足下式(15a),則水平方向復(fù)制的線條數(shù)Nl與垂直方向復(fù)制的線條數(shù)Nw計算公式如式(15b):
當輸入的需要進行縮放的被測試彩色RGB圖像與目標圖像Io的大小在一個方向不滿足式(15a),則水平方向上復(fù)制的線條數(shù)Nl與垂直方向上復(fù)制的線條數(shù)Nw計算公式如式(16),
第八步,計算需要進行縮放的被測試彩色RGB圖像的能量向量分布直方圖:
根據(jù)上述第六步得到的需要進行縮放的被測試彩色RGB圖像的重要度圖IE_ts以及上述第七步的判斷縮放方式,在需要縮放的方向上使用上述A中的第三步計算輸入訓(xùn)練用的彩色RGB圖像的能量向量分布直方圖的相同的方法計算得需要進行縮放的被測試彩色RGB圖像的能量向量分布直方圖H;
第九步,根據(jù)當前圖像的閾值Td將需要進行縮放的被測試彩色RGB圖像分成保護區(qū)域與非保護區(qū)域:
將上述第八步得到的需要進行縮放的被測試彩色RGB圖像的能量向量分布直方圖H輸入到上述A中完成訓(xùn)練的徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)的模型,得到當前圖像的閾值Td,并根據(jù)閾值Td將需要進行縮放的被測試彩色RGB圖像分成保護區(qū)域與非保護區(qū)域,設(shè)Vts(i)為需要進行縮放的被測試彩色RGB圖像的能量向量Vts中的第i個值,當Vts(i)≥Td,則需要進行縮放的被測試彩色RGB圖像的第i列屬于保護區(qū)域;當Vts(i)<Td,則原需要進行縮放的被測試彩色RGB圖像的第i列屬于非保護區(qū)域;
第十步,計算需要進行縮放的被測試彩色RGB圖像保護區(qū)域與非保護區(qū)域的縮放比:
(10.1)根據(jù)上述第七步的判斷縮放方式得到需要進行縮放的被測試彩色RGB圖像總縮放率,并判斷需要進行縮放的被測試彩色RGB圖像的保護區(qū)域與非保護區(qū)域是否都要進行縮放,為了使非保護區(qū)域不被過度刪除,設(shè)定一個固定閾值Tdel,當只縮放非保護區(qū)域就能達到目標縮放比,且對非保護區(qū)域縮放量不超過固定閾值Tdel,即滿足下式(17),則認為縮放比不大;反之,則認為縮放比大,
上式中,Nul指非保護區(qū)域的需要進行縮放的被測試彩色RGB圖像列數(shù),Nuw指非保護區(qū)域的需要進行縮放的被測試彩色RGB圖像行數(shù);
(10.2)當縮放比不大,則只刪除非保護區(qū)域的需要進行縮放的被測試彩色RGB圖像列數(shù)直到完成縮放目標,需要刪除非保護區(qū)域的圖像列數(shù)的公式如式18(a)和18(b)所示,當縮放比大,則先刪除非保護區(qū)域的圖像列至達到固定閾值Tdel上限,然后對非保護區(qū)域與保護區(qū)域使用同樣大小的縮放比來刪除需要進行縮放的被測試彩色RGB圖像列至完成縮放目標,即當需要進行縮放的被測試彩色RGB圖像的保護區(qū)域的縮放比是x,則需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域的縮放比是x+Tdel,其需要刪除需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域與需要進行縮放的被測試彩色RGB圖像的保護區(qū)域的圖像列數(shù)如式(18c)~(18f)所示;
上述式(18)中,Nudl指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域需要刪除的圖像列數(shù),Nudw指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域需要刪除的圖像行數(shù),Npdl指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域需要刪除的圖像列數(shù),Npdw指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域需要刪除的圖像行數(shù),xl指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域圖像行的刪除率,xw指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域圖像列的刪除率,wtsu指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域的寬度,ltsu指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域的長度,
至此完成需要進行縮放的被測試彩色RGB圖像的保護區(qū)域與非保護區(qū)域的縮放比計算;
第十一步,依概率隨機縮放:
根據(jù)上述第十步中計算得到的需要進行縮放的被測試彩色RGB圖像的保護區(qū)域和非保護區(qū)域的縮放比,求出的需要進行縮放的被測試彩色RGB圖像的保護區(qū)域和非保護區(qū)域需要刪除的直線數(shù)目,對需要進行縮放的被測試彩色RGB圖像的保護區(qū)域與非保護區(qū)域進行依概率隨機縮放,具體操作如下:
(11.1)對要進行縮放列的需要進行縮放的被測試彩色RGB圖像的保護區(qū)域和非保護區(qū)域,使用以下公式(19)對需要進行縮放的被測試彩色RGB圖像的第i列計算其概率函數(shù)值Pi,
Pi=1-[(Vts(i)-min(Vts))/(max(Vts)-min(Vts))]1/2 (19),
上式中,Vts是需要進行縮放的被測試彩色RGB圖像的能量向量;
(11.2)獲得一個在[0,1]范圍內(nèi)的隨機值Ri,比較Pi與Ri的大小,當Pi>Ri,則對需要進行縮放的被測試彩色RGB圖像的第i列進行標注處理,當Pi>Ri,則不對需要進行縮放的被測試彩色RGB圖像的第i列進行處理,當標注的直線數(shù)達到上述第七步中得到的進行縮放要求的數(shù)目時,則停止處理,進行下述第(11.3)步;
(11.3)根據(jù)在上述第七步中得到的縮放方式對標注的直線進行處理,當是縮小操作,則直接刪除當前直線,并將其右側(cè)的所有直線向左側(cè)移動一個像素,當是放大操作,則先將其右側(cè)的所有直線向右側(cè)移動一個像素,再在該直線右側(cè)一個像素處復(fù)制當前直線;
至此完成需要進行縮放的被測試彩色RGB圖像的快速縮放。
本實施例使用了包括CARP、seam-carving、stream-carving、比例縮放和本發(fā)明方法五種方法對MSRA圖像數(shù)據(jù)集的第801到第1000共200幅圖像進行處理高度不變,寬度縮放到原圖60%的處理,并對處理結(jié)果進行主觀評價。為避免隨機因素與個人主觀差異,由六組沒有經(jīng)過訓(xùn)練的評價者分別對五種方法得出的結(jié)果進行評價,然后將所得的結(jié)果求平均值得出最終的結(jié)論。評價者根據(jù)主觀評價標準在五幅縮放后的圖像中選出兩幅縮放效果最好的圖像。統(tǒng)計結(jié)果如表1所示。
表1.主觀評價結(jié)果
為了能客觀的評價各方法的優(yōu)缺點,利用到了MSRA圖像數(shù)據(jù)集中的mask圖像庫,該圖像庫中包含了每幅圖像對應(yīng)的真實標注圖,通過分析每種方法對真實標注圖中重要物體的刪除率來評價每種方法的有效性。
客觀評價方法分三個標準:圖像內(nèi)容損失度、邊緣過度刪除度、重要物體成片刪除度。圖像內(nèi)容損失度指縮放圖像時,縮放算法對真實標注圖上標出的重要物體的刪除面積占重要物體總面積的比例。各方法的圖像內(nèi)容損失度如下表2所示:
表2.圖像內(nèi)容損失度表
各方法的圖像內(nèi)容損失度、邊緣過度刪除度和重要物體成片刪除度求和,即為各方法的圖像總損失率,統(tǒng)計結(jié)果如下表3所示:
表3.總損失度
本發(fā)明的算法最大的優(yōu)點是運算速度較快,明顯快于seam-carving、stream-carving等算法。為計算時間效率,在同一計算機上對MSRA圖像數(shù)據(jù)集的第801到第1000共200幅圖像均進行高度不變,寬度變成原來的80%的縮放操作。其中,操作系統(tǒng)為:Win7(64位),開發(fā)語言為:MATLAB R2014a,計算機配置為:Intel(R)Core(TM)i5-4570CPU,8G。平均運行時間如下表4:
表4.各算法平均運行時間
實施例2
除以下區(qū)別之外,其他同實施例1:
(7.1)刪除操作:
將輸入的需要進行縮放的被測試彩色RGB圖像大小和目標圖像Io大小進行對比,當wts<w′ts時,進行刪除操作,
當輸入的需要進行縮放的被測試彩色RGB圖像與目標圖像Io的大小在兩個方向不滿足式(13a),則水平方向刪除的線條數(shù)Nl與垂直方向刪除的線條數(shù)Nw計算公式如式(14)
(7.2)復(fù)制操作:
當輸入的需要進行縮放的被測試彩色RGB圖像與目標圖像Io的大小在兩個方向不滿足式(15a),則水平方向上復(fù)制的線條數(shù)Nl與垂直方向上復(fù)制的線條數(shù)Nw計算公式如式(16),
(10.2)當縮放比不大,則只復(fù)制非保護區(qū)域的需要進行縮放的被測試彩色RGB圖像行數(shù)直到完成縮放目標,需要復(fù)制非保護區(qū)域的圖像行數(shù)的公式如式18(a)和18(b)所示,當縮放比大,則先復(fù)制非保護區(qū)域的圖像列數(shù)至達到固定閾值Tdel上限,然后對非保護區(qū)域與保護區(qū)域使用同樣大小的縮放比來復(fù)制需要進行縮放的被測試彩色RGB圖像列數(shù)至完成縮放目標,即當需要進行縮放的被測試彩色RGB圖像的保護區(qū)域的縮放比是x,則需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域的縮放比是x+Tdel,其需要復(fù)制需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域與需要進行縮放的被測試彩色RGB圖像的保護區(qū)域的圖像行數(shù)如式(18c)~(18f)所示;
上述式(18)中,Nudl指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域需要復(fù)制的圖像列數(shù),Nudw指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域需要復(fù)制的圖像行數(shù),Npdl指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域需要復(fù)制的圖像列數(shù),Npdw指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域需要復(fù)制的圖像行數(shù),xl指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域圖像行數(shù)的刪除率,xw指需要進行縮放的被測試彩色RGB圖像的保護區(qū)域圖像列數(shù)的刪除率,wtsu指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域的寬度,ltsu指需要進行縮放的被測試彩色RGB圖像的非保護區(qū)域的長度,
第十一步,依概率隨機縮放:
根據(jù)上述第十步中計算得到的需要進行縮放的被測試彩色RGB圖像的保護區(qū)域和非保護區(qū)域的縮放比,求出的需要進行縮放的被測試彩色RGB圖像的保護區(qū)域和非保護區(qū)域需要復(fù)制的直線數(shù)目,對需要進行縮放的被測試彩色RGB圖像的保護區(qū)域與非保護區(qū)域進行依概率隨機縮放,
(11.1)對要進行縮放列數(shù)的需要進行縮放的被測試彩色RGB圖像的保護區(qū)域和非保護區(qū)域,使用公式(19)對需要進行縮放的被測試彩色RGB圖像的第i列計算其概率函數(shù)值Pi。