![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AI落地项目设计与实现
文章平均质量分 93
落地项目不在多,而在精。要完整倒出设计及实现的全过程,从中可以吸取到AI项目,需要思考的维度,问题,解决思路及落地实现,从落地的相似度计算,效能,正确度等当面,衍生到AI推荐系统都有一个较好的全面认知。整个专栏全是干货,部分算法是经过长久调试与用户使用后,总结出来的模型。读者可以吸取其中精华。
PhoenixAI8
Uestc毕业17年,一直从事software开发及管理,期间发表发明专利10多篇。最近几年开始痴迷AI,望大家一同进步。
展开
-
项目实战 ---- 商用落地视频搜索系统(7)---系统优化(1)
作为商用落地系统,我们当然希望搜索视频的关联度或者说准确性与我们希望查询的视频相关度越高越好。为此,除了在query 层面上优化,我们还需要注重我们的输入。那么如何才能更好的对视频进行预处理以及为更好的查询奠定基础,是我们需要优化的一个重要方向。这里涉及到视频特征的提取以及视频比对的算法。本节主要聚焦在优化视频的特征提取上,分析下这部分的内容。原创 2024-09-04 14:30:27 · 15 阅读 · 0 评论 -
项目实战 ---- 商用落地视频搜索系统(4)--- video高效存储
在设计的时候,这一点也是不可忽视的,我们好不容易构造了一个商用搜索视频系统,不能在根据path 寻找加载视频上出问题,当然视频的备份与容灾也是一个健壮的商用系统必须要考虑的范畴。还有一点就是数据的分权分域问题,也还是商用系统必须考虑的,不同权限的人能访问到的数据权限是不一样的。另外,我们可以设置 video bucket 的权限,以及bucket 的大小,这为以后视频数据的分权分域奠定了较好的基础,这也是 一般 os 的文件体系架构难以企及的地方。上面一个千万不要删除,那是milvus 的log数据。原创 2024-09-04 14:27:24 · 85 阅读 · 0 评论 -
项目实战 ---- 商用落地视频搜索系统(3) --- 数据综合查询设计与实现
举个例子,多vector 的设计,在video query 里,配合 hybrid search,能够使得 milvus 同一时间返回N个需要单个search返回的结果。如何找到相似视频的关键位置等都是search,query 需要解决的问题,同时随着视频的长度不一样等问题,如何更好的找到满足要求的视频,这是商用视频系统必须要解决的问题。这是个硬性限制条件。我们采用 hybrid search 的方式进行查询,一次返回的结果包含了 1)中目标关键帧的所有片名相似度前N的原视频关键帧对应的video id。原创 2024-09-04 14:16:26 · 120 阅读 · 0 评论 -
项目实战 ---- 商用落地视频搜索系统(2) --- 向量数据库设计
在商用时,你需要考虑数据在预处理阶段的可持续性,以及为后续录入数据系统,包括query可能涉及的一些效能问题都不得不提前考虑一部分,毕竟对video数据的预处理会在很大程度上左右数据结构的设计,同时数据结构的设计更会影响之后的query 等上层使用逻辑。video的基本信息包括了 video的id ,path,filename,description。前面提了,两个collection,一个存储video 的基本信息,包括 video的id ,path,filename,description。原创 2024-09-04 14:12:30 · 115 阅读 · 0 评论 -
项目实战 ---- 商用落地视频搜索系统(1)---video数据预处理
网上也给出了一些解决方案,在我看来只能是一个示意吧,离商业落地还有很长的路要走,不够robust,如果你认真思考了之后,其实在真正落地的时,会有诸多问题,包括整体结构设计不strong带来的录入,搜索效率问题,数据量大了之后的管理问题,以及搜索精度,准确度问题等。如果你选择milvus作为向量数据库进行存储,有的问题是可以在milvus 提供的内部特性框架下解决的,有的是向量数据库本身无法解决的,需要在顶层设计时,就需要考虑清楚的,毕竟还是那句话,应用场景决定了你要有怎样的顶层设计与架构。原创 2024-09-04 14:08:26 · 106 阅读 · 0 评论 -
项目实战 ---- 商用落地视频搜索系统(6)---UI 结构及与service互动
通过1-5 我们已经搭建好完整的后台功能,service,及准备与UI 交互的路由及接口。下面就是UI 部分的搭建。直接采用jinja2的语法将数组传给前端即可。注意jinja2在前端不适合非常复杂的逻辑运算,因为理论上复杂的逻辑运算应该已经在后端完成,前端只是做一些非常简单的展示,循环遍历 输出等工作。原创 2024-09-03 20:47:45 · 133 阅读 · 0 评论 -
项目实战 ---- 商用落地视频搜索系统(5)---service层核心
之前的 1-5 重点在介绍系统的实现架构,录入数据的组织形式,存储模式,search 方式,以及后期算法等。现在来看,基本的后端实现我们都具备了,当然后期还会带着各位进一步优化,但从数据结构及录入与query的体现架构来看,系统运作经过前期纯后台测试,还是很不错的。这里的设计核心思想与MVC很类似,现在的软件设计概念层出不穷,后来又搞了一个mvvc,其实最基本的核心思想都大同小异,model,view ,controler。而上面还有UI部分的 controler,那是与页面接壤的service 部分。原创 2024-09-03 20:21:00 · 187 阅读 · 0 评论