Nothing Special   »   [go: up one dir, main page]

Skip to content

万物检测(零样本检测+识别) demo for SG2300X 【Recognize Anything + GroundingDINO】

Notifications You must be signed in to change notification settings

ZillaRU/AnnoAnything

Repository files navigation

万物检测 on SG2300X

功能描述

基于RAM实现万物检测,可以高精度地识别任何常见类别,当与定位模型(Grounded-SAM)结合使用时,RAM形成了一个强大的通用视觉语义分析管道。 优势总结如下:

  • 具有出色的图像标记功能,具有强大的零样本泛化功能;
  • 开源;
  • 具有显著的灵活性,可满足各种应用场景的需求。

安装

  1. 拉取代码仓库,git clone https://github.com/ZillaRU/AnnoAnything.git,并cd AnnoAnything进入项目根目录。
  2. 安装依赖库,pip3 install -r requirements.txt
  3. 替换tpu_perf安装目录下的infer.py文件, 默认安装在/home/$USER/.local/lib/python3.*/site-packages/tpu_perf/, 请根据具体环境确定路径。
    cp ./replace-this-file/infer.py /home/linaro/.local/lib/python3.8/site-packages/tpu_perf/ 
    若用了virtualenv,则被换掉的文件不是该路径,可python3 -c "import tpu_perf; print(tpu_perf.__file__)"查看。
  4. 下载bmodel,并解压(unzip annoanything-bmodel.zip)放在该项目根目录的bmodel文件夹。
    • sftp下载:
      pip3 install dfss --upgrade
      python3 -m dfss --url=open@sophgo.com:/aigc/annoanything-bmodel.zip
    • Google drive
  5. 运行demo,python3 app.py。等待模型加载完毕,终端会提示端口号,通过浏览器用本机ip:端口号即可访问。
    • 示例:检测图中所有物体,输出tag并标出位置 示例:输出tag并标出位置
    • 示例:描述需要检测的物体,并检测 示例:输出tag并标出位置

耗时分析

此为应用跑在服务器上测试的耗时数据,cpu耗时相比airbox可能偏短。未计入网络延迟。

操作 耗时(秒) 备注
RAM image preprocess【CPU】 0.304 可优化。当前是cpu运算,后续可用tpu。
RAM Swin-Base【TPU,FP16】 0.142 可做量化加速。
RAM tagging_head【TPU,FP16】 0.026
detect_tags()整体 0.458
GroundingDINO image preprocess【CPU】 0.289 可优化。当前是cpu运算,后续可用tpu。
GroundingDINO【TPU,FP16】 0.528 可做量化加速。
PostProcess【CPU,包括在图上画框】 0.228 可优化。当前是cpu运算,后续可用tpu。
get_bbox()整体 1.096

About

万物检测(零样本检测+识别) demo for SG2300X 【Recognize Anything + GroundingDINO】

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages