自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 python五个实用小技巧

五种小技巧分别为:1)字符串运算2)列表推导式3)lambda和map()4)单行条件语句5)zip()一.字符串运算字符串是可以利用运算符号进行重复以及拼接。string = 'hello world'print(string*2)print(string+'!')如果列表内元素都是字符串,可以使用join方法将所有元素进行拼接。my...

2019-10-17 16:19:17 203

原创 利用百度AI平台识别12306验证码

简单的利用百度AI平台做一个12306的验证码识别。第一步:先进行图片预处理提取文字部分import numpy as np#分割文字def get_img_text(img,offset=0): return img[3:22,120+offset:177+offset]#分割图片def _get_imgs(img): interva...

2019-09-27 14:38:28 645

原创 走进opencv-python 直线和圆检测

直线检测可以通过HoughLines和HoughLinesP函数完成直线检测,它们的差别是HoughLinesP是HoughLines的概率版,计算代价会少,执行更快。代码:import cv2import numpy as npimg = cv2.imread('square.jpg')cv2.imshow('org',img)gray = cv2.cvtColor(im...

2019-05-16 15:36:02 1215

原创 走进opencv-python 10 轮廓检测

轮廓检测在opencv-python中调用cv2.findContours()可以实现轮廓检测。API如下:cv2.findContours(image, mode, method[, contours[, hierarchy[, offset ]]])第一个参数是要寻找轮廓的图像;第二个参数表示轮廓的检索模式,有四种: cv2.RETR_EXTERNAL表示只检测外轮廓...

2019-05-14 15:36:44 1008

原创 目标检测之YOLO3

前言YOLO从诞生起就被贴上了两个标签:速度快,小物体检测率低。而在YOLO3中对小物体的检测有了较大的提升。看一下对比:接下来介绍YOLO3究竟使用了什么黑科技?YOLO3先贴几段JR在论文中骚话:1、Class Prediction作者在YOLO3替换了YOLO2的softmax loss 变成binary cross-entropy loss,由于...

2019-05-07 10:46:18 860

原创 目标检测之YOLO2

前言YOLO2的全称为“YOLO9000: Better, Faster, Stronger”,是不是感觉契合着奥运会精神更高、更快、更强。Better方面:使用了一系列的技巧对原来的YOLO多目标检测框架进行了改进,在保持原有速度的优势之下,精度上得以提升。Fasterf方面:使用自定义的Darknet网络进行特征提取。Stronger方面:提出了一种目标分类与检测的联合训练方法...

2019-05-06 10:10:36 507

原创 目标检测之YOLO

前言之前一系列文章介绍了以R-CNN为代表的基于Region Proposal的深度学习目标检测算法(RCNN,SPP-NET,Fast-RCNN,Faster-RCNN等)。本节开始介绍以YOLO为代表的基于回归方法的深度学习目标检测算法(YOLO,SSD等)。YOLOYOLO是You Only Look Once的缩写,听起来很厉害的样子。也确实如此,它重新把目标检测当做回归问题进...

2019-04-30 10:09:27 1210

原创 目标检测之faster-rcnn

前言上节,我们介绍了fast-rcnn,显然从名字上来看,faster-rcnn是fast-rcnn的升级版,解决了候选框提取问题,完全实现了端到端的训练网络介绍fast-rcnn的主要问题是花费大量时间在候选框的提取上。而faster-rcnn就是为了解决这个问题。上图是faster-rcnn的网络结构,可见它由三个模块组成:1.利用全卷积网络从图片中提出feature ...

2019-04-27 10:55:58 326

原创 目标监测之fast rcnn

前言上篇文章介绍了SPP-net,它对R-CNN做了改进。但仍然存在一些缺点:计算速度慢,步骤繁琐(需要多级流水线),需要磁盘缓存特征。fast-rcnn对此进一步进行改进,有如下优点:比R-CNN和SPPnet具有更高的目标检测精度(mAP)。 使用多任务损失实现端到端的训练。 训练可以更新所有网络层参数。 不需要磁盘空间缓存特征。fast-rcnn网络架构如下:...

2019-04-23 15:57:06 147

原创 目标检测之SPP-net

前言本节将要介绍对R-CNN的改进,SPP-net。R-CNN优化首先我们回顾上节中R-CNN流程框架,通过selective search方法得到2000左右的候选框,然后通过crop/warp重塑成227*227的固定大小,再将每个region proposal送入CNN中进行特征提取,最后利用这些特征训练SVM得出结果。我们会发现,对于2000左右的候选框,每一个都需要一个CNN...

2019-04-19 15:48:42 345

原创 目标检测之R-CNN

前言R-CNN是基于深度学习目标检测的开创之作,是带有CNN特征的区域(Region with CNN features)的缩写,它较之前传统目标检测方法在平均精度上(mAP)提高了30%以上。从本文开始将逐渐介绍R-CNN。一、R-CNN结构如图,R-CNN分为三步 :1、生成候选区域(2000左右)2、利用CNN对每个候选区域进行特征提取3、利用SVM分类二、生...

2019-04-17 14:47:09 294

原创 目标检测介绍

前言在深度学习出现之前,传统的目标检测方法大概分为区域选择(滑窗)、特征提取(SIFT、HOG等)、分类器(SVM、Adaboost等)三个部分,其主要问题有两方面:一方面滑窗选择策略没有针对性、时间复杂度高,窗口冗余;另一方面手工设计的特征鲁棒性较差。自深度学习出现之后,目标检测取得了巨大的突破,最瞩目的两个方向有:1 以RCNN为代表的基于Region Proposal的深度学习目标检测算...

2019-04-15 16:31:39 860

原创 走进OpenCV-Python 9 Shi-Tomasi 角点检测

前言本节将要介绍另一个角点检测技术:Shi-Tomasi 焦点检测原理  上一节介绍了 Harris 角点检测,后来 1994 年,J.Shi 和 C.Tomasi在他们的文章《Good_Features_to_Track》中对这个算法做了一个小小的修改,并得到了更好的结果。我们知道 Harris 角点检测的打分公式为:      但 Shi-Tomasi 使用的打分函数为: ...

2019-04-15 10:57:43 902

原创 走进OpenCV-Python 8 Harris 角点检测

前言本节将要介绍Harris角点检测一、角点的定义‘如果某一点在任意方向的一个微小变动都会引起灰度很大的变化,那么我们就把它称之为角点’关于角点的具体描述可以有几种:1、一阶导数(即灰度的梯度)的局部最大所对应的像素点2、两条及两条以上边缘的点3、图像中的梯度值和梯度方向的变化速率都很高的点4、角点处的一阶导数最大,二阶导数为0,指示物体边缘变化不连续的方向二、H...

2019-04-11 10:16:16 424

原创 走进opencv-python 7 直方图以及均衡化

前言本节将要介绍直方图以及直方图的均衡化一、直方图1.1什么是直方图呢?直方图是对图像的灰度分布的展示。直方图的 x 轴是灰度值(0 到 255),y 轴是图片中具有同一个灰度值的点的数目。直方图的左边区域像是了暗一点的像素数量,右侧显示了亮一点的像素的数量。调用函数cv2.calcHist(images,channels,mask,histSize,ranges[,hist[,...

2019-04-09 14:16:44 926

原创 走进opencv-python 6 Canny边缘检测和图像金字塔

前言本节将要介绍canny边缘检测和图像金字塔。一、canny边缘检测1 原理  Canny 边缘检测是一种非常流行的边缘检测算法,是 John F.Canny 在1986 年提出的。它包含如下几步:1.1 噪声去除  由于边缘检测很容易受到噪声影响,所以第一步是使用 5x5 的高斯滤波器去除噪声,这个前面我们已经介绍过。1.2 计算图像梯度  对平滑后的图像使用 Sob...

2019-04-07 10:41:01 343

原创 走进openCV-python 5高通滤波器

前言本节将要介绍OpenCV 提供的三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr 和 Laplacian。总的来说:Sobel,Scharr 其实就是求一阶或二阶导数。Scharr 是对 Sobel(使用小的卷积核求解求解梯度角度时)的优化。而Laplacian 是求二阶导数。一、Sobel算子其API如下:dst = cv2.Sobel(src, ddep...

2019-04-05 15:06:59 3506

原创 走进opencv-python 4 低通滤波器和形态学处理

前言本节将要介绍几种低通滤波器,几种形态学处理方法一、低通滤波1.平均值滤波cv.filter2D() 可以对一幅图像进行卷积操作。下面是一个 5x5 的平均滤波器核:      操作如下:将核放在图像的一个像素 A 上,求与核对应的图像上 25(5x5)个像素的和,在取平均数,用这个平均数替代像素 A 的值。重复以上操作直到将图像的每一个像素值都更新一边kernel =...

2019-04-02 16:24:24 2384

原创 走进opencv-python3 图像放缩平移

前言本节将要介绍颜色空间变换、图像放缩、平移。旋转以及图像阈值处理1.颜色空间变换我们常用两种颜色转换空间的flag:BRG-GRAY,BRG-HSV。HSV颜色空间就是电视颜色设置里面的色彩、饱和度和亮度。只需要调用函数cv2.cvtCOLOR(img,flag)img = cv2.imread('F:/kaggle/kaggle-heart/longmao.png')i...

2019-04-01 15:07:48 1868

原创 labelImg安装方法(win7+python2.7)

1.下载labelImghttps://pan.baidu.com/s/1-rObDf9NrkPET6saRKuy3Q 密码:nu58 使用的是该博主提供的资源,在此表示感谢2.下载Pyqt4https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyqt4选择32位或64位直接pip install 安装即可3.下载lxmlhttp...

2019-03-30 11:17:32 547

原创 走进opencv-python 2 图像像素和通道

前言目标  • 获取像素值并修改  • 获取图像的属性(信息)  •图像的 ROI()  • 图像通道的拆分及合并 • 图像融合1.获取并修改图像像素img = cv2.imread('longmao.jpg')#获取行:100,列:200的B、G、R顺序的像素值,当为灰度图时返回该点灰度值px = img[100,200]print(px)...

2019-03-28 15:30:17 1795

原创 走进opencv-python 1 基本读写显示

前言最近一直在学图像处理的知识,需要opencv,接着这次机会,把知识记录下来。环境:win7+anaconda安装安装时走了不少坑,直接pip install opencv_python安装完包,总是导入时没有cv2模块。后来在Anaconda Navigator安装也是无法导入,灵机一动,下调版本到3.4.1,就能用了。后来又遇见bug,无法读取视频。。。,以后再解决吧。...

2019-03-27 16:37:10 814

原创 深度学习第二枪--人脸性别识别

前言本文数据使用由该GitHub:https://github.com/chenlinzhong/gender-recognition 提供,在此表示感谢。原文使用TensorFlow搭建,本文利用keras来精简代码。数据描述一共包含399张男女照片。data目录中保存着数据,famale存放女性图片,male存放男性图片,图片大小为(112,92,3)数据读取...

2019-03-22 21:30:36 636

原创 深度学习第一枪——>MNIST

前言最近在学TensorFlow,第一个比较完整的程序就是对MNIST数据集进行识别。一、MNIST数据集简介MNIST是一个简单的计算机视觉数据集,它包含手写数字的图像集:数据集:每张图像是28 * 28像素:我们的任务是使用CNN训练一个能够进行识别的模型。二、模型构建1.加载数据我们先要下载需要的数据集保存到程序所在目录,下载地址:htt...

2019-03-12 10:16:01 276

原创 kaggle泰坦尼克数据——stacking

前言网上有很多关于泰坦尼克数据的描述、如何数据清洗以及特征工程,这里不再赘述。处理代码如下:import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsfrom sklearn.preprocessing import Imputer,LabelBinarizer...

2019-03-05 20:40:30 917

原创 机器学习9 决策树

前言与SVM一样,决策树也是一种多功能的机器学习算法,它可以实现回归和分类任务,甚至是多输出任务。它的原理也非常简单。决策树举个通俗易懂的例子,如下图所示的流程图就是一个决策树,长方形代表判断模块(decision block),椭圆形成代表终止模块(terminating block),表示已经得出结论,可以终止运行。从判断模块引出的左右箭头称作为分支(branch),它可以达到另一...

2019-02-02 10:57:32 204

原创 机器学习8 SVM的应用

前言之前我们花费了很长时间介绍SVM的工作原理,本节将介绍如何使用SVM。线性SVM分类sklearn.svm.LinearSVC(penalty=’l2’, loss=’squared_hinge’, dual=True, tol=0.0001, C=1.0, multi_class=’ovr’, fit_intercept=True, intercept_scaling=1, cl...

2019-01-31 10:34:08 743

原创 机器学习7 非线性SVM

前言在上节中,我们假设训练样本是线性可分的,然而在现实任务中,训练样本很可能是非线性的。本节将要介绍如何利用SVM进行非线性数据分类。核函数在之前的线性模型中,当面临非线性数据时,我们利用多项式回归来解决。这其中有一个重要的思想:将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分。 上图样本在二维空间内显然不是线性可分的,将其映射到三维空间:这...

2019-01-31 09:08:13 1553 2

原创 机器学习6 线性向量机

前言向量机可能是我们学习的路上遇到的第一个拦路虎,公式推导很复杂,前前后后花了不少时间,但思想却很简单。什么是支持向量机SVM的英文全称是Support Vector Machines,我们叫它支持向量机。支持向量机是一种比较全面的算法,既能做线性或非线性分类,回归,甚至是异常值检测任务。让我们以一个小故事的形式,开启SVM之旅。在很久以前的情人节,一位大侠要去救他的爱人,但天空中...

2019-01-11 09:52:17 307

原创 机器学习5 过拟合

前言过拟合问题是机器学习重要的概念同时也是性能的巨大障碍,本节将介绍什么是过拟合以及如何缓解?什么是过拟合过拟合简单说来就是在已知数据集有很小的误差,而在未知数据集上有很大的误差。上图中的五个目标点是由目标函数为二次多项式生成的,而我们使用四次多项式模型进行拟合,对当前数据有很小的误差,但在数据集之外,这个模型显然会有很大的误差,这就是过拟合。而过拟合又是无法避免的,只能缓解。...

2019-01-10 14:25:06 232

原创 机器学习4 非线性数据变换

引言在机器学习2 线性模型中,我们顺便讲过多项式回归来解决数据不是简单直线的问题。这就用到了数据的转换。本节以分类任务对原理进行详细的介绍非线性数据对于这样的非线性数据:我们直接使用线性模型,很难很好的分类。是不是可以这样找一个圈圈来拟合数据。:假如这个圈圈的假设函数为:写成下面这种形式:咦,看着是不是很熟悉?我们之前介绍的线性模型。实际上,它将...

2019-01-03 11:10:46 1944

原创 机器学习3 逻辑斯提回归和梯度下降算法

引言上节我们介绍了很多线性回归模型,如何用线性模型做分类任务呢?是不是可以将线性回归模型的预测值和到分类任务的标记联系起来呢?逻辑斯提回归对于一个二分类任务,输出标记y为{0,1},而线性回归模型产生的预测值z为全体实数,我们想把z转换成0/1值。我们首先想到是“单位阶跃函数”。 利用线性回归模型产生预测值z,经过单位阶跃函数做变换,如果z<=0,就归为负类,若z>...

2019-01-02 11:44:53 1250

原创 机器学习2 线性模型

引言线性模型形式简单、易于建模,就好像“hello world”。但许多功能强大的非线性模型都是在线性模型上的延伸。我们主要介绍几种经典的线性模型:线性回归,多项式回归,岭回归,lasso回归,逻辑斯提回归。线性回归以西瓜问题为例,它有三个属性(也就做特征),{色泽,根蒂,敲声},根据这些属性判断是不是好瓜,我们自然而然想到的是:是不是可以通过属性的线性组合来预测。即:写成向量...

2018-12-31 20:21:10 361

原创 机器学习1 从基础讲起

引言机器学习已经学了两三个月了,看了西瓜书,机器学习实战,也走过不少弯路,现在做做总结,把经验写下了。什么机器学习以我们人类做类比,我们看过、吃过很多西瓜后,判断色泽青绿、根蒂蜷缩、敲声浊响的这类瓜就是好瓜。我们通过积累经验,在通过经验进行运用,就会对新情况做出更有效判断。机器学习就是这样,通过处理“数据”经验,从中学得一种模型,基于这个模型对新的数据进行判断。为什么使用机器学...

2018-12-30 21:46:02 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除