基于Pre-Train的CNN模型的图像分类实验

 MatConvNet工具包提供了好几个在imageNet数据库上训练好的CNN模型,可以利用这个训练好的模型提取图像的特征。本文就利用其中的 “imagenet-caffe-ref”的模型,提取图像特征(softmax前一层的输出,4096维),在几个常用的图像分类的数据库中进行了相应的分类实验。这实验的过程中,有对图片进行左右翻转用于增加训练数据。下面结果的表格中:Original原始结果,Flip增加翻转后的结果。

需要用到的toolbox及模型:
liblinear: 用于训练SVM, 实验中采用linear SVM 以及 c=1
 
数据库及相应的实验结果:
1. Caltech-101以及Caltech-256
    随机的重复进行10次实验,取分类的结果的平均值,Training Images是每一个类别使用的训练图片数目。
 
Caltech-101
 Training Images  5  10  15  20  25  30
 Original  76.73 ± 0.79  82.06 ± 0.36  84.10 ± 0.69  85.32 ± 0.50  86.26 ± 0.44 86.96 ± 0.89 
 Flip 76.60 ± 0.49   82.09 ± 0.45  83.91 ± 0.49  85.46 ± 0.38  86.11 ± 0.34  86.98 ± 0.93
 
Caltech-256
 Training Images  15  30  45  60
 Original  63.76 ± 0.41  67.81 ± 0.56  69.71 ± 0.48  70.84 ± 0.69
 Flip  63.72 ± 0.51  67.74 ± 0.54  69.65 ± 0.76  70.75 ± 0.59
 
2. Oxford flowers-102
  flowers-102是一个用于花卉精细分类的数据库,数据库提供了Train,Validation,Test的集合。在实验过程中,直接使用(Train+Validation)进行训练,Test进行测试。
 Original  84.50
 Flip  85.14
 
3. Scene-15
    Scene-15是一个包含15类场景的数据,实验采用的每一场景取100张图片做训练,其余的做测试。重复进行10次实验
 Original  86.87 ± 0.75
 Flip  87.00 ± 0.41
 
4. UC Merced Land Use Dataset
   UC Merced Land Use Dataset是一个包含21类场景遥感卫星图像分类数据库(每个类别100张图片),实验采用的80训练,20测试,重复10次。
 Original  94.90 ± 0.95
 Flip  95.14 ± 1.05
 
5. Flickr Material
  Flickr Materia是一个关于材料的数据库,包含10种不同的材料(每种100张图片),实验采用50张做训练,剩下的50张做测试,重复10次实验。数据库还提供每一张图片的Mask,本实验没有考虑Mask
 Original  64.04 ± 2.20
 Flip  62.96 ± 1.54
6. UIUC Sports
  UIUC Sports是一个包含8中运动类别的数据集,实验过程中,每一个类别取100张图片做训练,其余的做测试。重复进行10次。
 Original  94.88 ± 1.02
 Flip  95.34 ± 0.83
7. MIT Scene
  MIT Scene包含有67个室内场景,实验过程中,每一个类别取80张图片做训练,其余的做测试。重复进行10次。
 Original  57.30 ± 1.18
 Flip  57.45 ± 0.72

基于Pre-Train的CNN模型的图像分类实验的更多相关文章

  1. 基于Tensorflow + Opencv 实现CNN自定义图像分类

    摘要:本篇文章主要通过Tensorflow+Opencv实现CNN自定义图像分类案例,它能解决我们现实论文或实践中的图像分类问题,并与机器学习的图像分类算法进行对比实验. 本文分享自华为云社区< ...

  2. FaceRank-人脸打分基于 TensorFlow 的 CNN 模型

    FaceRank-人脸打分基于 TensorFlow 的 CNN 模型 隐私 因为隐私问题,训练图片集并不提供,稍微可能会放一些卡通图片. 数据集 130张 128*128 张网络图片,图片名: 1- ...

  3. 【神经网络篇】--基于数据集cifa10的经典模型实例

    一.前述 本文分享一篇基于数据集cifa10的经典模型架构和代码. 二.代码 import tensorflow as tf import numpy as np import math import ...

  4. CNN 模型压缩与加速算法综述

    本文由云+社区发表 导语:卷积神经网络日益增长的深度和尺寸为深度学习在移动端的部署带来了巨大的挑战,CNN模型压缩与加速成为了学术界和工业界都重点关注的研究领域之一. 前言 自从AlexNet一举夺得 ...

  5. 深度学习项目——基于卷积神经网络(CNN)的人脸在线识别系统

    基于卷积神经网络(CNN)的人脸在线识别系统 本设计研究人脸识别技术,基于卷积神经网络构建了一套人脸在线检测识别系统,系统将由以下几个部分构成: 制作人脸数据集.CNN神经网络模型训练.人脸检测.人脸 ...

  6. ZfNet解卷积:可视化CNN模型( PythonCode可视化Cifar10)

    原文链接:caffe Model的可视化 snapshot: 6000       一个在线可视化小工具:http://blog.csdn.net/10km/article/details/52713 ...

  7. 【翻译】借助 NeoCPU 在 CPU 上进行 CNN 模型推理优化

    本文翻译自 Yizhi Liu, Yao Wang, Ruofei Yu.. 的  "Optimizing CNN Model Inference on CPUs" 原文链接: h ...

  8. Keras入门(四)之利用CNN模型轻松破解网站验证码

    项目简介   在之前的文章keras入门(三)搭建CNN模型破解网站验证码中,笔者介绍介绍了如何用Keras来搭建CNN模型来破解网站的验证码,其中验证码含有字母和数字.   让我们一起回顾一下那篇文 ...

  9. 基于PaddlePaddle的语义匹配模型DAM,让聊天机器人实现完美回复 |

    来源商业新知网,原标题:让聊天机器人完美回复 | 基于PaddlePaddle的语义匹配模型DAM 语义匹配 语义匹配是NLP的一项重要应用.无论是问答系统.对话系统还是智能客服,都可以认为是问题和回 ...

随机推荐

  1. 解决Toad for Oracle显示乱码问题

    1.查看一下数据库字符集: 使用下面语句:Select userenv('language') from dual;或者:Select name, value$ from props$;查看. 查看完 ...

  2. javascript数据结构——写一个二叉搜索树

    二叉搜索树就是左侧子节点值比根节点值小,右侧子节点值比根节点值大的二叉树. 照着书敲了一遍. function BinarySearchTree(){ var Node = function(key) ...

  3. js密码的校验(判断字符类型、统计字符类型个数)

    /** *判断字符类型 */ function CharMode(iN) { if (iN >= 48 && iN <= 57) //数字 return 1; if (iN ...

  4. 南阳理工ACM——106背包问题

    描述: 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10):如果给你一个背包它能容纳的重量为m(10<=m<=20),你 ...

  5. html5定位并在百度地图上显示

    在开发移动端 web 或者webapp时,使用百度地图 API 的过程中,经常需要通过手机定位获取当前位置并在地图上居中显示出来,这就需要用到html5的地理定位功能. navigator.geolo ...

  6. CentOS学习笔记--基本命令--目录的相关操作

    Linux基本命令--目录的相关操作 常见的处理目录的命令吧: cd:变换目录 pwd:显示目前的目录 mkdir:创建一个新的目录 rmdir:删除一个空的目录 cd (变换目录) cd是Chang ...

  7. ORACLE 基础知识积累

    创建ORACLE 数据库,首先用Sys账号角色为dba进入数据库然后,然后根据创建数据库的表空间,然后创建角色,创建完角色后将表空间的权限授予角色. SQL语句如下: create temporary ...

  8. kibana去掉丑陋的basic验证框,用自定义验证代替。

    最近在改写kibana,碰到了验证登录的问题.问题是这样子的,nginx设置了basic认证,然后客户端访问kibana的时候总是会弹出登录框,输入用户名和密码,现在要改写这个登陆框,用bootstr ...

  9. 表达式语言之ongl表达式

    OGNL的全称是Object Graph Navigation Language(对象图导航语言),它是一种强大的表达式语言,让你通过简单一致的表达式语法来读取和设置Java对象的属性值,调用对象的方 ...

  10. 《C# 白话系列之——白话委托》读后记

    今天在博客圆首页看到一篇文章:<C# 白话系列之——白话委托> http://www.cnblogs.com/djangochina/p/3410002.html#commentform ...