自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Steven的博客

上下而求索

  • 博客(91)
  • 资源 (7)

原创 OpenCV调用YOLOv4进行目标检测

目标检测就是对目标进行动态实时跟踪定位,常见的目标检测算法有 R-CNN、Fast R-CNN、Faster R-CNN、SSD、Yolo 等,其中 Yolo 的速度和精确度都比较高,且只需训练一次,使用起来比较方便。这里我们就使用官方现成的模型来检测图片,看一看效果,先学会使用流程,以后再训练自己的模型。注意:opencv-python 目前只有 4.4.0 版本适配了 YOLOv4导入库import numpy as npimport timeimport cv2设置标签和标注颜色

2020-08-19 15:01:06 4017 13

原创 OpenCV图片漫画效果

我们随手拍摄的照片,很难达到摄影师的水准,因此不管是手机上还是电脑内,都有一些软件可以添加特效让照片更好看,手机拍摄时也有即时的美化效果。不过我比较好奇漫画特效,但是一直在网上看到别人的成品而找不到针对性的软件,因此只有自己实现一下,虽然跟专业的还有差距,但效果还不错。本次使用 OpenCV,采用 Python 实现。对比现实中的画画,一般是先画出边缘轮廓使整体规划好,再填充颜色使其完整,因此在这里我们也采用这种方式。不过对图片直接操作与从零开始着笔不一样,要将原始图片进行两次不同的处理,再将处理后的

2020-08-10 00:02:29 5978 9

原创 imutils库源码解析,看它如何调用opencv(二)- 面部工具
原力计划

imutils 这个图像处理工具包,除了简化 opencv 的一些操作之外,还有专门配合 dlib 处理人脸数据的工具 face_utils。dlib 提取人脸数据后,五官都是用一些特征点来表示的,每个部位的点的索引是固定的,想要进一步操作就得对这些点进行处理,而 face_utils 就是简化这些点的表现方式本文就来解析一下 face_utils 的处理方法,方便我们理解它的用处特征点索引提取查看源码:#For dlib’s 68-point facial landmark detector:

2020-07-03 17:39:25 3868 6

原创 imutils库源码解析,看它如何调用opencv(一)- 基本函数
原力计划

imutils 是一个图像处理工具包,它对 opencv 的一些方法进行了二次加工,使其更加简单易用。相比较于 opencv 的学习难度,导致很多方法使用起来需要一定的基础,新手可能会起步的较慢,而 imutils 使用起来比较便利,能够辅助我们理解 opencv本文就来解析一下 imutils 的源码,看它如何调用 opencv 的方法。顺便也学习一下,这里主要讲其常用的几个图像函数平移查看源码:def translate(image, x, y): # define the trans

2020-06-30 19:58:50 7611 29

原创 TensorFlow文本生成(AI 写诗)
原力计划

练一个模型,让它去“背书”吧,背完了再看看它学的怎么样。本次使用的是 TensorFlow2,采用基于循环神经网络的 GRU 。给它一两个字或者一句诗,甚至一个字也不给,然后写出格式正确的诗。不会照搬已存在诗句,而是根据它对看过的诗的理解

2020-06-18 00:10:51 1697 33

原创 自编码器(AE)原理解析
原力计划

机器学习基本分为监督学习、无监督学习、强化学习,而自编码器则是无监督学习的一种,不过它比较自觉,别人不监督它但它自己监督自己,对输入样本 xxx 进行训练,得出结果后再与 xxx 进行对比。通过这一特性,自编码器可以随机生成与训练数据类似的数据,比如对图片进行重建。AE的结构无监督学习的数据没有额外的标注信息,只有数据 xxx 本身。利用数据 xxx 本身作为监督信号来指导网络的训练,即希望神经网络能够学习到映射 fθ:x→xf_{\theta}:x\to xfθ​:x→x。我们把网络 fθf_

2020-06-12 00:02:21 1219

原创 循环神经网络(RNN)原理解析
原力计划

对于具有时间维度的数据,比如阅读的文本、说话时发出的语音信号、随着时间变化的股市参数等,这类数据并不一定具有局部相关性,同时数据在时间维度上的长度也是可变的。这一特性导致一般的神经网络难以处理,而循环神经网络则以序列数据为输入,在序列的演进方向进行递归且所有节点按链式连接,具有记忆性、参数共享并且图灵完备,因此在对序列的非线性特征进行学习时具有一定优势,可以很好地解决问题。下面就来详细说明其原理。RNN的结构基础的神经网络只在层与层之间建立了权连接,而 RNN 则在此基础上在层之间的神经元之间也建

2020-06-09 01:07:16 1342

原创 Keras预测股票走势
原力计划

众所周知,股票预测是一个玄学问题,没有经验和方法,一不留神就可能被割韭菜了。当然本文仅针对单纯的数据进行预测,不具备实际操作性,主要用于学习技术。如果想将预测数据用于实际操作,则仅供娱乐,不要太注重结果。

2020-05-31 18:40:26 1151 11

原创 机器学习从入门到放弃?只因没遇到 sklearn
原力计划

随着技术越来越成熟,机器学习的门槛也慢慢降低了,对初学者越来越友好,就比如本文要介绍的 sklearn,解决了很多开发问题。它包含了很多封装好的方法,直接调用就可以构建模型了,结果清晰可见,输入数据...

2020-05-11 10:19:07 427

原创 sklearn文本聚类分析
原力计划

面对如今的大数据时代,各种各样的信息令人眼花缭乱,你根本不知道哪些信息是自己所需要的,而一个个看又会浪费很多时间,更不用说对一大堆信息进行分类或总结了。对于聚类处理,这里使用 birch...

2020-05-10 19:04:15 883 3

原创 sklearn垃圾邮件识别

垃圾邮件识别,算是一个二分类问题,也是一个相对简单的文本分类问题。这里使用sklearn库进行训练,使用其集成的各种优秀算法,帮助我们快速区分大量烦人的垃圾邮件...

2020-05-03 14:53:44 483

原创 sklearn库的使用步骤

sklearn是目前python中十分流行的用来实现机器学习的第三方包,其中包含了多种常见算法如:决策树,逻辑回归、集成算法等。即使你还不太懂机器学习的具体过程,依旧可以使用此库进行机器学习操作,因为其对各种算法进行了良好的封装,可以在不了解算法实现过程的情况下使用算法,所以可以把 sklearn 库当作学习过程中的一个过度,如果你想快速建立一个模型,这也是一个不错的选择。数据导入skle...

2020-04-30 22:09:12 369

原创 基于Simulink的一阶、二阶系统动态响应分析

一阶系统和二阶系统是机械工程控制里面最基本的系统,任何高阶系统均可化为零阶、一阶、二阶系统等的组合,因此对一阶系统、二阶系统的动态响应分析对研究工程控制问题和各种复杂系统有着重要意义...

2020-03-01 17:03:09 3139 2

原创 你也能看懂的:蒙特卡罗方法

蒙特卡罗方法,也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法蒙特卡罗方法可以粗略地分成两类:一类是所求解的问题本身具有内在的随机性,借助计算机的运算能力可以直接模拟这种随机的过程。另一种类型是所求解问题可以转化为某种随机分布的特征数,比如随机事件出现的概率,或...

2020-02-12 19:16:37 2515 2

原创 你也能看懂的:主成分分析法

主成分分析(PCA)是一种统计分析、简化数据集的方法。它利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性不相关变量的值,这些不相关变量称为主成分。具体地,主成分可以看做一个线性方程,其包含一系列线性系数来指示投影方向。PCA对原始数据的正则化或预处理敏感(相对缩放)。概念主成分分析就是对数据进行降维操作,这样在面对多变量大样本的数据时可以明显地减少工作量,而...

2020-02-12 15:31:36 706

原创 你也能看懂的:线性规划

线性规划 ( Linear Programming ,简称LP )特指目标函数和约束条件皆为线性的最优化问题。在作业研究中所面临的许多实际问题都可以用线性规划来处理,特别是某些特殊情况,例如:网路流、多商品流量等问题,都被认为非常重要。 目前已有大量针对线性规划算法的研究。 很多最优化问题算法都可以分解为线性规划子问题,然后逐一求解。概念线性规划问题其实一直陪伴着我们,上中学时有一类题目...

2020-02-12 10:36:58 567

原创 你也能看懂的:K-Means 聚类算法

k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有...

2020-02-11 20:26:30 599

原创 你也能看懂的:灰色关联分析算法

灰色关联分析是指对一个系统发展变化态势的定量描述和比较的方法,其基本思想是通过确定参考数据列和若干个比较数据列的几何形状相似程度来判断其联系是否紧密,它反映了曲线间的关联程度。通常可以运用此方法来分析各个因素对于结果的影响程度,也可以运用此方法解决随时间变化的综合评价类问题,其核心是按照一定规则确立随时间变化的母序列,把各个评估对象随时间的变化作为子序列,求各个子序列与母序列的相关程度,依照相...

2020-02-11 16:54:09 2404 4

原创 你也能看懂的:灰色预测算法

灰色预测是就灰色系统所做的预测。所谓灰色系统是介于白色系统和黑箱系统之间的过渡系统。其具体的含义是:如果某一系统的全部信息已知为白色系统,全部信息未知为黑箱系统,部分信息已知,部分信息未知,那么这一系统就是灰色系统。相关概念白色系统:指一个系统的内部特征的完全已知的,即系统信息是完全公开的黑色系统:与白色系统相反,指一个系统的内部信息对外界来说是一无所知的,只能通过它与外界的联系来加...

2020-02-11 10:46:33 2280

原创 你也能看懂的:粒子群优化算法

粒子群优化算法(PSO)最初是模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。而通过对动物社会行为的观察,发现在群体中对信息的社会共享提供一个演化的优势,并以此作为开发算法的基础。通过加入近邻的速度匹配、并考虑了多维搜索和根据距离的加速,形成了 PSO 的最初版本。概念设想这样一个场景:一群鸟在随机搜索食物,而这个区域里只有一块食物。所有的鸟都不知道食物在哪里,但是他们知道当...

2020-02-10 21:51:14 846

原创 你也能看懂的:退火算法

模拟退火算法来源于固体退火原理,是一种基于概率的算法,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小,即在局部最优解能概率性地跳出并最终趋于全局最优。参考了金属冶炼的退火过程。模拟退火的过程假设一个人在一群山峰中的某一个位置,他想要找一个最低点,只需要一直往比自己位置...

2020-02-10 16:00:31 823

原创 你也能看懂的:遗传算法

遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。其本质是一种高效、并行、全局搜索的方法,能在搜索过程中自动获取和积累有关搜索空间的知识,并自适应地控制搜索过程以求得最佳解。相关术语 (了解)概念意...

2020-02-10 12:45:04 1319

原创 TensorFlow2.0中Tensor的数据统计

张量通常较大,直接观察数据很难获得有用信息,通过获取这些张量的统计信息可以较轻松地推测张量数值的分布张量范数在神经网络中,范数常用来表示张量的权值大小,梯度大小等常用范数:1 −范数,定义为向量 x 的所有元素绝对值之和2 −范数,定义为向量 x ...

2020-01-26 16:46:38 602

原创 2019年总结:不忘初心

在此之前,我一直是一个技术索取者,在互联网上查找各种各样的资源来解决遇到的问题。但当我自己围绕某一个知识点写点东西时,才发现这并不是一件简单的事情,需要花费大量的精力,而我文笔又欠佳,有时候还要思考某个字是否运用恰当...

2020-01-25 23:15:53 282 2

原创 TensorFlow2.0常用激活函数

激活函数是神经网络中一个十分重要的组成部分,它可以对神经元的接收信息进行非线性变换,将变换后的信息输出到下一层神经元激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中构造数据import tensorflow as tfimport matplotlib.pyplot as pltx = tf.linspace(-5....

2020-01-24 10:30:18 1803 20

原创 TensorFlow2.0中Tensor的合并与拆分

合并将多个张量在某个维度上合并为一个张量,可以使用拼接和堆叠操作实现,拼接操作并不会产生新的维度,仅在现有的维度上合并,而堆叠会创建新维度。拼接: tf.concat(tensors, axis)tensors:保存了所有需要合并的张量 Listaxis:指定需要合并的维度索引合并时输入张量的维数必须匹配,并且除 axis 外的所有维数必须相等举个例子:>>> im...

2020-01-23 10:52:03 1673

原创 TensorFlow2.0中Tensor的维度变换

在张量的操作中,维度变换是最重要的操作之一,为了满足不同场景的运算需求,可以任意切换数据的形式。现列举一些常用方法,以方便查看。张量变形在总数据量不变的情况下,将其变换为不同的组合形式,且将此数据平铺时排列顺序不改变举个例子:>>> import tensorflow as tf>>> x = tf.range(24) # 生成一组连续整数向量&g...

2020-01-04 03:07:25 1729

原创 TensorFlow2.0中Tensor的索引与切片

构建数据使用随机数据: import tensorflow as tfx = tf.random.normal([3, 5, 4, 2]) # 创建一组4维张量 xtf.Tensor: id=11, shape=(3, 5, 4, 2), dtype=float32, numpy=array([[[[ 2...

2019-12-16 23:46:19 941

原创 Android开发之DataBinding的使用 (Kotlin)

DataBinding—数据绑定,直接在 xml 中绑定数据并实现一些处理逻辑,实时动态刷新数据。解决问题:不再需要使用 findViewById,节省了应用性能并减少了操作更新 UI 数据不用切换至 UI 线程...

2019-12-15 23:41:14 1156

原创 Arduino单片机控制步进电机

步进电机是一种将电脉冲转化为角位移的执行机构。当步进电机的驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步长)。通过控制脉冲个数来控制角位移量,达到准确定位的目的;通过控制脉冲频率来控制电机转动的速度和加速度,达到调速的目的。下面是连接图,右上角是 Arduino 与驱动器的连线,VCC、脉冲、方向、使能是单片机提供的 4 个引脚,字面意思是对于驱动器而言,与 Ar...

2019-12-12 01:05:10 1637

原创 运行单个Kotlin文件(与Java区分)

对于 Android 开发,大多数人学习 Kotlin 之前,基本上都是使用 Java 的,而且 Kotlin 还无缝兼容 Java。因此,初学Kotlin时可能多多少少在语法上会受到 Java 的影响,导致学习时一些基本语法搞混。比如在 Android Studio 建立的 Kotlin 项目中运行单个 Kotlin 文件,就必须先写好 main 函数,当然任何一种语言都是如此,需要一个入口函...

2019-12-05 15:23:29 963

原创 Scrapy框架中Selector(选择器)的使用

用 Python 提取 HTML 源代码数据有很多现成的库,比如 lxml、BeautifulSoup、pyquery 等,当然如果会用正则表达式的话就不用在意这些了。而 Scrapy 框架则自带了专门的选择器 Selector,功能十分强大,并且可以根据输入类型自动选择最佳的解析规则。直接使用针对一段 HTML 代码,我们可以用如下方式构建 Selector 对象来提取数据:>&g...

2019-11-30 23:57:07 305

原创 Python多个爬虫库使用代理IP

使用爬虫时,如果目标网站对访问的速度或次数要求较高,那么你的 IP 就很容易被封掉,也就意味着在一段时间内无法再进行下一步的工作。这时候代理 IP 能够给我们带来很大的便利,不管网站怎么封,只要能找到一个新的代理 IP 就可以继续进行下一步的研究。目前很多网站都提供了一些免费的代理 IP 供我们使用,当然付费的会更好用一点。本文除了展示怎样使用代理 IP,也正好体验一下前面文章中搭建的代理 IP...

2019-10-24 07:30:28 4819 1

原创 Python搭建代理IP池(四)- 接口设置与整体调度

接口模块需要用 API 来提供对外服务的接口,当然也可以直接连数据库来取,但是这样就需要知道数据库的连接信息,不太安全,而且需要配置连接,所以一个比较安全和方便的方式就是提供一个 Web API 接口,通过访问接口即可拿到可用代理...

2019-10-17 12:23:48 1001

原创 Python搭建代理IP池(三)- 检测 IP

在获取 IP 时,已经成功将各个网站的代理 IP 获取下来了,然后就需要一个检测模块来对所有的代理进行一轮轮的检测,检测可用就设置为满分,不可用分数就减 1,这样就可以实时改变每个代理的可用情况,在获取有效 IP 的时候只需要获取分数高的 IP...

2019-10-16 23:11:27 1133 4

原创 Python搭建代理IP池(二)- 存储 IP

本文就讲解如何存储 IP,毕竟代理池还是要有一定量的 IP 数量才行。存储的方式有很多,直接一点的可以放在一个文本文件中,但操作起来不太灵活,而我选择的是MySQL 数据库,因为数据库便于管理而且功能强大,当然你还可以选择其他数据库,比如 MongoDB、Redis 等...

2019-10-15 23:59:42 1145

原创 Python搭建代理IP池(一)- 获取 IP

使用爬虫时,大部分网站都有一定的反爬措施,有些网站会限制每个 IP 的访问速度或访问次数,超出了它的限制你的 IP 就会被封掉。对于访问速度的处理比较简单,只要间隔一段时间爬取一次就行了,避免频繁访问;而对于访问次数,就需要使用代理 IP 来帮忙了,使用多个代理 IP 轮换着去访问目标网址可以有效地解决问题。目前网上有很多的代理服务网站可以提供代理服务,也提供一些免费的代理,但可用性较差,如果需...

2019-10-14 00:25:41 13055 18

原创 PyTorch构建卷积神经网络

卷积神经网络由一个或多个卷积层和顶端的全连通层组成,同时也包括关联权重和池化层。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更好的结果,且考量的参数更少。卷积神经网络的运作,以图像识别举例: 神经网络有输入输出值,当输入值是图片时,实际输入的并不是我们肉眼看到的图案,而是只能被计算机识别的一堆数字。卷积神经网络有一个批量过滤器,持续不断地在图片上滚动收集图片里的信息,每一次收...

2019-10-01 23:59:33 2160 1

原创 SSM框架整合WebSocket服务

WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。WebSocket 的工作流程是这 样的:浏览器通过 js 向服务端发出建立 WebSocket 连...

2019-09-27 00:28:54 3079 10

原创 Java模拟WebSocket客户端

Java 的 WebSocket 库不止一个,本文使用 Java-WebSocket 来实现客户端本文例子可以访问博主自己用 Java 写的 WebSocket 服务端添加WebSocket库<dependency> <groupId>org.java-websocket</groupId> <artifactId>Java-Web...

2019-08-21 08:12:07 3588

单片机常用辅助开发工具

取模、串口调试、波特率、电阻识别等单片机辅助工具,能使开发过程更方便,包含基本工具

2020-04-06

Vim用户手册

本书介绍了 Vim 的使用方法和命令,可以帮助读者学习和查阅。

2019-03-10

Javascript 高级程序设计

本书提供了 JavaScript 开发人员必须掌握的内容,全面涵盖了 JavaScript 的各种高级、有用的特性。本书从讲解 JavaScript 的基本概念入手,探讨了 JavaScript 面向对象程序设计和继承的方式,以及如何在 HTML 等标记语言中使用它。

2019-03-10

Node.js实战书籍

内含两本 Node.js 的实战教程,涵盖了为开发产品级 Node 应用程序所需要的一切特性、技巧以及相关理念。

2019-03-10

Node.Js博客项目

用Node.Js写的一个博客项目,与MongoDB数据库结合,用Bootstrap写的前端界面,包括写博客、用户管理、博客管理等功能,是一个很好的练手项目。

2019-02-04

arduino学习笔记

对arduino的基本介绍和学习指导,涵盖简单示例和各种函数与参数的布局,适合初学者。

2019-01-23

玩转树莓派

本书以树莓派的应用为主,介绍了使用树莓派完成主流服务器软件的方法,以及通过硬件开发对树莓派进行扩展以完成更多的任务。

2019-01-23

空空如也

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