基于YoloV5+目标追踪算法的越界识别项目——从数据清洗到边缘设备部署,全面掌握项目流程

本文内容主要来源于江大白老师主讲的《AidLux智慧安防实战训练营》。

对于很多算法初学者而言,很多困惑于“一个项目该如何落地”,“没有GPU的情况下如何去训练模型”,“如何看到模型训练后在边缘设备上的效果”等问题。而本次训练营全程“硬菜”,保姆式教学,以“基于YoloV5+目标追踪算法的越界识别项目”,图文并茂讲述了如何从开始的数据清洗到边缘设备部署。所谓“实践出真知”,“工欲善其事,必先利其器”,本次活动让人享受到了学习算法的快乐,了解了算法开发中会用到哪些工具,如何去做项目,简直是初学者的福音。以下为本次项目活动的主要内容。

越界识别检测在智慧消防、智慧园区方面都可以落地使用,本次项目主要做的就是基于YoloV5+目标追踪算法的越界识别项目,其项目效果如视频所示,同时会将检测结果通过“喵提醒”公众号发到个人微信信息中进行提示。

人流量统计视频

一、AI项目的整体开发流程

基于YoloV5+目标追踪算法的越界识别项目——从数据清洗到边缘设备部署,全面掌握项目流程_第1张图片

由上图可知,在实际项目中,一般先由数据工程师对于数据标注,再由算法工程师进行算法训练。

(比如对于人体框进行标注,由算法工程师训练人体检测模型)

因为用到不同的算法设备上,再由嵌入式工程师进行算法适配,和视频结构化平台的开发。

针对不同的图像进行算法处理,得到结构化的数据信息。(比如在Nvidia边缘设备使用,将人体检测模型在设备上适配,并开发视频结构化平台,对于视频流进行检测处理,得到人体检测框的Box信息)。

再将算法处理后的数据,对接到系统软件工程师,进行业务平台业务功能的处理。(比如将人体检测的检测框信息,对接给数据中台上,设置一些业务功能,例如越界识别等)。

最后对接到客户系统中,并交给运维工程师进行现场落地部署。(比如将越界人员的信息,对接到客户大屏上,进行展示)。

这里的数据处理和算法开发,很多算法岗的同学都会比较了解,因为平时工作中,都是使用Python来进行开发的。而在模型移植、视频结构化部分,目前市面上基本都是采用C++的方式。

不过本次项目主要采用一种更便捷的方式,Aidlux平台,即模型移植也采用Python的方式。且大家可以基于一台安卓手机,也可以基于一台AidBox边缘设备都可以进行开发,并且无缝衔接。

二、环境配置

本项目需要用到Aidlux作为边缘设备进行效果展示,VSCode软件进行远程调试,其具体安装及使用可参见我的另一篇详细指南文章《Aidlux&VScode编程调试及AI案例测试》,链接:Aidlux&VScode编程调试及AI案例测试

三、数据集下载及处理

因为需要人体检测的模型,所以需要下载一个数据集。人体检测的数据集有很多,这里大白主要采用旷视开源的Crowdhuman的数据集。官网是:CrowdHuman Dataset

Crowdhuman数据集,总共包含三个方面:15000张的训练数据集,4370张的验证数据集,5000张的测试数据集。其中训练集和验证集都是有标注信息的,测试集没有标注信息。

编写程序,分别对数据进行清洗和格式处理,得到自己所需要的数据集文件夹。

另外,本次项目使用的是labellmg文件标注方式。

四、云服务器训练人体检测模型

有了人体数据集,我们就可以训练检测模型了。本次训练营中,目标检测算法的训练,我们采用最常用的Yolov5算法。

当然考虑到有些同学有GPU服务器,有些同学没有GPU服务器。针对有GPU服务器的同学,大家可以直接用自己的电脑训练,也可以尝试本次训练营云服务器的训练,因为注册就会有优惠券,所以可以直接使用。

针对没有GPU服务器的同学,为了让大家可以测试一整套的流程,大白也尝试了一些云端算力的训练平台。

大家在身边没有GPU服务器,或者算力不够的情况下,也可以采用这些云端算力平台进行使用。本次课程采用的算力平台主要是AutoDL AI算力云,官网链接是:AutoDL-品质GPU租用平台-租GPU就上AutoDL。

通过云服务端进行训练,具体操作方式见本人另一篇文章链接通过云服务器租用GPU进行基于YOLOV5的人体检测模型训练

五、本次推理及项目实现

通过对人体检测和追踪算法进行训练,就可以得到相关参数。

再将模型部署在Aidlux上,完美实现了从数据到部署的项目流程。

你可能感兴趣的:(算法,人工智能)