NanoDet是一个基于ShuffleNetV2的轻量级的目标检测模型,配合ncnn框架加速后,在中端Android机型能做到20fps+
1 安装环境
为了避免冲突,需要安装好conda,Python 3.8+
安装依赖包
git clone https://github.com/RangiLyu/nanodet.git cd nanodet pip install -r requirements.txta
安装代码
python setup.py develop
2 下载模型权重
这里选择的是“NanoDet-Plus-m-320 (NEW)”,可以在github下载pth和weight,下载后放到同一个目录下,例如:
nanodet-plus-m_320_checkpoint.ckpt nanodet-plus-m_320.pth
3 修改代码
demo/demo.py,修改为cpu推理(如果你没有GPU)
#predictor = Predictor(cfg, args.model, logger, device="cuda:0") predictor = Predictor(cfg, args.model, logger, device="cpu")
nanodet/data/collate.py
# 删除掉 # from torch._six import string_classes # 修改 #elif isinstance(elem, string_classes): elif isinstance(elem, str):
3 预测
图片
python demo/demo.py image --config ./config/nanodet-plus-m_320.yml --model ./nanodet-plus-m_320/nanodet-plus-m_320.pth --path ./tests/data/test_img.jpg
会弹出一个框,按ESC退出
视频
python demo/demo.py video --config ./config/nanodet-plus-m_320.yml --model ./nanodet-plus-m_320/nanodet-plus-m_320.pth --path ~/1.mp4
所有生成的检测结果会保存在workspcae下,后续可以查看回顾