《點云庫PCL學習教程》-第1章-概述_第1頁
《點云庫PCL學習教程》-第1章-概述_第2頁
《點云庫PCL學習教程》-第1章-概述_第3頁
《點云庫PCL學習教程》-第1章-概述_第4頁
《點云庫PCL學習教程》-第1章-概述_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第1章概述簡介本書的取材、編寫表達了PCL強大的功能模塊、統(tǒng)一易學的C++調用接口兩個特點。全書共分為16章,第1~3章介紹了PCL的概述、入門與根底,第4~7章詳細介紹PCL根底功能模塊輸入/輸出I/O、kd-tree、八叉樹、可視化,第4章為后續(xù)章節(jié)模塊的根底,第8~15章詳細介紹PCL高級處理功能模塊點云濾波、深度圖像、關鍵點、采樣一致性、點云特征描述與提取、點云配準、點云分割、點云曲面重建,第16章介紹了一些典型綜合應用,讓讀者感受PCL的強大與易用。概述點云處理技術廣泛應用在逆向工程、CAD/CAM、機器人學、激光遙感測量、機器視覺、虛擬現(xiàn)實、人機交互、立體3D影像等諸多領域。由于其涉及計算機學、圖形學、人工智能、模式識別、幾何計算、傳感器等諸多學科,但一直以來由于點云獲取手段的昂貴,嚴重阻礙其在各個行業(yè)上的廣泛應用,也造成國內點云處理的理論性和工具性書籍匱乏。在2010年,隨著消費級RGBD設備〔低本錢點云獲取〕的大量上市,以微軟的Kinect為前導,目前已有華碩、三星等多家公司開始量產(chǎn)此類產(chǎn)品,正在形成基于RGBD的新一代機器視覺生態(tài)鏈,PCL〔PointCloudLibrary〕應運而生。PCL是在吸收了前人點云相關研究根底上建立起來的跨平臺開源庫,可在Windows、Linux、Android、MacOSX、局部嵌入式實時系統(tǒng)上運行,它實現(xiàn)了大量通用算法和數(shù)據(jù)結構,涉及點云獲取、濾波、分割、配準、檢索、特征提取、識別、追蹤、曲面重建、可視化等根底模塊以及人體骨骼識別提取、動作跟蹤識別等應用,并且新的其他應用正在大量增加。如果說OpenCV是2D信息獲取與處理的結晶,那么PCL就在3D信息獲取與處理上具有同等地位。筆者深信隨著各大廠商對RGBD設備的大力推出,基于此設備的各種應用將會大量涌現(xiàn),而PCL不僅是這類應用的核心關鍵技術,而且基于它進行擴展,將會極大地提高應用系統(tǒng)開發(fā)效率和穩(wěn)定性。三維信息的獲取與處理是筆者所在研究團隊的重要方向之一,在農(nóng)業(yè)對象的三維信息獲取與重建、虛擬農(nóng)業(yè)等領域不斷探索新的獲取技術和處理方法,在2011年7月發(fā)現(xiàn)了OpenCV的姐妹PCL及其網(wǎng)站的RSS更新,時刻關注PCL在3D信息獲取和處理方面的新動向,并與PCL結緣。在跟蹤過程中發(fā)現(xiàn),PCL對RGBD數(shù)據(jù)的獲取和處理提供了強大支持,并有大量的機器人、虛擬現(xiàn)實、人機交互、機器視覺等領域的應用案例,目前幾乎每半個月就有新的開發(fā)方案,或者有新的資助者或開發(fā)者參加。參加PCL開發(fā)的團隊來自包括全球的AIST,UCBerkeley,UniversityofBonn,UniversityofBritishColumbia,ETHZurich等等。同時我們團隊已經(jīng)把PCL作為開發(fā)出實際應用的根底平臺,用于跨平臺支持嵌入式設備的3D農(nóng)業(yè)信息獲取與處理的根底庫。目前PCL正在快速成長階段,國內外尚無相關的中英文系統(tǒng)學習書籍,鑒于此,經(jīng)過團隊討論,把我們學習和開發(fā)應用期間整理的資料與國內讀者一起分享,加快PCL在其他各行業(yè)中的應用,推動3D信息快速獲取與處理的開展。PCL的潛在讀者群:機器人研究或應用開發(fā)者機器視覺的研究或應用開發(fā)者。人機交互研究或應用開發(fā)者。交互式體感游戲開發(fā)者。虛擬現(xiàn)實研究或應用開發(fā)者。CAD/CAM和逆向工程工作者。工業(yè)自動化測量、檢測領域的研究或應用開發(fā)者。激光雷達遙感的研究或應用開發(fā)者。本書概況本書分為三大局部,其中第三局部以接近實戰(zhàn)的實例來講解工程應用,相比于前兩局部更獨立。如果讀者是一名經(jīng)驗豐富的資深用戶,已經(jīng)知道PCL的相關根底知識和使用方法,那么讀者可以直接閱讀測試這局部內容。但如果讀者是一名初學者,請一定從第1章的根底理論知識開始學習。第一局部為根底篇從第1章到第3章,簡單介紹PCL的相關背景資料和根本使用方式,幫助讀者了解一些根底背景知識,感受自己的研究應用領域在PCL根底上有哪些應用前景,并熟悉PCL的使用方法以及編程標準,為讀者使用PCL做好前期準備工作。第二局部為模塊篇從第4章到第15章,著重講解PCL各個模塊中涉及的3D點云處理的概念、模塊API、實例應用。每章結構都是先簡單介紹本章涉及的相關概念,再重點介紹一些模塊相關的類和函數(shù),最后分析幾個典型的模塊應用實例,讓讀者不需要太多點云處理根底,也能輕松掌握PCL各個功能模塊。第二局部涵蓋點云獲取、濾波、分割、配置、檢索、特征提取、識別、追蹤、曲面重建、可視化等全部已根本定型的模塊,骨骼識別與跟蹤模塊還正在開發(fā),本書未包含。第三局部是綜合應用篇第16章,通過基于PCL的典型應用案例進行介紹,讓讀者進一步能夠體驗PCL的強大,同時了解一些虛擬現(xiàn)實和人機交互領域的新事物。光盤收集PCL1.51的開發(fā)資源及本書中涉及的實例程序和數(shù)據(jù)。PCL版本PCL的發(fā)布更新以1.5X的小版本號來表示,本書針對的是1.51版本。PCL正在不斷開發(fā)和完善中,但根本架構和設計思路根本確定,相信讀者對本書介紹了解之后,對其他版本就輕車熟路了。請參照網(wǎng)站地址:。雖然本書中參考所用的API文檔,仍然在不斷更新新的類、函數(shù),但模塊根本確定,不會對PCL的理解產(chǎn)生困難。源代碼本書的所有源代碼和工程文件大多數(shù)整理來自于PCL官方網(wǎng)站,都以BSD〔BerkeleySoftwareDistribution〕許可協(xié)議或者〔CCA〕CreativeCommonsAttribution3.0的形式發(fā)布,讀者可以自由使用和分享,如果需要應用于商業(yè)領域,請注明版權所有者。目錄第1章概述第2章PCL入門第3章PCL根底第4章輸入/輸出(I/O)第5章kd-tree第6章八叉樹第7章可視化第8章濾波第9章深度圖像第10章關鍵點第11章采樣一致性算法第12章點云特征描述與提取第13章點云配準第14章點云分割第15章點云曲面重建第16章綜合應用本章各小節(jié)目錄1.1什么是PCL1.2PCL的開展與創(chuàng)景1.3PCL的潛在應用領域1.4PCL在中國1.5PCL的結構和內容1.1什么是PCLPCL是PointCloudLibrary的簡稱,是一個開源的用C++語言開發(fā)的點云庫,它實現(xiàn)了大量點云相關的通用算法和高效數(shù)據(jù)結構,涉及到點云獲取、濾波、分割、配準、檢索、特征提取、識別、追蹤、曲面重建、可視化等。而且支持多種操作平臺,可在Windows、Linux、Android、MacOSX、局部嵌入式實時系統(tǒng)上運行。如果說OpenCV是2D信息獲取與處理的結晶,那么PCL就是在3D信息獲取與處理上的結晶,具有同等地位。PCL也是BSD授權方式,可以免費進行商業(yè)和學術應用。1.2PCL的開展與創(chuàng)景隨著參加組織的增多,PCL官方目前的方案是繼續(xù)參加很多新的功能模塊和算法的實現(xiàn),包括當前最新的3D相關的處理算法和相關設備的支持,如基于PrimeSensor3D設備,微軟Kinect或者華碩的XTionPRO智能交互應用等,詳細讀者可以參考官方網(wǎng)站每期的新聞,而且也方案進一步支持使用CUDA和OpenCL等基于GPU的高性能計算的技術。筆者相信在近幾年內會有更多的人和組織參加到這個工程中來,共享開源PCL帶來的各自領域的成果。1.3PCL的潛在應用領域1.3.1機器人領域移動機器人對其工作環(huán)境的有效感知、辨識與認知,是其進行自主行為優(yōu)化并可靠完成所承擔任務的前提和根底。如何實現(xiàn)場景中物體的有效分類與識別是移動機器人場景認知的核心問題,目前基于視覺圖像處理技術來進行場景的認知是該領域的重要方法。但移動機器人在線獲取的視覺圖像質量受光線變化影響較大,特別是在光線較暗的場景更難以應用,隨著RGBD獲取設備的大量推廣,在機器人領域勢必掀起一股深度信息結合2D信息的應用研究熱潮,深度信息的引入能夠使機器人更好地對環(huán)境進行認知、辨識,與圖像信息在機器人領域的應用一樣,需要強大智能軟件算法支撐,PCL就為此而生。最重要的是PCL本身就是為機器人而發(fā)起的開源工程,PCL中不僅提供了對現(xiàn)有的RGBD信息的獲取設備的支持,還提供了高效的分割、特征提取、識別、追蹤等最新的算法,最重要的是它可以移植到ROS、Android、Ubuntu等主流Linux平臺上,PCL無疑將會成為機器人應用領域一把“瑞士軍刀”。1.3.2CAD/CAM、逆向工程大局部工業(yè)產(chǎn)品是根據(jù)二維或三維CAD模型制造而成,但有時因為數(shù)據(jù)喪失、設計屢次更改、實物引進等原因,產(chǎn)品的幾何模型無法獲得,因而常常需要根據(jù)現(xiàn)有產(chǎn)品實物生成物體幾何模型。逆向工程技術能夠對產(chǎn)品實物進行測繪,重構產(chǎn)品外表三維幾何模型,生成產(chǎn)品制造所需的數(shù)字化文檔。在一些工業(yè)領域,如汽車制造業(yè),許多零件的幾何模型都通過逆向工程由油泥模型或實物零件獲得,目前在CAD/CAM領域利用激光點云進行高精度測量與重建成為趨勢,同時引來了新的問題,通過獲取的海量點云數(shù)據(jù),來提取重建模型的幾何參數(shù)或者形狀模型,對模型進行智能檢索,從點云數(shù)據(jù)獲取模型的曲面模型等,諸如此類的問題解決方案在PCL中都有涉及。例如kd-tree和oc-tree對海量點運進行高效壓縮存儲與管理,其中濾波、配準、特征描述與提前根底處理,可以應用于模型的智能檢索以及后期的曲面重建和可視化都在PCL中有相應的模塊??傊?,三維點云數(shù)據(jù)的處理是逆向工程中比較重要的一環(huán),PCL中間所有的模塊正是為此而生的。1.3.3激光遙感測量能夠直接獲取高精度三維地面點數(shù)據(jù),是對傳統(tǒng)測量技術在高程數(shù)據(jù)獲取及自動化快速方面的重要技術補充。激光遙感測量系統(tǒng)在地形測繪、環(huán)境檢測、三維城市建模、地球科學、行星科學等諸多領域具有廣泛的開展前景,是目前最先進的能實時獲取地形外表三維空間信息和影像的遙感系統(tǒng)。目前,在各種提取地面點的算法中,算法結果與實際結果之間差異較大,違背了實際情況,PCL中強大的模塊可以助力解決此問題。1.3.4虛擬現(xiàn)實、人機交互虛擬現(xiàn)實技術〔VR〕又稱靈境技術,是以沉浸性、交互性和設想性為根本特征的計算機高級人機界面。它綜合利用了計算機圖形學、仿真技術、多媒體技術、人工智能技術、計算機網(wǎng)絡技術、并行處理技術和多傳感器技術,模擬人的視覺、聽覺、觸覺等感覺器官功能,使人能夠沉浸在計算機生成的虛擬境界中,并能夠通過語言、手勢等自然的方式與之進行實時交互,創(chuàng)立了一種適人化的多維信息空間,具有廣闊的應用前景。目前各種交互式體感應用的推出,讓虛擬現(xiàn)實與人機交互開展非常迅速,以微軟、華碩、三星等為例,目前諸多公司推出的RGBD解決方案,勢必會讓虛擬現(xiàn)實走出實驗室,因為現(xiàn)在的RGBD設備已經(jīng)開始大量推向市場,只是缺少其他應用的跟進,這正是在為虛擬現(xiàn)實和人機交互應用鑄造生態(tài)鏈的底部,筆者認為這也正是PCL為何在此時才把自己與世人分享的重要原因所在,它將是基于RGBD設備的虛擬現(xiàn)實和人機交互應用生態(tài)鏈中最重要的一個環(huán)節(jié)。讓我們抓住這一個節(jié)點,立足于交互式應用的一片小天地,但愿本書來的不是太遲。1.4PCL在中國PCL雖然在國際上有如此多的組織和公司參與,由于開展如此迅速,目前〔2012年4月〕在Google中檢索出中文相關的PCL探討,有且只有一條,當然這也是筆者出書原因之一了。事實上,如圖1-2所示,在全球范圍內,唯獨沒有中國參與組織,這里希望廣闊讀者可以為中國板塊上添加一個小旗幟。當然,肯定有科研工作者在應用或者學習PCL了,筆者依托于中國農(nóng)業(yè)大學農(nóng)業(yè)部信息獲取技術重點實驗室,在與創(chuàng)始人Radu博士交流后,深感PCL在復雜的農(nóng)業(yè)對象中有不可估量的作用,例如對動植物的重建測度、果蔬等分級檢測等應用領域,決定把PCL作為根底研究平臺來開展實際應用。同時用學習筆記撰寫了本書把PCL與國人分享,相信在不久的將來,與2D信息處理庫OpenCV一樣,中國將是PCL最大的用戶和奉獻者基地。1.5PCL的結構和內容PCL架構圖如圖1-3所示,對于3D點云處理來說,PCL完全是一個模塊化的現(xiàn)代C++模板庫。其基于以下第三方庫:Boost、Eigen、FLANN、VTK、CUDA、OpenNI、Qhull,實現(xiàn)點云相關的獲取、濾波、分割、配準、檢索、特征提取、識別、追蹤、曲面重建、可視化等。PCL利用OpenMP、GPU、CUDA等先進高性能計算技術,通過并行化提高程序實時性。K近鄰搜索操作的構架是基于FLANN(FastLibraryforApproximateNearestNeighbors)所實現(xiàn)的,速度也是目前技術中最快的。PCL中的所有模塊和算法都是通過Boost共享指針來傳送數(shù)據(jù),因而防止了屢次復制系統(tǒng)中已存在圖1-3PCL架構圖的數(shù)據(jù)的需要,從0.6版本開始,PCL就已經(jīng)被移入到Windows、MacOS和Linux系統(tǒng),并且在Android系統(tǒng)也已經(jīng)開始投入使用,這使得PCL的應用容易移植與多方發(fā)布。從算法的角度,PCL是指納入了多種操作點云數(shù)據(jù)的三維處理算法,其中包括過濾、特征估計、外表重建、模型擬合和分割、定位搜索等。每一套算法都是通過基類進行劃分的,試圖把貫穿整個流水線處理技術的所有常見功能整合在一起,從而保持了整個算法實現(xiàn)過程中的緊湊和結構清晰,提高代碼的重用性、簡潔可讀。在PCL中一個處理管道的根本接口程序如下:〔1〕創(chuàng)立處理對象:〔例如過濾、特征估計、分割等〕?!?〕使用setInputCloud通過輸入點云數(shù)據(jù),處理模塊?!?〕設置算法相關參數(shù)?!?〕調用計算得到輸出。為了進一步簡化和開發(fā),PCL被分成一系列較小的代碼庫,使其模塊化,以便能夠單獨編譯使用提高可配置性,特別適用于嵌入式處理中:〔1〕libpclfilters:如采樣、去除離群點、特征提取、擬合估計等數(shù)據(jù)實現(xiàn)過濾器?!?〕libpclfeatures:實現(xiàn)多種三維特征,如曲面法線、曲率、邊界點估計、矩不變量、主曲率,PFH和FPFH特征,旋轉圖像、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論