《Aidlux智慧社区AI实战训练营》大作业总结及心得

73 阅读3分钟

1.训练营课程 (1)本节课主要学习智慧社区的AI实战训练营的课程,课程详情见链接: mp.weixin.qq.com/s/ASnaFA7D4… (2)学习目的 作为一名算法工程师,我深刻理解到学习是一个不断前行的过程。在这个行业,内卷竞争越来越激烈,我们需要不断地学习和提升自己,才能在激烈的竞争中脱颖而出。同时,作为算法工程师,我们需要具备敏锐的洞察力和对新技术的兴趣和热情,才能快速成长。 我非常感谢大白老师提供的学习机会,也非常感谢大刀老师的悉心教导。每次参加大白老师组织的训练营,都让我受益匪浅,而且每次都能带着满满的收获离开。同时,Aidlux的出现让算法工程师的工作更加方便和高效,可以通过python实现模型的训练和部署,而且能够快速部署到ARM架构的手机、平板、电脑等设备上,这无疑是对我们工作的巨大助力。 如下是两张通过电脑登录到手机Aidlux的截图:

截图1.png

截图2.png

2.小作业 通过修改参数在aidlux手机端实现对抛洒物的跟踪,可以通过修改knnDetector背景重建参数、sort跟踪算子参数等等来观察不同的跟踪效果。 主要代码如下:

下图中红色小框就是被跟踪到的抛洒物(aidlux手机端显示图)

截图3.png 3.大作业 3.1实现功能 课程中详细介绍了模型的搭建训练和使用的整个过程,课程文档可到下边的百度云盘里获得;这里主要将车牌检测和识别部署到android手机端实现对视频中车辆车牌的检测和识别。 3.2 车牌检测+识别模型的tflite的轻量化 因为模型需要部署在移动端,所以还需要将模型轻量化,同时考虑后面我们使用的aidlux对tflite的支持,所以选用tflite框架,对模型轻量化。车牌检测是使用yolov5来实现的,车牌识别是使用LPRNET实现的,直接将转换好的onnx导出成tflite模型即可,但tflite推理过程中需要注意调整代码中outputs的顺序,因为onnx最后特征层输出的排序是20,40,80,而tflite最后特征层输出的排序是40,20,80。 3.3 代码实现及结果分析 使用Aidlux手机端运行视频并显示中文车牌需要: 1.运行aidlux端的视频读取方式,cvs.VideoCapture(video_path) 2.使用PIL写入中文字符,具体实现见aidlux/utils.py 整体代码如下: 3.4 输出结果及B站演示视频链接如下:

截图4.png

截图5.png www.bilibili.com/video/BV1pv… www.bilibili.com/video/BV1Xb… 第一段中在车牌较小时文字识别效果较差 第二段在车牌较大之后,可以清晰的看到车牌的识别效果 4.致谢 再次感谢大白老师和大刀老师的辛勤指导和支持,他们的专业知识和经验让我受益匪浅,对于我未来的AI工作和学习之路提供了极大的帮助。 同时,我深深地意识到在AI领域,只有持续学习和不断提升自己才能保持竞争力和适应快速变化的行业需求。因此,我将一直保持对AI领域的热情和激情,并努力学习和掌握新的技术和方法,为AI的发展和应用做出自己的贡献。 5. 作业所有代码如下 链接: pan.baidu.com/s/10-XHSDfl… 提取码: mujb