版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Mask-RCNN的螺栓检测方法分析案例目录TOC\o"1-3"\h\u10025基于Mask-RCNN的螺栓检测方法分析案例 1114361.1Mask-RCNN算法步骤 1109911.2实验环境配置 131901.3数据集的建立 5309411.4实验结果与分析 91.1Mask-RCNN算法步骤(1)准备所需的螺栓图片;(2)使用Labelme制作数据集,将图片中的螺栓与螺栓凹槽进行标注;(3)标注完成后将jpg图片文件和json标签文件放在统一文件夹中;(4)运行生成数据集相关程序生成算法训练数据集文件夹;(5)修改相关程序中自己要分的类、NUM_CLASS等于自己要分的类的数量加1、权重改为自己训练权重后,分别依次运行;(6)运行预测程序,将含有图片的文件夹里的图片路径复制到输出框;(7)得到结果。1.2实验环境配置从Anaconda官方下载并安装Anaconda3,如图1.1所示。Anaconda因为安装方便、容易获取、对其内含的大量安装包(如:Python、TensorFlow等)进行统一管理,方便删除和安装等优势,被广泛使用。图1.1Anaconda官网下载安装完成后会有如图1.2所示界面Anaconda环境下命令提示符软件界面Anaconda环境下命令提示符软件界面图1.2软件图标打开AnacondaPrompt,检查Anaconda是否安装成功,如图1.3所示。图1.3检查命令输入Python版本检查指令查看目前可以安装的版本,然后创建一个名为tensorflow的conda环境,如图1.4所示。图1.4创建conda环境输入相关指令激活和安装tensorflow环境。安装成功后,查看目前安装了哪些环境,确保名叫tensorflow的环境已经被成功添加,如图1.5所示。打开AnacondaNavigator图形管理界面,看到环境选项有tensorflow即安装完成。图1.5检查tensorflow按照Keras官网指示,在conda环境下安装Keras。Keras是完全用Python语言编程而成,能运行与TensorFlow之上。Keras是一个类似于拼图一样的模型,它自身有一定数量的库(例如网络层、损失函数、优化器、初始化策略、激活函数、正则化方法),在一定条件下(满足试验可以接受的误差),可以将实验中所需要的库相互组合或者增加或者以原有库为范例自己编写新的函数。安装完成,可在图形管理界面搜索到已安装的Keras进行验证,如图1.6所示。图1.6检查kerasPycharm安装到官网下载community版(免费版本),如图1.7所示。图1.7Pycharm官网在tensorflow环境下进行OpenCV安装,安装完成后打开Pycharm,新建一个pythonfile,输入如图1.8所示中程序。图1.8编写检查程序其中画圈处为自己所选图片存放位置,注意图片路径中不要包含有中文,运行此程序后会打开对应图像,证明环境配置成功。打开Pycharm确认是在Anaconda环境下,点File-Settings-ShowAll-Python3.6(tensorflow)-Apply-OK,如图1.9所示。图1.9确认Anaconda环境1.3数据集的建立科技的发展时代的进步,让各行各业都引进了人工智能,从阿尔法狗围棋机器人到医学上帮助分析病情再到普通百姓家的扫地机器人到每个人手机上的人脸识别等等,这些都是人工智能所触发的产业,为企业能在一定程度上节约人力成本,让原来需要很多人才能完成的工作用一台智能机器就能取代,为普通百姓人工智能可以方便生活,不用因为年龄的增长而降低自己的生活环境,环境舒适才能对生活水平有所提升。为了能让这些智能设备变得智能就需要大量的有针对性的数据进行训练,这些有针对性的数据就需要对其进行标注和处理,现在拥有了两种标注工具可以对图片进行使用,分别为labelimg和labelme。(1)labelimg是开源图像标记的工具,被许多行业的人使用和了解,也是一个随着使用过程中发现问题而不断修改优化的软件。labelimg是一个工具,这个工具是可以用显示的界面进行图片处理操作的。labelimg需要在一定环境下才可以对所需要的框选的图片物体进行框选,在深度学习网络中需要用到这个软件。它的使用方法为打开软件后点击OpenDir,打开图片所在的文件位置;点击Changesavedir设置图像标记文件(XML)的默认存储位置;之后,设置标签存储格式为PasoalVOC;再点击CreateRectBox,创建一个能标出等待识别的目标矩形框;然后,在标签信息框内,选择或输入对应物体名称;勾选AutoSavemode选项,可直接进行下一张图片打标签操作,会自动保存该标注信息到XML文件。labelimg具有容易下载使用、容易根据图片所需要的条件自己增加或者修改功能、容易上手使用等优点。当然labelimg也有不足之处,例如:软件要在没有安装过的电脑上经过安装后才能使用;只能也XML格式输出标注过的图片,如果同时想要别的格式需要花费更多时间和人力;一次只能进行一种操作,只能在一个人对图片标注完成后,另一个人才能对其进行检查,例如所需要标注的物体范围超出标准,而检查的人没有及时向标注人提出,那么标注人则要大量返回修改,造成时间和人力的浪费;不能对所标注的数量结果有准确的记录,只能在所有标注结束后统一人工统计。labelimg虽然标注时只需要一个简单的矩形框就能标注图像中的物体,但是后期修改和统计需要耗费大量人力和时间,导致效率低。(2)labelme是一个图形界面的图像标注软件,它是麻省理工的计算机科学和人工智能实验室研发的图像标注工具,同labelimg一样随着越来越多各行各业的人使用软件也在不断地根据显现出来的问题进行升级。使用者能够使用这个标注软件对想要标注的图片进行标记,在标注完成后形成数据集。labelme可以安装在任何电脑上使用,只要输入规定的命令和使用者想要的版本就可以随意下载使用,是一个安装便捷的在线图像标注工具,用一条指令代替在电脑上繁杂的选择安装包安装路径等繁琐的安装过程和巨大的安装空间。labelme在pycharm中安装后,只要输入labelme指令就可以打开使用了,方便快速,容易寻找。labelme与labelimg不同的是labelme是用一个一个的点来标注框选出不同的物体,而且由于可以比较精确的沿着不规则的物体框选,也减少了不必要的背景内容,可以减少数据集的大小。它在深度学习中主要被运用在Mask-RCNN中,因为可以对同一件物体内部进行再次标注而达到物体分割的效果。对于它的不足之处来说依旧需要大量的人力和时间来统计各类标注的多少。而且也无法进行及时修改,如果从开始就错误操作却在最后才将错误改正时就需要重新全部修改,加大了使用者的工作量。针对上述两个软件的对比,本文选择使用labelme软件进行数据集的标注,原因是labelme软件使用相对简单明了,且安装方便。以下为安装及标注过程:在Anaconda的TensorFlow环境下安装labelme软件,输入指令为pipinstalllabelme==3.16.7。输入labelme指令打开界面,如图1.10所示。图1.10labelme界面勾选SaveAutomatically,实现图片标注后自动保存。点击左侧OpenDir选择需要标注的数据文件夹。点击左侧的createpolygons,回到图片,按下鼠标左键会生成一个点,完成标注后会形成一个标注区域,同时弹出labelme的框,键入标签名字,点击OK或者回车完成标注,如图1.11所示。图1.11标注步骤将会自动生成json文件,文件中含有对需要识别的图像物体所标注的矩形框的坐标、物体种类以及图片编号(如图1.12所示)。图1.12json文件接着利用生成数据集相关程序生成算法训练数据集文件夹,文件夹中包含imgs、label_viz、mask、yaml(如图1.13所示)。这样就最终形成了本文所要使用的完整的数据集。(a)(b)(c)(d)图1.13数据集内部(a)imgs文件夹(b)label_viz文件夹(c)mask文件夹(d)yaml文件夹1.4实验结果与分析实验图片训练流程如下:先运用视觉系统采集图像,并手动截取与螺栓相关图片,然后,对螺栓表面和凹槽进行标注后使用Mask-RCNN卷积神经网络算法进行训练得到权重文件,用训练出的权重文件对图片进行检测和分割,得到凹槽图像,再对凹槽图像使用直线算法,检测出螺栓的凹槽直线,计算直线的角度,并使其与设定阈值相对比,得出螺栓是否松动。本论文主要针对于螺栓表面和凹槽的分割检测,对于螺栓图片进行预处理。其中,实验步骤主要分为三步:准备数据集、修改训练参数及训练数据集和预测得出结果。在配置本文实验的深度学习框架时,当前要用到的环境是TensorFlow(GPU)和Keras。具体实验环境配置如表1.1所示。表1.1实验环境名称参数系统Windows10框架TensorFlow语言PythonCPUIntel(R)Core(TM)i7-8700CPU@3.20GHzGPUNVIDIAGeForceRTX2080RAM32GB实验中共使用数据集500张,其中训练集360张、验证集40张,测试集100张。(如表1.2所示)在实验过程中,使用主干网络resnet101,分辨率为512×512的图片。表1.2实验图片集汇总项目数目/张数据集500训练集360验证集40测试集100本文利用在coco数据集上训练好的权重文件作为初始权重,这么做的好处可以减少网络训练的效率。在运行程序前要在程序内修改自己要分的类。接下来运行训练程序,在运行前在程序下面修改ShapesConfig(Config)的内容,其中NUM_CLASS等于自己要分的类的数量加1。IMAGE_MAX_DIM、IMAGE_MIN_DIM、BATCH_SIZE和IMAGES_PER_GPU根据自身电脑的显存情况进行修改。在修改RPN_ANCHOR_SCALES时要根据IMAGE_MAX_DIM和IMAGE_MIN_DIM。程序中STEPS_PER_EPOCH代表每个迭代训练多少次。修改完成并运行训练程序后能得到logs文件夹,里面是训练图片的相关权重。学习率决定了参数移动到最优值的速度快慢,学习率为1×e−5时,模型收敛越快,loss值下降较快,最后loss值也能下降到一个理想的位置。因网络多次训练,所以共有epoch数117个。当epoch数到80次后,loss值在0.1以下且趋于稳定。网络loss如图图1.14loss曲线最后是进行预测测试。测试时运用训练好的实验权重可以得到的实验结果包含:如图1.15螺栓分割结果、接受一个被检测的实例的最小值为0.7、检测时非极大值抑制的阈值为0.3、特征金字塔网络分类图中全连接层大小为1024、区域提议网络训练时每张图片用256个锚框等。(a)原图(b)识别结果图1.15实验结果实验表明,该方法能正确将图片中螺栓的凹槽和表面进行分割,对螺栓表面检测结果为100%,检测结果如表1.3所示。表1.3实验检测结果汇总表项目数目/张测试集100正常识别(识别螺栓表面、凹槽)83未能识别(识别螺栓表面)17根据汇总表可知,测试集100张图片中,有83张是能正确将图片中螺栓的凹槽和表面进行分割并检测的,同时,螺栓对于螺栓的凹槽又可以分为两类正常的(如图1.16)和有倾斜的(如图1.17)。(a)原图(b)识别结果图图1.16螺栓凹槽正常(a)原图(b)识别结果图图1.17螺栓凹槽倾斜剩余的17张图片是不能正确将图片中螺栓的凹槽和表面进行分割并检测的,出现这个问题的原因主要有:图片曝光过度(如图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川天府文化职业学院单招职业技能考试题库含答案详解【培优】
- 2025年黑龙江省齐齐哈尔市高职单招职业技能考试题库及完整答案详解(网校专用)
- 2024年南充技师学院顺庆高职部单招职业技能考试题库带答案详解(培优)
- 2024年祁连远达职业学院高职单招职业适应性测试考试题库附答案详解【培优A卷】
- 2025年贵州省六盘水市高职单招职业技能考试题库含完整答案详解【有一套】
- 2027年广西工业职业学院高职单招职业技能考试模拟试卷附答案详解(能力提升)
- 2024年西安数字经济职业学院单招职业技能考试模拟试卷附答案详解(达标题)
- 2027年天山数字学院高职单招职业技能考试模拟试卷含完整答案详解(必刷)
- 2025年河北渤海技师学院高职高职单招职业技能考试题库附答案详解(突破训练)
- 2026年唐山技师学院高职部高职单招职业技能考试题库附答案详解【A卷】
- 店长保密协议书
- 展馆安全总结讲解
- 宫外孕超声诊断
- 赠予林地协议书模板
- 国际胰腺病学会急性胰腺炎修订指南(2025年)解读课件
- 销售领导力培训课件
- 家用空气净化器除异味宠物适配推广方案
- GB/T 45942-2025填充矿物油的电气设备溶解气体分析(DGA)在电气设备工厂试验中的应用
- 早癌筛查教学课件
- 重症医学科护理进修回院汇报
- FZ-T64103-2023矿用聚酯纤维柔性假顶网
评论
0/150
提交评论