汽车零部件识别算法

背景

  • 人工分拣耗时耗力,且分拣正确率不高(60-70%)
  • 人工智能领域正在快速发展,其中应用于识别分类方向的深度学习为重点研究方向

技术路线

基于** TensorFlow 框架,实现零件的识别**。
TensorFlow是一个基于数据流编程的符号数学系统,被广泛应 用于各类机器学习算法的编程实现。 本算法由五个部分组成:数据增强、图片标注、训练模型、测试模型、预测模型。数据增强用于对原始收集的图像进行数据扩增,解决初始数据量不足的问题;图片标注,为将各类图片以其特定的文件命名格式进行命名,有利于后期的训练;训练模型,为该算法的核心程序,通过搭建卷积神经网络,进行训练,从而获得最优参数模型;测试模式:通过训练模式所获得的最优参数解,来进行测试集的预测,从而获得正确率,进一步确定训练的效果;预测模型:将未知的图片输入到训练完成的最优参数模型中,从而获得相应的类别。

运行环境

tensorflow 1.5.0

CUDA 9.0.176

CUDNN 7

操作系统:Linux ubuntu 16.04

集成开发、调试及编译环境:pycharm-community-2019.2.1

系统总体结构

该算法基于TensorFlow框架,实现零件的识别。
TensorFlow是一个基于数据流编程的符号数学系统,被广泛应用于各类机器学习算法的编程实现。
本算法由五个部分组成:数据增强、图片标注、训练模型、测试模型、预测模型。

  • 数据增强用于对原始收集的图像进行数据扩增,解决初始数据量不足的问题;
  • 图片标注,为将各类图片以其特定的文件命名格式进行命名,有利于后期的训练;
  • 训练模型,为该算法的核心程序,通过搭建卷积神经网络,进行训练,从而获得最优参数模型;
  • 测试模式:通过训练模式所获得的最优参数解,来进行测试集的预测,从而获得正确率,进一步确定训练的效果;
  • 预测模型:将未知的图片输入到训练完成的最优参数模型中,从而获得相应的类别。整体设计

数据增强

在这里插入图片描述
**增强训练数据,就能够提升算法的准确率,因为这样可以避免过拟合,更好地泛化。**主要调用opencv库中的图像处理函数进行按照比例的随机选择图像处理方法,从而对图像进行扩增,其中,图像处理方法,分为几何变换,颜色变换,对比度和亮度变化,加入噪音和图像模糊处理。其中几何变换由分为:随机改变图像的大小,随机进行缩放,旋转,翻转;从原始图像随机裁剪部分图片;图片的水平和竖直翻转。加入噪声主要是对主成分做一个(0,0.1)的高斯扰动。颜色变换为将RGB三个通道的分量大小按照比例进行缩放。对比度和亮度变化为给图片碎甲加一些光照,如锐化,凸点,自适应直方图均衡化等。图像模糊处理分为三个部分:普通模糊,一般模糊和非常模糊处理。



import 
cv2

from imgaug import augmenters as iaa

import os

sometimes = lambda aug: iaa.Sometimes(0.5,
aug)

seq = iaa.Sequential([

   
iaa.SomeOf((0, 5),

               [

                   iaa.Fliplr(0.5), 

                   iaa.Flipud(0.5), 

                   sometimes(

                       iaa.Superpixels(

                           p_replace=(0, 1.0),

                           n_segments=(20, 200)

                       )

                   ),

                   iaa.OneOf([

                       iaa.GaussianBlur((0,
3.0)),

                       iaa.AverageBlur(k=(2, 7)),

                       iaa.MedianBlur(k=(3,
11)),

                   ]),

                   iaa.Sharpen(alpha=(0, 1.0),
lightness=(0.75, 1.5)),

                   iaa.Emboss(alpha=(0, 1.0),
strength=(0, 2.0)),

                   iaa.AdditiveGaussianNoise(

                       loc=0, scale=(0.0, 0.05
* 255)

                   ),

                   iaa.Invert(0.05,
per_channel=True),  # invert color
channels

                   iaa.AddElementwise((-40,
40)),

                   iaa.Multiply((0.5, 1.5)),

                  
iaa.
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
汽车零部件装配车间MES数据采集功能是指在汽车零部件装配车间中,通过MES(制造执行系统)实现对生产过程中的数据进行采集、监控、分析和管理的功能。具体来说,包括以下几个方面: 1. 采集装配车间的实时生产数据,如生产计划、生产进度、设备状态、工人操作等信息; 2. 对采集到的数据进行实时监控、分析和处理,可以通过实时报警、异常处理等方式及时响应生产异常情况; 3. 对生产数据进行存储、归档、统计和分析,以便后续做出生产决策和优化生产过程; 4. 与ERP(企业资源计划)系统、PLM(产品生命周期管理)系统等企业级系统进行集成,以实现生产计划的制定、物料的流转和生产过程的优化等。 在开发MES数据采集功能时,需要考虑到以下几个方面: 1. 采集方式:可以通过手动输入、扫码识别、传感器监测等多种方式实现数据的采集; 2. 数据存储:需要确定数据存储的方式和位置,可以选择数据库、文件系统等方式存储; 3. 数据处理:需要对采集到的数据进行处理、分析、统计和归档,可以使用数据分析工具和算法实现; 4. 系统集成:需要与其他企业级系统进行集成,以实现数据共享和生产过程的优化。 总之,MES数据采集功能的开发研究是一个复杂的系统工程,需要综合考虑多个因素,包括企业的实际需求、技术方案、人员配备和预算等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值