计算机视觉

【计算机视觉】图像处理基础

◇◆丶佛笑我妖孽 提交于 2020-03-08 14:50:33
图像处理基础 前言 实验环境 实验准备 图像灰度化 基本原理 代码实现 实验结果 绘制图像轮廓和图像直方图 基本原理 代码实现 实验结果 高斯滤波(高斯模糊处理) 基本原理 代码实现 实验结果 直方图均衡化 基本原理 代码实现 实验结果 前言 实验环境 该课程实验是基于python语言的有关图像处理,通过anaconda来安装管理使用python包,在pycharm平台上进行编译实现。 实验准备 实验所需的安装包都需要进行手动添加,其主要库的添加命令代码如下: PCV库 >>setup.py所在文件地址>> python setup.py install == 以下由于报错"No module named ‘pylab’" 进行的python库安装== NumPy库.为Python提供了很多高级的数学方法。 conda install numpy SciPy库.这是一个Python的算法和数学工具库。 conda install scipy matplotlib库.一个绘制数据图的库。 conda install matplotilb 图像灰度化 基本原理 灰度化,在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。一般有分量法

图灵奖得主亲授!深度学习视频课程精选

為{幸葍}努か 提交于 2020-03-07 03:15:12
Read enough so you start developing intuitions and trust intuitions and go for it! 通过大量阅读来培养直觉,相信自己的直觉并大胆实践! —— Geoffrey Hinton 要说这两年最火的机器学习课程,当属吴恩达的《Machine Learning》。《Machine Learning》原本是吴恩达在斯坦福大学开授的课程,课程视频在网络上受到了学习者的广泛好评,后来还推出了专门的网课。 △Coursera平台上的Machine Learning课程 现在越来越多的人选择通过 观看视频课程 的方式来学习知识,一方面有了教师的引导会让艰涩的内容更容易理解,另一方面平时通勤、等待时的细碎时间也可以得到充分利用。 深度学习如此火热的今天,如果也能通过课程视频来学习,岂不是美哉!这可不是空想,已经有很多世界知名大学放出了学校授课的录像或讲座的视频,以造福全球对深度学习感兴趣的学习者们。今天要介绍的这个Github仓库 Deep Learning Drizzle (https://github.com/kmario23/deep-learning-drizzle)就是一个 深度学习相关课程/讲座视频的大合集 ,其中不乏 学界知名大牛的亲授课程 !目前该项目已经在Github收获了 6000+星 。

计算机视觉(四)SPP-Net

雨燕双飞 提交于 2020-03-06 16:56:15
SPP-Net 全名为《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》2014【深度卷积网络中用于视觉识别的空间金字塔池化】论文链接: https://arxiv.org/abs/1406.4729 SPP-Net (spatial pyramid pooling 空间金字塔池化算法 )是一种可以 不用考虑图像大小 ,输出图像固定长度网络结构,并且可以做到在图像变形情况下表现稳定。SSP-net的效果已经在不同的 数据集 上面得到验证,速度上比 R-CNN 快 24-102 倍。 在ImageNet 2014的比赛中,此方法检测中第二,分类中第三。 受 SPP-Net 启发,2015年发表 Fast R-CNN。 SPP-net 的处理方式:不固定图像的大小,直接输入给卷积层处理,卷积出来的特征并不是直接输入给全连接层,而是在spatial pyramid pooling layer提取各个region proposal的特征(具体过程见下段),然后得到一个固定长度的输出传给全连接层,最后输出结果。 理论上说,SPP-net支持直接以多尺度的原始图片作为输入后直接BP训练即可。 SPP层 如上图,位于最后一个卷积层(conv5)与全连接层之间

一文看懂计算机视觉-CV(基本原理+2大挑战+8大任务+4个应用)

与世无争的帅哥 提交于 2020-03-06 10:37:28
计算机视觉(Computer Vision)是人工智能领域的一个重要分支。它的目的是:看懂图片里的内容。 本文将介绍计算机视觉的基本概念、实现原理、8 个任务和 4 个生活中常见的应用场景。 计算机视觉为什么重要? 人的大脑皮层, 有差不多 70% 都是在处理视觉信息。 是人类获取信息最主要的渠道,没有之一。 在网络世界,照片和视频(图像的集合)也正在发生爆炸式的增长! 下图是网络上新增数据的占比趋势图。灰色是结构化数据,蓝色是非结构化数据(大部分都是图像和视频)。可以很明显的发现,图片和视频正在以指数级的速度在增长。 而在计算机视觉出现之前,图像对于计算机来说是黑盒的状态。 一张图片对于机器只是一个文件。机器并不知道图片里的内容到底是什么,只知道这张图片是什么尺寸,多少MB,什么格式的。 如果计算机、人工智能想要在现实世界发挥重要作用,就必须看懂图片!这就是计算机视觉要解决的问题。 什么是计算机视觉 - CV? 计算机视觉是人工智能的一个重要分支,它要解决的问题就是: 看懂图像里的内容 。 比如: 图片里的宠物是猫还是狗? 图片里的人是老张还是老王? 这张照片里,桌子上放了哪些物品? 计算机视觉的原理是什么? 目前主流的基于深度学习的机器视觉方法,其原理跟人类大脑工作的原理比较相似。 人类的视觉原理如下:从原始信号摄入开始(瞳孔摄入像素 Pixels),接着做初步处理

【计算机视觉】几个计算机视觉库

会有一股神秘感。 提交于 2020-03-05 09:49:48
自从谷歌眼镜被推出以来,围绕人脸识别,出现了很多争议。我们相信,不管是不是通过智能眼镜,人脸识别将在人与人交往甚至人与物交互中开辟无数种可能性。 为了帮助研究过程中探索人脸识别,我们列出以下人脸检测和识别API。希望有所帮助! Face Recognition - 拉姆达实验室斯蒂芬弄的。示例代码和图形演示点击 http://api.lambdal.com/docs, 我们的API提供了面部识别,面部检测,眼睛定位,鼻子定位,嘴巴定位,和性别分类。如果您有任何疑问,只需发一封邮件到 s@lambdal.com 。 Face (Detection) - 计算机视觉面部识别和面部检测。这是一个完美的face.com替代品。目前,我们有一个免费的API进行人脸检测。 Animetrics Face Recognition - Animetrics的人脸识别API可用于图片中的人脸检测。面部特征或“地标”的信息被返回作为图象上的坐标。 Animetrics人脸识别也会在三维坐标轴上侦测并返回脸部位置信息。 Skybiometry Face Detection and Recognition 一个易于使用的人脸检测与识别的API。必须在您的SkyBiometry帐户中创建应用程序来使用它。(如果你还没有帐户,请先注册)。 ImageVision Face Detection -

计算机视觉——图像处理基础

好久不见. 提交于 2020-03-05 09:49:29
一、 图像轮廓和直方图 1.1原理 图像轮廓:因为绘制轮廓需要对每个坐标的像素值施加一个阈值,所以首先需要将图像灰度化。 直方图:用来表征该图像像素值得分布情况。用一定的小区间来指定表征像素值的范围,每个小区间会得到落入该小区间表示范围的像素数目。——》hist()函数:参数二:指定小区间的数目。参数一:只接受一维数组作为输入,因此在绘制图像直方图前,必须对图像进行压平处理。 1.1图像轮廓和直方图得实现 在原点的左上角显示轮廓图像 contour(im,origin= 'image')。 # -*- coding: utf-8 -*- from PIL import Image from pylab import * # 添加中文字体支持 from matplotlib.font_manager import FontProperties font = FontProperties(fname=r"c:\windows\fonts\SimSun.ttc", size=14) im = array(Image.open(r'C:\Users\mangowu\Desktop\1\1.jpg').convert('L')) # 打开图像,并转成灰度图像 figure() subplot(121) gray() contour(im, origin='image') axis(

计算机视觉-计算机视觉基础

旧巷老猫 提交于 2020-03-05 09:48:57
1、加载、显示、保存图像 import argparse import cv2 ap = argparse.ArgumentParser() ap.add_argument("-i", "--image", required=True, help="Path to the image")#读取指定指令,获取图片。参数1:输入指令的头字母,参数2:需要输入的指令 args = vars(ap.parse_args()) image = cv2.imread(args["image"]) #读取指定参数的,读取照片 print "width: %d pixels" % (image.shape[1]) # 获取图像的宽度,横向尺寸,图像坐标系中,第二个参数 print "height: %d pixels" % (image.shape[0] )#获取图像的高度,竖向尺寸,图像坐标系中,第一个参数 注意:读取图像x,y互换 print "channels: %d" % (image.shape[2]) cv2.imshow("Image", image)#显示图片 cv2.imwrite("newimage.jpg", image) #将图片写入指定路径 cv2.waitKey(0)#等待程序结束 2、图像基础 (h, w) = image.shape[:2] #(x,y)像素中的显示

图像处理和计算机视觉中的经典论文

怎甘沉沦 提交于 2020-03-04 20:14:29
因为自己看的东西杂乱繁多,特此记录。 文章转载至其他网站,如果侵权,请发送信息至1710778006@qq.com提醒删除,谢谢。 转自:http://www.cnblogs.com/moondark/archive/2012/04/20/2459594.html 感谢水木上同领域的同学分享,有了他的整理,让我很方便的获得了CV方面相关的经典论文,我也顺便整理一下,把pdf中的文字贴到网页上,方便其它人更直观的获取所要内容~~~ 资料的下载链接为: http://iask.sina.com.cn/u/2252291285/ish?folderid=775855 以下为该同学的整理的综述: “前言:最近由于工作的关系,接触到了很多篇以前都没有听说过的经典文章,在感叹这些文章伟大的同时,也顿感自己视野的狭小。 想在网上找找计算机视觉界的经典文章汇总,一直没有找到。失望之余,我决定自己总结一篇,希望对 CV 领域的童鞋们有所帮助。由于自己的视野比较狭窄,肯定也有很多疏漏,权当抛砖引玉了,如果你觉得哪篇文章是非常经典的,也可以把相关信息连带你的昵称发给我,我好补上。我的信箱 xdyang.ustc@gmail.com 文章主要来源:PAMI, IJCV, TIP, CVIU, PR, IVC, CVGIU, CVPR, ICCV, ECCV, NIPS, SIGGRAPH, BMVC等

计算机视觉 - 06 前向传播( Forward Propagation)、分类模型、交叉熵、标准化(学习笔记)

我与影子孤独终老i 提交于 2020-03-01 21:10:42
1、图片在卷积神经网络中是怎么变化的(前向传播 Forward Propagation) 代码详见: https://zhuanlan.zhihu.com/p/34222451 2、分类模型 Loss 函数为什么要用 交叉熵Cross Entropy? https://zhuanlan.zhihu.com/p/53045651 (1)分类模型 与 Loss 函数的定义监督学习的 2 大分支: 分类问题:目标变量是离散的。 回归问题:目标变量是连续的数值。 为了训练模型,必须先定义衡量模型好与坏的标准。 在机器学习中,我们使用 loss / cost,即, 当前模型与理想模型的差距。 训练的目的,就是不断缩小 loss / cost. (2)为什么不能用 classification error classification error 很难精确描述模型与理想模型之间的距离。 (3)Cross-Entropy (交叉熵)的效果对比 ACE 结果准确的体现了模型 2 优于模型 1。 cross-entropy 更清晰的描述了模型与理想模型的距离。 (4)为什么不用 Mean Squared Error (平方和) 分类问题,最后必须是 one hot 形式算出各 label 的概率, 然后通过 argmax 选出最终的分类。 (稍后用一篇文章解释必须 one hot 的原因)在计算各个

计算机视觉入门——01 CNN网络(卷积神经网络的结构)

徘徊边缘 提交于 2020-02-28 18:14:39
卷积的计算: https://blog.csdn.net/qq_32846595/article/details/79053277 入门资料: https://zhuanlan.zhihu.com/p/31249821 采样层实际上只是特征提取的过程,并不是一个实际的模块!!! 卷积实际上可以充当一个对原图像进行二次转化,提取feature 的作用。 全连接层:将pixels放入神经网络输出结果。 采样层:相当于信息预处理,只保留有用的信息。 加入卷积层,进一步减少数据 一个3x3 source pixels 经过一个3x3的卷积核后,source pixels 的特征映射成一个1x1 destination pixel。 级联分类器:大概意思就是我从一堆弱分类器里面,挑出一个最符合要求的弱分类器,用着这个弱分类器把不想要的数据剔除,保留想要的数据然后再从剩下的弱分类器里,再挑出一个最符合要求的弱分类器,对上一级保留的数据,把不想要的数据剔除,保留想要的数据。最后,通过不断串联几个弱分类器,进过数据层层筛选,最后得到我们想要的数据。 CNN主要由3钟模块构成: 卷积层 采样层 全连接层 整个过程相当于: 1、通过第一个卷积层提取最初特征,输出特征图(feature map) 2、通过第一个采样层对最初的特征图(feature map )进行特征选择,去除多余特征,重构新的特征图 3