美文网首页学习深度学习程序员
交通标志识别实现_caffe入门

交通标志识别实现_caffe入门

作者: 呆呆的张先生 | 来源:发表于2017-10-05 00:20 被阅读394次

    platform

    • win10
    • caffe
    • python27 (Anaconda2)

    code download

    DL_Note traffic_signs @ github

    tutorial

    get data

    下载traffic sign dataset

    数据预览

    GTSRB_Final_Training_Images\GTSRB\Final_Training\Images中共 43 类对象(文件夹),且每种标记的图片数不一致, 约为 221~2221, 图片格式为 .ppm,可以使用 XnView 预览。且每种对象提供不同分辨率、角度、清晰度和曝光的图片,因此每中对象中有不同的分类

    样本分布 不同类别交通标记 不同类别的拍照条件

    图片预处理

    需要调整

    • 灰度化
    • 归一化,图像预处理认为图片数据默认是在 0~255 之间不需要归一化,《机器学习系统设计》一书中说,减去均值的均一化能够适应不同的光照条件
    • 直方图调整等前处理操作,(后续)

    将图像导入到 lmdb 数据库

    数据转换代码,使用时需要更改脚本中的路径

    Caffe中图像写入LMDB和读取LMDB数据 进行直方图均衡化处理,没有用灰度图

    网络结构

    网络结构代码

    网络结构

    精度测试

    layer {
      name: "accuracy"
      type: "Accuracy"
      bottom: "ip3"
      bottom: "label"
      top: "accuracy"
    
      include {
        phase: TEST
      }
    }
    

    训练结果

    loss曲线

    精度测试

    经过 5000 次, batch= 100的优化,测试集精度达到了 99.98 % , 远远超过了参考文献,与参考文献不同的是 这里采用了彩色图像,并采用了直方图均衡技术

    too good to believe, 本篇文章是我的 caffe 入门文章,对 accuracy 的计算还有疑问,如果有错误,欢迎指出

    github traffic-signs-master 的解决方案

    参考

    The highlights of this solution would be data preprocessing, data augmentation, pre-training and skipping connections in the network( By Author himself).
    解决方案的亮点在于 数据预处理、数据增强、与训练、和跨层连接

    网络结构

    网络结构代码

    网络结构

    经过 1000 次, batch= 100的优化,测试集精度达到了 98.42 % , 时间问题,需要进一步比较

    相关文章

      网友评论

        本文标题:交通标志识别实现_caffe入门

        本文链接:https://www.haomeiwen.com/subject/cplhyxtx.html