机器学习和机器视觉
文章平均质量分 68
汇总自己在使用机器学习和机器视觉方面的经验和过程。学习过程主要参考吴恩达的视频课程和黄永昌编著的《scikit-learn机器学习》
yuanlulu
做过嵌入式Linux开发、深度学习平台开发。擅长c++和python。
展开
-
布料放大100倍后是什么样子
生活中绝大多数面料都是人造化学材料做成的。将纺织面料放大100X以上看到的样子都是那种塑料的感觉,和宏观的外观差别很大。我最近在做这方面的事情,这里分享几张布料的放大图片。这些布料看上去都很普通,但是放大后各有特点。原创 2024-03-19 16:12:45 · 221 阅读 · 0 评论 -
解决pyuvc无法读取yuv格式的问题
我使用pyuvc访问uvc摄像头,但是发现pyuvc只支持了MJPEG的格式和GRAY格式。后面通过阅读pyuvc的代码,发现libuvc本身没有限制YUV的格式,是pyuvc限制的。首先修改_supported_formats,增加对uvc.UVC_FRAME_FORMAT_YUYV和uvc.UVC_FRAME_FORMAT_ANY的支持。编译生成新的whl文件在源码的wheelhouse/目录下。我的摄像头返回的是packaged格式的YUV420数据,我直接保存到磁盘文件中。在编译中我遇到的问题在。原创 2024-01-05 11:38:50 · 593 阅读 · 0 评论 -
使用python访问uvc摄像头
我有个支持uvc的摄像头,想通过python获取图像并设置其参数。如果在linux下,使用v4l2的相关库即可,在windows下我想了两个办法,一是使用opencv-python,二是安装一个叫pyuvc的库。原创 2023-12-27 17:06:49 · 2764 阅读 · 3 评论 -
仿射变换与投影变换
仿射变换在图形中的变换包括:平移、缩放、旋转、斜切及它们的组合形式。这些变换的特点是:平行关系和线段的长度比例保持不变。投影变化具有其明确的意义:共面点成像。参考资料仿射变换与投影变换...原创 2019-04-29 18:52:28 · 2326 阅读 · 0 评论 -
人脸检测和dlib关键点检测的一些加速思路
概述在项目间隙,思考下如何把经常使用的人脸检测方法加速快一些。我平常主要是用opencv和dlib这两个库做人脸相关的功能。我自己没有从零开始写算法库的机会,所以很多思路只是了解一下,没有机会实践。于仕琪人脸检测加速的思路于仕琪是深圳大学的老师,写了一个很快很准的人脸检测算法库,以二进制形式免费发布,地址在:https://github.com/ShiqiYu/libfacedetecti...原创 2018-09-26 22:18:11 · 7931 阅读 · 1 评论 -
Ensenble集成算法-Bagging,boosting,随机森林
概述集成学习是指将若干弱分类器组合之后产生一个强分类器。每个弱分类器的训练样本、特征选择和权重都不一样,最终结果由弱分类器的结果投票产生。由于各个弱分类器之间具有差异性,因此集成算法可解决过拟合问题。同时还能减少偏差和方差,提高分类结果。自助聚合算法Bagging采用有放回的方式随机抽取部分样本训练弱分类器,重复K次。得到K个弱分类器。等权重投票。随机森林RF思...原创 2018-09-13 00:25:24 · 2840 阅读 · 0 评论 -
sklearn+python:朴素贝叶斯及文本分类
朴素贝叶斯贝叶斯定理用来计算条件概率,即:然后进行一种朴素(naive)的假设-每对特征之间都相互独立:在给定的输入中 P(x_1, \dots, x_n) 是一个常量,我们使用下面的分类规则:可以使用最大后验概率(Maximum A Posteriori, MAP) 来估计 P(y) 和 P(x_i | y) ; 前者是训练集中类别 y 的相对频率。各种各样的的朴...原创 2018-09-09 15:41:43 · 9632 阅读 · 2 评论 -
dlib物体检测开源项目
转自:https://mp.weixin.qq.com/s/QkjMY-qEqn2cGfYbFEmv5w在刚刚结束的PyImageConf2018会议上,大名鼎鼎的Dlib库的创建者Davis King做了一个关于目标检测的报告,并举办了关于Dlib的含有40个新的开源Demo的各种计算机视觉与机器学习技术演示的WorkShop。展示了Dlib的强大锐利,是学习Dlib使用的绝佳资料,作者已将...转载 2018-09-02 15:41:23 · 3679 阅读 · 0 评论 -
物体检测之选择性搜索(Selective Search)
概述本文牵涉的概念是候选区域(Region Proposal ),用于物体检测算法的输入。无论是机器学习算法还是深度学习算法,候选区域都有用武之地。本文的来源是翻译参考资料里的《Selective Search for Object Detection (C++ / Python)》,这是国外一个大神的博客,讲的是择性搜索(Selective Search)这一种产生候选区域的算法。这个算...翻译 2018-08-29 01:55:50 · 30345 阅读 · 6 评论 -
机器视觉特征提取介绍:HOG、SIFT、SURF、ORB、LBP、HAAR
一. 概述这里主要记录自己的一些感悟,不是很系统。想要详细系统的理论,请参考文末的《图像处理之特征提取》。个人不是专业cv工程师,很多细节没有深究,描述可能不严谨。 在总结物体检测算法之前先把基础的特征点理论整理一下。二. HOG求取前先灰度化然后Gamma校正,降低图像局部的阴影和光照变化所造成的影响,同时可以抑制噪音的干扰。HOG主要捕获轮廓信息。统计每个cell的梯...原创 2018-08-28 15:15:14 · 48900 阅读 · 6 评论 -
吴恩达视频课程之异常检测笔记
概述本笔记整理自网易云课堂吴恩达的《机器学习》。吴恩达所讲的异常检测属于无监督学习。即利用已有的无标签数据求取样本的分布模型参数(正太分布参数),然后对新来的数据计算属于这个分布的概率,当概率大于一个阈值时认为测数据是正常的,否则认为是异常数据。(由于插入图片和公式不方便,本文没有图片和公式)异常检测的一些场景工程诊断(发动机异常检测)、异常行为检测、数据中心硬件监控等。...原创 2018-08-06 23:12:21 · 1764 阅读 · 0 评论 -
sklearn中的异常检测
参考资料:https://blog.csdn.net/hustqb/article/details/75216241 http://sklearn.apachecn.org/cn/0.19.0/modules/outlier_detection.html概述本节内容主要来自sklearn的官方文档。本节内容属于无监督学习。许多应用需要能够对新观测进行判断,判断其是否与现有观测服从...翻译 2018-07-26 19:59:49 · 5970 阅读 · 0 评论 -
sklearn+python::主成分分析-PCA
概述PCA是一种降维算法,可以用来对数据进行压缩,或者降维后进行可视化显示。把n维数据降维k维数据时,就是要找出合适的k个向量,把n维数据投射到这k个向量决定的线性空间中,最终使投射误差最小化。衡量PCA算法的指标是数据还原率(与失真度互补),这个指标由(1 - (平均投射误差的平方除以所有样本到原点的平均距离))得到。如果数据还原率为99%,我们就可以说99%的数据真实性被保存下来了...原创 2018-07-22 16:27:35 · 2339 阅读 · 0 评论 -
sklearn+python:逻辑回归
概述逻辑回归是一种分类算法,并不是线性回归的子类sklearn:使用逻辑回归诊断乳腺癌使用sklearn自带的乳腺癌数据,逻辑回归用来诊断是阴性还是阳性。这个数据集有569个样本,每个样本有30个特征,共357的阳性(y=1)样本,212个阴性(y=0)样本. 本例子使用90%的例子做训练,10%的例子做测试。from sklearn.model_selection im...原创 2018-07-17 01:09:00 · 6408 阅读 · 0 评论 -
sklearn+python:线性回归
使用一阶线性方程预测波士顿房价载入的数据是随sklearn一起发布的,来自boston 1993年之前收集的506个房屋的数据和价格。load_boston()用于载入数据。from sklearn.datasets import load_bostonfrom sklearn.model_selection import train_test_splitimport timef...原创 2018-07-16 16:58:58 · 2163 阅读 · 0 评论 -
sklearn+python:无监督学习之k_means
K均值简介K均值是一种无监督学习算法,在没有标签的训练样本中学习到聚类的中心点,后续测试数据可以计算和聚类中心的距离,归类到距离最近的聚类中心上。随机初始化只要K的值比样本少,可以随机选择K个样本作为初始簇心。初始化状态的不同,最终得到的结果也会不同,有些情况下K均值会收敛到局部最优解。解决局部最优的方法就是多次随机初始化运行,选择最终成本最小的分类方案。但是如果K特别大,...原创 2018-07-15 15:52:22 · 1639 阅读 · 1 评论 -
svm核函数
svm的分类根据数据可分的情况,svm分为3种: - 线性可分支持向量机(没有噪音和异常数据,分隔超平面可以在训练数据集做到100%准确) - 线性支持向量机(有噪音和异常数据,分隔超平面无法在训练数据集做到100%准确) - 非线性支持向量机(数据集不是线性可分的,必须借助升维)上面三种svm由简到繁,其实所有的svm都可以可以统一写为带核函数的推理形式。前两种情况下可以选择不用核...原创 2018-07-14 23:00:04 · 3151 阅读 · 0 评论 -
svm的几个疑问
支持向量所在的超平面为何是theta^t * x= -1 和theta^t * x = -1(有时也写为theta^t * x + b = 0的形式,但是把x0总设为1,b也可以作为theta的一部分)李航的《统计学习方法》里有比较严密的推导,可是我看不太懂。但是书里提到,合页损失函数和那套推理是等价的,所以可以用吴恩达在《机器学习》课程里的图来理解。至于为什么等价,请看书。逻辑回归的...原创 2018-07-14 21:24:56 · 1043 阅读 · 1 评论 -
支持向量机SVM:使用sklearn+python
代码参考了别人的代码(http://ihoge.cn/2018/SVWSVC.html),增加了保存模型和打印信息。这个例子主要是演示3种不同的核函数(线性核,高斯核和多项式核)的用法。使用的数据是自动生成的,生成数据的接口是make_blobs。from sklearn import svmfrom sklearn.datasets import make_blobsfr...原创 2018-07-12 10:40:25 · 8753 阅读 · 1 评论 -
多目标跟踪-MOT16数据集格式介绍
背景介绍多目标跟踪的问题是这样的:有一段视频,视频是由 N 个 连续帧构成的。从第一帧到最后一帧,里面有多个目标,不断地有出有进,不断地运动。我们的目的是对每个目标,能跟其他目标区分开,维持他们的ID、记录他们的轨迹。 所以MOTchallenge上的大多数算法直接使用数据集里标注的检测结果,而不是自己检测,他们的主要精力在:Occlusions,similar appearance,com...原创 2018-04-04 15:56:23 · 37326 阅读 · 34 评论 -
多目标跟踪Deep_sort 预训练模型
github源码:https://github.com/nwojke/deep_sort 论文地址:https://arxiv.org/pdf/1703.07402.pdf 由于从国外网站下载太慢了,所以下载之后存在百度网盘备个份,希望对别人有帮助: 预训练模型百度网盘地址:https://pan.baidu.com/s/1lYPRpdT-7SNVSF3kYkKyvw 密码:icbp ...原创 2018-03-28 20:03:59 · 9691 阅读 · 15 评论 -
用python实现机器学习算法
在看李航的《统计学习方法》的时候没有结合代码,总感觉比较虚。github上有个中国学生开源的机器学习python实现,比较全面,文档也不错 https://github.com/lawlite19/MachineLearning_Python 可以动手敲一遍,加深理解。目录摘抄如下:机器学习算法Python实现一、线性回归 1、代价函数 2、梯度下降算法 3...原创 2018-01-24 12:54:31 · 2805 阅读 · 0 评论