![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机视觉
计算机视觉
星之所望
兴趣使然的AI工程师
展开
-
数据驱动的图像分类方式:K最近邻与线性分类器
最邻近规则分类器KNN简单描述:首先在n个数据集中指定m个分类,这是学习过程。在使用中,对于新输入的数据,计算其k范围内,或者最邻近的k个点,根据多数表决规则,决定其属于m分类中的哪个分类。关于距离:可以使用马哈顿距离、欧式距离等。关于多数表决原则:等价于经验风险最小化。关于具体实现:kd树。线性分类器两张图片,一张猫的,一张狗的如何分类?如...原创 2018-07-23 15:41:02 · 389 阅读 · 0 评论 -
图像质量评价标准学习笔记(1)-均方误差、峰值信噪比、结构相似性理论、多尺度结构相似性
三种评价标准:1、全参考 2、半参考 3、无参考。全参考包括:均方误差(MSE):均方误差法首先计算原始图像和失真像象素差值的均方值,然后通过均方值的大小来确定失真图像的失真程度。公式为:峰值信噪比(PSNR):最大信号量与噪声强度的比值,由于数字图像都是以离散的数字表示图像的像素,一般取L=255.可以看到MSE和PSNR实际上是一个值。伪代码如下:...原创 2018-08-22 19:29:57 · 15878 阅读 · 2 评论 -
图像质量评价标准学习笔记(2)-基于梯度的结构相似度、三分量加权结构相似性指数
基于梯度的结构相似度(GSSIM):SSIM 算法不能较好地评价严重模糊图像的质量,有鉴于此提出GSSIM。主要是SSIM中结构信息在模糊情况,不能代表结构信息,所以对图像进行梯度计算,得到图像的边缘,然后再对图像结构相似度进行计算。边缘算子:分别对图像进行垂直和水平的梯度计算:其中和分别为用水平边缘算子H和垂直边缘算子V 计算得到的梯度分量,而后根据如下计算机构相似度。...原创 2018-08-24 00:28:51 · 4957 阅读 · 5 评论 -
MATLAB实现五种边缘检测
一、原理常用的边缘检测算法有拉普拉斯边缘检测算法、Robert边缘检测算子、Sobel边缘检测算子、Prewitt边缘检测算子、Canny边缘检测算子。二、代码[filename,pathname]=uigetfile({'*.jpg';'*bmp';'*gif'},'选择原图片');I = imread([pathname,filename]);I=rgb2gray(I);%...转载 2018-08-24 11:13:52 · 5946 阅读 · 0 评论 -
如何轻松愉快地理解条件随机场(CRF)?
转自:http://www.jianshu.com/p/55755fc649b1理解条件随机场最好的办法就是用一个现实的例子来说明它。但是目前中文的条件随机场文章鲜有这样干的,可能写文章的人都是大牛,不屑于举例子吧。于是乎,我翻译了这篇文章。希望对其他伙伴有所帮助。原文在这里[http://blog.echen.me/2012/01/03/introduction-to-condition...转载 2018-08-25 12:07:55 · 405 阅读 · 1 评论 -
图像质量评价标准学习笔记(3)-信息保真度准则(IFC)、特征相似性(FSIM)
信息保真度准则(IFC)这个评价值比较复杂,使用小波域的 GSM( Gaussianscale mixture) 模型对 NSS 建模,NSS指自然场景。小波转换把图像分解成很多系数,自然场景的小波分解子代系数既不是独立的,也不是同分布的,一个系数的邻域如果有较大的方差,它也可能有较大的方差。也就是假设一个“好的图像”在GSM模型中的系数有一定的特征,只需要比较退化图像在GSM模型中的...原创 2018-08-29 14:45:15 · 10766 阅读 · 2 评论 -
颜色空间总结
RGB颜色空间人眼的锥状细胞是负责彩色视觉的传感器。人眼中有600~700万个锥状细胞,它们可分为3类,分别感觉红光(65%),绿光(33%),蓝光(2%),虽然比例少,但是蓝锥状细胞却对蓝光更加敏感。所以被看到的颜色就是所谓的原色红,绿,蓝的组合。RGB彩色模型主要是面向硬件的模型,如彩色监视器和一大类的彩色视频摄像机。这个彩色模型利用的是三原色叠加从而产生不同的颜色。但是三原色叠加并不...原创 2018-08-30 22:05:07 · 2988 阅读 · 0 评论 -
码流 / 码率 / 比特率 / 帧速率 / 分辨率 / 高清的区别
GOP/码流 /码率 / 比特率 / 帧速率 / 分辨率GOP(Group of picture) 关键帧的周期,也就是两个IDR帧之间的距离,一个帧组的最大帧数,一般而言,每一秒视频至少需要使用 1 个关键帧。增加关键帧个数可改善质量,但是同时增加带宽和网络负载。 需要说明的是,通过提高GOP值来提高图像质量是有限度的,在遇到场景切换的情况时...转载 2018-08-31 11:02:06 · 658 阅读 · 0 评论 -
【视频编码格式】全面解析
视频编码格式全面解析我们在详解各种主流的视频格式之前,先抛开各种视频格式的定义,来讨论这样一件事情:你觉得目前的视频格式编码混乱吗?相信这个问题问出来,许多、、不同知识层次的人有不同的思考,但是答案却都有一个共同点就是:“混乱”。从我们在接触网络上面看电影以来,就会遇到从原先我们熟知的RMVB格式的视频到后来接触的MP4、3GP等格式的视频就会感到为什么同样是AVI的视频,我的MP4却不支...转载 2018-08-31 11:08:05 · 515 阅读 · 0 评论 -
斯坦福CS231n计算机视觉-线性分类器损失函数与最优化
支撑向量机的损失函数:数据损失部分:例子:L的最小值是0,最大值是无穷。存在问题:也就是,不同权值,得到的评价函数一样,实际上一般参数比较分散比较好,所以要加入涉及参数平均分布的评价指标,如下:可以看到有L2、L1等多种规则化权重。一般使用L2,是参数均匀分布的权重得分更高。最终的到如下MSV损失函数:损失函数=数据损失+正则损失。Softm...原创 2018-09-14 23:41:51 · 291 阅读 · 0 评论 -
统计学之三大相关性系数(pearson、spearman、kendall)matlab实现
(转自 微信公众号克里克学苑,修改成MATLAB语言实现)三个相关性系数(pearson, spearman, kendall)反应的都是两个变量之间变化趋势的方向以及程度,其值范围为-1到+1,0表示两个变量不相关,正值表示正相关,负值表示负相关,值越大表示相关性越强。1. person correlationcoefficient(皮尔森相关性系数)公式如下:重点关注第一个...转载 2018-09-27 09:03:03 · 16996 阅读 · 0 评论 -
斯坦福CS231n计算机视觉-神经网络训练中激活函数的选择
引用:https://zhuanlan.zhihu.com/p/21462488?refer=intelligentunit本节课没有从头讲解神经网络,而是讲了一些神经网络的细节问题。两个需要注意的问题1、训练样本不够多没事,使用预训练好的卷积神经网络,所以不用担心训练样本少。2、计算机的计算能力有限常用激活函数Sigmoid函数数学公式:特性:它输入实数值...原创 2018-10-25 11:32:10 · 212 阅读 · 1 评论 -
斯坦福CS231n计算机视觉-神经网络训练细节(权值初始化、批量归一化、超参数优化)
权值初始化使用tanh作为激活函数。权值赋值方法:方法一:使用小的随机数最直观的想法,但这样会导致一个问题。由于每一层的权值都非常小,所以每一层都好像衰减运算一样,随后会导致输出值均值为0,方差也为0。那如果不进行0.01的衰减呢?方法二:使用随机数则会导致每一层都好像一个放大器一样,权值变得没有意义。方法三:Xavier initializa...原创 2018-10-25 21:25:32 · 390 阅读 · 0 评论 -
斯坦福CS231n计算机视觉-神经网络参数更新机制
梯度下降法(Gradient descent update,SGD)最后一行就是梯度下降的公式,只是简单的相乘。存在问题:梯度的不连续性会导致参数来回震荡,所以收敛的比较慢。动量更新(momentum update)可以看到就是本次更新和上几次的更新还有关系,原来相当于一个没有质量的球滚动,现在考虑了球的质量,有一定的惯性。V一般初始化为0,mu一般为0.5, ...原创 2018-10-28 21:19:26 · 377 阅读 · 0 评论 -
斯坦福CS231n计算机视觉-神经网络的随机失活
具体操作:对于一个三层网络来说,就是每次每层计算输出,以一定概率乘以一个掩码0,一般为50%,从而让一半的输出无效化,对于被选中的节点,就相当于失活了。那么为什么要随机失活?解释一:避免过拟合一个猫的特征是多种的,但有时候某些特征过于明显导致其他特征不明显,从而抑制了其他特征的在网络中的表述,这就是对明显特征的过拟合,所以失活可以使你的表征对于图片的表示是冗余的,由于每...原创 2018-10-29 11:08:37 · 610 阅读 · 0 评论 -
加载MNIST报错:[WinError 10060] 由于连接方在一段时间后没有正确答复解决办法
转载:https://blog.csdn.net/landcruiser007/article/details/79346982tensorflow加载mnist数据集,一些书上和博客中的代码如下:from tensorflow.examples.tutorials.mnist import input_datamnist=input_data.read_data_sets("MNIS...转载 2018-11-10 16:59:04 · 1916 阅读 · 0 评论 -
《TensorFlow 实战Google深度学习框架》中MNIST数字识别问题程序的实现与思考
书上的程序:import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data__author__: str = 'zhangkun'INPUT_NODE = 784 # 输入节点数OUTPUT_NODE = 10 # 输出节点数LAYER1_NODE = 500 # 隐层节点...原创 2018-11-10 20:25:07 · 280 阅读 · 0 评论 -
交叉检验---训练数据,验证数据和测试数据
本文来自https://blog.csdn.net/piaoyu94/article/details/78694045内容:最近在Coursera上学习Data Analysis课程,课程论坛中有个帖子针对交叉检验(Cross Validation)中训练数据集(train dataset),验证数据集(Validate dataset)和测试数据集(test dataset)展开...转载 2018-11-23 21:28:28 · 525 阅读 · 0 评论 -
TensorFlow 制作自己的TFRecord数据集 读取、显示及代码详解
准备图片数据笔者找了2类狗的图片, 哈士奇和吉娃娃, 全部 resize成128 * 128大小如下图, 保存地址为D:\Python\data\dog每类中有10张图片现在利用这2 类 20张图片制作TFRecord文件制作TFRECORD文件1 先聊一下tfrecord, 这是一种将图像数据和标签放在一起的二进制文件,能更好的利用内存,在tensorfl...转载 2018-11-28 21:19:08 · 229 阅读 · 0 评论 -
Windows+anaconda+labelme安装
1.先下载安装anaconda:https://www.anaconda.com/download/选择适合自己Python版本的2.安装好在程序里选择prompt,就相当于windows下的cmd,只不过运行目录直接在anaconda下3.在prompt里依次输入conda create --name=labelme python=2.7(这一步python=*选择自己的Python版...转载 2018-12-01 16:03:57 · 432 阅读 · 0 评论 -
Windows下anaconda安装opencv
win+R打开cmd界面,输入conda create -n opencv python=3.6,创建名为opencv的虚拟空间,然后一路y,直到安装完成。activateopencv然后输入conda installopencv,一路y,安装完成。...原创 2018-12-06 06:53:35 · 1328 阅读 · 0 评论 -
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
使用Python和OpenCV检测图像中的物体并将物体裁剪下来2017年02月18日 21:14:24草千里阅读数:47545标签:pythonopencv图片更多个人分类:openCV介绍硕士阶段的毕设是关于昆虫图像分类的,代码写到一半,上周五导师又给我新的昆虫图片数据集了,新图片中很多图片很大,但是图片中的昆虫却很小,所以我就想着先处理一下图片,把图片中的昆虫裁...转载 2018-12-06 09:26:00 · 577 阅读 · 0 评论 -
opencv: 图像缩放(cv2.resize)
Syntaxcv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) → dstinterpolation 选项 所用的插值方法INTER_NEAREST 最近邻插值INTER_LINEAR 双线性插值(默认设置)INTER_AREA 使用像素区域关系进行重采样。 它可能是图像抽取的首选方法,因为...转载 2018-12-21 18:47:12 · 9250 阅读 · 0 评论 -
计算两幅图像的相似度总结
1. SSIM(结构相似性度量)这是一种全参考的图像质量评价指标,分别从亮度、对比度、结构三个方面度量图像相似性。SSIM取值范围[0, 1],值越大,表示图像失真越小。在实际应用中,可以利用滑动窗将图像分块,令分块总数为N,考虑到窗口形状对分块的影响,采用高斯加权计算每一窗口的均值、方差以及协方差,然后计算对应块的结构相似度SSIM,最后将平均值作为两图像的结构相似性度量,即平均结构...转载 2018-12-24 11:00:23 · 4664 阅读 · 0 评论 -
darknet在windows上的安装编译与使用
目录目录前言1,操作系统环境2,下载darknet3,下载安装Cygwin4,编译darknet5,使用darknet前言本篇文章参考这篇:http://www.cnblogs.com/jackkwok/p/9045890.html但部分细节随着时间发生了变化。darknet在windows上的安装编译与使用darknet(https://github.com/p...转载 2019-01-14 11:19:06 · 4024 阅读 · 4 评论 -
python opencv中无法读写中文路径图片的解决办法
读取图片:img = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 1)1其中img_path为读取图片路径,可以包含中文保存图片:cv2.imencode('.jpg', src)[1].tofile(save_path)1其中save_path为保存图片路径,可以包含中文,’.jpg’为保存文件格式--------...转载 2019-01-19 11:29:08 · 1209 阅读 · 0 评论 -
keras yolov3 Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED
训练、测试Tensorflow、Keras代码时,出现could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED、error retrieving driver version: Unimplemented: kernel reported driver version not implemented on Windows、could n...转载 2019-03-27 16:26:20 · 9645 阅读 · 11 评论 -
windows10+keras下的yolov3的快速使用及自己数据集的训练
引用:https://blog.csdn.net/u012746060/article/details/81183006#commentsedit由于这篇大牛的文章有一点小问题,所以把其中的小问题修正之后,自己发布一篇,一下为正文:一、环境要求 tensorflow-gpu keras pycharm二、快速使用1、下载yo...原创 2019-03-27 17:17:04 · 3253 阅读 · 2 评论 -
Python版在图片上添加图片
在介绍完给图上添加文字后,我们再介绍给图片上添加图片,也就是图片的叠加。需要使用的Python的图像库:PIL.更加详细的知识点如下:Imaga模块:用来创建,打开,保存图片文件new(path):用来创建一个新的图片文件.该文件位于path所在的路径中。打开后返回Image类型的图片。open(path):用来打开已经存在的图片文件.该文件位于path所在的路径中。打开后返回Ima...转载 2019-05-19 19:26:30 · 4117 阅读 · 0 评论 -
初学Python-简单的,在图片上加png(logo)
昨天尝试了在图片上添加文字(传送门:初学Python-简单的在图片上加文字)今天就来尝试在图片上添加png为什么是png图片?jpg可以不?当然是可以的!但是考虑到,logo一般为了好看,都采用底部透明的png文件,而且png比jpg处理的方式还复杂一丢丢。所以这里就以png为代表来做案例。实现方式1.引入PIL函数库(不具体说)如何在windows安装PIL库...转载 2019-05-19 21:45:33 · 2346 阅读 · 0 评论 -
十六进制颜色码
英文代码 形像颜色 HEX格式 RGB格式 LightPink 浅粉色 #FFB6C1 255,182,193 Pink 粉红 #FFC0CB 255,192,203 Crimson ...转载 2019-05-19 22:08:49 · 7655 阅读 · 0 评论 -
python 使用cv2、io.BytesIO处理图片二进制数据
参考资料:http://www.voidcn.com/article/p-sabqihis-bry.html参考资料: https://blog.csdn.net/yang_bingo/article/details/84066217 1、使用cv2import cv2import numpy as npfrom matplotlib import pyplot as pltfro...转载 2019-06-10 10:42:35 · 3745 阅读 · 0 评论 -
【python图像处理】几何图形的绘制与文字的绘制(ImageDraw类详解)及Image.save设置
python PIL图像处理模块中的ImageDraw类支持各种几何图形的绘制和文本的绘制,如直线、椭圆、弧、弦、多边形以及文字等。下面直接通过示例来进行说明:#-*- coding: UTF-8 -*- import numpy as npfrom PIL import Imagefrom PIL import ImageDrawfrom PIL import Image...转载 2020-02-13 06:36:03 · 1944 阅读 · 0 评论 -
Pytorch学习之LSTM识别MNIST数据集(改进)
按照这篇文章的代码https://www.jianshu.com/p/8e447be76478十分感谢的作者的分享,但文章中的代码是有问题的。需要修改两点1、代码对齐问题# 开始训练for epoch in range(num_epoches): running_loss = 0.0 running_acc = 0.0 for i, data in en...原创 2020-02-17 20:36:42 · 809 阅读 · 0 评论 -
(图文并茂)深度学习实战(4):从mnist数据集里面提取原始图片数据
(图文并茂)深度学习实战(4):从mnist数据集里面提取出图片数据经过上一篇的(图文并茂)深度学习实战(3):mnist手写体识别案例,我们运行了caffe自带的mnist手写体案例,获得了一个mnist的模型,并且使用这个模型来预测了一下。但是是不是觉得不够可视化?数据集样子也看不到,而且都是使用sh脚本,很多不熟悉?还有最重要的一点,就是官网提供的mnist数据并不是图片,但我们以后做的...转载 2020-03-15 06:57:31 · 1123 阅读 · 0 评论 -
PIL中的Image和numpy中的数组array相互转换
Image转numpyim = Image.open("./1.jpg") # 打开图片im_array = np.array(im) # 将图片转化为numpy数组numpy转Imageimg = Image.fromarray(np.uint8(im_array)).convert('RGB') # 将数组转化回图片im_array2 = np.array(img)...原创 2020-03-20 15:03:44 · 1087 阅读 · 0 评论 -
<built-in function imshow> returned NULL without setting an error
cv2.imshow(p, im0)报错,只需要把p改成str类型就行原创 2020-11-18 17:12:13 · 1959 阅读 · 0 评论 -
LabelImg的安装出现No module named ‘libs.resources‘错误
如果出现No module named ‘libs.resources’,直接看第7点。1.下载labelImggithub地址:https://github.com/tzutalin/labelImg“”""""""""""""""""""""""""""""""""""""""下载第三方库 (要安装的库)labelImg的使用需要以下库的支持:PyQt5、PyQt5_tools、lxmlcmd下分别输入:pip3 install PyQt5 pip3 install PyQt5_to转载 2020-11-18 21:23:51 · 1841 阅读 · 0 评论 -
python3 + opencv 调用摄像头录像后保存视频
python3 + opencv 调用摄像头录像后保存视频#!/usr/bin/python3import cv2## opening videocapturecap = cv2.VideoCapture(0, cv2.CAP_DSHOW)## some videowriter propssz = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))fps = 3原创 2020-11-21 09:32:23 · 629 阅读 · 2 评论