paddleclas pp-shitu v1/v2

news2024/10/1 7:32:19

null集开放数据、开源算法、免费算力三位一体,为开发者提供高效学习和开发环境、高价值高奖金竞赛项目,支撑高校老师轻松实现AI教学,并助力开发者学习交流,加速落地AI业务场景https://aistudio.baidu.com/aistudio/projectdetail/5714362?contributionType=1

https://github.com/yingeo/yingeo-aiicon-default.png?t=N4P3https://github.com/yingeo/yingeo-ai有商业化公司做落地,做的是收银台视觉识别的项目,初次之外,视觉类的识别项目还是不少的,比如元气森林的柜子很多也是纯视觉的方案,纯视觉方案这块,如果是类似yolo系列的检测这个问题还是挺大的,更新类目不方便,不好处理badcase,在这一块,还是检索方案最优。 

全流程:先主体检测+特征提取+faiss检索

predict_system.py

deploy/python/predict_system.py->
SystemPredictor()->
rec_predictor=predict_rec/RecPredictor->
det_predictor=predict_det/DetPredictor->
searcher=faiss.read_index()->

output=system_predictor.predict(img)->picodet
results=det_predictor.predict(img)->
xmin,ymin,xmax,ymax=results['bbox']->
crop_img=img[ymin:ymax,xmin:xmax,:]->
rec_results=rec_predictor.predict(crop_img)->PPLCNetV2
- predictor.run() ->
- feas_norm=np.sqrt(np.sum(np.square(batch_output),axis=1,keepdims=True))->1x512
scores,doc=searcher.search(rec_results,return_k)->
output=self.nms_to_rec_results()

faiss:

向量检索技术在图像识别、图像检索中应用比较广泛,其主要目的是,对于给定的查询向量,在已经建立好的向量库中,与库中所有待查向量进行特征向量的相似度或者距离计算,得到相似度排序。

paddleclas中支持HNSW32、IVF、FLAT三种算法算法,HNSW32是默认的,在检索精度和速度中较好的平衡,图索引方法,只支持添加图像,不支持删除图像特征,基于图的向量检索算法在向量检索的评测中性能是较好的,很多分布式检索都是HNSW32。IVF倒排索引,速度快,精度略低。FLAT暴力检索,精度最高,速度慢。

build_gallery.py

GalleryBuilder(config)->
rec_predict=RecPredictor(config)->
build()->
gallery_images,gallery_docs=split_datafile(config['data_file'],config['image_root'],config['delimiter'])->data_file:构建特征库所需要的标注图像的数据列表,每一行的格式:relative_path,labl;image_root:构建特征库所需要的标注图像所存储的文件夹的位置;delimiter:data_file中每一行的间隔符->
gallery_features=_extract_features(gallery_images,config)->987x512
- batch_img:32
- rec_feat=rec_predictor.predict(batch_img)->
- gallery_features[i-batch_size+1:i+1,:]=rec_feat->
index_method,index,ids=_create_index(config)->
- index=faiss.index_factory(config['embedding_size'],index_method,dist_type)->embedding_size:512,index_method:HNSW32
- index=faiss.IndexIDMap2(index)->
index,ids=_add_gallery(index,ids,gallery_features,gallery_docs,config,operation)->
- index:512,ids:{},gallery_features:987x512,gallery_docs:987,operation:new
- ids_now=(np.arange(0,len(gallery_docs))+start_id)->0,1,2,3,4.....
- index.train(gallery_features)->
- index.add_with_ids(gallery_features,ids_now)->
_save_gallery(config,index,ids)
- faiss.write_index(index,"vector.index")

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/585333.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BlackIce病毒分析

概述 blackice是一个古老的感染型病毒,可感染系统中exe、doc和xls文件,通过USB设备和网络驱动器来传播,会向C&C下载pe执行,会关闭常用的杀软进程。下面找了一个样本,这个样本的代码结构清晰,用IDA pro…

客服配置-shopro

客服配置 注意事项 shopro客服系统 采用 workerman 的 gateway-worker 作为服务基础,请先安装 gateway-worker 扩展包shopro商城 已不再支持 workerman 在线客服插件 安装部署 安装扩展包 composer require workerman/gateway-worker:~3.0 删除禁用函数(如有未列…

Postman中加url环境变量和token全局变量

环境变量引用 语法:{{变量名}} 环境变量分类 1. 全局变量:全局有效,在Postman中的任何集合中都可以使用该变量,作用域最大。 2. 环境变量:要申明环境变量,先要创建环境,然后在该环境中创建变…

KPI考核对企业能起到什么作用?公司该如何建立标准化

什么是KPI考核 KPI考核是指对企业或组织的关键绩效指标进行量化的评估和监控,以了解其业务目标的实现情况。 KPI(Key Performance Indicators)是指关键绩效指标,是衡量企业或组织成功的基本指标。对KPI进行考核可以帮助企业或组织…

破解极域(4):万能密码法(可以获取到原密码)

破解极域(4):万能密码法 1.思路2.实现2.1 获得密码2.2 解除控制2.3 特别注意 3.视频展示 今天来分享下破解极域的第4种方法——万能密码法 1.思路 首先,我们要知道的是,极域这个东西它有一个万能密码,万能…

网络安全+自学笔记

学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了.2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发.3.有时多 google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答.4.遇到实在搞不懂的,可以先放放,以后再来解决. 基…

[GUET-CTF2019]number_game[数独]

目录 题目 学到的知识点: 题目 在buu上看到了一道数独题,没见过,记录一下 下载附件,查壳,无壳,在IDA中打开,直接找到主函数 unsigned __int64 __fastcall main(int a1, char **a2, char **a3…

您的监控策略是否可扩展?

家公司都在努力更好地了解其运营效率,但他们都遇到了同样的问题:规模。那么,可扩展的监控策略是什么样的?您如何防范可观察性中最重要的问题? 什么是可扩展监控策略? 我们将从确定受规模影响最大的两件事…

生态系统NPP及碳源、碳汇模拟、土地利用变化、未来气候变化、空间动态模拟实践技术应用

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现,“双碳”行动特别是碳中和已经在世界范围形成广泛影响。碳中和可以从碳排放(碳源)和碳固定(碳汇)这两个侧面来理解。陆地生态系统在全球碳循环过程中有着重要作…

SpringBootWeb---分层解耦

3. 分层解耦 3.1 三层架构 3.1.1 介绍 在我们进行程序设计以及程序开发时,尽可能让每一个接口、类、方法的职责更单一些(单一职责原则)。 单一职责原则:一个类或一个方法,就只做一件事情,只管一块功能。…

前端网络、JavaScript优化以及开发小技巧

一、网络优化 YSlow有23条规则,中文可以参考这里。这几十条规则最主要是在做消除或减少不必要的网络延迟,将需要传输的数据压缩至最少。 1)合并压缩CSS、JavaScript、图片,静态资源CDN缓存 通过构建工具Gulp,可以在…

PDPS教程:机器人工作站导出为JT格式文件操作方法

目录 功能简介 功能注意事项 导出JT格式文件操作 导出JT格式文件查看 功能简介 PDPS软件不仅能够从外部导入JT格式的模型文件,还能够将创建好的机器人工作站/生产线导出为JT格式的模型文件。这个能够导出JT格式文件的功能就是“Export JT”命令。 使用“Expor…

零尽其用,尾随不落——探究力扣题目“移除字符串中的尾随零”的解题思路

本篇博客会讲解力扣“2710. 移除字符串中的尾随零”的解题思路,这是题目链接。 先来审题: 以下是示例: 以下是提示: 本题的思路是: 先遍历字符串,找到字符串末尾的\0。从\0开始,向前遍历&a…

如何写一篇让人挑不出毛病的产品需求文档?

需求”这个词是产品经理工作中的常客,产品需求文档也贯穿于整个产品经理的日常工作中,本周小编将通过什么是产品需求文档,产品需求文档的作用、如何写好产品需求文档等方面分享如何写出一篇让你挑不出毛病的PRD,让需求文档助力产品…

30分钟开发微信小程序并部署

30分钟开发微信小程序并部署 首先,今天我们会使用到腾讯为我们提供的云平台来协助我们小程序的开发和部署。 环境准备: 微信开发者账号(自己在微信公众号平台注册一个账号):https://mp.weixin.qq.com/,同时…

arp欺骗(http)与dns欺骗

Arp欺骗 win7: ip:192.168.127.147 mac:00-0C-29-4F-1C-36 kali: ip:192.168.127.133 mac:00:0c:29:4c:4d:92 arp -a 获取网关 网关:ip:192.168.127.0 mac:00-0c-29-4c-4d-92 fping -g 192.168.127.0/24 192.168.127.1…

在华为眼里,ICT行业今年还有啥搞头?

大家好,我是老杨。 不知道你们有没有研究年报的习惯,一些超大厂是会每年发布年报的,而从年报里,你能看出很多行业趋势出来。 以最热门的华为举例: 每年,华为都会发布全年财报,对自己今年的整…

什么是低代码?国内常见的低代码平台有哪些?

一、什么是低代码开发? 低代码也称之为无代码或是 aPaas。要想了解低代码是什么,我们先来讨论低代码本质? 它是一种可视化软件开发方法,通过最少的编码更快地交付应用程序。 图形用户界面和拖放功能使开发过程的各个方面自动化…

【大数据之Hive】三、Linux下安装MySQL8.0.33

1 安装MySQL (1)解压MySQL安装包: tar -xf mysql-8.0.33-1.el7.x86_64.rpm-bundle.tar -C /opt/module/mysql(2)卸载系统自带的mariadb: sudo rpm -qa | grep mariadb | xargs sudorpm -e --nodeps(3&am…

快速上手 SpringBoot 单元测试

✏️作者:银河罐头 📋系列专栏:JavaEE 🌲“种一棵树最好的时间是十年前,其次是现在” 目录 什么是单元测试?单元测试有哪些好处SpringBoot 单元测试使用单元测试的实现步骤生成单元测试类添加单元测试代码 …