浅谈AI深度学习的模型训练和推理

简介: 本文主要是为介绍openvino框架实现模型库的训练和推理引擎技术,实现我司在智能超市等领域的场景应用。
在 2021 年,我们开始部署“EdgeX 智慧超市”解决方案,目的在于实现超市的全智能化运营,和连锁超市内用户数据实时同步。数据同步就是后台管理中心和接入的各个超市的 EdgeX 微服务平台,数据共享,不言而喻,分布式思维,我们是云边协同的新形态框架思维。超市的运营管理是这个解决方案的技术核心,也是业界一直在探索的焦点。目前的超市能称得上智能化的只有结算台,但通常也需要有客服在旁边指引监管,也没省下人力成本,所以我们把结算和管理流程紧密的结合在一起。那么运营就剩下秩序管理这一块了,也是全智能化的技术核心,用投资人的角度来说:“怎么去监管顾客在超市内行为,比如插队、破坏、攀爬、咋骗、争吵等行为”,其实就是 AI 深度学习的目标检测,行为分析和识别,这就是本文要介绍的地方。在音视频领域,AI 深度学习主要是做模型训练和推理引擎。不论是早期的人脸识别,还是后来的图像声音检测,都需要与模型做对比,所以模型训练至关重要,可以说是 AI 深度学习的基础。市面上各种运营 AI 深度学习框架的平台首先玩的就是他们训练的模型库,推理引擎则是实现目标的动作。目前全世界最流行的 AI 深度学习框架有 Google 的 TensorFlow 和 Keras、Microsoft 的 CNTK 和 ONNX、百度的 PaddlePaddle、FaceBook 的 PyTorch、BVLC 的 Caffe 等。

我不精通所有的框架,而国内市场目前的口号是“内容为王、数据为王...”,很难见到技术的精髓,也就是用几行 python 命令行就实现 AI 深度学习的完整过程,事实上只会在这个平台上跑这个流程,所有的技术都不会。甚至很多云平台开发上,日志都看不到,我就想,现在开发靠猜来判断吗?!声明下:这不能算喷,只是感慨下,与君共勉。这种虚有其表的技术显然没有前途的,根本不能满足我这种技术追求极致的人,所以我就选了另外一个从底层框架到场景应用完全开源的框架套件 openVINO,在中国主要是由 Intel 在运营,我选这个套件是还有商业目的,这里就不跑题了,openVINO 的框架如图 1 所示:从流程图上来看,左边支持大多数主流的其它 AI 深度学习框架,右边兼容各种算力插件,这很表面,就是装一堆的插件,然后几行代码跑全程的那种,这也是 Intel 的一种运营模式。

这个框架的开源里,直接明了的把模型训练 openCV 和推理引擎框架完整开放,开发者能基于 openCV 库写模型库和模型训练过程代码,也能基于 Inference Engine 库写推理过程代码,而其它的库用于写场景应用过程代码,也就是说这种情况下,想怎么发挥就怎么发挥,不受命令行或框架的约束。我在采用之前调研了下行业形势,各 AI 深度学习框架的短板除了客观的网络带宽的外部因素限制外,主要集中在模型训练精度低及识别和推理时间过长。造成这个问题的主要因素就是各套件广泛的去集成了各种插件,然后再用一个甚至是多个令行插件去把这些插件集成起来,达到低代码及 0 代码的目的,这里不发表评论,大家自己想。大家都知道每个插件和库文件,编译器都要去编译一遍才能识别出来,因此,时长就是这么增加的,性能损耗就是这样升高的,当然,这样同时也能提升通货膨胀,带动经济发展,计划经济的主要思想...。

至贸易战后,全球经济呈现衰退趋势...,各种坑也越演越烈,这里主要描述下开源的坑,华为曾旗帜鲜明的喊出了“不再使用开源”的口号。就拿这里来说吧,openCV 从此没有了 CV::face 的 namespace,官方说是因为不稳定,因此推出了另一个开源 contrib,然后 2 个开源源码重新编译成新的库文件,我以轻量级的方式重新编译了下,生成了 1G 多的新库文件。10 年技术我都没有调用过这么大内存的库文件,而目的只是为了去集成一个 namespace,一直以来的开源我们都是在维护 issue 后升级。再来说说代码,首先做模型库训练,openCV 是通过 csv 文件来读取模型库中的文件,模型库里存放的就是训练好的目标图片。有必要解释下训练好的概念,就是标记分类并处理好,用作对比的库存图片,比如人脸、物体和文字等,opencv 会把从摄像头采集来的图片转灰度化 cvtColor(fe, fe_gray, COLOR_BGR2GRAY),以减少运算,然后用一个循环来设定目标物体拍照的数量 for (int i = 0; i < faces.size(); i++),将其处理标记好。在 csv 中是用 2 个容器分别存储图像和标签 vector label,至此模型库就做好了,对目标识别时,摄像头采集到目标数据,通过读取 csv 文件的记录,就能找到训练库中的数据做对比,所以,识别的精度和时长就看图像数据和 csv 文件中的标签做的好不好。这个时候要注意,采集的图片也必须转化为灰度图做对比。对比的结果可以直接显示在测试图像界面中 putText(fm, str, text_lb, FONT_HERSHEY_COMPLEX, 1, Scalar(0, 0, 255)),如图 2 所示,图像上显示的结果就是标签中的标记。openCV 的整个过程只需要一个 xml 的分类器 CascadeClassifier,就能实现各个流程,至此,模型训练的库文件和 csv 文件就全完成了。openVINO 的推理引擎需要调用一对 xml 和 bin 模型文件,读取测试数据,读取网络权重和配置输入输出参数后,就可以启动 AI 推理计算设备进行推理了,openVINO 能实现同步推理和异步推理,通常采用异步推理 sync_infer_request->Infer()。推理就是对目标数据做分析或预测,比如通过人脸的特征来分析 zhe'g 这个人的年龄、健康、情绪等等。就目前的技术而言,AI 还是通过读取记忆来模仿人的思维的,是无自主意识行为,不会像大脑一样,在没有记忆的情况下能自主进行分析和判断。在代码中,我们会抛异常和出错终止程序的运行,如果没有,也不会像业外人士预测那样,产生新的意识,最后替代人类或毁灭世界。不论什么情况下,机器语言的最基本是不能有一点错误的,有错运行就会结束,甚至没有回光返照,机器终究是没有生命的。
最后,以介绍下我们公司结尾:绿视(上海)信息技术有限公司是音视频解决方案供应商,致力于流媒体和 AI 深度学习领域,助力从底层框架到场景应用的完整技术开发。欢迎关注下面公众号,持续关注关注我们的动态。

目录
相关文章
|
3天前
|
机器学习/深度学习 人工智能 安全
探索AI的未来:从机器学习到深度学习
【10月更文挑战第28天】本文将带你走进AI的世界,从机器学习的基本概念到深度学习的复杂应用,我们将一起探索AI的未来。你将了解到AI如何改变我们的生活,以及它在未来可能带来的影响。无论你是AI专家还是初学者,这篇文章都将为你提供新的视角和思考。让我们一起探索AI的奥秘,看看它将如何塑造我们的未来。
26 3
|
5天前
|
机器学习/深度学习 数据采集 人工智能
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】随着人工智能的发展,深度学习技术正逐步应用于教育领域,特别是个性化学习系统中。通过分析学生的学习数据,深度学习模型能够精准预测学生的学习表现,并为其推荐合适的学习资源和规划学习路径,从而提供更加高效、有趣和个性化的学习体验。
39 9
|
4天前
|
机器学习/深度学习 数据采集 存储
使用Python实现智能农业灌溉系统的深度学习模型
使用Python实现智能农业灌溉系统的深度学习模型
30 6
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
14 2
|
2天前
|
机器学习/深度学习 PyTorch TensorFlow
使用Python实现智能食品质量检测的深度学习模型
使用Python实现智能食品质量检测的深度学习模型
29 1
|
2天前
|
机器学习/深度学习 数据采集 自然语言处理
如何使用深度学习模型来提高命名实体识别的准确率?
如何使用深度学习模型来提高命名实体识别的准确率?
|
4天前
|
机器学习/深度学习 人工智能 算法
AI在医疗:深度学习在医学影像诊断中的最新进展
【10月更文挑战第27天】本文探讨了深度学习技术在医学影像诊断中的最新进展,特别是在卷积神经网络(CNN)的应用。文章介绍了深度学习在识别肿瘤、病变等方面的优势,并提供了一个简单的Python代码示例,展示如何准备医学影像数据集。同时强调了数据隐私和伦理的重要性,展望了AI在医疗领域的未来前景。
17 2
|
4天前
|
人工智能 安全 Cloud Native
|
5天前
|
安全 搜索推荐 机器学习/深度学习
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】在人工智能的推动下,个性化学习系统逐渐成为教育领域的重要趋势。深度学习作为AI的核心技术,在构建个性化学习系统中发挥关键作用。本文探讨了深度学习在个性化推荐系统、智能辅导系统和学习行为分析中的应用,并提供了代码示例,展示了如何使用Keras构建模型预测学生对课程的兴趣。尽管面临数据隐私和模型可解释性等挑战,深度学习仍有望为教育带来更个性化和高效的学习体验。
23 0
|
5天前
|
机器学习/深度学习 数据采集 人工智能
AI在医疗:深度学习在医学影像诊断中的最新进展
【10月更文挑战第26天】近年来,深度学习技术在医学影像诊断中的应用日益广泛,通过训练大量医学影像数据,实现对疾病的准确诊断。例如,卷积神经网络(CNN)已成功用于识别肺癌、乳腺癌等疾病。深度学习不仅提高了诊断准确性,还缩短了诊断时间,提升了患者体验。然而,数据隐私、数据共享和算法透明性等问题仍需解决。未来,AI将在医学影像诊断中发挥更大作用,成为医生的得力助手。
21 0