日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

JBU联合双边上采样

發(fā)布時(shí)間:2024/7/23 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JBU联合双边上采样 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

很多圖像處理算法,如立體視覺中的深度估計(jì),圖像上色,高動(dòng)態(tài)范圍HDR中的tone mapping,圖像分割,都有一個(gè)共性的問題:尋找一個(gè)全局的解,這個(gè)解是指一個(gè)分段的piecewise平滑含糊,描述了感興趣的值(可以是深度,色度,曝光值,標(biāo)簽等)。

另一方面,數(shù)字圖像越來(lái)越大,從one quarter million到multi-Megapixel到Gigapixel,隨著圖像尺寸的變大,圖像處理的耗時(shí)和占用空間也線性增長(zhǎng)。一個(gè)處理方法就是對(duì)原始圖像先進(jìn)行下采樣的預(yù)處理再進(jìn)行圖像處理,但這也帶來(lái)一個(gè)問題,就是將處理之后的圖像再恢復(fù)到原始的分辨率,這就是圖像的超分辨率重建。很顯然,我們可以利用原始的大尺寸圖像。將原始的圖像與雙邊濾波結(jié)合起來(lái),就是本文新提出的算法JBU。

雙邊濾波bilateral filter是一個(gè)保邊濾波edge-preserving filter,最早在1998年提出,為了解決傳統(tǒng)的插值的圖像上采樣方法會(huì)造成邊緣模糊。為了保留邊緣,BF在不同位置的核參數(shù)應(yīng)該是不一樣的,所以BF屬于非線性的濾波器,也是各向異性的濾波器。具體而言,濾波器會(huì)根據(jù)不同的空間位置和灰度變化范圍進(jìn)行調(diào)整,這也是“雙邊”的含義,一邊是空域spatial filter(與中心點(diǎn)的距離遠(yuǎn)近),一邊是與中心點(diǎn)的灰度差值大小range filter。從表達(dá)式上看,最終的濾波器系數(shù)的兩個(gè)核的乘積。兩個(gè)子核都可以是高斯函數(shù),當(dāng)灰度變化很大或者距離很遠(yuǎn),那么濾波器系數(shù)就會(huì)很小,所以邊緣就得以保留。

有人利用BF做HDR中的色調(diào)映射tone mapping,有人用來(lái)去馬賽克,

那么如何將BF和大尺寸的guidance圖像結(jié)合在一起呢?是使用灰度差異的子核還是使用空間距離的子核呢?為了利用更準(zhǔn)確的邊緣信息,是按照像素在大尺寸圖像中對(duì)應(yīng)的灰度值來(lái)計(jì)算濾波系數(shù),因?yàn)檫吘壨腔叶戎堤冊(cè)斐傻?#xff0c;所以使用大圖位置的灰度值更準(zhǔn)確。和OpenCV做圖像變換一樣,這種像素坐標(biāo)的映射關(guān)系也是從目標(biāo)圖像(這里是大圖)到低分辨圖像。

作為引導(dǎo)圖的高分辨圖像是離散采樣的,所以超分重建的效果與上采樣的比例無(wú)關(guān)。

4 應(yīng)用

色調(diào)映射tone mapping是為了在普通設(shè)備中顯示HDR圖像。需要解很大的線性方程組,雖然可以通過multi-resolution solvers高效地解出,但是當(dāng)數(shù)據(jù)很大時(shí)還是會(huì)占用相當(dāng)大的內(nèi)存。那么,JBF具體是怎么應(yīng)用在HDR中的呢?首先,I是低分辨率的圖像,T是某種tone mapping算子,那么T(I)就是這個(gè)算子生成的tone mapped圖像。對(duì)應(yīng)的低分辨率的解被定義為映射前后的像素級(jí)的比,也就是說(shuō),這個(gè)圖其實(shí)是曝光圖exposure map,表示應(yīng)用在每個(gè)像素上的曝光校正系數(shù)。我們就是在這個(gè)圖上使用JBF,因?yàn)檫@個(gè)圖雖然大部分是平滑的,但是在具有顯著邊緣特性的區(qū)域會(huì)出現(xiàn)不連續(xù)。注意曝光圖可能是單通道的(即只對(duì)亮度進(jìn)行調(diào)節(jié)),也可能是多通道的(即支持多種色調(diào)的調(diào)節(jié))。

在Levin的圖像上色和圖像重新著色的方法中也有類似的線性方程組,面對(duì)尺寸很大的圖像同樣有計(jì)算量大的問題。Yatziv的方法雖然不需要解線性方程組,但依然要迭代地遍歷數(shù)據(jù)。在這里JBU的應(yīng)用對(duì)象就是著色之后的低分辨率圖像,但是在上采樣之前,需要先將它轉(zhuǎn)換至YIQ顏色空間(或者其他任意的將亮度與色度解耦的顏色空間),然后在每個(gè)色度通道上應(yīng)用JBU。從圖3中可以看到,JBU避免了在邊緣區(qū)域的色度泄漏。

立體視覺深度估計(jì)。深度估計(jì)的關(guān)鍵是得到兩幅圖像中對(duì)應(yīng)點(diǎn)的視差disparities。然而,估計(jì)出的深度圖在邊緣處是不連續(xù)的discontinuties。將高分辨率圖像作為引導(dǎo),就可以對(duì)低分辨率的深度圖像進(jìn)行上采樣。

基于圖分割Graph-cut的圖像處理。近來(lái)出現(xiàn)的一些用戶交互性的圖像編輯技術(shù)涉及到了在圖中尋找最小分割。比如交互性的蒙太奇照片系統(tǒng),使用最小圖分割技術(shù)來(lái)計(jì)算圖像融合時(shí)的最小化接縫。優(yōu)化的結(jié)果是一個(gè)標(biāo)簽圖label map,label表明的是融合圖是每個(gè)像素來(lái)自于哪個(gè)照片。約束條件是用戶指定的幾個(gè)圖像,拼接算法做的是計(jì)算出label map,指定了剩余的沒有被約束的像素來(lái)自于哪個(gè)圖像,這樣生成的圖像其拼接感是最小的。這個(gè)標(biāo)簽圖和之前的幾個(gè)應(yīng)用的區(qū)別在于標(biāo)簽是離散的,做法是這樣的,為了得到每個(gè)像素的標(biāo)簽,對(duì)每個(gè)低分辨率的像素會(huì)有一個(gè)帶非零權(quán)重的投票,獲勝的標(biāo)簽會(huì)有累積最高的權(quán)重。

5 表現(xiàn)和準(zhǔn)確性

JBU的復(fù)雜度是O(Nr2),N是輸出圖像的尺寸,r是濾波器的尺寸。表現(xiàn)與輸出尺寸有關(guān),但是與上采樣因子無(wú)關(guān),因?yàn)闉V波器始終應(yīng)用在低分辨率圖像上。所有的結(jié)果都使用5x5的高斯濾波,速度快,同時(shí)可以將足夠距離的像素值考慮進(jìn)去。

function result = JointBilateralUpsample(color,depth,factor,sigma_w,sigma_c,w) if( size(color,3) ~= 3 ),error( 'color data must be of 3 channel' ); enddepth = double(depth); color = double(color); highHeight = size( color, 1 ); highWidth = size( color, 2 ); lowHeight = size(depth,1); lowWidth = size(depth,2); result = zeros(highHeight,highWidth); for i = 1:highHeightfor j = 1:highWidthid = i/factor;jd = j/factor;iMin = ceil(max(id-w,1));iMax = floor(min(id+w,lowHeight));jMin = ceil(max(jd-w,1));jMax = floor(min(jd+w,lowWidth));depth_sec = depth(iMin:iMax,jMin:jMax);color_sec = color(iMin * factor:factor:iMax * factor,jMin * factor:factor:jMax * factor,:);% Compute Gaussian range weights.dR = color_sec(:,:,1)-color(i,j,1);dG = color_sec(:,:,2)-color(i,j,2);dB = color_sec(:,:,3)-color(i,j,3);range = exp( -(dR.^2 + dG.^2 + dB.^2) / (2*sigma_c^2));% Calculate bilateral filter response.iw = (iMin:iMax) - id;jw = (jMin:jMax) - jd;[mx,my] = meshgrid(jw,iw);spatial = exp( -(mx.^2 + my.^2) / (2*sigma_w^2) );depth_weight = (depth_sec>0) .* range .* spatial;depth_sum = depth_sec .* depth_weight;result(i,j) = sum(depth_sum(:)) / sum(depth_weight(:));endendend

對(duì)于彩色三通道圖像,可以分別在RGB中進(jìn)行上采樣,但是可能造成顏色泄漏,通常的做法是先進(jìn)行顏色空間轉(zhuǎn)換。原文使用使用的是YIQ,但其實(shí)只要是亮度分離的顏色空間都可以。YIQ是電視系統(tǒng)中使用的顏色空間,對(duì)應(yīng)美國(guó)和日本的NTSC制式,在matlab中rgb到Y(jié)IQ的轉(zhuǎn)換函數(shù)是rgb2ntsc.首先YUV和YIQ三通道都是獨(dú)立的,所以使得黑白電視機(jī)也可以接收彩色電視信號(hào)。另外,黑白圖像主要提供細(xì)節(jié),所以顏色通道的帶寬可以適當(dāng)壓縮。

Reference:

1.http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html

2.https://zhuanlan.zhihu.com/p/21983679?

3.https://www.jianshu.com/p/ce4afe599d6a

4.https://blog.csdn.net/CHNguoshiwushuang/article/details/82469162?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param

5.https://www.cnblogs.com/magic-428/p/9172406.html

6.ntsc2rgbhttps://www.mathworks.com/help/images/ref/ntsc2rgb.html

?

總結(jié)

以上是生活随笔為你收集整理的JBU联合双边上采样的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。