本设计可应用于流媒体业务中,对内容进行AI的实时分析,并对分析结果进行实时跟踪与分析。
设计的基本流程如下:
1:使用yolov5来训练数据集,在图中提取N个标识位,为了结果更准确,数据量以及场景要能够覆盖应用场景。
2:在程序中载入训练好的模型数据,然后将直播流中读取的每一帧数据都进行识别,并将结果保存到一个有限数据集
3:针对要计算的方式,比如特定标识物的尺寸信息、标识物间的重叠数据等信息保存到数据集中
4:根据流的FPS,计算差值变化均值,来获取特定的频率信息。
5:将最终需要获取的信息与帧ID信息进行绑定输出。
这里有几个关键点是需要注意的:
1:单帧的识别速度,这个会关系到整个直播业务的识别效率,即影响到最终的用户体验。
2:针对流的处理,需要将流读取与帧处理分线程进行处理。这样可以加快处理速度
3:将输出跟计算进行分离,这个双向1v1的通信场景会有很直接的表现
4:均值计算中,需要注意数值突变情况,即流丢包造成的异常处理
业务在线运行一段时间后,发现几个可以提升的地方
1:针对点播业务的服务,数据只需要处理一次并记录下来,后续直接使用结果即可
2:针对直播业务,本身的fps较低,可使用跳帧的方式主动丢弃部分数据
3:针对分析结果的计算,或考虑使用GPU来提高计算速度
从第一次尝试去了解机器学习的相关东西,到真正第一个实际落地的AI应用,前后花了几年的时间。通过对此次项目的反思与总结。总算有了一点儿感悟,特记录一下。
整个过程持续了差不多整整一年,算法前后更新了6版,而且针对算法整合的应用也差不多更新了同样多的版本。遇到的困难都解决了,也算是对AI的落地应用有了完整的认识。继续期待下一个应用的开始了。
作者: lansnow,来自:好好学习自留地
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。