汽车零部件识别算法

该算法基于TensorFlow框架,通过数据增强、图片标注、训练卷积神经网络(CNN)模型,来提升汽车零部件识别的准确率。在训练过程中,采用交叉熵损失函数、激活函数和梯度下降法,解决过拟合问题。最终,通过测试和预测模型,实现高效且准确的零部件分类。
摘要由CSDN通过智能技术生成

背景

  • 人工分拣耗时耗力,且分拣正确率不高(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.MultiplyElementwise((
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值