Rhino(Grasshopper)+PaddleX快速建模
生活随笔
收集整理的這篇文章主要介紹了
Rhino(Grasshopper)+PaddleX快速建模
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
模型訓(xùn)練
- 首先需要訓(xùn)練一個遙感建筑提取的模型,數(shù)據(jù)集采用的武漢大學(xué)的衛(wèi)星數(shù)據(jù)集Satellite dataset I (global cities)
- 清洗數(shù)據(jù)為需要的格式和數(shù)據(jù)類型
- PaddleX是PaddlePaddle全流程開發(fā)工具,包含的PaddleCV覆蓋CV領(lǐng)域圖像分類、目標(biāo)檢測、語義分割、實(shí)例分割四大主流任務(wù)場景。其中PaddleSeg是基于PaddlePaddle開發(fā)的端到端圖像分割開發(fā)套件,覆蓋了DeepLabv3+, U-Net, ICNet, PSPNet, HRNet, Fast-SCNN等主流分割網(wǎng)絡(luò)。通過模塊化的設(shè)計(jì),以配置化方式驅(qū)動模型組合,幫助開發(fā)者更便捷地完成從訓(xùn)練到部署的全流程圖像分割應(yīng)用。在百度的AI Studio平臺,使用全流程工具PaddleX,訓(xùn)練一個建筑提取的模型。使用deeplabv3+訓(xùn)練大概500輪,保存模型,精度如下
- 將預(yù)測模型導(dǎo)出在本地文件夾
- 本地測試的結(jié)果如下
- 對結(jié)果進(jìn)行開閉運(yùn)算,去掉小的毛刺和填補(bǔ)小的孔洞,再將結(jié)果轉(zhuǎn)換為二值圖像。使用opencv-python中的findContours方法來尋找邊界,尋找到的邊界由坐標(biāo)構(gòu)成,再對邊界進(jìn)行面積和周長的統(tǒng)計(jì)。使用contourArea和arcLength方法計(jì)算面積周長,保存在字典中
- 基于上面得到的面積周長和實(shí)際建筑的高度,利用回歸得到一個高度預(yù)測模型,用于預(yù)測建筑拉伸的高度
grasshopper電池構(gòu)建
- Grasshopper(簡稱GH)是一款可視化編程語言,它基于Rhino平臺運(yùn)行,是數(shù)據(jù)化設(shè)計(jì)方向的主流軟件之一,同時與交互設(shè)計(jì)也有重疊的區(qū)域。與傳統(tǒng)設(shè)計(jì)方法相比,GH的最大的特點(diǎn)有兩個:一是可以通過輸入指令,使計(jì)算機(jī)根據(jù)擬定的算法自動生成結(jié)果,算法結(jié)果不限于模型,視頻流媒體以及可視化方案。二是通過編寫算法程序,機(jī)械性的重復(fù)操作及大量具有邏輯的演化過程可被計(jì)算機(jī)的循環(huán)運(yùn)算取代,方案調(diào)整也可通過參數(shù)的修改直接得到修改結(jié)果,這些方式可以有效的提升設(shè)計(jì)人員的工作效率
- 注意
- 連接電池,常規(guī)操作用自帶的ipython,而本地裝上opencv和paddle使用ghcpython編寫電池,此時只需要在遙感圖像電池中輸入圖像的地址,在模型路徑電池寫上對應(yīng)的路徑,就可以在秒時間內(nèi)得到建筑的快速白模
- 電池和模型放在AI Studio的項(xiàng)目中了(CSDN的積分下載太坑了)
待改進(jìn)問題
- 由于各國各地的建筑風(fēng)格不統(tǒng)一,且Satellite dataset I (global cities)數(shù)據(jù)集數(shù)據(jù)量較少,分割的效果一般
- 建筑高度信息數(shù)據(jù)過少過集中,且使用的因子較少,所以導(dǎo)致模型高度的預(yù)測準(zhǔn)確性較差
- 建筑輪廓過于不規(guī)則,可以使用一些方法進(jìn)行調(diào)整
總結(jié)
以上是生活随笔為你收集整理的Rhino(Grasshopper)+PaddleX快速建模的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第九十二期:多少程序员注意到了「中台」的
- 下一篇: 第六十八期:做中台找死,不做中台等死?