百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

超维技术论坛丨深度学习在巡检机器人中的应用

bigegpt 2024-08-02 10:48 5 浏览

引言

“深度学习”是我们在接触“巡检机器人”时经常遇到的一个技术名词,本文将由超维科技首席算法专家蒋伟博士为大家阐释“深度学习”在巡检机器人中的应用。

1 概述

深度学习 ( Deep Learning,DL ) 是机器学习的一种,其算法基于对数据进行表征学习,能够发现大数据中的复杂结构,利用反向传播指导机器如何从前一层网络计算表征,从而改变每一层的内部参数。深度学习的目的是让机器人(Robotics) 具有与人一样的分析学习能力, 因其能够增强机器人的感知、决策与控制能力。

具体到超维智能巡检机器人,主要涉及了目标检测、目标分类、特征匹配算法。综合利用上述算法模型,使超维智能巡检机器人能够准确感知服务器机柜上的报警指示灯和设备的状态信息,同时,根据不同模型的组合,也能将超维智能巡检机器人应用于配电房服务器,检测配电柜上的旋钮开关、压板开关、led、lcd等部件的位置和状态信息。

下面分别对各个模型进行详细介绍。

2 目标检测模型

目标检测的基本任务是需要判别图片中被检测的目标类别, 同时需要使用矩形边界框来确立目标的所在位置及大小,并给出相应的置信度。作为计算机视觉领域的一个基本问题,目标检测也是许多计算机视觉任务如图像分割、目标追踪、图像描述的基础。

目前主流的深度学习目标检测算法有两类,一类是基于区域建议的双阶段目标检测算法,如 R-CNN、SPP-Net、FastR-CNN、Faster R-CNN、FPN、Mask R-CNN等,另一类是基于回归分析的单阶段目标检测算法, 如YOLO系列、SSD系列、 RetinaNet等。2类的基本架构图下图所示:

来百度APP畅享高清图片

(a) 双阶段目标检测算法

(b)单阶段目标检测算法

双阶段目标检测算法发展迅速, 检测精度也在不断提高, 但是自身体系结构的问题限制了检测速度.单阶段目标检测算法与双阶段目标检测算法最大的不同之处在于前者没有候选区域推荐阶段, 训练过程也相对简单, 可以在一个阶段直接确定目标类别并得到位置检测框。

考虑到现场部署的算力和检测速度,超维科技采用单阶段目标检测算法YOLO v5。YOLO系列从v1~v5,已经发展了5代,最新的版本为YOLOv5 6.0版本。YOLO v5可以说是目标检测目前各种增强数据的集大成者,包括在输入端采用Mosaic数据增强、自适应锚框计算,自适应图片缩放,在主干网络,采用focus结构和CSP结构,在Neck部分,采用FPN+PAN的结构,在训练时,采用GIOU_Loss等。

超维科技在YOLOv5的基础上,为了适应服务器机房指示灯的小目标模型,采用了以下技术,对模型进行了改进,有效提高了目标的检测精度。

(1)修改模型的neck, 将当前的PAN-Net替换为bi-FPN,以提取图像的细节信息。

(2)采用分图的方法进行检测。检测时,将一张图分为9张图,每2张图的重叠区域为10个像素,这样做是防止一个目标被分为二个目标检测。9张图做完检测后,进行非极大值抑制,去除重叠的检测框,得到一张图的检测结果。

(3)采用2张照片将进行检测,一张为长曝光,一个为短曝光。将2张照片按照方法(2)进行检测,最后再做一次非极大值抑制,得到最终的灯检测结果。

(4)采用α-IOU技术,对原来的YOLO v5的IOU 损失函数进行改进,增强小目标的损失权重,降低因区域重叠而漏检的概率。

(5)将主干网络的第四层输出的特征图与金字塔特征提取网络的特征图相结合,输出为P2检测头,这样就提高了模型对图像检测的分辨率,增强了模型对细微特征纹理的提取,减少了小目标的漏检。

经过对YOLO v5的改进,针对指示灯小目标的检测精度在97%以上。

3 目标分类模型

图像分类任务是计算机视觉中的核心任务,其目标是根据图像信息中所反映的不同特征,把不同类别的图像区分开来。从已知的类别标签集合中为给定的输入图片选定一个类别标签。图像分类模型在巡检任务中主要应用于目标的状态分类。在经过目标检测模型后,检测到的目标截图输入目标分类模型,实现目标状态的分类。例如识别指示灯的颜色,开关的状态,旋钮开关的挡位等。经典的基于深度学习的图像分类方法有AlexNet,VGG,GoogLeNet,ResNet等,这些模型的模型深度较少,泛化能力较弱。

针对现场视角、光照、尺度、遮挡、形变、背景杂波、类内形变、运动模糊、类别繁多等问题,超维科技采用CSWinTransformer模型实现图像的分类。CSWin Transformer是2021年提出的基于Transformer的图像分类模型。相比于传统的卷积神经网络,Transformer 学到的更多的是特征彼此之间的相互关系,普适性更好,不完全依赖于数据本身;Transformer关注的不仅仅是局部信息,有一个从局部到全局这样的一个扩散的机制去寻找更合适的特征表达。

而CSWinTransformer采用十字形状的自注意力机制,能够在水平和垂直两个方向上同时计算注意力权重。除此之外,CSWin Transformer还采用一种局部增强的位置编码,相比于以前的位置编码,位置编码有两个好处:

(1)能够适应不同大小的输入特征;

(2)具有更强的局部假设偏置。采用CSWin Transformer的另一个原因是相对于其他的基于Transformer的图像分类模型,由于采用十字形状的自注意力机制,模型的参数量和计算量较小。模型的架构如下所示:

采用该目标分类模型,在不同的光照和角度下,颜色误分率在1%以内,能满足现场巡检的需求。

4 特征匹配

特征匹配是指将两幅图像具有相同或者相似属性的内容或结构进行像素上的识别与对齐。一般而言,待匹配的图像通常取自相同或相似的场景或目标,或者具有相同形状或语义信息的其他类型的图像对,从而具有一定的可匹配性。特征匹配在巡检任务中,主要功能是通过巡检照和基准照的匹配,确定每个小指示灯的ID,明确每个小指示灯的功能。当服务器指示灯产生报警信号时,通过每个指示灯的ID,能够快速获得报警信息。

经典的特征匹配算法是SIFT 算法和 ORB,但SIFT 算法是对图像进行全局的特征点检测耗时较长,造成算法的运行速度慢,达不到令人满意的匹配效果。ORB 算法的运行速度较快,但是因为其描述子不具有尺度不变性,所以匹配效果不理想。因此我们采用 SuperPoint 提取图像特征,采用2020年提出的 SuperGlue 特征匹配算法匹配服务器小指示灯。

模型的整体架构如下图所示:

(a) SuperPoint提取图像的特征点



基于SuperPoint和SuperGlue的匹配算法在现场测试中,匹配准确率在98%以上。

作者简介

蒋伟,超维科技首席算法专家,天津大学自动化专业博士。读博期间主要从事流量计的研究工作,发表2篇SCI,1篇发明专利。工作期间研究过惯导,语音识别算法,目前主要从事基于深度学习的目标检测、追踪、分割等算法研究和应用,拥有7项专利。

相关推荐

得物可观测平台架构升级:基于GreptimeDB的全新监控体系实践

一、摘要在前端可观测分析场景中,需要实时观测并处理多地、多环境的运行情况,以保障Web应用和移动端的可用性与性能。传统方案往往依赖代理Agent→消息队列→流计算引擎→OLAP存储...

warm-flow新春版:网关直连和流程图重构

本期主要解决了网关直连和流程图重构,可以自此之后可支持各种复杂的网关混合、多网关直连使用。-新增Ruoyi-Vue-Plus优秀开源集成案例更新日志[feat]导入、导出和保存等新增json格式支持...

扣子空间体验报告

在数字化时代,智能工具的应用正不断拓展到我们工作和生活的各个角落。从任务规划到项目执行,再到任务管理,作者深入探讨了这款工具在不同场景下的表现和潜力。通过具体的应用实例,文章展示了扣子空间如何帮助用户...

spider-flow:开源的可视化方式定义爬虫方案

spider-flow简介spider-flow是一个爬虫平台,以可视化推拽方式定义爬取流程,无需代码即可实现一个爬虫服务。spider-flow特性支持css选择器、正则提取支持JSON/XML格式...

solon-flow 你好世界!

solon-flow是一个基础级的流处理引擎(可用于业务规则、决策处理、计算编排、流程审批等......)。提供有“开放式”驱动定制支持,像jdbc有mysql或pgsql等驱动,可...

新一代开源爬虫平台:SpiderFlow

SpiderFlow:新一代爬虫平台,以图形化方式定义爬虫流程,不写代码即可完成爬虫。-精选真开源,释放新价值。概览Spider-Flow是一个开源的、面向所有用户的Web端爬虫构建平台,它使用Ja...

通过 SQL 训练机器学习模型的引擎

关注薪资待遇的同学应该知道,机器学习相关的岗位工资普遍偏高啊。同时随着各种通用机器学习框架的出现,机器学习的门槛也在逐渐降低,训练一个简单的机器学习模型变得不那么难。但是不得不承认对于一些数据相关的工...

鼠须管输入法rime for Mac

鼠须管输入法forMac是一款十分新颖的跨平台输入法软件,全名是中州韵输入法引擎,鼠须管输入法mac版不仅仅是一个输入法,而是一个输入法算法框架。Rime的基础架构十分精良,一套算法支持了拼音、...

Go语言 1.20 版本正式发布:新版详细介绍

Go1.20简介最新的Go版本1.20在Go1.19发布六个月后发布。它的大部分更改都在工具链、运行时和库的实现中。一如既往,该版本保持了Go1的兼容性承诺。我们期望几乎所...

iOS 10平台SpriteKit新特性之Tile Maps(上)

简介苹果公司在WWDC2016大会上向人们展示了一大批新的好东西。其中之一就是SpriteKitTileEditor。这款工具易于上手,而且看起来速度特别快。在本教程中,你将了解关于TileE...

程序员简历例句—范例Java、Python、C++模板

个人简介通用简介:有良好的代码风格,通过添加注释提高代码可读性,注重代码质量,研读过XXX,XXX等多个开源项目源码从而学习增强代码的健壮性与扩展性。具备良好的代码编程习惯及文档编写能力,参与多个高...

Telerik UI for iOS Q3 2015正式发布

近日,TelerikUIforiOS正式发布了Q32015。新版本新增对XCode7、Swift2.0和iOS9的支持,同时还新增了对数轴、不连续的日期时间轴等;改进TKDataPoin...

ios使用ijkplayer+nginx进行视频直播

上两节,我们讲到使用nginx和ngixn的rtmp模块搭建直播的服务器,接着我们讲解了在Android使用ijkplayer来作为我们的视频直播播放器,整个过程中,需要注意的就是ijlplayer编...

IOS技术分享|iOS快速生成开发文档(一)

前言对于开发人员而言,文档的作用不言而喻。文档不仅可以提高软件开发效率,还能便于以后的软件开发、使用和维护。本文主要讲述Objective-C快速生成开发文档工具appledoc。简介apple...

macOS下配置VS Code C++开发环境

本文介绍在苹果macOS操作系统下,配置VisualStudioCode的C/C++开发环境的过程,本环境使用Clang/LLVM编译器和调试器。一、前置条件本文默认前置条件是,您的开发设备已...