编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

单例(One-Shot) | 仅需一张查询样本,即可实现新类别的目标检测

wxchong 2024-07-02 03:08:04 开源技术 10 ℃ 0 评论

Prometheus单例(One-Shot)目标检测

现代检测器依赖大量标注数据训练,目前已有人脸、行人、车辆等类别的大型数据集,但对于一些新类别、新样本,难以构建大型数据。单例检测可不需要对新类别、新样本进行额外训练,仅需要一张查询样本(query patch),就可以进行新类别的目标检测。

具体结果见视频:

https://www.bilibili.com/video/BV1ku411D7de?spm_id_from=333.999.0.0

后面将分别介绍2种运行模式,1:独立运行,2:依托Prometheus运行

1 独立运行

1.1 下载代码、安装依赖

# 注意:首先确认是否安装好了cuda和pytorch
git clone https://gitee.com/jario-jin/One-Shot-Object-Detection.git
cd One-Shot-Object-Detection
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
cd lib
sudo python3 setup.py build develop
cd ..

1.2 下载预训练模型

bash prepare_models.sh

1.2 定制自己的单例图像,运行单例检测

  • 将需要检测的单例图像替换
  • One-Shot-Object-Detection/images/query.jpg
  • (可选)修改test_custom.py,447行cam_id = 0,
  • (根据自己的摄像头id填写)
  • 运行:
python3 test_custom.py

2 配合Prometheus运行

在命令行中执行如下代码:

cd <path-to-Prometheus>
bash compile_detection.sh
# 需保证编译不报错
bash Scripts/install_detection_one_shot.sh
# 等待下载、编译完成
cd Modules/object_detection_oneshot/
python3 test_custom_ros.py
# 稍等2秒,Ctrl+Alt+T打开一个新的命令行界面
source <path-to-Prometheus>/devel/setup.bash
roslaunch prometheus_detection oneshot_det.launch
# 检测结果参考话题 prometheus_msgs.msg 中的 DetectionInfo, MultiDetectionInfo

阿木实验室致力于为机器人研发提供开源软硬件工具和课程服务,让研发更高效!

- End -

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表