**A Normalized Gaussian Wasserstein Distance for Tiny Object Detection(NWD)安装配置指南**
2026-01-21 04:22:36作者:申梦珏Efrain
项目基础介绍
NWD是基于PyTorch实现的一个开源项目,旨在提供一种名为“规范化高斯Wasserstein距离”的方法,专门用于微型物体检测。该技术被发表在《ISPRS Journal of Photogrammetry and Remote Sensing》上,适用于处理空中图像中的微小目标。项目采用Python为主要编程语言,并依赖于一系列库如PyTorch、mmcv等来支持其功能。
关键技术与框架
- PyTorch: 深度学习框架,负责模型的构建与训练。
- MMCV: 一个面向计算机视觉任务的扩展库,特别是为MMDetection设计。
- MMDetection: 高度可扩展的对象检测库,提供了多种检测算法的支持。
- COCOAPI-AITOD: 专门为AI-TOD数据集的评估而定制的COCO API版本。
- Normalized Gaussian Wasserstein Distance (NWD): 核心算法,优化了对小型目标的检测性能。
安装与配置指南
环境准备
- 系统要求:建议使用Ubuntu 16.04或更高版本。
- 软件需求:
- Python 3.7+
- PyTorch 1.5及以上(推荐含CUDA 10.1版本)
- CUDA 10.1
- cuDNN与NCCL 2相应版本
- gcc/g++ 5.4 或更高
安装步骤
Step 1: 创建并激活虚拟环境
打开终端,执行以下命令以创建一个新的conda虚拟环境:
conda create -n nwd python=3.7 -y
conda activate nwd
Step 2: 安装PyTorch与 torchvision
确保安装对应CUDA版本的PyTorch和torchvision:
pip install torch==1.5.0+cu101 torchvision==0.6.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
Step 3: 安装MMCV-NWD
从GitHub克隆并安装特定版本的mmcv-nwd:
git clone https://github.com/jwwangchn/mmcv-nwd.git
cd mmcv-nwd
MMCV_WITH_OPS=1 pip install -e .
cd ..
Step 4: 安装COCOAPI-AITOD
用于AI-TOD数据集的评估:
pip install "git+https://github.com/jwwangchn/cocoapi-aitod.git#subdirectory=aitodpycocotools"
Step 5: 获取NWD项目源码
git clone https://github.com/jwwangchn/NWD.git
cd NWD
Step 6: 安装依赖与项目设置
首先安装项目所需的其他库,然后进行本地开发环境的搭建:
pip install -r requirements.txt
python setup.py develop
数据集准备
参照AI-TOD的指示下载并准备AI-TOD数据集,并将其根目录链接到$NWD/data/AI-TOD中。
开始您的实验
-
查阅配置文件夹
configs/nwd下的相关配置,这些是针对不同模型与任务的预设配置。 -
单GPU训练示例:
python tools/train.py configs/nwd/faster_rcnn_r50_aitod_rpn_nwd.py -
多GPU分布式训练:
sh tools/dist_train.sh configs/nwd/faster_rcnn_r50_aitod_rpn_nwd.py 4
遵循以上步骤后,您便成功配置并可以开始利用NWD进行微型物体检测的研究和实验了。记得根据具体情况进行适当路径调整和配置修改。祝您的研究顺利!
通过上述详细步骤,即便是初学者也能顺利完成项目的搭建和运行准备工作。如果在安装过程中遇到任何问题,查阅项目GitHub页面上的文档或提交issue获取帮助是很好的解决方式。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0172
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook097
Step-3.7-FlashStep-3.7-Flash是一个拥有 1980 亿参数的稀疏混合专家(MoE)视觉语言模型,由 1960 亿参数的语言主干网络和 18 亿参数的视觉编码器组合而成,具备原生图像理解能力。Python00
BitCPM-CANN-8BBitCPM-CANN 是首个基于华为昇腾 NPU 原生构建的端到端 1.58 位(三值化)大语言模型训练系统。该系统将量化感知训练(QAT)集成到 Megatron-LM 框架中,并结合 MindSpeed 加速,覆盖了从自定义三值算子到基于昇腾 910B 的分布式并行训练的完整训练栈。Python00
MiniCPM5-1BMiniCPM5-1B,这是 MiniCPM5 系列的首款模型。它是一个专为端侧、本地部署和资源受限场景打造的 10 亿参数密集型 Transformer 模型,达到了 10 亿参数级开源模型的 SOTA 水平Jinja00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0239
项目优选
收起
deepin linux kernel
C
32
16
暂无描述
Dockerfile
750
4.87 K
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
1.58 K
172
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
841
1.84 K
Ascend Extension for PyTorch
Python
689
834
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
229
97
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
451
418
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.02 K
1.04 K
暂无简介
Dart
999
259
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
642
1.27 K