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 截图