NanoDet与YOLO一样,都是目标检测算法中的经典之作,在NanoDet-plus发布之后,很多CVer都争先恐后地进行尝试,感受其与NanoDet的不同。以上的截图已经将NanoDet-plus的优点完全概括,这里就不再赘述。新的plus版本精度和速度都有提高(与其他轻量级模型如YOLOv5-n、YOLOX-Nano等相比)(1ms的延时换来了30%精度的提升),较为简单的训练辅助模块和易于部署的模型也得到了广大CVer的好评,不多说,我们开始尝试一下吧。下图是NanoDet-plus与其他目标检测算法的对比(来源是Github的NanoDet仓库)。
一、软硬件配置
1、软件:Windows 10专业版、Visual Studio 2019(安装CUDA时需要)、CUDA11.1、Pytorch1.8.1、Pycharm专业版、Python3.9.7。CUDA安装教程连接:目标检测第3步:如何在Windows 10系统下安装CUDA(更新时间2022.03.22)_liO_Oil的博客-CSDN博客_cuda windows
2、硬件:主要是显卡要求,N卡2060。CPU、内存等没有具体要求。
二、下载源代码
Nanodet-plus源码下载地址:GitHub - RangiLyu/nanodet at v1.0.0-alpha-1 这里使用的是最新的V1.0.0-alpha-1版本。
三、解压并创建虚拟环境
1、解压源码压缩包并使用Pycharm创建对应的虚拟环境。
上图中创建的虚拟环境已有基础的依赖项,接下来我们使用pip命令安装其他依赖。
2、使用“pip install -r requirements.txt”安装其他依赖项。
打开Pycharm终端,路径前显示(venv)表明我们已进入先前创建好的虚拟环境,如果你的显示和图片中显示的不一致,那么请看这篇博文:如何设置Pycharm在打开Terminal终端时,自动进入虚拟环境?_liO_Oil的博客-CSDN博客_pycharm terminal 进入虚拟环境
接着输入pip命令:
pip install -r requirements.txt
如果觉得较慢,可以指定软件源为清华源进行下载,命令为:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
以上的命令默认安装最新的Pytorch(CPU版),所以我们需要进行更换,换为能使用显卡且与CUDA版本相契合的Pytorch(GPU版)。Pytorch的下载地址为:PyTorch 这里我使用的是1.8.1,所以需要到先前的版本里找,下载命令为:
pip install torch==1.8.1+cu111 torchvision==0.9.1+cu111 torchaudio==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html
安装完Pytorch1.8.1的小伙伴可能会在结尾看到红色的报错,说是pytorch-lighting要求更高版本的Pytorch,这时你可以将pytorch-lighting的版本降为1.6.0的就可以了。
3、最后一步!!!
使用命令行,运行setup.py即可完成nanodet-plus的搭建。
python setup.py develop
四、运行naodet-plus检测图片
推理图片,自然需要权重文件,下载地址还是GitHub - RangiLyu/nanodet at v1.0.0-alpha-1
我下载的是红框圈中的权重文件,你们可试试其他的。其中的weight是推理时用到的权重文件,训练时会用到checkpoint文件,可以一起下载下来。下载好权重文件之后,在nanodet-1.0.0-alpha-1的目录下创建一个名为“weights”文件夹来存储权重文件。接下来进行图片的推理,我将YOLOv5的bus.jpg作为测试图片,复制到nanodet-1.0.0-alpha-1目录下,如下图所示。
在Pycharm里打开终端,输入如下命令进行推理:
python demo/demo.py image --config ./config/nanodet-plus-m-1.5x_416.yml --model weights/nanodet-plus-m-1.5x_416.pth --path bus.jpg
推理图片、视频或开启摄像头推理的命令行,大家自行修改和尝试。
注意:.yml是NanoDet-plus的配置文件,.pth是权重文件,这两个文件要一一对应哦!!!下面就是检测出的结果:
五、结语
最近Windows 11在逐步覆盖,我个人认为此款操作系统可能不如Windows 10稳定,与众多软件的兼容性较差,所以还是安装稳定的Windows 10好,除此以外,像Pytorch、CUDA、Python等,也是装较为稳定的好,没必要更新到最新版。如果在搭建环境过程中遇到难以解决的问题,欢迎大家在评论区留言,或私信我。