本發明涉及一種對點云數據進行編輯和處理的方法,尤其涉及一種數字孿生點云編輯異步更新方法,屬于物聯網。
背景技術:
1、在數字孿生技術應用系統中,點云數據編輯服務的常規流程如下:
2、首先,導入點云數據,該點云數據可以是通過3d掃描儀獲取的實際場景數據,也可以是通過計算機生成的虛擬場景數據。
3、其次,對導入的點云數據進行預處理和配準,生成原始的三維模型。其中,預處理包括噪聲過濾、異常點去除、數據降采樣等,以提高數據質量。配準則是將多個視角或不同時間采集到的點云數據對齊到同一坐標系下,確保后續處理的一致性?。
4、接著,對原始的三維模型進行編輯操作,采用的基本編輯包括點的增加、刪除、移動、旋轉、縮放等,以實現對三維模型的修改和調整;并采用特定編輯對初步的三維模型做進一步處理,如添加行駛區域、推薦路徑、限速區域、圍欄、標注等,以實現優化和增強點云的信息。
5、最后,將編輯后的三維模型保存為特定的文件格式,以便后續使用或導出到其他軟件或設備中。
6、但是,上述點云數據編輯服務過程的計算時間過長,無法滿足數字孿生模型的快速計算與實時更新,具體技術缺陷如下:a、操作門檻高:由于需要具備專業知識和技能的人員進行編輯操作,導致操作門檻高,難以推廣使用;b、編輯結果不理想:由于編輯過程中的誤操作或者工具限制,導致編輯結果的準確性不足;c、數據維護困難:由于需要將編輯結果保存在相應的數據庫或文件中,當數據發生變動時,需要重新發布編輯工具或者更新數據庫,導致模型更新困難,且工作量大。
7、因此,本發明亟待研發設計一種對點云數據進行編輯和更新的新方法。
技術實現思路
1、針對上述現存的技術問題,本發明提一種數字孿生點云編輯異步更新方法,目的在于降低操作門檻,提高編輯結果的準確性,以及簡化數據維護的工作量。
2、為實現上述技術目的,本發明提供一種數字孿生點云編輯異步更新方法,利用主要由建圖設備、ddt的前端和后端、minio、機器人組成的數字孿生系統,包括如下步驟:
3、通過建圖設備采集場景中的點云數據,并將其上傳至minio;
4、后端根據點云數據的特性和建圖需求,依次為各個建圖階段選擇合適的點云處理算法,并生成相應的建圖任務;所有建圖任務按序進入任務隊列中,并從任務隊列中按序出隊進行建圖處理,從而生成三維模型的圖元,并將其上傳至minio,作為圖元文件;
5、通過前端界面選擇需要編輯的點云數據,并對其進行編輯操作,從而生成新的點云數據;前端定期將編輯操作發送至后端,后端接收編輯操作后,若判斷其會影響圖元,則生成相應的變更記錄,否則直接更新場景案例數據庫;
6、后端定時讀取變更記錄,一旦發現尚未應用到點云數據的編輯操作,就根據變更記錄調用合適的點云處理算法,對相關的點云數據進行編輯操作和圖元分割,從而生成新的圖元,并將其上傳至minio,更新圖元文件。
7、本發明方法進一步的,所述點云處理算法包括:點云數據預處理算法、點云數據配準算法、點云數據三維重建算法、點云數據圖元分割算法、點云數據后處理算法。
8、本發明方法進一步的,所述從任務隊列中按序出隊進行建圖處理,包括:
9、對于當前出隊的建圖任務,啟動相應的算法容器,從minio下載相應的點云數據,并將其導入至算法容器中;開始點云處理算法的運算,同時監控算法容器的運行狀態和結果;一旦點云處理算法完成運算并生成了結果,就將結果上傳至minio;
10、隨后處理返回值和最終狀態,更新前端顯示的后端狀態,并關閉相應的算法容器,更新任務隊列;
11、下一個出隊的建圖任務重復以上步驟,直至任務隊列中沒有待處理的建圖任務為止。
12、本發明方法更進一步的,所述根據點云處理算法啟動相應的算法容器,包括:
13、根據選擇的點云處理算法,在k8s中啟動相應的算法容器;
14、隨后對算法容器的啟動狀態進行判斷:
15、如果啟動成功,則后端狀態為建圖中,并更新前端顯示的后端狀態;
16、如果啟動失敗,則處理返回值和最終狀態,并更新前端顯示的后端狀態。
17、本發明方法更進一步的,所述開設點云處理算法的運算后,還包括:
18、后端啟動websocket服務;
19、通過前端查看后端狀態,若后端狀態為建圖中,則前端發起websocket連接,并通過k8s暴露的端口區間與websocket服務進行數據傳輸。
20、本發明方法進一步的,所述通過前端界面選擇需要編輯的點云數據,并對其進行編輯操作,包括:
21、通過前端界面選擇需要編輯的點云數據;
22、前端通過后端從minio下載相應的點云數據,對其進行編輯操作,并將編輯操作實時反映在點云數據上。
23、本發明方法更進一步的,所述編輯操作包括:基本編輯和特定編輯;
24、所述基本編輯包括點的增加、刪除、移動、旋轉、縮放;
25、所述特定編輯包括添加行駛區域、推薦路徑、限速區域、圍欄、標注。
26、本發明方法進一步的,所述變更記錄包括被編輯的點云數據的id,編輯操作的類型,以及相應的參數。
27、本發明方法更進一步的,所述根據變更記錄調用合適的點云處理算法,對相應的點云數據進行編輯操作和圖元分割,從而生成新的圖元,包括:
28、后端從minio下載相應的點云數據,并根據變更記錄調用合適的點云處理算法,啟動相應的算法容器,將點云數據導入至算法容器中;開始點云處理算法的運算,同時監控算法容器的運行狀態和結果;運算完成后,生成編輯后的點云數據,并關閉相應的算法容器;
29、調用點云數據分割算法,啟動相應的算法容器,將編輯后的點云數據導入至算法容器中;開始點云數據分割算法的運算,同時監控算法容器的運行狀態和結果;運算完成后,生成新的圖元,并關閉相應的算法容器。
30、本發明方法進一步的,所述更新圖元文件后,還包括:
31、后端通知前端用戶刷新已應用到點云數據的編輯操作;
32、一旦前端用戶刷新,就能查詢到更新后的圖元,以及未應用到點云數據的編輯操作對應的變更記錄,并加載和渲染最新的圖元。
33、綜上,本發明的創新之處在于將點云數據的編輯操作與點云處理算法進行解耦,并通過動態綁定的方式實現自由組合,使得編輯操作和點云處理算法的運行可以分開進行,從而提高了編輯的靈活性和效率,解決了數字孿生模型更新困難的問題,并降低了操作門檻,提高了編輯結果的準確性,簡化了數據維護的工作。
34、與常規的點云數據編輯服務相比,本發明具有如下技術優勢:
35、1、本發明將點云數據與點云處理算法進行分離,使得編輯結果與原始點云數據相互獨立,數據變動時只需要更新點云處理算法,即可實現數字孿生三維模型的異步更新,使得數字孿生三維模型的更新變得簡單容易,大大簡化了數據維護的工作。
36、2、本發明實現了對點云數據的多次編輯和重復使用,避免了重復制作點云處理算法的工作,使得維護工作變得簡單容易,大大減少了了開發人員的工作量。
37、3、本發明通過提供高效、準確的點云處理算法和工具,得到了更理想的編輯結果,提高了編輯結果的準確性,同時通過提供簡化編輯操作的方法和工具,降低了操作門檻,使得非專業人員也能夠輕松進行點云數據編輯和更新。