精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

激光雷達(dá)點(diǎn)云預(yù)處理介紹

麥辣雞腿堡 ? 來源:古月居 ? 作者:lovely_yoshin ? 2023-11-27 18:11 ? 次閱讀

激光雷達(dá)作為自動(dòng)駕駛最常用的傳感器,經(jīng)常需要使用激光雷達(dá)來做建圖、定位和感知等任務(wù)。

而這時(shí)候使用降低點(diǎn)云規(guī)模的預(yù)處理方法,可以能夠去除無關(guān)區(qū)域的點(diǎn)以及降低點(diǎn)云規(guī)模。并能夠給后續(xù)的PCL點(diǎn)云分割帶來有效的收益。

點(diǎn)云預(yù)處理

1.1 指定區(qū)域獲取點(diǎn)云

在實(shí)際使用中,我們可以看出,雖然點(diǎn)云的分布范圍較廣,但大部分的點(diǎn)都集中的中間區(qū)域,距離越遠(yuǎn)點(diǎn)云越稀疏,相對(duì)的信息量也越小。

此外還能明顯看到一些離群點(diǎn),因此我們可以篩選掉一些較遠(yuǎn)的點(diǎn),只保留我們感興趣范圍內(nèi)的點(diǎn)。以下為保留 x 在 30m,y 在 15m,z 在 2m 范圍內(nèi)的點(diǎn)的效果:

template < class PointType >void removePointsOutsideRegion(boost::shared_ptr< pcl::PointCloud< PointType > >& src_cloud_ptr,                               boost::shared_ptr< pcl::PointCloud< PointType > >& dst_cloud_ptr,                               const std::pair< double, double >& x_range,                               const std::pair< double, double >& y_range,                               const std::pair< double, double >& z_range) {    int num_points = src_cloud_ptr- >points.size();    boost::shared_ptr< pcl::PointCloud< PointType > > cloud_ptr(new pcl::PointCloud< PointType >());    cloud_ptr- >points.reserve(num_points);    for (const auto& pt : src_cloud_ptr- >points) {        bool inside = (pt.x  >= x_range.first && pt.x < = x_range.second && pt.y  >= y_range.first &&                       pt.y < = y_range.second && pt.z  >= z_range.first && pt.z < = z_range.second);        if (inside) {            cloud_ptr- >points.push_back(pt);        }    }    dst_cloud_ptr = cloud_ptr;} // 或者使用CropBox來實(shí)現(xiàn)去除給定區(qū)域外的點(diǎn) pcl::CropBox< pcl::PointXYZ > box_filter; box_filter.setInputCloud(cloud_ptr); box_filter.setMin(Eigen::Vector4f(keep_x_range.first, keep_y_range.first, keep_z_range.first, 1.0)); box_filter.setMax(Eigen::Vector4f(keep_x_range.second, keep_y_range.second, keep_z_range.second, 1.0)); box_filter.filter(*temp_cloud_ptr);

1.2 去除給定區(qū)域的點(diǎn)

在某些情況下,我們也會(huì)需要去除給定區(qū)域內(nèi)部的點(diǎn),比如在自動(dòng)駕駛中激光掃描的區(qū)域有一部分來自搭載激光雷達(dá)的車子本身

template < class PointType >void filterPointsWithinRegion(boost::shared_ptr< pcl::PointCloud< PointType > >& src_cloud_ptr,                              boost::shared_ptr< pcl::PointCloud< PointType > >& dst_cloud_ptr,                              const std::pair< double, double >& x_range,                              const std::pair< double, double >& y_range,                              const std::pair< double, double >& z_range,                              bool remove) {    int num_points = src_cloud_ptr- >points.size();    boost::shared_ptr< pcl::PointCloud< PointType > > cloud_ptr(new pcl::PointCloud< PointType >());    cloud_ptr- >points.reserve(num_points);    for (const auto& pt : src_cloud_ptr- >points) {        bool inside = (pt.x  >= x_range.first && pt.x < = x_range.second && pt.y  >= y_range.first &&                       pt.y < = y_range.second && pt.z  >= z_range.first && pt.z < = z_range.second);        if (inside ^ remove) {            cloud_ptr- >points.push_back(pt);        }    }    dst_cloud_ptr = cloud_ptr;}// PassThrough: 可以指定點(diǎn)云中的點(diǎn)的某個(gè)字段進(jìn)行范圍限制,將其設(shè)為 true 時(shí)可以進(jìn)行給定只保留給定范圍內(nèi)的點(diǎn)的功能 pcl::PassThrough< pcl::PointXYZ > pass_filter; bool reverse_limits = true; pass_filter.setInputCloud(filtered_cloud_ptr); pass_filter.setFilterFieldName("x"); pass_filter.setFilterLimits(-5, 5); pass_filter.getFilterLimitsNegative(reverse_limits);  // reverse the limits pass_filter.filter(*filtered_cloud_ptr); pass_filter.setFilterFieldName("y"); pass_filter.setFilterLimits(-2, 2); pass_filter.getFilterLimitsNegative(reverse_limits);  // reverse the limits pass_filter.filter(*filtered_cloud_ptr); pass_filter.setFilterFieldName("z"); pass_filter.setFilterLimits(-2, 2); pass_filter.getFilterLimitsNegative(reverse_limits);  // reverse the limits pass_filter.filter(*filtered_cloud_ptr);

1.3 點(diǎn)云下采樣

1.3.1 柵格化采樣

這里第一點(diǎn)介紹柵格化的下采樣,在 PCL 中對(duì)應(yīng)的函數(shù)為體素濾波。柵格化下采樣大致的思路是計(jì)算整體點(diǎn)云的中心

通過計(jì)算每個(gè)點(diǎn)到中心的距離結(jié)合要求的分辨率計(jì)算柵格對(duì)應(yīng)的坐標(biāo),并入其中,最后遍歷每個(gè)包含點(diǎn)的柵格計(jì)算其中點(diǎn)的幾何中心或者取該柵格中心加入目標(biāo)點(diǎn)云即可。

pcl::VoxelGrid< pcl::PointXYZ > voxel_filter;    voxel_filter.setLeafSize(0.1, 0.1, 0.1);    voxel_filter.setInputCloud(cloud_ptr);    voxel_filter.filter(*filtered_cloud_ptr);

1.3.2 點(diǎn)云所在區(qū)域密度規(guī)律濾波

該方法直接基于點(diǎn)云分布密度進(jìn)行去噪,直觀的感受是可以根據(jù)點(diǎn)云中每個(gè)點(diǎn)所在區(qū)域判斷其是否是噪聲,一般來說噪聲點(diǎn)所在區(qū)域都比較稀疏。

pcl::RadiusOutlierRemoval< pcl::PointXYZ >::Ptr radius_outlier_removal(        new pcl::RadiusOutlierRemoval< pcl::PointXYZ >(true));    radius_outlier_removal- >setInputCloud(cloud_ptr);    radius_outlier_removal- >setRadiusSearch(1.0);    radius_outlier_removal- >setMinNeighborsInRadius(10);    radius_outlier_removal- >filter(*filtered_cloud_ptr);

1.3.3 點(diǎn)云所在區(qū)域分布規(guī)律濾波

除了根據(jù)稠密意以外還可以根據(jù)距離來篩選濾波,每個(gè)點(diǎn)計(jì)算其到周圍若干點(diǎn)的平均距離,如果這個(gè)平均距離相對(duì)于整體點(diǎn)云中所有點(diǎn)的平均距離較近,則認(rèn)為其不是噪點(diǎn)

// PCL built-in radius removal    pcl::StatisticalOutlierRemoval&lt;pcl::PointXYZ&gt;::Ptr statistical_outlier_removal(        new pcl::StatisticalOutlierRemoval&lt;pcl::PointXYZ&gt;(true)); // set to true if we want to extract removed indices    statistical_outlier_removal-&gt;setInputCloud(cloud_ptr);    statistical_outlier_removal-&gt;setMeanK(20);    statistical_outlier_removal-&gt;setStddevMulThresh(2.0);    statistical_outlier_removal-&gt;filter(*filtered_cloud_ptr);

1.3.4 根據(jù)點(diǎn)云是否可以被穩(wěn)定觀察到篩選

LOAM 中對(duì)點(diǎn)云中的點(diǎn)是否能形成可靠特征的一個(gè)判斷標(biāo)準(zhǔn)是它能否被穩(wěn)定觀察到。

LOAM 中著重提了這兩種情況的點(diǎn)是不穩(wěn)定的:

  • 特征成平面和掃描線近乎平行
  • 特征掃描到的其中一端被另一個(gè)平面擋住,這部分的點(diǎn)也不穩(wěn)定
template < typename PointType >void filter_occuluded_points(boost::s
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2548

    文章

    50678

    瀏覽量

    752010
  • 激光雷達(dá)
    +關(guān)注

    關(guān)注

    967

    文章

    3939

    瀏覽量

    189598
  • 自動(dòng)駕駛
    +關(guān)注

    關(guān)注

    783

    文章

    13684

    瀏覽量

    166147
  • 點(diǎn)云
    +關(guān)注

    關(guān)注

    0

    文章

    58

    瀏覽量

    3786
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    激光雷達(dá)是自動(dòng)駕駛不可或缺的傳感器

    看到這種低成本的激光雷達(dá),從研發(fā)、樣品到商用,可能會(huì)比原來預(yù)想的周期更快。因?yàn)椴皇且患?b class='flag-5'>激光雷達(dá)公司在努力,而是整個(gè)產(chǎn)業(yè)鏈都在努力。點(diǎn)是在同一空間倡導(dǎo)系下表達(dá)目標(biāo)空間分布和目標(biāo)表面特性
    發(fā)表于 09-08 17:24

    激光雷達(dá)分類以及應(yīng)用

    激光雷達(dá)實(shí)際上是一種工作在光學(xué)波段(特殊波段)的雷達(dá),它的優(yōu)點(diǎn)非常明顯:1、具有極高的分辨率:激光雷達(dá)工作于光學(xué)波段,頻率比微波高2~3個(gè)數(shù)量級(jí)以上,因此,與微波雷達(dá)相比,
    發(fā)表于 09-19 15:51

    常見激光雷達(dá)種類

    單線激光雷達(dá)特點(diǎn):結(jié)構(gòu)簡單、掃描速度快、分辨率高、可靠性高、成本低。單線激光雷達(dá)實(shí)際上就是一個(gè)高同頻激光脈沖掃描儀,加上一個(gè)一維旋轉(zhuǎn)掃描。單線激光雷達(dá)雖然原理簡單但是可以有效、高頻的測
    發(fā)表于 09-25 11:30

    激光雷達(dá)面臨的機(jī)遇與挑戰(zhàn)

    機(jī)遇激光雷達(dá)在智能機(jī)器生態(tài)系統(tǒng)中有很多機(jī)遇。與使用二維圖像相比,點(diǎn)能夠更容易的被計(jì)算機(jī)使用,用于構(gòu)建物理環(huán)境的三維形象——二維圖像是人腦最容易理解的數(shù)據(jù),而對(duì)于計(jì)算機(jī)來說,點(diǎn)
    發(fā)表于 09-26 14:30

    固態(tài)激光雷達(dá)

    `我們已經(jīng)對(duì)單線激光雷達(dá)司空見慣,其旋轉(zhuǎn)線掃的測量方式導(dǎo)致造成壽命問題和價(jià)格居高不下。 因此,北醒研發(fā)了CE30,它是一款具有大視場角的固態(tài)激光雷達(dá)。它可同時(shí)輸出132°水平視場、9度垂直視場范圍內(nèi)
    發(fā)表于 01-04 10:18

    激光雷達(dá)

    `我們已經(jīng)對(duì)單線激光雷達(dá)司空見慣,其旋轉(zhuǎn)線掃的測量方式導(dǎo)致造成壽命問題和價(jià)格居高不下。 因此,北醒研發(fā)了CE30,它是一款具有大視場角的固態(tài)激光雷達(dá)。它可同時(shí)輸出132°水平視場、9度垂直視場范圍內(nèi)
    發(fā)表于 01-11 09:21

    固態(tài)設(shè)計(jì)激光雷達(dá)

    ``一年一度的國際消費(fèi)類電子產(chǎn)品展覽會(huì)(CES)已經(jīng)完滿收官,短短的幾天時(shí)間里,我們見識(shí)了Intel無人飛機(jī)燈光秀、百度無人車、移動(dòng)行李箱等眾多“黑科技”。而北醒不僅展示了性能卓越的固態(tài)激光雷達(dá),在
    發(fā)表于 01-25 09:41

    激光雷達(dá)除了可以激光測距外,還可以怎么應(yīng)用?

    簡單的3D雷達(dá),獲取三維數(shù)據(jù)呢?目前市面上主流的有2種方式:1、采用線狀激光器,將原先的一個(gè)點(diǎn)變成一條線型光;2、使用一個(gè)2D激光雷達(dá)掃描,同時(shí)在另一個(gè)軸進(jìn)行旋轉(zhuǎn),從而掃描出3D信息;
    發(fā)表于 05-11 15:33

    激光雷達(dá)知多少:從技術(shù)上講講未來前景

    激光雷達(dá)產(chǎn)業(yè)迅速擴(kuò)大。 地基激光雷達(dá) 地基激光雷達(dá)可以獲取林區(qū)的3D點(diǎn)信息,利用點(diǎn)
    發(fā)表于 07-14 07:56

    激光雷達(dá)

    想了解行業(yè)國內(nèi)做固態(tài)激光雷達(dá)的廠家,激光雷達(dá)里面是怎么樣的啊
    發(fā)表于 01-17 15:29

    激光雷達(dá)點(diǎn)數(shù)據(jù)分割算法的嵌入式平臺(tái)上的部署實(shí)現(xiàn)

    點(diǎn)擊上方“AI算法修煉營”,選擇“星標(biāo)”公眾號(hào)精選作品,第一時(shí)間送達(dá)這篇文章是激光雷達(dá)點(diǎn)數(shù)據(jù)分割算法的嵌入式平臺(tái)上的部署實(shí)現(xiàn)。主要的創(chuàng)新點(diǎn)有兩點(diǎn)
    發(fā)表于 12-21 08:28

    詳解激光雷達(dá)點(diǎn)數(shù)據(jù)的處理過程

    隨著激光雷達(dá)的上車數(shù)量的不斷攀升,如何用好激光雷達(dá)成為了重中之重,而用好激光雷達(dá)的關(guān)鍵點(diǎn)之一就在于處理好點(diǎn)
    的頭像 發(fā)表于 03-14 09:36 ?3759次閱讀

    激光雷達(dá)點(diǎn)處理中遇到的問題及對(duì)策

    在與激光雷達(dá)公司和下游主機(jī)廠或者解決方案商的專家交流的過程中,筆者發(fā)現(xiàn),當(dāng)前激光點(diǎn)處理過程中,感知算法人員會(huì)遇到很多問題。
    的頭像 發(fā)表于 03-14 17:50 ?2473次閱讀

    自動(dòng)駕駛之激光雷達(dá)預(yù)處理/特征提取

    0. 簡介 激光雷達(dá)作為自動(dòng)駕駛最常用的傳感器,經(jīng)常需要使用激光雷達(dá)來做建圖、定位和感知等任務(wù)。而這時(shí)候使用降低點(diǎn)規(guī)模的預(yù)處理方法,可以能夠去除無關(guān)區(qū)域的
    發(fā)表于 06-06 10:07 ?2次下載
    自動(dòng)駕駛之<b class='flag-5'>激光雷達(dá)</b><b class='flag-5'>預(yù)處理</b>/特征提取

    激光雷達(dá)點(diǎn)數(shù)據(jù)包含哪些信息

    )、環(huán)境監(jiān)測、城市規(guī)劃等領(lǐng)域。激光雷達(dá)點(diǎn)數(shù)據(jù)是激光雷達(dá)系統(tǒng)收集到的一系列三維空間坐標(biāo)點(diǎn),包含了豐富的空間信息。本文將介紹
    的頭像 發(fā)表于 08-29 17:18 ?758次閱讀