目前笔者所接触的计算机视觉 ai 测试主要包含具体算法的性能测试,其主要衡量指标根据算法业务不同如检测类用准确率和召回率来衡量算法的好坏。
1、对于算法测试而言,仅仅根据业务场景的效果对算法进行评价是否合理?其它方面比如算法复杂程度,耗时等方面进行测试
2、目前测算法效果,通常说的算法可能是多个算法模块集成的方案,比如可能涉及 OD、OT、TBA 等多个模块,仅仅基于算法方案最后的输出结果的准确与否,这样
的算法测试,其实是一种黑盒测试,只能评判整个算法方案测试业务场景上效果的好坏,尽管客户可能只关注这个问题,作为算法测试来说是否还能做更多的工作,比如将整个方案中的各个算法比如 OD、OT、TBA 等多个模块进行单独测试,当然这样无疑会增加测试周期,投入产出比不高,所以有没有可能自动化对这些子模块进行测试。
3、对于算法方案而言,方案设计通常有算法开发完成,方案设计的合理性是否需要进行测试。
4、对于算法方案效果本身而言如何设计测试集,对于计算机视觉产品而言,不同场景,光线、天气等诸多原因都会影响算法的效果,那么如何让设计的测试集接近用于实际的使用过场景,这方面有没有相关的理论依据。算法方案在研发和测试过程中其实很少会接触到现场,这就导致测试集设计很多时候是基于设计者的主观想象,可能与实际使用场景并不贴合。
5、目前主流计算机视觉 ai 测试的自动化流程,通常是将数据进行标注,基于算法方案与标注进行比对,达到自动化测试的目的,因此带来的问题的,如何提高素材采集、标注的效率,能不能实现自动化标注减少人工,如何保证标注信息的准确性,或者说有没有不需要标注标签就能实现自动化算法测试的方法
6、除了自动化测试需要的标签外,是否应该标注一些其它的属性标签,比如场景、光线、遮挡情况、颜色等属性,这些标签是不是在一定程度上能辅助测试结果的分析,找到那些是影响算法方案的主要因素,但是相应的会增加标注成本,还有就是测试结果分析方法是否合理有效
7、按照现有理论,测试集需要与自测集满足独立同分布原则,如果算法研发和测试的数据集信息彼此分裂,是否导致两个测试集不符合独立同分布,导致算法开发在训练调参过程中优化方向出现偏差,这里的独立同分布应该涉及那些维度?能否开发工具自动获取测试集与自测集的分布情况?
8、是否有可能做到 “一键测试”,即用户导入需求后,自动获取或生产测试集,然后自动运行 demo,比对输出结果,然后自动输出多维度视角的结果分析报告,如果实现了,感觉离走人不远了。
上述是目前工作中遇到的一些问题和困惑,不知道各位大神有没有遇到与我类似的问题,有什么好的方法解决吗?欢迎讨论~