CV2——学习笔记-图像分类
1.图像分类 • 2.神经网络原理 • 1.卷积神经网络介绍 • 2.利用caffe搭建深度网络做图像分类
挑战:光照变化+形变。类内变化。
标签、预测函数,泛化能力。
如何提高泛化能力?需要用图像特征来描述图像。
颜色特征:直方图。
形状特征:PCA降维。
局部特征细节、纹理。
SIFT特征:局部,4*4区域的16格内,每个格子内算8维梯度,拼成128维特征。用于检测匹配。
HOG:检测目标形状。用于检测、跟踪。
LBP:对区域编码,适合处理人脸,对称的均匀的。可以有效捕捉响应。
Harr:滤波器。边缘。
VLFeat - Home http://www.vlfeat.org/
SVM分类:
最大化间隔:
CNN特征:大量图像中学习出来的特征。Imagenet1000类。
神经网络做图像分类:
CS231n Convolutional Neural Networks for Visual Recognition http://cs231n.github.io/convolutional-networks/
神经网络搭建:
神经网络的基本单元:神经元
激励函数:
卷积层:
卷积滤波的计算:
Stride = 1, pad =2,
输出的尺寸=(输入尺寸+2*pad-kernel_size)/stride + 1
卷积层可视化:
卷积提取的特征为什么有效果。传统的只是表层特征,深层特征无法获得。
池化层(pooling layer):平均池化、最大池化。特征亚采样。
特征表达更加紧凑,同时具有位移不变性。
全连接层:全连接权重是W。
损失函数:
• SIGMOID_CROSS_ENTROPY_LOSS
• SOFTMAX_LOSS
• EUCLIDEAN_LOSS
• Contrastive loss
• Triplet Loss
不同的task对应着不同的loss
交叉熵损失函数(SIGMOID_CROSS_ENTROPY_LOSS):
Sigmoid函数把负无穷到正无穷压缩到-1~+1。应用于二分类问题。
Softmax 损失函数(SOFTMAX_LOSS):多分类问题
欧式距离损失函数(EUCLIDEAN_LOSS):
对比损失函数(Contrastive loss):用于图像分类、检索。
训练 Siamese 网络,用来计算两个图像之间的相似度,image match。输入两张图。
Triplet loss:三元,输入三张图。
http://blog.csdn.net/tangwei2014/article/details/46788025
训练网络、测试
http://caffe.berkeleyvision.org/tutorial/forward_backward.html
Caffe 实现一个图像分类任务 • 安装教程 :
• Windows环境:http://www.cnblogs.com/trantor/p/4570097.html
• Linux环境:http://www.cnblogs.com/denny402/p/5067265.html
CV2——学习笔记-图像分类的更多相关文章
- CS231n学习笔记-图像分类笔记(下篇)
原文地址:智能单元 K-Nearest Neighbor分类器 大家可能注意到了,为什么只用最相似的一张图片的标签来作为测试图像的标签呢?这不是很奇怪吗!是的,使用K-Nearest Neighbor ...
- CS231n学习笔记-图像分类笔记(上篇)
原文地址:智能单元 图像分类:所谓图像分类问题,就是已有固定的分类标签集合,然后对于输入的图像按照标签类别,将其打上标签. 下面先介绍一下一个简单的图像如何利用计算机进行分类: 例子:以下图为例,图像 ...
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
- OpenCV 学习笔记 07 目标检测与识别
目标检测与识别是计算机视觉中最常见的挑战之一.属于高级主题. 本章节将扩展目标检测的概念,首先探讨人脸识别技术,然后将该技术应用到显示生活中的各种目标检测. 1 目标检测与识别技术 为了与OpenCV ...
- OpenCV图像处理学习笔记-Day1
OpenCV图像处理学习笔记-Day1 目录 OpenCV图像处理学习笔记-Day1 第1课:图像读入.显示和保存 1. 读入图像 2. 显示图像 3. 保存图像 第2课:图像处理入门基础 1. 基本 ...
- [DL学习笔记]从人工神经网络到卷积神经网络_1_神经网络和BP算法
前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工 ...
- opencv2.4.13+python2.7学习笔记--使用 knn对手写数字OCR
阅读对象:熟悉knn.了解opencv和python. 1.knn理论介绍:算法学习笔记:knn理论介绍 2. opencv中knn函数 路径:opencv\sources\modules\ml\in ...
- Deep learning with Python 学习笔记(10)
生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...
- OpenCV 学习笔记 04 深度估计与分割——GrabCut算法与分水岭算法
1 使用普通摄像头进行深度估计 1.1 深度估计原理 这里会用到几何学中的极几何(Epipolar Geometry),它属于立体视觉(stereo vision)几何学,立体视觉是计算机视觉的一个分 ...
随机推荐
- c# 克隆来创建对象副本
- 他爬取了B站所有番剧信息,发现了这些……
本文来自「楼+ 之数据分析与挖掘实战 」第 4 期学员 -- Yueyec 的作业.他爬取了B站上所有的番剧信息,发现了很多有趣的数据- 关键信息:最高播放量 / 最强up主 / 用户追番数据 / 云 ...
- CentOS7 安装记录
起因是想自建一个本地笔记云存储,按照网上的教程搭建,卡在了其中的一个步骤上(文章见https://www.laobuluo.com/1542.html),卡在了如下图的位置,google了一番解决的办 ...
- 助教培训第四次作业——熟练掌握GitHub及Git的使用方法
助教培训第四次作业——熟练掌握GitHub及Git的使用方法 1.Git 命令的理解和使用 常用的Git命令可以查看官方文档,官方文档的网址:https://git-scm.com/docs .虽然是 ...
- about微信小程序
1.<text>文本标签</text> ps:只有用text包裹的文字才能在微信里长按选中 2.单位 px变成rpx rpx是逻辑分变率 px=2rpx, rpx可以实 ...
- GET和POST的区别【转载】
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...
- 【Java】用五种语言写数组(用于自己学习)
C语言 #include<stdio.h> int main() { ] = {, , , , , , , , , }; int i; ;i<;i++) printf("% ...
- Spring 整合 Quartz框架(定时任务)
Maven 无法下载 Quartz 依赖,去官网下载 http://www.quartz-scheduler.org/downloads/ Quartz 官方手册:https://www.w3csch ...
- 原生JS实现购物车全选多选按钮功能
对于JS初学者来说,一个完整的购物车实现还是挺难的,逻辑功能挺多.写出完整功能,能提升不少JS基础,下面实现购物车全选多选按钮功能: 首先HTML及CSS部分: <style> table ...
- Hive的安装和配置
前提是:hadoop必须已经启动了*** 1°.解压hive的安装包 [crxy@master soft]# tar -zxvf apache-hive-0.14 ...