博客專欄

        EEPW首頁 > 博客 > 大盤點(diǎn)!三維點(diǎn)云去噪算法,涉及深度學(xué)習(xí)等(2)

        大盤點(diǎn)!三維點(diǎn)云去噪算法,涉及深度學(xué)習(xí)等(2)

        發(fā)布人:計(jì)算機(jī)視覺工坊 時(shí)間:2023-07-11 來源:工程師 發(fā)布文章
        2.7 投影濾波

        1 原理

        將點(diǎn)投影到一個(gè)參數(shù)化模型上,這個(gè)參數(shù)化模型可以是平面、圓球、圓柱、錐形等進(jìn)行投影濾波。

        2 投影模型圖片3 核心代碼

        //本例使用axtby+ez+d=O的平面模型創(chuàng)建一個(gè)系數(shù)為a=b=d=0,c=1的平面,也就是X-Y平面。z軸相關(guān)的點(diǎn)全部投影在X-Y面上
        pcl::ModelCoefficients::Ptr coefficients(new pcl::ModelCoefficients());
        coefficients->values.resize(4) ;
        coefficients->values[0] = coefficients->values[1] = O;
        coefficients->values[2] =1.0;
        coefficients->values[3] =0;
        2.8 高斯濾波

        1 原理

        用于平滑圖像并減少圖像中的噪聲。基于高斯函數(shù)的數(shù)學(xué)原理,通過在圖像上應(yīng)用高斯核來實(shí)現(xiàn)平滑效果。

        2 步驟

        1)確定高斯核的大小和標(biāo)準(zhǔn)差:高斯核的大小是指核的尺寸,通常是一個(gè)奇數(shù),例如3x3、5x5、7x7等。標(biāo)準(zhǔn)差決定了高斯函數(shù)的形狀,控制了濾波的平滑程度。標(biāo)準(zhǔn)差越大,平滑效果越明顯。

        2)生成高斯核:根據(jù)確定的高斯核大小和標(biāo)準(zhǔn)差,生成一個(gè)二維的高斯權(quán)值矩陣。高斯權(quán)值矩陣中的每個(gè)元素表示了相應(yīng)位置上的權(quán)重值,這些權(quán)重值是根據(jù)高斯函數(shù)計(jì)算得出的。


        3)對圖像進(jìn)行卷積:將生成的高斯核應(yīng)用于原始圖像。對于圖像中的每個(gè)像素,將高斯核與其周圍的像素進(jìn)行卷積操作。卷積操作即將高斯核的每個(gè)元素與對應(yīng)位置的像素值相乘,并將結(jié)果進(jìn)行求和。

        4)更新像素值:將卷積操作得到的結(jié)果作為濾波后的像素值,用于更新原始圖像中對應(yīng)位置的像素值。這樣就完成了一次高斯濾波操作。

        5)對整個(gè)圖像重復(fù)濾波操作:重復(fù)步驟3和步驟4,對整個(gè)圖像進(jìn)行濾波操作,直到所有像素都被更新為濾波后的值。

        3 卷積原理

        卷積操作中,高斯核與圖像中的每個(gè)像素以及其周圍的鄰域像素進(jìn)行加權(quán)求和。卷積的結(jié)果是通過將每個(gè)像素的值乘以對應(yīng)位置的高斯核權(quán)重,并將所有結(jié)果相加得到的。假定中心點(diǎn)的坐標(biāo)是(0,0),那么取距離它最近的8個(gè)點(diǎn)坐標(biāo),為了計(jì)算,需要設(shè)定σ的值。假定σ=1.5,則模糊半徑為1的高斯模板如下:圖片這個(gè)時(shí)候我們我們還要確保這九個(gè)點(diǎn)加起來為1(高斯模板的特性),這9個(gè)點(diǎn)的權(quán)重總和等于0.4787147,因此上面9個(gè)值還要分別除以0.4787147,得到最終的高斯模板。圖片假設(shè)現(xiàn)有9個(gè)像素點(diǎn),灰度值(0-255)的高斯濾波計(jì)算如下:圖片通常創(chuàng)建KD樹,可以用于加速搜索濾波器的卷積操作。

        4 KD-Tree

        依次搜尋每個(gè)點(diǎn)云數(shù)據(jù)周圍的k個(gè)鄰域點(diǎn),并計(jì)算出采樣點(diǎn)到其k個(gè)鄰域點(diǎn)的平均歐式距離。原始點(diǎn)云數(shù)據(jù)圖片經(jīng)過KD-Tree 搜索后的數(shù)據(jù)集為圖片,定義di為已經(jīng)得到的點(diǎn)pi到其k個(gè)鄰域點(diǎn)的平均距離,σ為di的標(biāo)準(zhǔn)差。

        • σ值越大,權(quán)值分布越平緩。因此鄰域各點(diǎn)值對輸出值的影響越大,最終結(jié)果造成圖像越模糊;
        • 核大小固定,σ值越小,權(quán)值分布越突起。因此鄰域各點(diǎn)值對輸出值的影響越小,圖像變化越小。假如中心點(diǎn)權(quán)值為1,其他點(diǎn)權(quán)值為0,最終結(jié)果是圖像沒有任何變化;
        • σ固定時(shí),核越大圖像越模糊;
        • σ固定時(shí),核越小圖像變化越小。

        圖片5 核心代碼

        //—————基于高斯核函數(shù)的卷積濾波實(shí)現(xiàn)-—---------
        pcl::filters::CaussianKernel<pcl::PointXYZ, pcl::PointXYZ> kernel;//濾波器類 輸入+輸出
        kernel.setSigma(4);//高斯函數(shù)的標(biāo)準(zhǔn)方差,決定函數(shù)的寬度
        kernel.setThresho1dRelativeToSigma(4)://設(shè)置相對Sigma參數(shù)的距離閾值
        kernel.setThreshold(0.05);//設(shè)置距離閾值,若點(diǎn)間距高大于閾值則不予考慮
        court <<"Kernel made”<< end1;

        //——————-創(chuàng)建k維樹——————
        pcl::search::KdTree<pcl::PointXYZ>::Ptr tree(new pcl::search:KdTree<pcl::PointXYZ>);
        tree->setInputCloud (cloud);
        court <<KdTree made<<end1:

        //-———-—-設(shè)置三維卷積相關(guān)參數(shù)-——————————————
        pc1:.filters::Convolution3D<pcl::PointXYZ, pcl::PointXYZ, pcl:filters::GaussianKernel<pcl::PointXYZ, pcl:PointXYZ>> convolution;
        convolution.setKernel (kernel);//設(shè)置卷積核
        convolution.setInputCloud (cloud);
        convolution.setNumberOfThreads(8);//卷積操作的線程數(shù)量為8
        convolution.setSearchMethod(tree);//搜索方法為tree
        convolution.setRadiusSearch(0.01);//積操作的半徑搜索參數(shù)為0.01
        cout << "
        Convolution Start" << end1;
        3 深度學(xué)習(xí)的去噪算法

        1)自編碼器(Autoencoder):自編碼器是一種無監(jiān)督學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型,可以用于圖像和信號的去噪。它通過將輸入信號壓縮到低維編碼空間,然后再將其解碼回原始信號空間,從而學(xué)習(xí)到信號的有用特征,并去除噪聲。 

        2)基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的去噪算法:CNN在圖像處理領(lǐng)域廣泛應(yīng)用,可以用于圖像去噪。通過在網(wǎng)絡(luò)中使用卷積層、池化層和反卷積層等結(jié)構(gòu),CNN可以學(xué)習(xí)到圖像的局部特征,并對噪聲進(jìn)行去除。 

        3)基于生成對抗網(wǎng)絡(luò)(GAN)的去噪算法:GAN是一種由生成器和判別器組成的對抗性模型。在圖像去噪中,生成器負(fù)責(zé)將噪聲圖像轉(zhuǎn)換為清晰圖像,而判別器則用于判斷生成器輸出的圖像是否真實(shí)。通過不斷迭代訓(xùn)練,生成器可以生成更加清晰的圖像,從而實(shí)現(xiàn)去噪效果。 

        4)基于變分自編碼器(VAE)的去噪算法:VAE是一種生成模型,可以學(xué)習(xí)到輸入數(shù)據(jù)的潛在表示。在去噪中,VAE可以學(xué)習(xí)到噪聲數(shù)據(jù)的潛在分布,并生成去噪后的圖像或信號。

        5)基于深度殘差網(wǎng)絡(luò)(DnCNN)的去噪算法:DnCNN是一種專門設(shè)計(jì)用于圖像去噪的深度殘差網(wǎng)絡(luò)。它通過堆疊多個(gè)卷積層和殘差連接來學(xué)習(xí)到圖像中的噪聲特征,并去除噪聲。

        4 參考

        https://blog.csdn.net/qq_36686437/article/details/114160640


        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。



        關(guān)鍵詞: AI

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 宝兴县| 福鼎市| 宜昌市| 巩义市| 四平市| 郯城县| 水城县| 自治县| 龙川县| 集贤县| 四平市| 华宁县| 沈丘县| 任丘市| 永宁县| 枣阳市| 金寨县| 萨迦县| 东源县| 图木舒克市| 拜泉县| 子洲县| 浮山县| 新乡市| 拉萨市| 乌兰察布市| 年辖:市辖区| 太仓市| 永州市| 盐池县| 黄骅市| 化隆| 南汇区| 九台市| 塔河县| 大城县| 英吉沙县| 龙井市| 伊宁市| 凤庆县| 东平县|