前言:大约在3,4年前即2017、2018年,彼时人工智能风起云涌,各类培训进入人工智能行业的广告在地铁上和出口,公交车、电梯等铺天盖地,受其影响,参加过一次在深大的AI介绍公开课,其中讲述的AI内容不明觉厉,大受震撼。虽最终未进行培训,但机缘巧合下,2019年又有幸得测试经理推荐两本书,其一为高效自动化测试平台:设计与开发实战,另外一个即:机器学习测试入门与实践。兜兜转转阴差阳错,目前在职AI公司,本也只是做做自动化测试,未曾想竟被骑驴找马安排进行AI算法评测,感慨:你学到的知识未来不一定会用到,但是你未来用到过的的那个知识一定是你以前某个时刻学到的。所以应该抱有活到老学到老的精神。结合本人10个月的AI算法评测经历,仅从门外汉角度介绍,认识不足或者错误的地方,以其他官方教程为准。

文章参考:

https://www.cnblogs.com/pojason/p/15872672.html

相关攻略:

机器学习:基本流程

机器学习:725个机器学习术语表

AI算法评测流程:

一、明确算法测试需求

1、明确测试目的

2、明确测试需求, 确认测试需要的数据种类和数据量及场景

3、明确算法服务流程, 确认算法输入\输出的数据,

4、如有格式要求,可向开发人员提出相关数据的输出要求

5、确认测试的时间节点与人力支持

二、编写测试方案

1、确认算法测试主要场景和测试场景信息

2、确认各场景测试数据需求量

3、确认算法标签标准

4、确定算法性能指标定义及计算公式

三、编写测试数据方案

1、确认数据采集场所,

2、编写数据采集的指标范围,对数据的采集条件进行必要的说明

3、确认数据采集设备及能够正常使用

4、确认数据采集人员及进度安排

5、测试数据采集

6、对测试数据检查、清洗、归类

四、进行算法测试

1、确认算法相关细节, 主要参考使用文档或与算法人员沟通

2、测试脚本编写,一般为Python

3、测试指标统计及badcase样例展示与保存

4、抽取核对badcase样例的正确性

五、编写测试报告

1、得出测试结论, 与测试目的保持一致

2、测试小结, 总结测试过程中发现的其他问题

3、badcase统计与展示

六、测试结果同步

1、badcase同步

2、测试细节同步

3、后续结果跟进

七、测试数据与测试报告管理

1、对测试数据质量进行管理

2、测试数据版本管理

3、测试报告结果管理

下面结合实际案例,对部分流程阶段进行说明。
实际案例:门禁系统人脸识别

一、明确算法测试需求

1、明确测试目的:

评测人类实时在门禁系统使用分辨率为200万,帧率30的摄像头在30cm-70cm
距离使用的算法模型是否满足使用标准,如指标:人脸匹配精度是否达到98%+

2、明确测试需求, 确认测试需要的数据种类和数据量及场景:

测试数据种类为:
1、不同人在门禁前进行人脸识别的离线视频,共采集96个视频(一般内部自采或者让外包采集)。
2、少量猿猴照片,卡通视频、电影视频,若干(特殊少量部分一般算法测试自采)。

3、明确算法服务流程, 确认算法输入\输出的数据:

算法服务流程为:门禁内置摄像头7*24小时拍摄并录像,当监控范围20-70cm
出现人体时,内置的应用将人体视频图片png或者mp4格式作为输入数据,通过
本地或者远程接口调用人脸匹配算法模型,计算出与预录入的用户进行匹配,
如果匹配值高于99.90%,则输出返回人体视频的脸部图片,标上人脸框,用户
姓名、id、置信度,并且保存上传服务端结果json文件,同时调用开门程序。

4、如有格式要求,可向开发人员提出相关数据的输出要求

返回的视频包含人体的脸部框和姓名,id、置信度等,需要必要的数据输出
如:{"name": "tom", "score": 0.998542, "frame_id": 111,
"model_version": "v1.1.2", "time": "2022-04-24 12:34:56.265",
"app_version": "v2.0.1"}

5、确认测试的时间节点与人力支持:略

二、编写测试方案

1、确认算法测试主要场景和测试场景信息

算法测试主要场景:正常人距离摄像头30-50-70cm,拍摄正脸视频。测试场景信息:
门禁高度:150cm
摄像头分辨率:200万,帧率:30
背景:无要求
光照:强光、常光、暗光
摄像头角度:俯视,平视,仰视
是否多人:单人、多人
水平距离:30、50、70cm

2、确认各场景测试数据需求量:测试用例:多条件下编写,懒人妙用itertools

共需采集96份视频 + 12份特殊场景
固定的内容:摄像头分辨率:200万,帧率:30为简化,案例中采用这些数据指标:distance = ["30cm", "50cm"]person = ["男", "女"]angle = ["相机平视", "相机俯视"]luminance = ["强光", "常光", "暗光"]persons_bool = ["单人", "多人"]shape = ["胖", "瘦"]通过笛卡尔乘积可得96种情况,即最小采集:96个视频

3、确认算法标签标准:

  对视频中人脸清晰的图片进行标框,并且标记名字名字:name输出格式:json文本。[{"label": ["name","tom"]}]

4、确定算法性能指标定义及计算公式:略

三、编写测试数据方案

1、确认数据采集场所

户内:30%
户外:70%

2、编写数据采集的指标范围,对数据的采集条件进行必要的说明

示例:硬性条件1:摄像头200万像素,采集的视频帧率为30
硬性条件2:高度150cm
硬性条件3:男女各5人
硬性条件4:距离30-50-70比例1:1:1
硬性条件5:强光:常光:暗光=1:1:1
灵活条件1:尽量高矮胖瘦兼顾、男女老少兼顾
特殊场景1:戴眼镜  30-50-70cm各录制1份,共3份
特殊场景2:头发遮脸30-50-70cm各录制1份,共3份
特殊场景3:戴口罩  30-50-70cm各录制1份,共3份

3、确认数据采集设备及能够正常使用:

核实摄像头设备配置

4、确认数据采集人员及进度安排:

内部采集
周五采集一天
标注一天。
共2个工作日。

5、测试数据采集:略

6、对测试数据检查、清洗、归类:

对采集的视频进行检查,确定视频分辨率,帧率
对视频和图片的人脸清晰度进行抽检查看清晰度是否符合,是否有遮挡情况
对标注的文件进行检查是否有标错的情况
对不同类型的人的视频进行归类

四、进行算法测试

1、确认算法相关细节, 主要参考使用文档或与算法人员沟通:

了解算法的实现逻辑,执行的前提条件
查看相关需求文档,开发文档,安装部署环境等

2、测试脚本编写,一般为Python

常规项目目录结构

logs:运行日志
model:各算法模型
tools:工具包
data: 输入和输出。labels and result-input-output-v1.1.2-v1.1.3...
main.py:运行入口
run.bat:win环境下执行快捷方式
run.sh:linux环境下执行快捷方式
readme.txt: 算法测试项目说明,帮助文档。
requirements.txt:依赖的第三方包和版本

3、测试指标统计及badcase样例展示与保存

准确率,召回率...
basecase:- missed_person- half_face- part_face- shelter_face- low_score- others...

4、抽取核对badcase样例的正确性:

核对实际basecase是否与符合预期
存在不符合的情况则重新修改对应basecase逻辑

五、编写测试报告

1、得出测试结论, 与测试目的保持一致

2、测试小结, 总结测试过程中发现的其他问题:

对整个评测过程中遇到的问题进行记录、总结、反思。

3、badcase统计与展示:

使用工具进行统计,通过图表等方式进行量化分析,如:统计数据散点图、
折线图、方差标准差、混淆矩阵等

六、测试结果同步

1、badcase同步:略

2、测试细节同步:略

3、后续结果跟进:

跟进算法开发对存在的问题采取的措施,评估是否需要补充采集标注数据,
对优化后的算法模型重新执行测试数据,对比前后的结果,核实哪些指标
有所提升,哪些指标有所下降,在满足精度要求情况下,置信度的取值等。
有余力的优化算法评测中遇到的流程问题,使用自动化替代人工的部分。

七、测试数据与测试报告管理

1、对测试数据质量进行管理:

必要的复盘测试数据质量,简化数据采集的量,用最小数据集覆盖更大场景

2、测试数据版本管理:

一般为按不同版本或者时间存储云盘或者服务器。

3、测试报告结果管理:

一般为按项目不同阶段的时间编写测试报告。

部分未提及的内容,因暂了解不足,仅供参考。

微信公众号:玩转测试开发
欢迎关注,共同进步,谢谢!

AI算法评测的基本流程和实际案例剖析相关推荐

  1. CIKM 2020 | 如何更为合适地评测推荐算法? Top-N物品推荐算法评测设置回顾

    来源:RUC AI Box 本文约5200字,建议阅读10分钟 本文介绍了对于不同的实验设置对评价top-N商品推荐算法的影响,并设计了一个经验性的大规模实验. 1 引言 近十年里,top-N商品推荐 ...

  2. 阿里开源新一代 AI 算法模型,由达摩院90后科学家研发

    最炫的技术新知.最热门的大咖公开课.最有趣的开发者活动.最实用的工具干货,就在<开发者必读>! 每日集成开发者社区精品内容,你身边的技术资讯管家. 每日头条 阿里开源新一代 AI 算法模型 ...

  3. 提供一站式AI口语评测能力,声网AI互动课堂全新升级

    2018年以来,中国在线教育市场规模和用户规模双双保持稳健增长势头.很多初创企业和传统线下教育企业纷纷涌入这一赛道.竞争越来越激烈的同时,也面临着运营成本高.教学体验差.师资紧缺等诸多挑战. 通过技术 ...

  4. AI开源评测基准AI-Rank,为开源建立标准

    当前,数字经济已经成为经济发展的活力引擎和促进经济结构转型升级的重要动能,深刻改变着人类的生产生活方式.12月11日,2020中关村大数据日暨数字经济融合创新发展论坛在北京举行.本届中关村大数据日以& ...

  5. “抗击”新型肺炎!阿里达摩院研发AI算法,半小时完成疑似病例基因分析

    利用技术辅助抗击疫情,阿里巴巴.百度等科技巨头各显身手. 此前,AI科技大本营采访报道了阿里达摩院<数十名工程师作战5天,阿里达摩院连夜研发智能疫情机器人>一文,后者为了解决客服人力不足的 ...

  6. AI算法在FPGA芯片上还有这种操作?| 技术头条

    作者 | 杨付收 出品 | CSDN(ID:CSDNnews) 碾压与崛起 AI算法的崛起并非一帆风顺的,现在的主流的NN类的卷积神经网络已经是第二波浪潮了,早在上个世纪80年代,源于仿生学,后又发展 ...

  7. 中科创达孙力:不迷信 AI 算法,智能视觉如何转型升级?

    作者 | 若名 出品 | AI科技大本营 近日,中科创达副总裁孙力在 Thunder World 2018 嵌入式 AI 人工智能技术大会上发表了主题演讲,主要分享了以下三方面内容: 视觉的传统技术和 ...

  8. 节后综合征疗愈神器,这个开源项目帮你10分钟上手AI算法开发!

    想要应用AI技术进行产业智能化升级,又担心缺乏计算机.数学等理论基础? AI算法训练完成,优化部署上线又是一个趟不过去的大坑? 别担心,今天就教大家应用一个开源项目--飞桨全流程开发工具PaddleX ...

  9. 前列腺癌检测 AI 算法登上《柳叶刀》:分类性能超过人类专家,还能完成其他临床任务...

    来源:AI科技评论 本文约2200字,建议阅读6分钟. 本文为你介绍一种基于人工智能的算法,其用来处理常规临床应用任务,具体而言是辅助前列腺疾病诊断. 近日,<柳叶刀-数字医疗>期刊刊登了 ...

最新文章

  1. 1. 列维过程的混沌及可料表示(2)
  2. Java平滑处理什么意思_为何要进行数据平滑处理?
  3. 软件工程---在此基础上,进行软件的改进
  4. gbdt和xgboost中feature importance的获取
  5. [C++基础]039_C++异常处理初级出门+中级进阶
  6. MATLAB中的概率函数
  7. 页面body元素#65279导致顶部空白一行解决方法
  8. paip.DEVSUITE DEVTEST 404错误
  9. 小米笔记本 镜像_入手几个月小米笔记本Air13.3 i56200附几个镜像下载
  10. 动态服务器值 回放报错 没有关联到_LR之关联
  11. word参考文献的引用
  12. 怎么查看电脑配置详情
  13. Games101-课程13笔记
  14. Unirech-最新腾讯云国际版注册流程-无需绑定paypal
  15. 腾讯云服务器TencentOS镜像操作系统评测及常见问题解答
  16. 微信小程序——搭建自己的服务器
  17. 横滚角,俯仰角,航向角
  18. SpringMVC的在线人数统计监听器
  19. android activity pause,关于android:onPause()和onStop()在Activity中
  20. maven 使用记录

热门文章

  1. G企孵化-千趣生活项目,10年互联网经验专业策划商业模式
  2. 2020晓庄学院专转本C语言考试试卷,2020江苏专转本必看之:南京晓庄学院
  3. 男生必看的10部漫画
  4. 10情态动词(3):分类
  5. Office WPS PPT 修改状态栏主题名称
  6. 西门子PLC S1500新能源pack线程序(含触摸屏程序)
  7. D3Dshader,像素着色器实现黑白、复古、反色特效。
  8. PostgreSql整合mybatis实现@>包含功能
  9. 谁的青春不迷茫,只是不轻言悲伤(…
  10. 石头机器人拖地水量调节_石头扫地机器人T7评测:更实用的拖地