基于RAM实现万物检测,可以高精度地识别任何常见类别,当与定位模型(Grounded-SAM)结合使用时,RAM形成了一个强大的通用视觉语义分析管道。 优势总结如下:
- 具有出色的图像标记功能,具有强大的零样本泛化功能;
- 开源;
- 具有显著的灵活性,可满足各种应用场景的需求。
- 拉取代码仓库,
git clone https://github.com/ZillaRU/AnnoAnything.git
,并cd AnnoAnything
进入项目根目录。 - 安装依赖库,
pip3 install -r requirements.txt
- 替换tpu_perf安装目录下的infer.py文件, 默认安装在
/home/$USER/.local/lib/python3.*/site-packages/tpu_perf/
, 请根据具体环境确定路径。若用了virtualenv,则被换掉的文件不是该路径,可cp ./replace-this-file/infer.py /home/linaro/.local/lib/python3.8/site-packages/tpu_perf/
python3 -c "import tpu_perf; print(tpu_perf.__file__)"
查看。 - 下载bmodel,并解压(
unzip annoanything-bmodel.zip
)放在该项目根目录的bmodel
文件夹。- sftp下载:
pip3 install dfss --upgrade python3 -m dfss [email protected]:/aigc/annoanything-bmodel.zip
- 或 Google drive
- sftp下载:
- 运行demo,
python3 app.py
。等待模型加载完毕,终端会提示端口号,通过浏览器用本机ip:端口号
即可访问。
此为应用跑在服务器上测试的耗时数据,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 |