999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于QT 的3D 相機軟件系統(tǒng)設計

2021-03-25 02:09:50王連慶
軟件導刊 2021年3期
關鍵詞:界面功能系統(tǒng)

王連慶,錢 莉

(上海工程技術大學機械與汽車工程學院,上海 201620)

0 引言

3D 視覺[1]的表達形式更為直觀,相比傳統(tǒng)的2D 視覺,可獲得物體更加全面的信息。獲得的信息以三維形式儲存,同時具有顏色、強度等特征,因此在文物重建、人臉識別、3D 打印、手勢識別[2-3]等方面都有著廣泛應用。

文獻[4]開發(fā)了一套樹木結構提取與分割系統(tǒng),其利用地面激光雷達快速獲取樹木點云數(shù)據(jù),從中提取與分割樹木結構(胸徑、樹高、材積等),并根據(jù)分割的數(shù)據(jù)判斷樹木生長情況;文獻[5]基于三維激光掃描技術,針對軍事領域中的覆土油罐建設,設計了一套輔助建設系統(tǒng),具有油罐選址、預算控制等功能。但文獻[4]、[5]基于具體應用場景設計的點云處理系統(tǒng)應用場景單一,不易于擴展。文獻[6]利用OpenGL 開發(fā)的點云處理系統(tǒng)對拾取得到的型值點進行NURBS 曲線擬合,實驗證明處理10 萬個點僅需0.8s,因此可快速處理點云數(shù)據(jù);文獻[7]設計了一種針對3D 掃描儀的點云處理系統(tǒng),該系統(tǒng)點云重建功能強大,可恢復真實物體的紋理信息。文獻[6]、[7]中的系統(tǒng)在某一模塊功能強大,但是整體功能較少,無法對復雜情況下的點云數(shù)據(jù)進行處理。文獻[8]利用PCL 點云庫開發(fā)的點云處理系統(tǒng)集成了點云分割、濾波、重建等算法,系統(tǒng)功能較全,但軟件界面的交互性較差,當點云數(shù)據(jù)量較大時,點云處理速度較慢、效率較低。此外市場上多家3D 相機廠家都擁有自己的點云處理系統(tǒng),如LMI、康耐視等,但相關系統(tǒng)往往需要與自己品牌的3D 相機配套使用,這種捆綁銷售的策略剝奪了用戶自主選擇的權利。

通過以上分析可以發(fā)現(xiàn),目前針對激光雷達、3D 掃描儀開發(fā)的點云系統(tǒng)較多,而針對3D 相機開發(fā)的系統(tǒng)很少。針對具體項目集成的點云處理系統(tǒng)較多,但大多功能單一、擴展性較差,無法處理復雜狀態(tài)的點云數(shù)據(jù)。因此,針對該問題,本文利用QT 平臺與點云庫(Point Cloud Li?brary,PCL)開發(fā)了一套獨立的點云處理系統(tǒng),可對獲得的點云數(shù)據(jù)進行去噪、優(yōu)化、分割、重建等操作。此外,本軟件已集成康耐視、LMI、盛相、photoneo 等品牌的3D 相機進行實時圖像采集,并對采集的數(shù)據(jù)自動進行處理。

1 系統(tǒng)結構與功能設計

軟件系統(tǒng)運行的效率、速度和穩(wěn)定性由處理點云的算法決定。PCL 點云庫具有開源、函數(shù)接口豐富等特點,適合作為此款軟件的底層算法,而QT 提供了強大的界面開發(fā)功能,并且還具有與點云可視化庫(Visualization Tool Kit,VTK)相結合的函數(shù)接口和插件,可以實現(xiàn)共同開發(fā),適合作為此款軟件的界面開發(fā)工具。

1.1 系統(tǒng)底層工具介紹

QT 是一款跨平臺的界面設計軟件,在市面上的主流操作系統(tǒng)中都可以運行,目前通過QT 還衍生了Qt Designer/Creator 等優(yōu)秀產(chǎn)品。QT 為使用者提供了已完成的封裝庫,通過信號槽機制連接按鍵及需要調(diào)用的函數(shù),使得代碼與界面完美結合,可以讓使用者進行快速、高效的開發(fā)。

PCL 是一款用于處理三維點云數(shù)據(jù)的開源庫,起初是在一個機器人軟件平臺(Robot Operating System,ROS)環(huán)境下開發(fā)的,2011 年獨立成為一個完整的開源庫,如今已成為高校、研究所科研時必不可少的工具。它可以對3D相機、激光雷達等傳感器中的數(shù)據(jù)直接進行處理,常用方法有濾波[9]、分割、配準[10]、特征提取、曲面重建[11]、識別、追蹤等。

VS(Microsoft Visual Studio)是由微軟研發(fā)的一款程序編譯軟件,可支持C、C++、C#、Java 等主流語言,此外其還擁有程序生命周期中所需的絕大部分工具,如UML 工具、代碼管控工具、IDE 等,編寫的代碼在微軟所有平臺下均可運行。對于開發(fā)團隊而言,可實現(xiàn)同事間的相互協(xié)作,提高專注度與效率,讓整個開發(fā)過程變得更加簡單。

1.2 系統(tǒng)功能設計

結合3D 相機的特性,對軟件功能進行整體設計。軟件功能主要包括點云數(shù)據(jù)格式轉(zhuǎn)換、點云分割、點云濾波、網(wǎng)格化重建、點云變換、點云選取。具體系統(tǒng)功能如圖1所示。

Fig.1 Function of point cloud system圖1 點云系統(tǒng)功能

該軟件可以直接從3D 相機中獲取實時數(shù)據(jù)(本軟件已集成康耐視、LMI、盛相、Photoneo 等品牌3D 相機的取像SDK),或直接導入電腦中的三維點云數(shù)據(jù),利用QT 中的可視化控件VTK Widget 對點云進行顯示。導入后可通過鍵盤操作實現(xiàn)上下左右前后6 種視圖切換,還可通過拖按鼠標左鍵對點云進行縮放,拖按鼠標右鍵對點云進行旋轉(zhuǎn),拖動鼠標中鍵對點云進行平移。此外,可通過界面左側的菜單設置點云旋轉(zhuǎn)的軸和角度,以及平移的方向和距離。復位按鍵提供給用戶在丟失點云的情況下使用。在實際使用時,由于采集數(shù)據(jù)會存在大量噪點,因此需要先運用濾波算法對點云進行精簡,之后對點云進行分割、重建、匹配等操作,可大大提升算法的準確性。

2 軟件關鍵功能介紹

2.1 點云濾波

該款軟件實現(xiàn)了3 種濾波算法,包括直通濾波、體素柵格濾波和統(tǒng)計濾波算法[12]。各種濾波算法各有優(yōu)缺點,需在處理點云數(shù)據(jù)之前選擇最優(yōu)的濾波算法使點云更加均勻,噪聲更小。

直通濾波可以去除指定方向上指定值域內(nèi)的點云數(shù)據(jù),其原理是遍歷所有點云,并判斷其是否在輸入的值域內(nèi),如果在,則保留該點云,相反則將其刪除。直通濾波器運行速度快、原理簡單,對于去除圖像背景有著很好的效果。

體素柵格濾波的原理是對采集的點云實現(xiàn)降采樣,在有效減少點云數(shù)量的同時,不改變點云原有幾何結構。一般用于稠密點云的預處理,以加快后續(xù)粗配準、精匹配、重建等算法速度。該濾波器的主要思想是建立一個體素立方體,將體素立方體內(nèi)所有點云的重心近似看作體素里的點云,將所有重心點當作濾波完成后的點云,通過設置體素參數(shù)決定點云數(shù)量。該濾波器相比直通濾波器運算速度較慢、效率較低。

統(tǒng)計濾波的主要作用是去除由觀測噪聲產(chǎn)生的離群噪點,這些離群噪點在點云空間中稀疏分布。在估算點云曲率變化率[13]或法向量時,該類噪點會導致估算錯誤,使得后期操作產(chǎn)生較大誤差。該濾波器的思想是假設點云中所有點與其最近k 個鄰近點的平均距離滿足高斯分布,可根據(jù)方差和均值得出一個距離閾值,當某個點與其最近k 個點的平均距離大于該閾值時,認定該點為噪點并刪除。

2.2 點云分割

點云分割的常見算法有平面分割、歐式聚類分割[14]、區(qū)域生長分割[15]與區(qū)域蔓延分割算法等。本軟件系統(tǒng)提供了3 種點云分割算法的接口,分別是區(qū)域生長分割算法、歐式聚類分割算法,以及在平面分割基礎上開發(fā)的立方體分割算法。其中,區(qū)域生長分割算法是通過比較點與點之間的法線,將符合平滑約束的點云合并在一起,最終以點集形式輸出,每個點集被當作同一平面。立方體分割算法是基于VTK 顯示模塊實現(xiàn)的,通過鼠標控制立方體的6 個面進行拉伸、旋轉(zhuǎn)等操作,框選出需要的點云實現(xiàn)分割。如在利用3D 視覺技術引導機器人抓取過程中,該分割算法可分割出需要抓取物體的點云,引導機械手進行抓取。

2.3 三維重建

三維重建的主要方法有貪婪投影三角重建、泊松重建[16]與最小二乘移動重建,本軟件提供了上述3 種方法的接口,可根據(jù)不同情況加以使用。

貪婪投影法使用了生長法中的曲面建模算法,將空間中的點及其鄰域內(nèi)的點投影到切平面上,從而得到三維空間內(nèi)點與點之間的連接關系。該算法首先通過kd-tree[17]建立空間內(nèi)點云與點云之間的索引關系,利用此關系可快速查找出目標點四周點集的索引,之后隨機定義一個初始三角形,通過計算生長邊中點的鄰域獲得該生長邊的投影面,并確定閾值K,將生長邊最鄰近的K 個點投影到該平面上。在平面上選擇投影點與生長邊所構成夾角余弦值最小的點作為最優(yōu)擴展點,并將該點加入到三角網(wǎng)格中組成新的三角形。不斷重復上述步驟,直至形成網(wǎng)格曲面。

在曲面重建中會產(chǎn)生漏洞,表面較為粗糙,此時則需要采用最小二乘移動法,先對點云進行重采樣,設置多項式階數(shù),然后用高階多項式插值法使重建表面更加平滑、完整。

2.4 其他功能

手動選取單個點云功能是通過PCL 提供的選點回調(diào)函數(shù),同時對鼠標事件進行響應,對于選中點通過vector 容器傳回函數(shù)中實現(xiàn)標記,并利用可視化工具VTK 界面進行顯示。

特征點是點云數(shù)據(jù)集中與其它點云特征差異較大的點,只有尋找到具有最有效特征的點才能方便后續(xù)的跟蹤配準,提高軟件處理速度。本軟件可提取點云的NARF(Normal Aligned Radial Feature)關鍵點、SIFT3D(Scale-in?variant feature transform)關鍵點[18]與Harris3D 關鍵點。NARF 關鍵點是為了從深度圖像中識別物體而提出的,SIFT3D、Harris3D 關鍵點是基于經(jīng)典匹配算法SIFT、Harris擴展而來的。

3 實驗驗證與結果分析

本文利用康耐視EA-5000 相機對零件進行數(shù)據(jù)采集,軟件運行環(huán)境為:Window10 Visual Studio 2017 C++,CPU為Inteli5-4800,RAM 為4GB。

3D 相機點云處理軟件系統(tǒng)界面由菜單欄、功能區(qū)和顯示區(qū)組成,最上側是菜單欄,左側是功能選擇區(qū),右側是顯示窗口。其中,左側功能選擇區(qū)有濾波工具、重建工具、分割工具、選點工具、格式轉(zhuǎn)換工具等,界面內(nèi)容如圖2 所示。

3.1 機械零件表面重建實驗

將零件放在載物臺上,3D 相機固定在載物臺上方50cm 處,對機械零件進行取像,得到的三維點云如圖2 所示。由于機械零件放在載物臺上,所以獲取的點云會受到載物臺底面干擾,同時也會受到采樣噪聲的影響。首先使用直通濾波去除零件背景,去除效果如圖3 所示,接著利用體素柵格濾波對點云進行精簡,最后利用貪婪投影三角網(wǎng)格算法對機械零件進行重建,重建效果如圖4 所示。通過圖片可以看出,重建效果與原零件結構基本符合,可以較好地還原出零件結構。但在細節(jié)處理方面較差,需要進一步對算法進行優(yōu)化。

Fig.2 3D camera capturing point cloud圖2 3D 相機獲取點云

Fig.3 Point cloud of mechanical parts after filiter圖3 機械零件濾波后的點云

3.2 傳動軸提取

將幾個軸零件無序地放在載物臺上,3D 相機固定在載物臺上方50cm 處,對軸進行取像。需要獲取其中一個軸的點云,用來實現(xiàn)機械臂對軸的抓取,獲得的點云如圖5所示。可以看到由于采樣誤差,獲取的點云有許多噪點,因此用統(tǒng)計濾波設置閾值,將大于閾值的點作為噪點去除。接著使用立方體分割算法,截取所需軸的點云數(shù)據(jù),截取的點云如圖6 中的紅色部分所示,最后將截取的點云保存成pcd 格式導出。由圖7 可以看出,提取出的點云可以達到要求。

3.3 產(chǎn)品高度測量與點云配準

使用3D 相機采集凸臺數(shù)據(jù),對采集的數(shù)據(jù)進行去噪處理后,擬合出凸臺上表面平面與桌面所在平面,可測量出凸臺高度如圖8 所示。此外,系統(tǒng)還可以進行點云配準,綠色點云是模板,灰色點云是采集到的點云,可看出經(jīng)過點云配準后,兩塊點云完全重合,如圖9 所示。

Fig.4 Reconstruction drawing of mechanical parts圖4 機械零件重建效果

Fig.5 3D camera capturing point cloud圖5 3D 相機獲取點云

Fig.6 Divided axis圖6 立方體分割出的軸

Fig.7 final effect圖7 最終效果

Fig.8 Visual display of measuring product height圖8 測量產(chǎn)品高度可視化顯示

Fig.9 Visual display of point cloud registration圖9 點云配準可視化顯示

4 結語

本文采用可視化界面開發(fā)工具QT 設計了一套點云數(shù)據(jù)處理系統(tǒng)。由于PCL 點云庫在點云處理方面的高效性,配合QT 的界面設計,可同時兼顧軟件的可靠性與界面的美觀性。相比其它軟件,本軟件可實現(xiàn)與相機獨立使用,同時兼容大多數(shù)品牌的3D 相機。在點云數(shù)據(jù)量達到百萬數(shù)量級時,運行速度可得到保證。在功能方面,系統(tǒng)提供的點云濾波、點云分割、點云重建等功能操作簡單,便于使用。該軟件實用性較強,但在大規(guī)模點云數(shù)據(jù)處理過程中運行速度較慢、效率較低,而且在重建模塊中,物體重建的細節(jié)特征不夠準確,需要在未來研究中進一步完善。

猜你喜歡
界面功能系統(tǒng)
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發(fā)方法研究
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關于非首都功能疏解的幾點思考
人機交互界面發(fā)展趨勢研究
手機界面中圖形符號的發(fā)展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
主站蜘蛛池模板: 国产区在线观看视频| 国产精品人成在线播放| 黄色在线不卡| 国产美女自慰在线观看| 亚洲人成高清| 男女性午夜福利网站| 亚洲精品自在线拍| 国产精品成人AⅤ在线一二三四| 国产成人精品第一区二区| 99国产精品免费观看视频| 欧美亚洲中文精品三区| 69av免费视频| 亚洲手机在线| 97视频精品全国免费观看| 国产自在线播放| 成人福利免费在线观看| a亚洲视频| 久久夜色精品国产嚕嚕亚洲av| 91偷拍一区| 9久久伊人精品综合| 久久精品中文字幕少妇| 91精品在线视频观看| 日本尹人综合香蕉在线观看| 精品久久国产综合精麻豆 | 国产在线八区| 77777亚洲午夜久久多人| 精品国产91爱| 日韩精品专区免费无码aⅴ| 成人午夜免费观看| 成年人视频一区二区| 色婷婷国产精品视频| av在线手机播放| 在线观看无码av免费不卡网站| www中文字幕在线观看| 成人av手机在线观看| 国产极品美女在线观看| 97久久免费视频| 激情国产精品一区| 嫩草影院在线观看精品视频| 国产aaaaa一级毛片| 青青青国产视频| 精品一区二区三区波多野结衣 | 精品成人一区二区三区电影 | 日本AⅤ精品一区二区三区日| 日本国产精品一区久久久| 欧美日韩在线成人| 国产午夜无码片在线观看网站| 国产理论最新国产精品视频| 一级全免费视频播放| 97无码免费人妻超级碰碰碰| 国产凹凸一区在线观看视频| 国产在线八区| 国产女人18毛片水真多1| 热99精品视频| 青青网在线国产| 青青青视频91在线 | 91精品国产丝袜| 久久99国产乱子伦精品免| 国产成人久久777777| 成人国产精品网站在线看 | 欧美午夜理伦三级在线观看| 国产真实二区一区在线亚洲| 婷婷色在线视频| 久久精品嫩草研究院| 国产一二视频| 国产真实乱人视频| 久久青青草原亚洲av无码| 精品精品国产高清A毛片| 香蕉综合在线视频91| 久久久久夜色精品波多野结衣| 欧美a级在线| 亚洲美女AV免费一区| 国产无码网站在线观看| 欧美一区精品| AV熟女乱| 欧美色图久久| 欧美a级在线| 日韩精品无码一级毛片免费| 91原创视频在线| 超碰精品无码一区二区| 久久久久久久蜜桃| 日本三级黄在线观看|