由于项目需求,需要识别水杯,于是我想能不能只放杯子数据,然后将输出变为1,就可以训练了,实际上,根本行不通,因为你的数据对应你的标签无论怎么变换都是只有那个唯一标签对应,根本找不到其他的,这样的结果直接导致你的模型无论是杯子还是其他,都是1.0正确率的。看下面这图片就应该懂了

无需多言,根本不存在所谓的单标签,那么应该怎么办,既然只让我识别杯子,我想能否用others和cup两类,但是我发现这样的模型也不是很靠谱,主要在于对others的数据源不好掌握,所以就决定对杯子进行分类。具体结果我们下次再讲。。。我决定实验一波

当我做了简单的二分类,发现由于杯子种类的繁多,很难以一个模型来给出,当我将各种杯子放一起进行训练,并且其他类是一个其他种类时,迭代结果如下:

loss一直居高不下,且accuracy很低,我们推测数据有问题,那么我们尝试给杯子归归类,来看一下迭代结果

我将杯子归为五类,但是迭代很吃力,没有gpu真的很慢而且loss居高不下,我想,这应该不是分类的问题了,而是数据源的问题,可能是图片的质量导致的,所以我将图片resize乘50*50来看看结果。。。

这里遇到一个错误:Check failed: datum_height >= crop_size (50 vs. 227)  我选用网络是alexnet,原因在于该网络默认图片格式位227*227,而我在resize 是50,所以该网络中的crop——size数据即可。

博主在对图片进行裁剪之后再来分类,主要为了让目标尽可能的占据图片,但是做分类时出现如下错误

Cannot copy param 0 weights from layer 'fc6'; shape mismatch.  Source param shape is 4096 256 (1048576); target param shape is 4096 9216 (37748736). To learn this layer's parameters from scratch rather than copying from a saved net, rename the layer.
*** Check failure stack trace: ***

shape不匹配啊,查看deploy文件,修该shape,我们将图片大小改为转二进制的大小,成功。。。

当我分类结束测试的时候,发现效果还是很不理想,请看结果,我测试的都是杯子,但会有如下:

出现了大量的误匹配以及低命中率,我把学习率一次调低依旧没有解决,。。。一时间不知咋办

网上看到一般可以通过data augment来增加数据从而减少过拟合,我用的网络是alexnet,也许对于二分类太复杂了,所以试着采用数据增强来看看结果。主要有一下几类:

  • 旋转 | 反射变换(Rotation/reflection): 随机旋转图像一定角度; 改变图像内容的朝向;
  • 翻转变换(flip): 沿着水平或者垂直方向翻转图像;
  • 缩放变换(zoom): 按照一定的比例放大或者缩小图像;
  • 平移变换(shift): 在图像平面上对图像以一定方式进行平移; 
    可以采用随机或人为定义的方式指定平移范围和平移步长, 沿水平或竖直方向进行平移. 改变图像内容的位置;
  • 尺度变换(scale): 对图像按照指定的尺度因子, 进行放大或缩小; 或者参照SIFT特征提取思想, 利用指定的尺度因子对图像滤波构造尺度空间. 改变图像内容的大小或模糊程度;
  • 对比度变换(contrast): 在图像的HSV颜色空间,改变饱和度S和V亮度分量,保持色调H不变. 对每个像素的S和V分量进行指数运算(指数因子在0.25到4之间), 增加光照变化;
  • 噪声扰动(noise): 对图像的每个像素RGB进行随机扰动, 常用的噪声模式是椒盐噪声和高斯噪声;
  • 颜色变换(color): 在训练集像素值的RGB颜色空间进行PCA, 得到RGB空间的3个主方向向量,3个特征值, p1, p2, p3, λ1, λ2, λ3. 对每幅图像的每个像素

这是参见网上的一些大佬的结果,决定试着做噪声和对比度变换来增加数据。具体测试结果以后见。。。

我对数据分别添加了椒盐噪声和高斯噪声,还对进行旋转变换,总共增加了4倍的数据量,结果还是很喜人了,在迭代600次,accuracy是0.9还是比较不错的,过拟合的问题得到了比较好的解决,虽然最后1000次迭代降到了0.84,初步推测是学习率的问题,整个迭代都是0.01,下次调一下看看会怎样。测试结果如下

可以看到有些杯子识别率还是不错的,但是同样有误识别,这有待我进一步学习深度学习后进行探究和改正,目前对此问题有的想法是调参和增加数据量。。。

怎么说呢,经过这次尝试,还是对深度学习有了一些体会的,也对下一步的打算有了比较好的认识,同样,本文依旧没有结束,对于后期项目的完善我也会第一时间的进行更新,也谢谢读我博客的朋友。

对于后期的处理,我调整了weight——decay参数,我改成了0.0002,我是考虑模型不够复杂时,降低权值来得到比较好的效果,那么迭代结果也是比较好的,1000次迭代成功率0.9还是比较好的。

利用caffe识别水杯相关推荐

  1. 利用 caffe的 python接口测试训练好的 mnist 模型

    参考博客:https://blog.csdn.net/auto1993/article/details/70941440 在上一篇博客中已经训练好了 mnist 识别手写数字的模型,这篇博客就利用 c ...

  2. 东京奥运会将利用 AI 识别可疑人员

    东京奥运会将利用 AI 识别可疑人员 2020 年东京奥运会和残奥会期间,日本的核心目标之一就是展示世界上最先进的技术. 这些活动将为日本公司提供利用其尖端技术吸引全球关注的绝佳机会. 两项即将推出的 ...

  3. Caffe实践】如何利用Caffe训练ImageNet分类网络

    Caffe实践]如何利用Caffe训练ImageNet分类网络 源文章:https://github.com/BVLC/caffe/tree/master/examples/imagenet 由于要使 ...

  4. 运行caffe识别数字的模型mnist

    <!---title:运行caffe识别数字的模型mnist--> <!---keywords:填写关键字, 以半角逗号分割--> 原始引用地址:  [运行caffe识别数字的 ...

  5. Android利用RecognizerIntent识别语音并简单实现打电话动作

    关于Android利用RecognizerIntent识别语音并简单实现打电话,具体看实现代码如下: package com.example.recognizerintentactivity;impo ...

  6. 利用Caffe实现mnist的数据训练

    阿里云的参考文档:https://help.aliyun.com/document_detail/49571.html 在文档里提供了caffe的一个案例,利用Caffe实现mnist的数据训练.准备 ...

  7. python新闻联播分类_如何利用人脸识别自动切分视频

    前些天被问到这样一个问题,能不能做视频分镜头,更确切的是自动切分视频片段.拿央视的新闻联播来说,30分钟的新闻联播,可能包含十多个新闻话题,希望能够自动把这10多个话题进行切分. 这个问题蛮有意思的, ...

  8. 利用python识别身份证号后获取年龄和性别信息

    利用python识别身份证号后获取年龄和性别信息 1. 实验目的 利用python识别身份证号后,从身份证号中获取年龄和性别信息 2. 主代码 1. 身份证号码识别 # !/usr/bin/pytho ...

  9. python zxing 识别条码_详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强...

    前言 这周和大家分享如何用python识别图像里的条码.用到的库可以是zbar.希望西瓜6辛苦码的代码不要被盗了.(zxing的话,我一直没有装好,等装好之后再写一篇) 具体步骤 前期准备 用open ...

最新文章

  1. (一)神经网络训练不起来怎么办:局部最小值(local minia)与鞍点(saddle point)
  2. 他们曾是别人眼中的笑话,最后却都成了神话
  3. html5本地存储论坛,Web Storage--HTML5本地存储
  4. 什么时候觉得自己该离职了?
  5. 通过QQ2010协议技术详细分析QQ登陆过程
  6. Vue.use()与Vue.prototype
  7. HTTP 协议中的 Transfer-Encoding
  8. 数据库:关于BULK INSERT 学习笔记(1)
  9. 小白的入门之——汇编语言程序设计教程
  10. SIM868使用笔记
  11. 详解自动驾驶安全软件开发流程
  12. GPU并行计算版函数图像生成器
  13. 2021支付宝集五福【攻略】!!!
  14. IC数字芯片学习各类公众号汇总
  15. ALtera DE2开发板学习01
  16. error: command ‘gcc‘ failed: No such file or directory
  17. PathMatcher 路径匹配器
  18. RK系列SDK -- dummy codec虚拟声卡注册
  19. 杂散干扰解决办法_6种常见杂散的成因分析及解决办法
  20. Scratch音效素材试听后缀名问题

热门文章

  1. 1月浏览器排行:IE10突破1% Chrome连续3月下滑
  2. WEEK16 最后一周模拟(T1\T2\T4)
  3. Java实现单例模式(懒汉式和饿汉式)
  4. 广州中医药大学-天草药业联合实验室建设专家论证会顺利召开
  5. 本地jar导入到 maven 库
  6. Python 方法重载
  7. 16进制怎么转换潘通_使用此免费应用程序查找Pantone颜色十六进制代码
  8. 计算机广东考研大学排名,广东省最值得考研的8所大学
  9. 电脑如何打出声调的五度竖棍标记法符号 ?
  10. 「2024」预备研究生mem-出题套路一:代入验证逻辑真假(重点)