笔者通过分析ToB图像类AI产品的需求,阐释了自己的工作经验所得。
笔者希望能和大家一起探讨如何完成ToB图像类AI产品的需求分析,文中内容仅表示笔者在实际工作中的产品需求分析习惯,欢迎大家交流。
产品的需求分析算是产品经理的必修课,只有理解透需求,才能避免后期产品设计的出错,对于ToB的AI图像类产品,笔者一般遵循以下的分析套路。
一、业务需求分析
如果不看市场分析,那么业务需求分析应该是产品经理进入产品规划的第一步。
尤其是ToB类的产品,只有摸透用户的业务需求,做出来的产品才能更加贴合用户,让用户欲罢不能地买单,这一块分析笔者一般从以下几个核心点去收集用户资料。
1. 业务需求背景
首先,需要弄清楚当前需求所处的业务背景,这点笔者一般还是非常关注的。
收集业务需求背景不仅是为了弄清楚用户为什么要做产品,即当前业务状态出现了什么瓶颈需要采用AI技术来解决;其次弄清楚业务需求背景还有利于收集行业属性,从而为后期的竞品分析做准备。
2. 业务场景
众所周知,目前计算机视觉虽然取得了很大的进步,但是依然存在很多的瓶颈,比如摄像头角度,光照、阴影、遮挡等依然影响着结果准确率。因此在需求调研的时候,一定要梳理清楚用户是想在什么场景下使用图像识别技术。
笔者以物流行业举例,暂不考虑摄像头,带宽、服务器等硬件本身的情况,只考虑场景和对应场景的算法应用:
安防场景:在安防场景下检测仓库下的人体,识别人体属性。存在的难点是物流仓库一般架设的安防摄像头高度比其他场景的高度要高很多,所拍摄的场景覆盖范围广,即使不考虑遮挡,拍摄的目标也会相对小很多,这时候所带来的检测难度就会相对增加,甚至会出现小目标检测的难题,如果这个时候还需要识别人体属性(如服饰等)将更加困难;
固定摄像头场景:有时候需要根据业务需求来考虑整体解决方案,其中重要的一环就是摄像头架设方案,至少需要考虑摄像头架设角度,垂直距离,水平距离,才能获得清晰的图片,有利于算法检测和识别;
特殊的业务场景:手机拍摄和安检机;手机拍摄之所以特殊是因为手机采集的照片因为不同的人使用不同的手机型号,拍摄的图片分辨率不一致,同时待识别目标被拍摄的角度也不一致,其中分辨率不一致引起的耗时和并发量问题,还可以通过增加服务器、接口限流甚至是数据压缩的方式来解决,但是角度不一致会对算法本身准确率产生影响,要么误检更高,要么漏检更多;安检机特殊在它所成像的结果不同,给算法研究就会产生困难,相同的目标在安检机下成像的结果可能只剩下形状和颜色两个特征,要想完成识别难度就会增加;目标在安检机下的图像如下图(图片来源于网络,仅用于文章说明)。
小结:
AI技术和场景应该是相辅相成的,成熟度高的AI技术应该是业务场景找技术,成熟低的AI技术更多的应该是技术找场景,为什么?
因为需要约束场景,才能满足技术的可行性。
3. 业务需求
了解业务背景和业务场景后,进一步的核心就是了解业务需求,简单理解就是用户要AI检测或识别什么目标,这关系到算法需求中是算法会采用视频识别还是图片识别。
AI无法满足覆盖所有待识别目标,一味地扩大检测识别范围,所带来的问题至少包含两个方面:一个方面是训练数据量的获取,另一个方面是最终识别效果的难保证。
这些都会制约着算法,这也是当前商品识别最大的几个难点(还包括相似sku的问题)。因此梳理业务需求有助于算法的正常开展和后续的推广,以OCR票据识别为例说明如何对接业务需求。
业务方提的需求一般是“我们要识别某某票据”,AI产品就需要分析业务需求,尽可能转为为AI算法需求:
- 确定待识别的票据类型,火车票->(红色的?蓝色的)、发票->(印刷体发票?手写体发票?)
- 确定待识别内容,包括两个方面,第一是票据本身的内容,如数字、不同种类的语言;第二是明确待识别的字段信息,如火车票需要识别姓名、日期、价格、座位类型、始发站和终到站等。
4. 业务价值
经过上述诸多分析后,终于弄清楚了在哪做,需要做什么了。那么,接下来就是需要分析值不值得做了,业务价值分析是衡量产品是否值得投入的重要条件,也是后续做定价策略的评估条件,最重要的是给老板汇报需要的。
从AI产品侧可以直接和间接分析,直接分析就是该服务提供后用户每天会产生多少的使用量,毕竟现在最常用的定价策略就是按照调用量来评估的;间接分析就是用户调用AI服务产生了哪些业务价值,可以是节省了人力成本,提升了审核效率,提升了点击率等。
当然,最好的方式是要量化分析,数字才能给老板直观的说服力。
5. 业务流程
上述所有的内容都分析清楚后,在没跟老板汇报前作为AI产品基本就可以评估出这件事是否能够开展下去了,如果确定是要开展的,那梳理业务流程就必不可少了。
首先,与用户对接梳理业务当前的系统流程,重点可以关注原系统在哪一步上传图片,上传图片后在哪一步是如何审核的。有了这两点信息基本可以明确AI识别服务应该在什么时间开始调用,原系统获取AI识别信息后,如何优化后续步骤了。
这里不给出具体的业务流程,案例可以参考看下《利用AI技术,实现线上线下互动引流》中描述的业务逻辑。
二、算法需求分析
通常笔者在跟算法沟通需求的时候,算法常问的有以下几点:
- 在什么场景下做;
- 需要识别什么;
- 用户接受的成本是多少;
- 产品的性能要求是多少(准确率和耗时);
- 云端还是本地端。
结合上述五点AI产品经理就需要反推算法需求:
1. 算法问:“在什么场景下做”
产品需要描述清楚业务场景,如果是在业务方现有的硬件方案上拓展,算法需求中要包括图片成像的条件,图片的分辨率。最好的方式就是获取当前条件下的图片给算法,一图胜万言。
在这一步,算法会评估当前的硬件条件是否可以满足识别的要求;如果不满足,AI产品经理就需要做以下两步:
- (跟算法商量,让算法给出硬件部署参数,包括摄像头架设角度、摄像头架设高度,摄像头型号要求,其他的要求(如补光等);
- 跟业务方商量,如果要做AI方案需要重新部署硬件,业务方是否接受,业务方可能就需要评估下施工和硬件成本了。
2. 算法问:“需要识别什么内容”
这一步以OCR为例,可以参照上述业务需求描述中的内容;扩充下,算法需求分析不仅要告诉算法需要识别的内容,还需要告诉算法需要返回的内容,比如返回目标框的坐标信息,目标的置信度,目标的数量等。
3. 算法问:“用户接受的成本是多少”
这点一般是出现在需要重新部署硬件方案的前提下,因为算法评估硬件参数,一般都是综合考虑的,如果要求是低成本的,算法一般就需要牺牲一些性能采用轻量级的模型等。
4. 算法问:“产品的性能要求是多少”
通常算法期望获得是用户想要的准确率和耗时,AI产品需要做的是跟用户确认这个数值。一般有的用户会自己先做好充分调研,然后会告诉产品他期望的指标是多少。
但是很多传统企业都是第一次接入AI,通常并不清楚这个指标能达到多少。AI产品跟算法和用户先约定一个指标,方便工作试点,后续根据用户反馈可以收集错误样本快速进行产品迭代。
5. 算法问:“云端还是本地端”
这点关系算法的模型方案和硬件成本,也关系产品设计是API接口还是SDK服务。
举例:根据业务需求描述的待识别内容,算法需要评估是采用视频还是图片来分析,如果是视频分析同时还要部署云端,则网络带宽成本将非常高。这时候算法要评估是否可以采用图片分析,最低的帧率是多少,采用什么量级的模型,架构需要评估网络部署方案,是否可以在本地加入视频服务器做预处理,多少时间传输一次合适等。
产品在此过程中起到项目推动的作用,协调内部技术和用户。
小结:
将上述的内容结合业务需求分析一般就可以给算法提需求了,最后跟算法明确输出算法方案的时间。
附:算法需求分析需要AI产品在算法和用户之间不断沟通确认各种信息(有时候会很拉扯,因为用户在接入AI之前也无法预估自己的期望)。
三、产品需求分析
AI产品需要打破传统GUI的局限,AI产品对外提供的产品形态不仅可以包括前后端GUI的完整系统,还可以是API接口和SDK的形式;
1. API、SDK类
在之前的文章《如何做一款SDK产品》中对SDK产品做了些简单描述,本文从API的形式去描述,产品需求文档中需要包括接口的输入、输出、算法准确率、误检率、漏检率、接口耗时性能和算法约束规则。
以图片识别为例,产品需要定义好的核心字段包括:
- 输入:图片格式—jpg、jpeg、png等;图片传输格式—base64或url;ROI区域—数量,默认可以是整张图片,最多支持多少个;ROI的画法—矩形(左顶点+长宽),多边形(所有坐标点);识别类型—如果接口支持识别多个内容,这个字段可以加上指定需要算法识别的内容;其他的鉴权、时间戳之类的字段信息可以让开发定义;
- 输出:核心信息同算法需求,但是需要落实到接口字段上,如总目标数量、每一个目标的坐标信息、置信度,其他分析目标的特殊字段信息;
- 算法准确率、误检率、漏检率,这点笔者建议最好是以业务指标分析,以目标检测为例,通常算法是以mAP来衡量的,它是从目标维度来评估,但是用户通常是从图片的维度来衡量,一个图片中有误检或漏检的,用户可能就会认为这张图片识别出错;因此,需要产品定义明确好;
- 耗时性能,这里的耗时性能是指接口的整体耗时,即用户传入图片到返回结果的耗时,需要算法和开发一起评估,产品只需要定义产品需求。
2. GUI类
如果是GUI类的形态,产品重点关注的应该是产品原型如何设计,用户体验,用户使用流程等,这个与传统的产品设计并没有什么区别,只需要将算法需求单独拆分给算法小伙伴。同时约定好算法的规则即可,所谓的算法规则即接受在当前的算法能力下对用户使用上的约束规则,比如要求用户上传的文件格式、命名有什么要求,算法返回给用户的识别结果有什么限制。
作为产品其实很无奈,原则上应该以用户为中心挖掘用户最自然的用户习惯,但是在AI技术不成熟的情况下,需要牺牲些用户体验。
结语
AI产品与传统产品最大的区别在于,产品与开发之间又多了一层算法。
AI产品只有先明确好算法需求,在得到算法可行性验证结果后才能进一步考虑产品需求,当然算法需求也是产品需求的一部分。