isfile方法_【光电视界】机器视觉模式识别方法研究

今日光电

       有人说,20世纪是电的世纪,21世纪是光的世纪;知光解电,再小的个体都可以被赋能。欢迎来到今日光电!


1b9c48213d266e4538d48a68c3e3d3c6.png

----与智者为伍 为创新赋能---- 机器视觉模式研究是机器人研发重要的组成部分,主要用于机器人物体识别、目标定位、行走避障等。使机器能够像人眼一样感知事物,是机器视觉研究追求的目标。通过深度学习方法可以使机器人很好地感知物体,通过自主学习实现机器人对物体的识别。本文采 用 OpenCV 框架实现摄像头捕捉、视频流捕捉、视频流帧的截取,实现帧的存储, 用 C 语言编程实现客户端图像采集;采用 Socket 传输协议,实现图像传输,图像从客户端传到服务器端进行图像识别;通过卷积神经网络实现图像识别模型建模,采用 Caffe 框架,通过 Python 语言,编写图像识别程序,将识别的结果从服务器传送到客户端(机器人)。深度学习不同于传统的机器视觉图像识别方法,通过人工智能深度学习方法可以提高图像识别的效率和精度,提升机器自主学习认知能力,扩大认知边界。

1. 机器视觉图像处理

机器视觉模式识别技术涉及机器学习、深度学习、人工神经网络、机器视觉方法等多领域、多学科的交叉综合技术。 机器视觉首先需要进行图像预处理,对于采集到的图像,受到各种因素的影响,往往会出现噪声、几何形变、色彩失调等,对于图像识别增加很大难度,所以一般需要对采集到的图像进行一些预处理,如去除噪声、几何校正、图像尺寸统一、增加清晰度等。 采用机器学习处理图像可以节省大量的人工图像处理和繁琐的算法,通过深度学习卷积神经网络网络结构、池化层、隐层的算法可以很好地解决噪声、图像偏离度等问题,通过反复迭代机器学习进行不断的修正,可以提取最有效的图像特征。 为了将识别对象与背景剥离,可以通过图像分割技术将目标对象按照要求分离,聚焦识别对象,将每个对象抠图分离,进行标签标注,对每个对象进行精准识别。

2. 机器视觉总体架构

机器视觉采用 C/S(Client-Server)结构,如图 1 所示。因为图像识别涉及大量计算,机器人空间有限,难以放置大型计算机设备,所以采用 C/S 结构可以有效地解决这个问题,通过后台进行高性能计算或者采用云计算,提高计算性能和计算速度。系统架构组成部分包括:图像感知端、视频图像采集端、图像传输子系统、服务器端、图像识别子系统以及模型训练生成平台。

c2222ecc37d2b17e61f48730b149f6bf.png

3. 机器视觉图像采集方法

机器视觉图像采集采用 OpenCV 框架,首先实现机器人机器视觉摄像头捕捉,捕捉到机器人自身的摄像头后,获取摄像头的图像,从摄像头获取的视频图像,服务器端识别到的是一幅图像,所以要将视频图像分解成帧,按帧存储。一段视频图像一秒产生几十帧图像,如果不对机器人摄取的视频图像加以限制,硬盘很快就存满了。所以需要通过程序实现只存储当前最后一帧图像,同时需要保证从客户端传给服务器的图像是当前最新的实时图像。采用 OpenCV 框架,用C 语言编程实现客户端摄像头捕捉、视频流捕捉、视频流帧的截取和帧的存储。

4. 机器人机器视觉图像传输方法

客户端采集图像完成后需要第一时间将当前的图像发给服务器,服务器对接收到的图像进行动态实时识别。为了保证传输的图像完整性,我们需要对图像文件格式进行分析,研究图像文件编码规则、像素存储方式等,重点是找到文件头和文件尾标识,这样才能决定什么时候开始传输图像文件,什么时候图像文件传输结束,通知服务器开始图像识别。采用 Socket 传输协议,实现客户端与服务器通讯。

5. 机器视觉图像识别方法

5.1 机器视觉图像识别模型构建

采用深度学习,通过 CNN(卷积神经网络)构建图像识别模型,采用 Caffe 框架进行模型架构设计和模型训练。设计卷积神经网络结构:5 层卷积层、2 层池化层、1 层全连接层。将学习率设置为 1,basic decay 设置为 1,stride 设置为 4,weight filler 类型设置为 Gaussian。采用最优的算法避免过拟合,提高识别精度。

5.2 图像识别模型训练

机器视觉图像识别首先要建立图像识别模型,我们采用深度学习卷积神经网络进行模型训练。模型训练之前首先需要采集训练图像数据,将训练图像数据分为训练集、测试集、验证集,编写训练数据采集程序,将采集的数据存储到相应的训练集、测试集、验证集中,编写打标签程序,为训练集的图像、测试集的图像、验证集的图像打上相应的标签,用于区分训练图像、测试图像、验证图像,然后将训练数据的类型转化为 Caffe 框架所能识别的数据类型。模型训练的过程就是将训练图像与测试图像进行比对,通过深度学习不断地迭代,通过调参,找到最优化的模型训练参数,直到图像识别模型达到满意的精度。 使用验证集的图像对模型识别效果进行验证,如果模型的识别率接近 100%,达到我们所能接受的精度,模型训练就可以结束了,训练的模型可以用于机器视觉图像识别。 5.3 模式识别 在服务器端完成模式识别,使用从客户端传送过来的实时图像,从服务器中取出最近的一幅图像进行图像识别。首先调用 Caffe 框架,然后读取服务器上存储的被识别的图像。用 Python 语言编写图像识别程序调用图像,调用训练好的模型,用于识别图像,调用模型程序如下:os.path.isfile('/deepgit/caffe/examples/myfile1/mycaffe/

caffemodel')

配置模型参数,例如卷积神经网络的权重、学习率、学习步长、测试集大小、迭代次数等。经过多层的卷积层、池化层进行图像处理和特征提取,最后通过全连接层图像整合,经过分类算法计算出相似度概率,取概率值最高的图像类别作为识别结果,将识别结果码发送到客户端。如图 2 ~图 4 所示,卷积层主要用来提取图像特征,池化层起到了降维、减少计算复杂度、加强平移不变性和旋转不变性的作用,归一化层可以防止梯度消失和梯度爆炸。

bb4703859790194ca9e2055bba1621b5.png

3dcd45af8e64158276495a3cb8101a83.png

c15ffe1617b1befc5a7d831ee0dab638.png

6 讨论

在图像采集过程中,摄像头的像素对图像识别精度影响很大,摄像头像素太低,将增加图像识别难度。图像传输过程中客户端和服务器的握手很重要,图像传输需要找到图像文件头和图像文件尾,图像传输结束时需要通知客户端。模型调优以下内容很重要,学习率如果太小容易产生局部最优,如果学习率太大,识别精度会降低,学习步长太短,迭代时间太长,学习步长太长,可能会跨过最优点,调整步长是参数调优非常重要的步骤;正确选择激活函数可以提高模型训练速度,有助于稀疏数据的精度提升;增加 Dropout 可以减少过拟合。

7 结论

机器视觉模式的架构非常重要,选择模式识别的方法也很重要,本文采用了客户机采集图像数据,服务器进行图像识别的架构,可以加强运算速度和能力,加强图像处理速度。模式识别采用深度机器学习,卷积神经网络作为机器视觉的图像识别方法,可以有效地解决机器视觉模型构件困难,机器视觉识别精度问题,通过机器自主学习,通过反复迭代和调参,构建一个满足精度要求的图像识别模型。 论文来源 :机器视觉模式识别方法研究     陆红

5c6c482e7bcdf62bac399ab0396b4c9e.png

申明:原创不易希望大家积极点赞、转发扩散。

 1b9c48213d266e4538d48a68c3e3d3c6.png

----与智者为伍 为创新赋能----

【说明】欢迎企业和个人洽谈合作,投稿发文。欢迎联系我们 诚招运营合伙人 ,对新媒体感兴趣,对光电产业和行业感兴趣。非常有意者通过以下方式联我们!条件待遇面谈 366994a6d36b8cad2f3b150366c26cb5.png 1a439f8515ee5ffbc70984ce077729a1.png 投稿丨合作丨咨询

联系邮箱:598204634@qq.com

QQ:598204634

微信:13998212910

cbdfd7cfb9435b6bb2f9afc23a5bb6fa.png

欢迎关注以下公众号了解光电测控相关

9a811b42f342be1ca1a09efdc8db7087.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值