
机器学习&计算机视觉
逗创创
这个作者很懒,什么都没留下…
展开
-
深度相机原理揭秘--双目立体视觉
深度相机原理揭秘–双目立体视觉为什么非得用双目相机才能得到深度?双目立体视觉深度相机的工作流程双目立体视觉深度相机详细工作原理理想双目相机成像模型极线约束图像矫正技术基于滑动窗口的图像匹配基于能量优化的图像匹配双目立体视觉深度相机的优缺点基于双目立体视觉的深度相机类似人类的双眼,和基于TOF、结构光原理的深度相机不同,它不对外主动投射光源,完全依靠拍摄的两张图片(彩色RGB或...转载 2019-11-20 11:31:28 · 1413 阅读 · 0 评论 -
极线几何关系、极点、极线,三维重构,k-d树的特征匹配方法
1. 试画图说明极线几何关系,并指出极点、极线所在,解释极线约束。基线:左右像机光心连线;极平面:空间点,两像机光心决定的平面;极点:基线与两摄像机图像平面的交点;极线:极平面与图像平面交线极线约束:匹配点必须在极线上例如:假设已知点X,如何求x’1、点x和x’一定位于平面π上,而平面π可以利用基线CC’和图像点x的反投影射线确定2、点x’又是右侧图像平面上的点,所以,点x’一...原创 2019-05-16 17:00:19 · 4045 阅读 · 1 评论 -
利用棋盘格图案完成相机标定
摄像机标定单孔摄像机(照相机)会给图像带来很多畸变。畸变主要有两种:径向畸变和切想畸变。如下图所示,用红色直线将棋盘的两个边标注出来,但是你会发现棋盘的边界并不和红线重合。所有我们认为应该是直线的也都凸出来了。所以需要进行相机标定棋盘格标定OpenCV使用棋盘格板进行标定,如下图所示。为了标定相机,我们需要输入一系列三维点和它们对应的二维图像点。在黑白相间的棋盘格上,二维图像点很容易通过...原创 2019-05-16 16:57:44 · 9180 阅读 · 1 评论 -
图像坐标系、相机坐标系和世界坐标系 相机的内、外参数矩阵
图像坐标系、相机坐标系和世界坐标系的定义,及三者之间的变换关系。图像坐标系1.图像像素坐标系原点:图像左上角P0点单位:像素横坐标u:图像数组中的列数纵坐标v:图像数组中的行数2.图像物理坐标系在图像像素坐标系下建立以物理单位(以下均假设为mm)表示的坐标系,使像素尺度具有物理意义。原点:主点(相机光轴与图像平面的交点,一般位于图像平面中心,即图中O1点)单位:mm/像素横...原创 2019-05-16 16:54:39 · 7060 阅读 · 1 评论 -
全连接神经元网络测试MNIST数据集
1、代码的运⾏log截图2、对模型结构的理解本模型是一个2层的全连接神经元网络,包含输入层、1个隐藏层、1个输出层。输入层为784个node的张量,既为32*32分辨率并经过二值化后的图片的所有像素点组成的一个向量。第一层为隐藏层,有100个node,其值为输入层的784个节点乘以784*100个权重加上偏置项后的和,经过relu激活函数取得的结果。L1_units_count = 1...原创 2019-05-16 16:46:40 · 794 阅读 · 0 评论 -
为什么感知器代码⽆法完成异或功能
异或问题的真值表如下:X1X2OUT000101011110就是说两个不一样,就是真(1),如果把异或问题表现为二维的分布,就是这样这样就很直观的把异或问题表现为点在二维平面上分布的问题。感知机的作用就是就是在一个超平面上画一条线,线的一边为一类。如果感知机只有两个输入,就是在二维平面上,划线然后分类。如上图所示,在”异或“...原创 2019-05-16 16:41:53 · 403 阅读 · 0 评论 -
机器学习入门04——糖尿病数据预测
利用Logistic回归技术实现糖尿病发病预测数据说明数据说明: Pima Indians Diabetes Data Set(皮马印第安人糖尿病数据集) 根据现有的医疗信息预测5年内皮马印第安人糖尿病发作的概率。数据链接:https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetesp.s.: Kaggle也有一个Practic...原创 2019-04-16 13:50:09 · 12371 阅读 · 5 评论 -
机器学习入门04——共享单车数据预测实验
共享单车骑行数据预测任务说明1、 任务描述 请在Capital Bikeshare (美国Washington, D.C.的一个共享单车公司)提供的自行车数据上进行回归分析。根据每天的天气信息,预测该天的单车共享骑行量。原始数据集地址:http://archive.ics.uci.edu/ml/datasets/Bike+Sharing+Dataset 1) 文件说明 day.csv: 按天...原创 2019-04-16 13:45:49 · 12461 阅读 · 4 评论 -
机器学习03——线性回归过拟合正则化 L1L2正则 岭回归 Lasso回归 弹性网络
最小二乘回归中,目标函数只考虑了模型对训练样本的拟合程度:原则上任意复杂的模型能完全拟合训练数据。我们称之为过拟合。• 过拟合( overfitting ):过于复杂的模型与训练数据拟合得太好,但和测试数据拟合得不好。• 欠拟合(underfitting):过于简单的模型与训练数据拟合得欠佳(和测试数据自然也拟合得不好)注意:线性回归中采用线性模型。而线性模型是很简单的模型,所以当特征维数...原创 2019-04-02 20:54:59 · 1546 阅读 · 0 评论 -
机器学习02——回归问题中的损失函数 (L2损失L1损失Huber损失函数)
回归问题预测中的残差• 预测残差:真实值和预测值之间的差异:原创 2019-04-01 22:07:55 · 4503 阅读 · 0 评论 -
机器学习入门01——线性回归简介 残差平方 代码例程
一、线性回归定义线性回归,就是能够用一个直线较为精确地描述数据之间的关系。这样当出现新的数据的时候,就能够预测出一个简单的值。线性回归中最常见的就是房价的问题。一直存在很多房屋面积和房价的数据。如下图所示:在这种情况下,就可以利用线性回归构造出一条直线来近似地描述放假与房屋面积之间的关系,从而就可以根据房屋面积推测出房价。• 回归:根据训练样本原创 2019-04-01 20:57:23 · 1687 阅读 · 0 评论 -
opencv+python 稀疏光流估计算法 代码实现 目标跟踪
光流估计算法光流的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。假设条件(1)亮度恒定,就是同一点随着时间的变化...原创 2019-03-20 22:07:24 · 12572 阅读 · 3 评论 -
python+opencv 混合高斯模型进行背景建模提取前景的代码实现 有效果视频和详细代码
混合高斯模型的基本原理:图像运动估计是计算机视觉中重要的部分,如何准确的在背景中提取出我们想要的目标是识别的关键。运动物体的检测分为两种情况:第一种是摄像头静止,目标在运动,背景也相对静止。例如大部分的固定摄像头拍摄到的画面;第二种是摄像头运动,目标静止或者运动,这种情况比较复杂。例如航拍画面,人拿着摄像机录像等。第一种情况,由于摄像头静止,所以背景相对来说是不变的,那么如果目标在运动,将某...原创 2019-03-20 19:59:41 · 12240 阅读 · 6 评论 -
opencv+python SIFT算子原理和ORB算子原理
SIFT算法分为如下四步:尺度空间极值检测:搜索所有尺度上的图像位置。通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点。关键点定位:在每个候选的位置上,通过一个拟合精细的模型来确定位置和尺度。关键点的选择依据于它们的稳定程度。方向确定:基于图像局部的梯度方向,分配给每个关键点位置一个或多个方向。所有后面的对图像数据的操作都相对于关键点的方向、尺度和位置进行变换,从而提供对于...原创 2019-03-11 18:53:09 · 1087 阅读 · 0 评论 -
opencv+python Hough变换的基本原理
Hough变换思想(参数空间变换):在原始图像坐标系下的一个点对应了参数坐标系中的一条直线,同样参数坐标系的一条直线对应了原始坐标系下的一个点,然后,原始坐标系下呈现直线的所有点,它们的斜率和截距是相同的,所以它们在参数坐标系下对应于同一个点。这样在将原始坐标系下的各个点投影到参数坐标系下之后,看参数坐标系下有没有聚集点,这样的聚集点就对应了原始坐标系下的直线。在实际应用中,y=kx+b形式...原创 2019-03-11 18:50:16 · 3410 阅读 · 0 评论 -
oprncv+python Harris算子边缘检测的原理及代码实现
Harris算子的定义:Harris算子是Harris和Stephens在1998年提出的一种基于信号的点特征提取算子。其前身是Moravec算子。其基本思想是:在图像中设计一个局部检测窗口,当该窗口沿各个方向做微小移动时,考察窗口的平均能量变化,当该能量变化超过设定的阈值时,就将窗口的中心像素点提取为角点。在角点处,任意方向移动,窗口灰度值均剧烈变化引入角点响应函数的意义:对于图像I...原创 2019-03-11 18:46:41 · 2699 阅读 · 0 评论 -
OpenCV 识别图片中的米粒个数,并计算米粒的平均面积和长度
介绍OpenCV+Python使用OpenCV构建图像识别算法,识别图片中的米粒个数,并计算米粒的平均面积和长度软件架构模块:OpenCV 4.0.0.21编程语言:Python 3.7.2编译器:PyCharm 2018程序设计思路首先介绍一下程序设计的思路:图像采集(取到图像):可以用摄像头拍摄或者图片直接导入图像预处理:对图像进行灰度化基于灰度的阈值分割:使用局部大津...原创 2019-03-07 10:07:46 · 33158 阅读 · 18 评论 -
Python+Opencv 图像直方图的基本概念,及使用大津算法进行图像分割的程序实现
图像直方图的基本概念:统计各个灰度级别在图像中的出现次数或概率,并用直方图显示出来,一般直方图显示图像数据时会以左暗又亮的分布曲线形式呈现出来。且具有图像平移、旋转、缩放不变性等众多优点,直方图在进行图像计算处理时代价较小,所以经常用于图像处理。Lena图像的灰度直方图和RGB直方图显示:python程序实现,使用matplotlib模块绘制:# -*- coding:utf-8 -*...原创 2019-03-06 15:52:14 · 2529 阅读 · 1 评论 -
opencv+python 边缘检测的基本原理,及Sobel、LoG和Canny算子的程序实现
图像边缘检测的原理:图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。图象的边缘部分集中了图象的大部分信息,图象边缘的确定与提取对于整个图象场景的识别与理解是非常重要的,同时也是图象分割所依赖的重要特征,边缘检测主要是图象的灰度变化的度量、检测和定位。边缘检测的基本原理: 边缘检测的本质...原创 2019-03-06 15:49:22 · 6661 阅读 · 0 评论 -
图像卷积滤波的原理和均值滤波,盒型滤波,高斯滤波,中值滤波 ,双边滤波的Python程序实现
图像卷积滤波的基本原理:一个二维的滤波器矩阵(也就是卷积核)和一个要处理的二维图像;对于图像的每一个像素点,计算它的邻域像素和滤波器矩阵的对应元素的乘积,然后加起来,作为该像素位置的值,这样就完成了滤波过程。不难发现,用3×3的核对一副6×6的图像进行卷积,得到的是4×4的图,图片缩小了!那怎么办呢?我们可以把原图扩充一圈,再卷积,这个操作叫padding。事实上,原图为n×n,卷积核为f...原创 2019-03-06 15:46:01 · 5428 阅读 · 0 评论 -
图像视觉系统五问—图像基础知识
图像视觉系统五问—图像基础知识第一问:视觉系统都有哪些构成要素? 以机械臂视觉控制系统为例,说明视觉系统的构成要素。1、照明设备:光源通过适当的光源照明设计,使图像中的目标信息与背景信息得到最佳分离,可以大大降低图像处理算法分割、识别的难度,同时提高系统的定位、测量精度,使系统的可靠性和综合性能得到提高。反之,如果光源设计不当,会导致在图像处理算法设计和成像系统设计中事倍功半。因此,光源及光...原创 2019-03-03 23:51:55 · 1008 阅读 · 1 评论 -
OpenCV+Python 彩色图片的 BGR、灰度图、HSV分量图显示的程序
OpenCV+Python 彩色图片的 BGR、灰度图、HSV分量图显示的程序介绍OpenCV+Python使用openCV中的split()函数和 cvtColor()函数提取一张彩色图片的BGR分量图、灰度图、HSV分量图软件架构模块:OpenCV 4.0.0.21编程语言:Python 3.7.2编译器:PyCharm 2018先上一张效果图第一行 第1张图是原始图片,第...原创 2019-02-28 21:56:38 · 10755 阅读 · 3 评论