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 以利用更多的预先训练和优化的模型。

审核编辑:汤梓红

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

    关注

    61

    文章

    10322

    浏览量

    181089
  • 算法
    +关注

    关注

    23

    文章

    4805

    浏览量

    98561
  • AI
    AI
    +关注

    关注

    91

    文章

    41115

    浏览量

    302608
  • 人工智能
    +关注

    关注

    1820

    文章

    50325

    浏览量

    266967

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    引领AI图像识别+营养分析技术!涂鸦AI食物秤方案,端云协同可分析30万种食物

    近两年,中国牌AI食物秤彻底火了,一些品牌单品在亚马逊月销量突破2万台,长期霸榜厨房用品类前三名。在AIIPC与精密传感技术的助力下,AI食物秤不仅能通过AI算法自动识别食材、精准称重,还可同步分析
    的头像 发表于 11-07 18:32 1075次阅读
    引领AI图像识别+营养分析技术!涂鸦AI<b class='flag-5'>食物</b>秤方案,端云协同可分析30万种<b class='flag-5'>食物</b>

    能耗管理系统的预警功能:提前规避能源浪费风险

    能耗管理系统的预警功能:提前规避能源浪费风险 在能源成本持续攀升与绿色发展理念深化的背景下,企业与建筑的能源浪费问题已成为降本增效的关键阻碍。而能耗管理系统的预警功能,如同 “防患于未然” 的智能
    的头像 发表于 11-07 11:14 414次阅读

    采用磁编的印刷驱动系统提升动态响应,减少套印误差与材料浪费

    在印刷工业中,套印精度和动态响应速度是衡量设备性能的核心指标。传统的光电编码器由于易受环境干扰、分辨率有限等问题,逐渐难以满足高精度印刷的需求。近年来,采用磁性编码器IC(磁编)的印刷驱动系统凭借其抗污染、高分辨率和强鲁棒性特性,正在成为提升印刷质量、降低材料浪费的关键技术解决方案。
    的头像 发表于 08-13 17:11 809次阅读

    无法在NPU上推理OpenVINO™优化的 TinyLlama 模型怎么解决?

    在 NPU 上推断 OpenVINO™优化的 TinyLlama 模型。 遇到的错误: get_shape was called on a descriptor::Tensor with dynamic shape
    发表于 07-11 06:58

    无法将Tensorflow Lite模型转换为OpenVINO™格式怎么处理?

    将 Tensorflow Lite 模型转换为 OpenVINO™ 格式。 遇到的错误: FrontEnd API failed with OpConversionFailure:No translator found for TFLite_Detection_PostProcess node.
    发表于 06-25 08:27

    请问OpenVINO™ 是否支持 Rust 绑定?

    无法确定OpenVINO™是否支持 Rust 绑定。
    发表于 06-25 07:45

    无法运行Whisper Asr GenAI OpenVINO™ Notebook怎么解决?

    冉小 声说-asr-genai OpenVINO™笔记本。 遇到的错误: Port for tensor name cache_position was not found.
    发表于 06-25 07:41

    请问如何优化OpenVINO™工具套件中的内存使用?

    运行OpenVINO™推断时找不到优化内存使用情况的方法。
    发表于 06-25 06:56

    请问Openvino是否支持 Risc-V (riscv64) 架构?

    在spacemit k1型板(bpi-f3)上编译OpenVINO™,但失败。 使用 riscv64 构建OpenVINO™并崩溃。
    发表于 06-24 07:26

    请问如何通过OpenVINO™加速启用稳定的扩散 Web UI?

    无法运行具有OpenVINO™加速的稳定扩散 Web UI。
    发表于 06-24 06:48

    使用Openvino™ GenAI运行Sdxl Turbo模型时遇到错误怎么解决?

    使用 OpenVINO™ GenAI 运行 SDXL Turbo 模型。 遇到的错误: RuntimeError :- Check ov_tokenizer || ov_detokenizer Neither tokenizer nor detokenizer models were provided
    发表于 06-24 06:38

    无法将Openvino™ 2025.0与onnx运行时Openvino™ 执行提供程序 1.16.2 结合使用,怎么处理?

    使用OpenVINO™与英特尔 i5-8500 CPU 和超核处理器 630 iGPU 一起部署模型。 使用了 Microsoft.ML.OnnxRuntime.OpenVino
    发表于 06-24 06:31

    为什么无法通过“pip install openvino-dev==2025.0.0”安装 2025.0 OpenVINO™?

    通过“pip install openvino-dev==2025.0.0OpenVINO™ 2025.0 安装。 收到的错误: ERROR: No matching distribution found for openvino
    发表于 06-23 08:13

    天合光能入选2025年商业向善创新案例

    近日,以“善筑家风 益启新局”为主题的中华慈善总会2025年善家传承交流会在江苏无锡市召开。天合光能凭借牧光互补等“光伏+”模式入选2025年商业向善创新案例。
    的头像 发表于 05-29 09:15 1213次阅读

    OpenVINO C#如何运行YOLO11实例分割模型

    代码是我在OpenVINO-CSharp-API作者开源的YOLOv8对象检测的代码基础上修改而成。
    的头像 发表于 04-29 09:30 2231次阅读
    <b class='flag-5'>OpenVINO</b> C#如何运行YOLO11实例分割模型