0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用OpenVINO™减少食物浪费,践行科技向善

英特尔物联网 来源:英特尔物联网 作者:Anisha Udayakumar 2022-12-16 14:03 次阅读

作者:Anisha Udayakumar 翻译:张晶

项目背景

你是否知道每年大约有2300亿美元的食物被浪费,其中高达五分之一属于可食用农产品?我们都在自己的家中经历过某种类型的食物浪费,但最大量的浪费发生在杂货店的新鲜食品和农产品区。

长期以来,这么多的食物浪费一直是我关心的问题!在加入英特尔之前,我是一名创新顾问,与多家全球零售客户合作改善运营和客户满意度,那时是我第一次注意到商店里浪费了大量的新鲜食物的时候。基于这样一个事实,与预先包装的食品不同,新鲜农产品没有保质期——这使得预测它何时变质变得极其困难。

由于,使用人工智能等技术让可持续发展成为主流一直是我的梦想,我知道零售商必须有更好的方法来解决这个问题并减少新鲜农产品的浪费,所以,我建立了一个计算机视觉人工智能模型,可以确定农产品的新鲜度,比如西红柿或香蕉等。但是,让 AI 模型实时工作是一个挑战,我意识到提高模型性能对于部署和大规模应用至关重要。

在这篇文章中,我将展示如何使用 OpenVINO工具套件来优化模型和加速人工智能推理计算。

构建模型

通过使用摄像头来监控杂货店的货架,并使用目标检测和识别技术扫描其货物的图像。本文中我使用了一个AI 模型准确识别出农产品区的每一件商品

通过打上标签的图像,目标检测和识别算法能够确定产品是新鲜、损坏还是即将变质。有了这些信息,我们就可以设置自动警报,通知商店经理和零售商是否需要更换产品或需要降价——减少需要丢弃的产品数量。

OpenVINO助力实时推理计算

我的新鲜度识别模型可以分析单件新鲜农产品的图像,如上图所示。为了在现实场景中发挥作用,它必须能够非常快速地区分和标记大型货架上的每一件农产品。

为了构建模型,我使用了 Open Model Zoo 中的 SSDLite MobileNetV2 模型,详情请参考这个 Jupyter notebook 中描述的目标检测和识别程序。

Open Model Zoo github地址:

https://github.com/openvinotoolkit/open_model_zoo/

SSDLite MobileNetV2 地址:

https://github.com/openvinotoolkit/open_model_zoo/tree/master/models/public/ssdlite_mobilenet_v2

Jupyter notebook 地址:

https://github.com/openvinotoolkit/openvino_notebooks/blob/main/notebooks/401-object-detection-webcam/401-object-detection.ipynb

虽然我将该程序用于解决食物浪费问题,但它并不局限于解决食物浪费问题。开发者可以很容易地按照详细的源码将其应用到自己的目标检测场景中。

正如我已经提到的,虽然我最初的目标检测模型是准确的,但它检测速度太慢了。一开始,我尝试对模型进行微调,甚至切换到了另一个模型,但这并没有是性能得到很大改善,于是我转向了 OpenVINO,它帮我将推理时间从10秒缩短到了1.5秒

使用OpenVINO的另一个好处是,使模型移植性更好。我的新鲜度检测模型是基于 TensorFlow 构建的,我也可以使用其他框架,如PyTorch、Caffe或PaddlePaddle,并在各种不同的硬件上运行我的模型,如下图所示。

4708635c-7c67-11ed-8abf-dac502259ad0.png

如果你想自己尝试这个方法,这里有两个建议:

1. 首先,正如下面的代码片段所示,使用OpenVINO您只需要六行代码来加载和初始化OpenVINO运行时,并针对指定的硬件编译您的模型,然后将图像数据传递给模型并得到推理结果!

2. 你真正想记住的另一件事是“device_name”部分。OpenVINO让您可以灵活地在许多可能的设备(CPU、集成显卡、独立显卡乃至 FPGA)中选择最符合您的设计性能(吞吐量和时延)目标的推理计算设备。

from openvino.runtime import Core
img = load_img ()
core = Core()
compiled_model = core.compile_model(model=model, device_name=”CPU”)
output_layer = compiled_model.output[0]
results = compiled_model([input_img])[output_layer]

向右滑动查看完整代码

下一步是什么

正如你所看到的,为人工智能应用程序构建软件并不难。真正的诀窍是让它们实时工作。OpenVINO改进了我的人工智能模型的性能,并使我的食物浪费减少应用程序成为现实。

总结一下这个项目中最重要的两个经验:

1. 由于 OpenVINO适用于所有通用框架,所以您可以只需用几行代码来优化现有的模型。

2. 我在这篇文章中介绍的模型不仅仅可用于减少食物浪费,还可以解决 AI 开发者每天面临的许多类似问题。

要了解更多关于如何开始用 AI 和 OpenVINO解决现实世界的问题,请查看英特尔人工智能开发者学习之旅以获得更多的演练和教程,并访问 Open Model Zoo 以利用更多的预先训练和优化的模型。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英特尔
    +关注

    关注

    60

    文章

    9430

    浏览量

    169000
  • 算法
    +关注

    关注

    23

    文章

    4459

    浏览量

    90811
  • AI
    AI
    +关注

    关注

    87

    文章

    26486

    浏览量

    264136
  • 人工智能
    +关注

    关注

    1777

    文章

    43920

    浏览量

    230806

原文标题:用OpenVINO™减少食物浪费,践行科技向善

文章出处:【微信号:英特尔物联网,微信公众号:英特尔物联网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何快速下载OpenVINO Notebooks中的AI大模型

    OpenVINO Notebooks是Jupyter Notebook形式的OpenVINO范例程序大集合,方便开发者快速学习并掌握OpenVINO推理程序,并通过Copy&Paste方式将范例中的关键程序应用到自己的AI软件中
    的头像 发表于 12-12 14:40 658次阅读
    如何快速下载<b class='flag-5'>OpenVINO</b> Notebooks中的AI大模型

    NNCF压缩与量化YOLOv8模型与OpenVINO部署测试

    OpenVINO2023版本衍生出了一个新支持工具包NNCF(Neural Network Compression Framework – 神经网络压缩框架),通过对OpenVINO IR格式模型的压缩与量化更好的提升模型在OpenVI
    的头像 发表于 11-20 10:46 904次阅读
    NNCF压缩与量化YOLOv8模型与<b class='flag-5'>OpenVINO</b>部署测试

    OpenVINO™ C# API详解与演示

    OpenVINO C# API 支持 NuGet 程序包安装方式,这与 OpenVINO C++ 库的安装过程相比,更加简单。如果使用 Visual Studio 开发 AI 项目,则可以通过 NuGet 程序包管理功能直接安装即可
    的头像 发表于 10-13 16:39 398次阅读
    <b class='flag-5'>OpenVINO</b>™  C# API详解与演示

    OpenVINO场景文字检测与文字识别教程

    OpenVINO是英特尔推出的深度学习模型部署框架,当前最新版本是OpenVINO2023版本。OpenVINO2023自带各种常见视觉任务支持的预训练模型库Model Zoo,其中支持场景文字检测
    的头像 发表于 09-24 15:31 746次阅读
    <b class='flag-5'>OpenVINO</b>场景文字检测与文字识别教程

    如何正确安装OpenVINO并将其与所需依赖关系链接?

    在 Windows 10 中安装OpenVINO 2019.3 在 Windows 路径中设置:C:\\Program Files (x86)\\Intel
    发表于 08-15 08:29

    在Raspberry Pi上从源代码构建OpenVINO 2021.3收到错误怎么解决?

    在 Raspberry Pi 上从源代码构建 OpenVINO™2021.3。 运行OpenVINO™推理,并收到错误消息: ModuleNotFoundError:没有
    发表于 08-15 08:24

    OpenVINO工具套件是否可以商业化使用?

    参阅 英特尔® OpenVINO™分销许可第 2.1 节(2021 年 5 月版本)。 无法了解英特尔® 发行版 OpenVINO™ 工具套件是否可以商业化使用。
    发表于 08-15 08:19

    为什么无法使用PyPI安装OpenVINO trade开发工具2022.1版本?

    已安装OpenVINO™开发工具 2022.1 版,采用 PyPI: pip install openvino-dev==2022.1.0 遇到错误消息: ERROR: \"Could
    发表于 08-15 07:58

    运行任何OpenVINO Python演示和示例时报错怎么解决?

    运行任何OpenVINO™ Python 演示和示例时,会出现错误: FileNotFoundEror:[WinError 2]。
    发表于 08-15 07:21

    永久设置OpenVINO trade Windows reg10的工具套件环境变量

    您可以在 Windows® 10 中手动设置OpenVINO™环境变量。在 Windows® 10 系统中,转到 >系统和安全>系统>高级系统设置&
    发表于 08-15 07:18

    如何在VS2019的背景下设置OpenVINO环境?

    尝试在 VS2019 中运行OpenVINO™样本 遇到错误:没有名称为“openvino”的模块
    发表于 08-15 07:16

    如何使用Python包装器正确构建OpenVINO工具套件

    ../src/bindings/python/src/compatibility/openvino/requirements-dev.txt 注意在下面的 CMake 命令行中,您的 Python* 版本
    发表于 08-15 07:13

    OpenVINO工具套件Attribute Error,Graph对象没有属性node怎么解决?

    \"/opt/intel/openvino_2019.3.334/deployment_tools/model_optimizer/mo/main.py\", line 302
    发表于 08-15 06:56

    无法在OpenVINO工具套件中使用ENetwork.层怎么解决?

    OpenVINO™ 工具套件 2021.4 中使用 IENetwork.层 。 收到错误:openvino.inference_engine.ie_api。IENetwork 对象没有属性“层”
    发表于 08-15 06:41

    使用OpenVINO trade 2021版运行Face_recognition_demo时报错怎么解决?

    可能的错误包括: face_recognition_demo与 OpenVINO™ 2021 版本的推断错误: Error:ImportError:DLL load failed while
    发表于 08-15 06:20