计算机视觉

物体检测和边缘检测

╄→尐↘猪︶ㄣ 提交于 2019-12-06 19:19:30
物体检测(识别)是计算机视觉中的经典问题之一,其任务是用框去标出图像中物体的位置,并给出物体的类别。从传统的人工设计特征加浅层分类器的框架,到基于深度学习的端到端的检测框架,物体检测一步步变得愈加成熟。 边缘检测是图像处理和计算机视觉中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点。图像属性中的显著变化通常反映了属性的重要事件和变化。 这些包括(i)深度上的不连续、(ii)表面方向不连续、(iii)物质属性变化和(iv)场景照明变化。 边缘检测是图像处理和计算机视觉中,尤其是特征提取中的一个研究领域。 它们两者是包含关系,边缘检测是物体检测(识别)的基础。如果识别出了物体那自然也就识别出了边缘。然而实际中经常是在物体周边画一个四方形,这并不符合我们想要的物体的边缘。所以基于深度学习的物体检测和传统的边缘检测或许可以绘制出我们想要的物体轮廓。 Mapping Object Contour by Object Detection and Edge Detection with Machine Learning 来源: https://www.cnblogs.com/2008nmj/p/11997116.html

特征和分类器——《卷积神经网络与计算机视觉》读书笔记

若如初见. 提交于 2019-12-06 14:14:47
  特征提取和分类是典型计算机视觉系统的两个关键阶段。视觉系统的准确性、稳健性和效率很大程度上取决于图像特征和分类器的质量。特征提取方法可以分为两个不同的类别,即基于手工的方法和基于特征学习的方法。分类器可以分为两组,即浅层模型和深层模型。   特征是任何独特的方面或特性,用于解决与特定应用相关的计算任务。n个特征的组合可以表示为n维向量,称为特征向量。特征向量的质量取决于其区分不同类别的图像样本的能力。良好的特征应该是信息丰富的,不受噪声和一系列变换的影响,并且计算快速。   分类是现代计算机视觉和模式识别的核心。分类器的任务是使用特征向量对图像或感兴趣区域(ROI)划分类别。分类任务的困难程度取决于来自相同类别图像的特征值的可变性,以及相对于来自不同类别图像的特征值的差异性。但是,由于噪声(以阴影、遮挡、透视扭曲等形式),异常值(例如,“建筑”类别的图像可能包含人),模糊性(例如 ,相同的矩形形状可以对应于桌子或建筑物窗户),缺少标签,仅有小训练样本可用,以及训练数据样本中的正负覆盖的不平衡。因此,设计分类器做出决策是一项具有挑战性的任务。    传统特征描述符:传统(手工设计)特征提取方法分为两大类:全局和局部。全局特征提取方法定义了一组有效描述整个图像的全局特征,因此,形状细节被忽略。全局特征也不适用于识别部分遮挡的对象。另一方面,局部特征提取方法提取关键点周围的局部区域

opencv想到的

喜你入骨 提交于 2019-12-06 05:58:43
opencv是用C++写的库,包了多种语言接口,包括C,C++,python,java等。 OpenCV 是一个开放源代码的计算机视觉库,目前在科研和开发中被广泛使用。OpenCV 由一系列 C 函数和少量 C++ 类构成,实现了图像处理和计算机视觉方面的很多通用算法。 功能涉及图像 opencv的原始开发语言是c++ c ,那么 opencv的扩展开发 c c++应该就是最好的 java 和python 快速开发语言 java的 kafka 消息中间件 搞的 c++都没有了服务器开发的优势 rabbitmq是erlang 开发的 k8s是go开发的 这些原始的语言 扩展, 原始开发语言还是有优势的 来源: https://www.cnblogs.com/hshy/p/11964929.html

李飞飞计算机视觉学习总结一(附经典论文链接)

流过昼夜 提交于 2019-12-06 04:37:58
内容 第一节课——简介 什么是计算机视觉——就是针对视觉数据的研究 1.1. 百度知道 计算机视觉是使用计算机及相关设备对生物视觉的一种模拟。它的主要任务就是通过对采集的图片或视频进行处理以获得相应场景的三维信息。计算机视觉既是工程领域,也是科学领域中的一个富有挑战性重要研究领域。计算机视觉是一门综合性的学科,它已经吸引了来自各个学科的研究者参加到对它的研究之中。其中包括计算机科学和工程、信号处理、物理学、应用数学和统计学,神经生理学和认知科学等。 计算机视觉课程的重要性 海量视觉数据(YouTube为例) 讲师介绍以及相关课程(cs131等) 第二节课——视觉发展史 动物视觉发展史 机器视觉发展史——目标分割概念 Block world 视觉世界简化为简单形状 计算机视觉发展史——论文以及Adaboost实时人脸检测 "SIFT"& Object Recognition, David Lowe, 1999 Spatial Pyramid Matching, Lazebnik, Schmid& Ponce,2006 Histogram of Gradients(hog), Dalal& Triggs,2005 Deformable Part Model Felzenswalb McAllester, Ramanan 2009 https://pan.baidu.com/s/1B06

代码解读 | VINS_Mono中的鱼眼相机模型

二次信任 提交于 2019-12-06 01:41:27
本文作者是计算机视觉life公众号成员蔡量力,由于格式问题部分内容显示可能有问题,更好的阅读体验,请查看原文链接: 代码解读 | VINS_Mono中的鱼眼相机模型 VINS_Mono中的鱼眼相机模型 VINS_Mono代码支持的相机包括针孔模型和鱼眼模型相机,针孔模型大家都比较熟悉了,今天向大家介绍一种鱼眼相机模型——MEI模型及其标定方法。 相机模型 投影模型 相比针孔模型可以将3d点直接投影到归一化平面,鱼眼相机则多了一个中间过程:先将3d点投影到单位球面,再将单位球面上的点投影到归一化平面上。废话不多说,请看鱼眼相机投影模型示意图: 代码解读 VINS Mono中相机模型对应代码在/VINS-Mono/camera model/src/camera_models/CataCamera.cc文件**liftSphere**()函数中,该函数是将$2d$ 投影到$3d$ 点(单位球面上),首先对$2d$去畸变,然后再投影到单位球面上。 去畸变过程代码如下: //去畸变过程 int n = 6; Eigen::Vector2d d_u; distortion(Eigen::Vector2d(mx_d, my_d), d_u);//得到畸变量 // Approximate value mx_u = mx_d - d_u(0); my_u = my_d - d_u(1); for

深度学习与计算机视觉(12)_tensorflow实现基于深度学习的图像补全

倾然丶 夕夏残阳落幕 提交于 2019-12-05 10:32:16
原文地址: Image Completion with Deep Learning in TensorFlow by Brandon Amos 原文翻译与校对: @MOLLY && 寒小阳 (hanxiaoyang.ml@gmail.com) 时间:2017年4月。 出处: http://blog.csdn.net/han_xiaoyang/article/details/70214565 声明:版权所有,转载请联系作者并注明出 简介 第一步:将图像理解为一个概率分布的样本 你是怎样补全缺失信息的呢? 但是怎样着手统计呢?这些都是图像啊。 那么我们怎样补全图像? 第二步:快速生成假图像 在未知概率分布情况下,学习生成新样本 [ML-Heavy] 生成对抗网络(Generative Adversarial Net, GAN) 的架构 使用G(z)生成伪图像 [ML-Heavy] 训练DCGAN 现有的GAN和DCGAN实现 [ML-Heavy] 在Tensorflow上构建DCGANs 在图片集上跑DCGAN 第三步:找到用于图像补全最好的伪图像 使用 DCGAN 进行图像补全 [ML-Heavy] 到 pgpg 的投影的损失函数 [ML-Heavy] 使用tensorflow来进行DCGAN图像补全 补全图像 结论 简介 内容识别填充(译注: Content-aware fill

计算机视觉、机器学习相关领域论文和源代码大集合

二次信任 提交于 2019-12-04 16:40:31
一、特征提取Feature Extraction: · SIFT [1] [ Demo program ][ SIFT Library ] [ VLFeat ] · PCA-SIFT [2] [ Project ] · Affine-SIFT [3] [ Project ] · SURF [4] [ OpenSURF ] [ Matlab Wrapper ] · Affine Covariant Features [5] [ Oxford project ] · MSER [6] [ Oxford project ] [ VLFeat ] · Geometric Blur [7] [ Code ] · Local Self-Similarity Descriptor [8] [ Oxford implementation ] · Global and Efficient Self-Similarity [9] [ Code ] · Histogram of Oriented Graidents [10] [ INRIA Object Localization Toolkit ] [ OLT toolkit for Windows ] · GIST [11] [ Project ] · Shape Context [12] [ Project ] · Color Descriptor

计算机视觉、机器学习相关领域论文和源代码大集合

六眼飞鱼酱① 提交于 2019-12-04 16:40:18
注:下面有 project 网站的大部分都有 paper 和相应的 code 。 Code 一般是 C/C++ 或者 Matlab 代码。 最近一次更新:2013-3-17 一、特征提取Feature Extraction: · SIFT [1] [ Demo program ][ SIFT Library ] [ VLFeat ] · PCA-SIFT [2] [ Project ] · Affine-SIFT [3] [ Project ] · SURF [4] [ OpenSURF ] [ Matlab Wrapper ] · Affine Covariant Features [5] [ Oxford project ] · MSER [6] [ Oxford project ] [ VLFeat ] · Geometric Blur [7] [ Code ] · Local Self-Similarity Descriptor [8] [ Oxford implementation ] · Global and Efficient Self-Similarity [9] [ Code ] · Histogram of Oriented Graidents [10] [ INRIA Object Localization Toolkit ] [ OLT toolkit

整理一下看过的图像识别的文章(人脸、车牌、验证码)

微笑、不失礼 提交于 2019-12-04 11:11:57
整理一下看过的图像识别的文章(人脸、车牌、验证码) 整理一下看过的图像识别的文章(人脸、车牌、验证码) 图像识别最近大热,尤其是人脸识别,BAT先后发力,这方面的研究论文真可谓是层出不穷,这里整理下本人最近看到的一些不错的,与大家一起学习~ 科普入门: 先上两篇科普性的文章,介绍图像识别、人脸识别技术和应用前景。 《 「人脸识别」很火,但你不知道的还有很多 》 本文从Facebook、Google、BAT等各大互联网巨头的人脸识别应用领域的角度,介绍了人脸识别的应用现状。 《 从How-Old.net到TwinsOrNot.net,看人脸识别技术是怎么 high 起来的 》 以前一阵玩疯了的How-Old.net为例简单介绍了人脸识别的过程、技术要点,一篇不错的技术科普文。 算法框架: 《 深度卷积神经网络CNNs的多GPU并行框架 及其在图像识别的应用 》 这篇文章来自于腾讯深度学习平台,分享了他们Deep CNNs的单机多GPU模型应用在图像识别上的经验教训,有深度。 《 CNN卷积神经网络应用于人脸识别(详细流程+代码实现) 》 本文偏向于实战,对到上手操作阶段的同学来说很有借鉴意义。优势就是代码!代码!代码! 《 人脸识别技术——Face Detection & Alignment 》 这里介绍一种MSRA在14年的最新技术: Joint Cascade Face

【计算机视觉基础】IPM

青春壹個敷衍的年華 提交于 2019-12-04 10:38:17
IPM code #if 0 void xyp2ipmp(cv::Mat& xyp, cv::Mat& ipmp, cv::Mat& xylim, Size& sz){ //xylimist_[0]-latteral/xylimist_[1]-longitudinal... //ipmp-row0-cols-latteral/ipmp-row1-rows-longitudinal... double xmin = 0, xmax = 0, ymin = 0, ymax = 0; minMaxLoc(xylim.row(0), &xmin, &xmax); minMaxLoc(xylim.row(1), &ymin, &ymax); double stepcol = (xmax - xmin) / sz.width; double steprow = (ymax - ymin) / sz.height; cv::Mat tempx = cv::Mat::ones(1, xyp.cols, CV_64FC1) * xmin; cv::Mat tempy = cv::Mat::ones(1, xyp.cols, CV_64FC1) * ymax; ipmp = cv::Mat::zeros(2, xyp.cols, CV_64FC1); ipmp.rowRange(0, 1) = (