百度飞桨联合华院计算,保障钢铁制造安全

2023-10-28 03:30

本文主要是介绍百度飞桨联合华院计算,保障钢铁制造安全,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击左上方蓝字关注我们

钢铁制造水平及产量,是经济学家们衡量各国经济实力的一项重要指标。我国作为钢铁制造大国、强国,长期以来都非常重视钢铁制造工艺质量及安全。热轧作为钢铁制造领域一项重要的工艺,也一直受到业界的关注。

钢坯的生产一般需要使用加热炉将钢坯加热到设定温度并传送到下一环节进行轧制(本篇我们所涉及的是热轧)、切边,最终成为钢板。目前大多数加热炉采用的是步进式加热炉,靠炉底或水冷金属梁的上升、前进、下降、后退的动作把料坯一步一步地移送前进的连续加热。

图1:步进式加热炉

当炉门抬起来的时候,步进装置托着钢坯在加热炉内移动,而钢坯何时完全从炉中移动出来是一个非常关键的时刻,因为如果钢坯还没有完全从炉门移出或部分移出就将炉门关闭,就会出现下落的炉门撞击钢坯的情况,造成钢坯或炉门损坏等一系列事故,进而导致停工停产,造成企业巨大的经济损失。图1是整个钢坯出炉的过程图。

图2 钢坯出炉历程

随着技术的发展,人工智能逐渐赋能应用在一线制造业的生产环节中,如何实时检测钢坯的位置来判断钢坯是否完全出炉,对于保障热轧工艺过程中的安全尤为重要。

为了更好的检测钢坯完全出炉,一线工作者做了很多的工作,诸如利用距离传感器来计算钢坯的位置;利用工业/监控+图像处理算法检测钢坯的位置,但是这两种方法都存在一定的不足:

  • 使用激光传感器进行检测:由于炉内温度很高(高达1650℃),对射传感器的安装很容易造成贴近炉内的传感器经受不住高温而失效。并且由于高温的钢坯本身就可以辐射红外光线,很容易造成传感器检测不准,出现误报的情况。

  • 使用传统图像处理算法来检测:利用相机拍摄图片,调用OpenCV函数库进行检测。但是传统的图像处理算子往往依赖于灰度等形态学特征,很难适用于工厂的复杂环境,当工厂的光照条件发生较大的变化时,会较容易出现检测不准确的情况。

基于飞桨高性能实例分割算法

SOLOv2的解决方案

随着计算机视觉技术的发展,传统的制造业逐渐开始拥抱AI,华院计算和某钢厂合作,利用百度飞桨目标检测开发套件PaddleDetection中的高性能实例分割算法SOLOv2来进行钢坯位置检测,取得了非常好的效果。下面这个视频展示的就是该钢厂内的一个实时检测过程。

可以看到,绿色检测框和Mask实时检测出了钢坯的位置、形状,而这些信息指导炉门在正确的时间关闭,从而保障了生产环节安全、顺畅地进行。

而所使用的算法SOLOv2,由于其出色的兼顾了精度和速度,在自动驾驶、机器人抓取控制、医疗影像分割、工业质检和遥感图像分析等领域也被广泛的应用。而飞桨目标检测开发套件PaddleDetection提供的SOLOv2算法又是业界最佳的,它在COCO minival数据集上的mask AP(mAP)达到38.8%,在单张Tesla V100上单卡预测速度达到38.6FPS。相比于原论文,精度提升了2.4%,预测速度提升31.2%。

图3 精度-速度曲线

详细的优化过程及完整的算法源码,请参见:

https://github.com/PaddlePaddle/PaddleDetection/tree/release/2.0-beta/configs/solov2

项目实施历程

  1. 数据集准备

从实际业务线中抓取一定数量的图片,使用Labelme开源标注软件对于图片中的炉门、钢坯、间隙分别进行如图4所示标注。然后将标注后的数据集按照7:3的比例划分为训练集和验证集。

图4 标注示例

  1. 模型训练和优化

采用PaddleDetection提供的solo_v2light_r50_vd_fpn_dcn_512_3x配置文件进行模型的快速训练,最终在测试集上mAP达到90.11,单帧的推理时间低至28ms,对于FPS35的视频实现了实时流畅的推理。

  1. 判别策略

当模型训练完成后,需要编写一些策略判别钢坯是否已经离开加热炉。如图5所示,我们通过SOLOv2给出的钢坯标定,分别计算出钢坯的最左侧(A)和最右侧(B)的角点坐标,连接两点作为分界线,用于区分炉门和辊道区域。当系统发现角点位置落在标定的分界线左侧时,则认为钢坯完全离开炉门,处于安全区域,炉门随之落下。

图5 实现原理

  1. 模型部署

一个工厂里面一般有多个加热炉,那么如何对这些加热炉更好的实现集中管理呢?如图6所示,本项目采用Paddle Serving将模型部署在V100服务器上,然后将多个加热炉检测的摄像头通过网络交换机接到一起,数据回传后,由部署在服务器上的算法进行检测,实现厂区的全局管理。

图6 部署方案

华院计算介绍

华院计算技术(上海)股份有限公司(以下简称:华院计算)成立于2002年,国内创新的数据智能公司。

华院计算以算法研究和创新应用为核心,着力发展认知智能技术,为金融、零售、社会治理、工业制造和医疗教育等行业提供智能化的产品和服务,推动行业智能化的转型和升级。致力于数学应用与计算技术发展,提供底层智能引擎,引领算法自主创新,让世界更智慧。

写到这里,你还不心动嘛!赶紧前往飞桨PaddleDetection项目地址,学习、试用吧!!!记得顺手帮我们点亮Star哦~

GitHub链接: 

https://github.com/PaddlePaddle/PaddleDetection

Gitee链接: 

https://gitee.com/paddlepaddle/PaddleDetection

感兴趣的小伙伴也可以加入SOLOv2技术交流群,与业界开发者一同交流学习。

如在使用过程中有问题,可加入官方QQ群进行交流:778260830。

如果您想详细了解更多飞桨的相关内容,请参阅以下文档。

·飞桨官网地址·

https://www.paddlepaddle.org.cn/

·飞桨开源框架项目地址·

GitHub: https://github.com/PaddlePaddle/Paddle 

Gitee: https://gitee.com/paddlepaddle/Paddle

精彩活动

飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,是中国首个开源开放、技术领先、功能完备的产业级深度学习平台,包括飞桨开源平台和飞桨企业版。飞桨开源平台包含核心框架、基础模型库、端到端开发套件与工具组件,持续开源核心能力,为产业、学术、科研创新提供基础底座。飞桨企业版基于飞桨开源平台,针对企业级需求增强了相应特性,包含零门槛AI开发平台EasyDL和全功能AI开发平台BML。EasyDL主要面向中小企业,提供零门槛、预置丰富网络和模型、便捷高效的开发平台;BML是为大型企业提供的功能全面、可灵活定制和被深度集成的开发平台。

END

这篇关于百度飞桨联合华院计算,保障钢铁制造安全的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/290383

相关文章

Python并行处理实战之如何使用ProcessPoolExecutor加速计算

《Python并行处理实战之如何使用ProcessPoolExecutor加速计算》Python提供了多种并行处理的方式,其中concurrent.futures模块的ProcessPoolExecu... 目录简介完整代码示例代码解释1. 导入必要的模块2. 定义处理函数3. 主函数4. 生成数字列表5.

Java中常见队列举例详解(非线程安全)

《Java中常见队列举例详解(非线程安全)》队列用于模拟队列这种数据结构,队列通常是指先进先出的容器,:本文主要介绍Java中常见队列(非线程安全)的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一.队列定义 二.常见接口 三.常见实现类3.1 ArrayDeque3.1.1 实现原理3.1.2

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

windows和Linux使用命令行计算文件的MD5值

《windows和Linux使用命令行计算文件的MD5值》在Windows和Linux系统中,您可以使用命令行(终端或命令提示符)来计算文件的MD5值,文章介绍了在Windows和Linux/macO... 目录在Windows上:在linux或MACOS上:总结在Windows上:可以使用certuti

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

浅析Rust多线程中如何安全的使用变量

《浅析Rust多线程中如何安全的使用变量》这篇文章主要为大家详细介绍了Rust如何在线程的闭包中安全的使用变量,包括共享变量和修改变量,文中的示例代码讲解详细,有需要的小伙伴可以参考下... 目录1. 向线程传递变量2. 多线程共享变量引用3. 多线程中修改变量4. 总结在Rust语言中,一个既引人入胜又可

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如