当前位置: 首页 > news >正文

2021年CVPR文章【Polygonal Building Segmentation by Frame Field Learning】环境搭建

前言

论文名称: Polygonal Building Segmentation by Frame Field Learning
论文主要是聚焦在遥感影像建筑物边缘处理,设计并实现了图像->建筑物分类+边缘分类->矢量建筑物边缘生成,这个过程。网上已经有了不少对该论文的解读,因此本文不再赘述。
本文主要是发现按照官方教程不一定能成功搭建环境,因此本文给出本人一次性环境搭建成功的教程。
论文地址
官方Github代码地址

环境搭建教程

本人台式机是Ubuntu24.04,但是发现官方教程中需要使用ubuntu22.04,因此本人采用docker来搭建环境了。所以你首先要去配置nvidia docker基础环境,然后再按照本教程执行。

# pull nvidia-docker with ubuntu22.04 and cuda 11.7
docker pull nvidia/cuda:11.7.1-runtime-ubuntu22.04# run image
sudo docker run -it --gpus all --ipc=host --network=host --name polygon_env -v /home/ubuntu/xxx/Polygonization-by-Frame-Field-Learning:/home/ubuntu/Polygonization-by-Frame-Field-Learning  0991c2cfa364 bashsudo docker start polygonal
sudo docker attach poltgonal# setup nvidia driver path
vim ~/.bashrc# add
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=/usr/local/cudasource ~/.bashrcapt update
apt install -y cuda-tookit-11-7# download and setup the cudnn
tar --xz -xvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz
cd cudnn-linux-x86_64-8.9.7.29_cuda11-archive
cp include/cudnn.h /usr/local/cuda/include
cp lib/libcudnn* /usr/local/cuda/lib64
chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*# miniconda
apt update
apt install -y wget bzip2 ca-certificates curl git
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
bash ~/miniconda.sh# create conda env
conda create -n polygon_new python=3.9 -y
conda activate polygon_newpip install numpy==1.19.5
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 -f https://download.pytorch.org/whl/torch_stable.htmlgit clone https://github.com/Lydorn/Polygonization-by-Frame-Field-Learning.git
cd Polygonization-by-Frame-Field-Learning
git submodule update --init --recursive --jobs 8cd lydorn_utils
pip install .cd ../pytorch_lydorn
pip install .cd ..
apt update
sh setup.sh# modify the requirements.txt, please see the modified content below
vim requirements.txt# install dependicies
conda install -c conda-forge gdal=3.3.3 numpy=1.19.5
pip install -r requirements.txt

新的requirements.txt内容是

numpy==1.19.5
descartes
fiona<=1.8.21
geojson
jsmin
kornia<=0.6.7
lydorn_utils
matplotlib<=3.5.3
multiprocess
opencv-python<=4.5.5.64
overpy
pycocotools
pyproj<=3.3.1
rasterio<=1.2.10
scikit-image<=0.19.3
scikit-learn<=1.1.3
shapely<=1.8.5
skan<=0.11.1
tensorboard
torch==1.13.1+cu117
torch_lydorn
torch_scatter
torchvision==0.14.1+cu117
tqdm

建筑物提取结果

使用模型: inria_dataset_polygonized.unet_resnet101_pretrained.leaderboard
测试数据: 来自Google Maps 截图

在这里插入图片描述

Figure 1: Inference Result of the poly_viz.simple.tol_0.125
http://www.xdnf.cn/news/325855.html

相关文章:

  • 《Python星球日记》 第47天:聚类与KMeans
  • Kotlin zip 函数的作用和使用场景
  • 镜像和容器的管理
  • Qwen2.5模型结构
  • QT编程练习20250507
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】7.1 主流可视化工具对比(Tableau/Matplotlib/Python库)
  • FreeCAD傻瓜教程-涡轮蜗杆的快速绘制FCGear工作台的使用方法
  • 算法专题四:前缀和
  • 【北京迅为】iTOP-4412精英版使用手册-第八章 Android 4.4系统编译
  • neo4j多跳查询,未只获取到收尾两个节点,待继续
  • 智能运维实战|数据库卡慢处置的一次关键事件
  • 尚硅谷-硅谷甄选项目记录
  • Facebook隐私设置详解:如何保护你的个人信息
  • 【漫话机器学习系列】245.权重衰减(Weight Decay)
  • SR触发器为什么能够消抖
  • Vue 项目中长按保存图片功能实现指南
  • AI大模型基础设施:NVIDIA GPU和AMD MI300系列的区别
  • android 记录应用内存
  • Scaffold-DbContext详解
  • 如何减少锁竞争并细化锁粒度以提高 Rust 多线程程序的性能?
  • 2025FIC初赛(手机)
  • JAVA中ArrayList的解析
  • Scala语法
  • 【Axure视频教程】中继器表格——未选、半选和全选
  • 代码随想录算法训练营第五十八天| 图论4—卡码网110. 字符串接龙,105. 有向图的完全联通
  • C# WPF 颜色拾取器
  • MySQL OCP 认证限时免费活动​ 7 月 31 日 前截止!!!
  • 多规格直线运动转换至非线性直线的转换方法
  • 【C++进阶】第1课—继承
  • C#管道通讯及传输信息丢失的原因