自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算机视觉-----------图像检索

相似检索:颜色特征提取:目标:统计图片的颜色成分--->颜色聚类直方图方法:使用K-means++对图片进行聚类通过CIEDE2000算出颜色之间的差异相似纹理检索:目标:实现基于人类纹理感知的相似排序纹理特征提取:多方向,多尺度Gabor滤波器组特征计算:Kmeans++聚类直方图相似形状检索:PHOG形状特征提取(效果一般)局部特征点:检测出所有局部特征点,特征描述子SIFT特征点,通过两个图SIFT电集之间的匹配对数(双向匹配)来找到相似图片

2020-08-01 12:55:13 213

原创 计算机视觉----------图像分类

AlexNet网络:五个卷积层+三个全连接层60M个参数,650个神经元2个分组---->2个GUP1x1卷积:实现统一像素点上的各个通道的值的线性组合作用是实现阔通道的交互和信息整合,进行卷积核通道数的降维和升维VGG网络:用于探究在大规模图像是别人物种,卷积网络深度对模型精确度有何影响一个大卷积核分解成连续多个小卷积核减少参数,降低计算,增加深度GoogLeNet网络:进化顺序:inception V1 --->inception V2--..

2020-07-31 16:05:34 247

原创 计算机视觉---------深度学习基础

深度学习基础与神经网络的区别目标函数改进的梯度下降避免过适应CNN初步介Cnn基本组件池化层的误差反向传播卷积层的误差反向传播

2020-07-31 12:13:58 195

原创 计算机视觉-------------神经网络和深度学习

神经网络:神经元:每个神经元都是结构相似的独立单元,他接受前一层传来的数据,并将这些数据加权并输入非线性作用函数中,再把输出结果传递给下一层激活函数:sigmoid函数,将值映射再0到1中前馈网络:整个网络中没有反馈,接受前一层的输出,并且输入到下一层梯度下降:选定一个梯度下降的方向,设定学习率,迭代,将目标函数的值减小误差传播迭代公式:权重增量=-1*学习步长*目标函数对权重的偏导数目标函数对权重的偏导数=-1*残差*当前层的输入残差=当前层激励函数的导数*上层反传来的误差

2020-07-30 15:50:52 163

原创 计算机视觉------------图像分割,人脸检测,行人检测传统做法

图像分割基于灰度值的两个特征:不连续性和相似性对图像进行分割基于阈值的分割方法:小于某个阈值被认为背景,大于则认为前景基于边缘的分割方法:找到属于两种区域边界线上的像素点的集合基于区域的分割方法:区域生长法:先定义一个区域,然后慢慢加入这个区域,如果均值和定义的区域的差超过最大像素灰度值距离时,则无法再加入这个区域分水岭算法:彩色图像灰度化,再求梯度图,最后在梯度图的基础上进行分水岭算法,球的图像的边缘线Graph Cut分割:基于图论的分割方法GrabCut 分割:前景和背

2020-07-30 11:39:48 502

原创 计算机视觉--------图像特征与描述

1.颜色特征量化颜色直方图:统计落在量化单元上的像素数量HSV空间优势:计算高校,劣势:量化问题,稀疏聚类颜色直方图:使用聚类算法对所有像素点颜色向量进行聚类,bin由聚类中心代表2.几何特征边缘:像素明显变化的区域(一阶导数的极值区域)边缘提取:先高斯去噪,再使用一阶导数求极值3.基于关键点的特征描述子不同距离,方向,角度观察同一物体时,我们仍然可以认为他是同一物品。理想的特征描述子应该具备这个性质,同一特征点应具有足够相似的描述子,称之为描述点的可复现

2020-07-29 16:55:04 601

原创 计算机视觉-----图像预处理

图像增强:改善图像视觉效果,增强图像的使用价值通常将空间域转到频率域上,目的是快速进行卷积计算特征提取方法:直方图(点运算):统计每个点的灰度,将相近的归为一类0代表全部黑色,255代表全部白色直方图均衡化:重新分配各个灰度单位中的像素点数量,使一定灰度范围像素点数量的值大致相等ClAHE:将超过选定范围的面积删除,并将相同面积平铺在最底层步骤:1.图像分块2.计算每块的直方图,修剪直方图,最后均衡3.遍历操作每个图像块,进行块间双线性插值

2020-07-29 11:50:05 382

原创 计算机视觉------在深度学习的运用

计算机视觉的运用:深度学习在计算机视觉的应用:图像分类<---------卷积神经网络CNN图像检测<----------区域卷积神经网络RCNN图像分割<----------全卷积神经网络FCN图像描述<-----------迭代神经网络RNN图像生成<---------GAN网络...

2020-07-29 09:23:58 102

原创 Python-----深度学习(Tensorflow)

Tensorflow:专门运算的操作节点被称之为OP(operation)OP的类型有很多例如运算,赋值(在Tensorflow API下的函数都是OP)图:代表了整个程序的结构Tensor(张量):指代的是数据Tensorflow结构分为前端系统和后端系统。前端系统:定义程序图的结构;后端系统:运算图结构会话:1. 运行程序的图 2. 分配资源计算,掌握资源会话通过 tf.session()开启,只能运行一个图,指定图运行:tf.session(g...

2020-07-21 15:15:18 284

原创 Python------逻辑回归和非监督算法

逻辑回归:解决二分问题输入:h????=????0+????1????1+????2????2+…= w^T x(单个样本)Sigmoid函数逻辑回归采用对数似然损失,优化采用梯度下降对数似然损失:有多个局部最小值,优化办法:调整学习率,多次随机初始化,多次比较最小值结果用逻辑回归预测癌症:def logistic(): """ 逻辑回归做二分类进行癌症预测(根据细胞的属性特征) :return: NOne """ # 构造列标签名字

2020-07-15 18:58:32 690

原创 Python-----算法(回归算法)

线性回归:线性关系:在二维中数据呈直线关系被称之为线性关系线性关系模型:????????=????1????1+????2????2+…+????????????????+????w为权重,b称为偏置项,可以理解为:????0×1损失函数:每个回归都有损失函数,目的减少误差值•y_i为第i个训练样本的真实值•h????(????????)为第????个训练样本特征值组合预测函数总损失定义:J(θ)= 〖〖(h〗_w (x〗_1) -y_1 )^2+〖〖

2020-07-15 14:01:59 531

原创 Python----分类算法(决策树,随机森林)

决策树:信息熵的计算:条件熵的计算:API:•classsklearn.tree.DecisionTreeClassifier(criterion=’gini’,max_depth=None,random_state=None)•决策树分类器•criterion:默认是’gini’系数,也可以选择信息增益的熵’entropy’•max_depth:树的深度大小•random_state:随机数种子•method:•decision_path:返回决策树的路..

2020-07-14 18:52:22 335

原创 Python------K近邻算法,朴素贝叶斯算法

K-近邻算法定义:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。计算距离公式:√(〖(a1-b1)〗^2+〖(a2-b2)〗^2+〖(a3-b3)〗^2 )需要对数据做标准化处理(特征值)API:•sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm='auto')作业:测试鸢尾花from sklearn.datasets..

2020-07-14 15:00:41 233

原创 Python-----机器学习初识(二)

数据降维特征选择:特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值、也不改变值,但是选择后的特征维数肯定比选择前小,毕竟我们只选择了其中的一部分特征。Filter(过滤式):VarianceThresholddef var(): """ 特征选择-删除低方差的特征 :return: None """ var = VarianceThreshold(threshold=1.0) data = v

2020-07-13 19:16:51 133

原创 Python--机器学习初识(一)

机器学习机器学习是从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测机器学习的数据主要储存再文件(csv)中特征抽取sklearn.feature_extraction字典特征抽取from sklearn.feature_extraction import DictVectorizer例子:from sklearn.feature_extraction import DictVectorizerdef dictvec(): # 实例化 dic...

2020-07-13 15:39:31 164

原创 Python----数据可视化(球员能力图)

球员能力图import numpy as npimport matplotlib.pyplot as pltfrom matplotlib.font_manager import FontPropertiesplt.style.use('ggplot')font = FontProperties(fname=r'c:\windows\fonts\simsun.ttc', size=12)ability_size = 6ability_label = [u'进攻', u'防守', u'盘

2020-07-12 12:58:11 930

原创 Python-----数据可视化(matplotlib)(二)

1.添加注释plot.annotate('this is the bottom',xy=(0,1),xytext(0,20), arrowprops=dict(facecolor = 'r',frac=0.2,headwidth=30,width=20))xy=箭头起始位置xytext=注释位置facecolor=箭头颜色frac=箭头比例headwidth=箭头宽度width=箭身宽度2.添加文本plot.text(-2,40,'text

2020-07-11 14:27:10 197

原创 Python-----数据可视化(matplotlib)

需要导入 matplotlib 包,代码如下import matplotlib.pyplot as plt在使用排序时,有两种办法:y=x.sort() 直接使用sort会改变x原数列的数值y=np.sort(x),使用np的方法排序时,不会对X原数列改动,而是生成一个新的数列例题:用numpy生成0-100的10个数字,导出再导入一个文件,并对其排序,求最大值,最小值,求平均值,求方差c = np.random.randint(1, 100, 10)np.savetxt

2020-07-11 00:59:48 258

原创 Python-----Pandas基础知识

索引1.查找是否有重复索引:s = pd.Series(np.random.randn(5),index = list('abcda'))Ans=s.index.is_unique2.处理重复索引:求第一项:s.groupby(s.index).first()求和:s.groupby(s.index).sum()3.多级索引:把三维数据用二维来表达a = [['a','a','a','b','b','c','c',],[1,2,3,1,2,2,3]]t =

2020-07-10 01:47:52 185

原创 Python-----pandas初识以及电影数据分析

Pandas 作用:结构化数据分析,例如:学生成绩分析,股票数据分析Pandas 数据结构:Series: 序列dataframe: 二维的数组1.用列表创建series:s1 = pd.Series([1,3,5,np.NaN,8,4])2.创建日期序列:datas = pd.date_range('20200707', periods=6) periods 表示创建几个日期3.创建二维数组:data1 = pd.DataFrame(np.random.randn(6

2020-07-08 11:24:28 656 1

原创 Python-------numpy

numpy基本用法:使用numpy创建array:a = np.array([2, 23, 4])使用numpy创建矩阵:array = np.array([[1, 2, 3], [2, 3, 4]])使用numpy创建三行四列的矩阵:a = np.zeros((3,4))使用numpy创建0-12三行四列的矩阵:a = np.arange(12).reshape((3,4))print(a)使用numpy创建一个五段的数.

2020-07-07 00:01:29 563

原创 python-----算法-----二叉树

树是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点; 没有父节点的节点称为根节点; 每一个非根节点有且只有一个父节点; 除了根节点外,每个子节点可以分为多个不相交的子树;树的种类无序树:树中任意节点的子节点之间没有顺序关系,这种树称为无序树,也称为自由树;

2020-07-04 21:54:19 101

原创 Python---算法-------归并排序,二分查找

归并排序:归并排序将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。最优时间复杂度位:O(nlogn)最坏时间复杂度位:O(nlogn)稳定性:稳定def merge_sort(alist): n = len(alist) if n <= 1: return alist mid = n // 2

2020-07-04 11:34:35 223

原创 Python---算法-排序(希尔排序,快速排序)

希尔排序概念和实现:希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。希尔排序是非稳定排序算法def shell_sort(a_list): n = len(a_list) gap = n // 2 while gap > 0: # gap变化到0之前,插入算法执行次数 for j in range(gap, n):

2020-07-03 11:09:12 113

原创 python数据结构-栈和队列以及算法-排序

栈的特点:栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。采用LIFO(后进先出)的原理运作栈的实现:再栈中添加元素被称之为压栈(push),删除元素被称之为出栈(pop)class Stack(object): def __init__(self): self.__list = [] def

2020-07-02 12:37:56 150

原创 Python-链表之双向链表

基本概念:前驱节点:当前节点的前一个节点后继节点:当前节点的下一个节点每个节点中包含:数据区,pre(前区域),next(后区域)双链表和单链表的区别就在于多了一个前区域,所以只有添加,删除,插入等操作和单链表不同,其他操作例如测试是否为空,遍历,测算长度等都相同,可以通过继承的思想来使用。操作:添加节点:特别注意要理清楚节点前后的关系,可执行的代码不止一种,根据代码的先后顺序来判断节点关系。删除节点:要注意删除的节点是否是首节点或者末节点,需要加入额外的判断条件

2020-07-01 17:41:51 172

原创 python---数据结构之链表

链表:链表是一种线性表,不同顺序表连续存储数据,链表在每个节点里存放下一个节点的位置信息,同时存储数据单向链表:需要有一个变量P指向单向链表的首节点(第一个节点),尾节点(最后一个节点)的链接区指向空单链表的语句操作:is_empty() 链表是否为空 length() 链表长度 travel() 遍历整个链表 add(item) 链表头部添加元素 append(item) 链表尾部添加元素 insert(pos, item) 指定位置添加元素 remove(item) 删除

2020-07-01 12:45:23 122

原创 python-数据结构之顺序表

在计算机内存中,整数占据四个字节,存取时的类型对应取出的类型顺序表通常使用顺序存储来存放相同类型的数据,数据的地址都是按照顺序来存放的,可以通过公式l0+(n-1)*c来找到每个数据的位置,这种方法称之为顺序表。若有一串整数 L=[2,3,4,5]四个数字,L[0]代表了第一个元素的地址位也就是起始位,L[2]代表了第三个元素的地址位,可以通过初始地址位偏移得到,相当于ROM元素外置顺序表如果每个元素的单位不统一则不能使用顺序表,需要使用元素外置,通过其储存其地址来获得他们的循序,相当于

2020-06-30 12:04:07 291

原创 Python-数据结构和算法之时间复杂度和数据结构

作用:数据结构和算法大大的提高的代码的效率,使得代码更加规范。算法的五大特征:输入: 算法具有0个或多个输入 输出: 算法至少有1个或多个输出 有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成 确定性:算法中的每一步都有确定的含义,不会出现二义性 可行性:算法的每一步都是可行的,也就是说每一步都能够执行有限的次数完成算法效率衡量:实现算法程序的执行时间可以反应出算法的效率,但是单靠时间并不能客观准确判断,为了创立一个标准,定义了“时间复

2020-06-29 13:03:13 161

原创 Python-类的相关方法,特征,面向对象,设计模式

Python 方法规则1. Python 中方法没有重载,因为其参数没有类型,如果定义了多种方法,只有最后一个有效2.类中的函数也可以在外部进行修改添加,方法,函数都是对象私有属性和私有方法两个下划线开头的属性是私有的,其他都是公共的 类内部可以访问私有属性 类外部不能直接访问私有属性 类外部可以通过“_类名__私有属性名”访问私有属性私有属性在类内部可以随便调用property装饰器:将一个方法的调用看成一个属性的调用,给属性增加对应的getter,setter方法,语句为

2020-06-27 14:31:25 116

原创 python-嵌套函数(内部函数),对象介绍,方法介绍

嵌套函数(内部函数)在函数内部定义的函数成为嵌套函数,只能针对在外部函数中使用,可以将细节存储在内部函数def outer(): print("outer running") def inner(): print("inner runnning") inner()outer()Nonlocal:用来声明外层的局部变量Gobal:用来声明全局变量legb规则调用顺序:l: local 局部作用域e:enclosed 嵌套函数.

2020-06-26 14:36:57 403

原创 python-函数,参数基本概念语句

函数内存底层分析可以将函数赋值给一个字符串,例如c=test01 (test01是一个函数的名字)全局变量和局部变量全局变量的作用域为整个模块,通常作为常量使用局部变量的作用域为函数内部,效率较高,优先使用如果局部变量和全局变量同名,则优先使用局部变量,若想在函数内部使用或者修改全局变量,则需要加入global语句当函数被调用时,会创立一个栈帧(stack frame),函数被存储在整个栈帧中,函数在被调用后会删除整个栈帧,若二次调用则会创立一个新的栈帧。参数的传递本质上时实

2020-06-25 18:56:16 124

原创 python-基础语句用法,推导式,棋盘绘画,函数基本概念

for循环for循环通常用于可迭代对象的遍历。for 变量 in 可迭代对象可迭代对象包括:序列,字典,迭代器对象,生成器函数,文件对象例子:用for循环计算0-100之内奇数和以及偶数和sum_even=0sum_odd=0for x in range(1,101,2):#计算1-100之间的奇数的累加和 sum_odd=sum_odd+xprint(sum_odd)for x in range(0,101,2): #计算1-100之间的偶数的累加和 ...

2020-06-24 16:46:43 326

原创 Python-字典和集合的操作及控制语句

字典字典是没有顺序的可变序列,他通常都是成对储存,每个元素都有键值对,通过键对象可以找到值对象,键对象是任意不可变对象且不能重复,例如元组,字符串,而值对象可以是任意对象而且可以重复。例:a={'name':'txy','age':'23'}中,name和age就是键对象而txy和123则是值对象字典的创建可以通过dict(),{ }来创建字典对象,例:a={'name':'txy','age':'23'}/a=dict(name:'txy',age:23)/a=dict([("name","t

2020-06-24 10:59:21 196

原创 Python-序列之列表,元组相关语法

可变字符串:引用IO模块,a=io.StringIO(s) ,a.seek()先确定指针的位置,a.write(“需要改变的内容”)基本运算符:比较运算符可以连用3<a<10 , #bin()可以把数字转成二进制表示 左移一位相当于乘以2,二位乘以4以此类推(a<<1);右移一位相当于除以2,二位除以4以此类推(a>>1) Python 不支持自增(++),自减(--),只能用a+=1 运算符优先级:乘除大于加减,位运算和算术运算>比较运算符>

2020-06-23 13:33:02 421

原创 python-python基本语法之运算符和字符串

Python 中赋值与其他语言不同,例如a,b,c=1,2,3就可以取代C语言中的a=1,b=2,c=3. 同样a,b=1,2 a,b=b,a 简单的两行代码就可以解决C语言中换值的一些问题。但是Python中的常量是可以改变的(常量全部大写表示),我们只能通过逻辑来保持常量不变,这点与C语言不同,但也同时解释了为什么可以用简单的两行代码来解决换值问题。Python 和其它语言一样可以进行数字上的计算,这里重点列出如何写整除(//),取余(%)和幂(**),需要注意的是除数不能为0。Python 可

2020-06-23 10:00:39 250

原创 初识python-python的安装与五环的绘制

Python 是一种解释性语言,相比C,JAVA 来说上手更加简单。 Python同时也是在人工智能方面主要运用到的语言。Python 不同于其他语言的是其使用空格来划分for,if等语句,替代了其它语言中的{}的功能,看上去更加简洁明了。Python 主要的开发环境是IDLE 和Pycharm. 目前阶段来说IDLE完全足够用于初步的Python代码的测试。Python 的对象有三个特征:ID,type,value. 例如 在给变量a赋予一个值3. 这个3同样拥有这三个特征:3的ID是其在计算

2020-06-22 12:14:49 214

空空如也

空空如也

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

TA关注的人

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