色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

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

          大盤點!三維點云去噪算法,涉及深度學習等(2)

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

          1 原理

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

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

          //本例使用axtby+ez+d=O的平面模型創(chuàng)建一個系數(shù)為a=b=d=0,c=1的平面,也就是X-Y平面。z軸相關的點全部投影在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ù)學原理,通過在圖像上應用高斯核來實現(xiàn)平滑效果。

          2 步驟

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

          2)生成高斯核:根據(jù)確定的高斯核大小和標準差,生成一個二維的高斯權值矩陣。高斯權值矩陣中的每個元素表示了相應位置上的權重值,這些權重值是根據(jù)高斯函數(shù)計算得出的。


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

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

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

          3 卷積原理

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

          4 KD-Tree

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

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

          圖片5 核心代碼

          //—————基于高斯核函數(shù)的卷積濾波實現(xiàn)-—---------
          pcl::filters::CaussianKernel<pcl::PointXYZ, pcl::PointXYZ> kernel;//濾波器類 輸入+輸出
          kernel.setSigma(4);//高斯函數(shù)的標準方差,決定函數(shù)的寬度
          kernel.setThresho1dRelativeToSigma(4)://設置相對Sigma參數(shù)的距離閾值
          kernel.setThreshold(0.05);//設置距離閾值,若點間距高大于閾值則不予考慮
          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ù)-——————————————
          pc1:.filters::Convolution3D<pcl::PointXYZ, pcl::PointXYZ, pcl:filters::GaussianKernel<pcl::PointXYZ, pcl:PointXYZ>> convolution;
          convolution.setKernel (kernel);//設置卷積核
          convolution.setInputCloud (cloud);
          convolution.setNumberOfThreads(8);//卷積操作的線程數(shù)量為8
          convolution.setSearchMethod(tree);//搜索方法為tree
          convolution.setRadiusSearch(0.01);//積操作的半徑搜索參數(shù)為0.01
          cout << "
          Convolution Start" << end1;
          3 深度學習的去噪算法

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

          2)基于卷積神經網絡(CNN)的去噪算法:CNN在圖像處理領域廣泛應用,可以用于圖像去噪。通過在網絡中使用卷積層、池化層和反卷積層等結構,CNN可以學習到圖像的局部特征,并對噪聲進行去除。 

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

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

          5)基于深度殘差網絡(DnCNN)的去噪算法:DnCNN是一種專門設計用于圖像去噪的深度殘差網絡。它通過堆疊多個卷積層和殘差連接來學習到圖像中的噪聲特征,并去除噪聲。

          4 參考

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


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



          關鍵詞: AI

          相關推薦

          技術專區(qū)

          關閉