- 博客(96)
- 资源 (9)
- 收藏
- 关注
原创 图的基础知识学习(一)
终于决定学一下图了,图一直以为是一种蛮有意思的方法。 图G=(V,E),V表示顶点数,E表示边数,图可以分为有向图和无向图,有两种标准的方法,即邻接表和邻接矩阵。 邻接表有V个列表的Adj数组组成,Adj[u]包含图G中的所有和顶点u相连的顶点,在无向图中的顺序是任意的,在有向图中和图的方向有关。邻接矩阵在无向图中为顶点的点为1,其余为零,有向图中则和方向有关,如下图所示。 邻接表无论是...
2018-08-08 00:17:12
1216
原创 python svm pca实践二
继上一片的内容,这片来·讲一下sklearn来进行简单的人脸识别,这里用的方法是pca和svm 先导入必要的包和数据集import numpy as npimport matplotlib.pyplot as pltfrom scipy import statsfrom sklearn.decomposition import PCAfrom sklearn.svm impor...
2018-05-21 19:48:47
1177
原创 python svm pca实践(一)
好久没写博客了 这里主要用python的sklearn包,来进行简单的svm的分类和pca的降维 svm是常用的分类器,其核心是在分类的时候找到一个最优的超平面,使得所有的样本与超平面之间的距离达到最小。 pca是常用的一种降维的方法,其核心是对去中心化后的数据,求得协方差矩阵,再对协方差矩阵进行特征分解,将最大的几个特征值作为这个样本的的新特征,达到降低数据特征维度的效果 这里用...
2018-05-13 21:20:48
5863
1
原创 CUDA学习(三十五)
建议和最佳做法: 整体性能优化策略: 性能优化围绕三个基本策略展开: - 最大限度地平行执行 - 优化内存使用量以实现最大内存带宽 - 优化指令使用率以实现最大指令吞吐量最大化并行执行从构建算法开始,尽可能多地暴露数据并行。 一旦算法的并行性暴露出来,它就需要尽可能有效地映射到硬件。 这是通过仔细选择每个内核启动的执行配置来完成的。 应用程序还应该通过流显式公开设备上的并发执行以及最...
2018-03-13 11:11:52
462
原创 Facebook Detectron物体检测研究平台实践
1月23日,Facebook 开源了自家的物体检测研究平台 Detectron。Detectron 是 Facebook AI 研究的软件系统,实现了最先进的物体检测算法,包括 Mask R-CNN。Detectron 用 Python 编写实现,并由深度学习框架 Caffe2 (Caffe2应该类似Brain++,内部使用)。 Detectron 的由来2016 年 7 月,Detec
2018-01-27 12:28:40
5921
原创 ubuntu上进行mpi环境搭建-通往hpc的第一步
好不容易实验室来了两台性能还可以的服务器,正好师兄师姐比较忙没空来配置服务器,所以我可以暂时使用服务器来学一下怎么配置集群,哈哈,单机已经满足不了我了。 首先,我们那比较简单的mpich进行开刀,配置一个简单的mpich集群。 先介绍一下MPI: MPI 全称Message Passing Interface 消息传递接口,是一种编辑接口标准,而不是一种具体的编辑语言。该标准是由消息传递论坛
2018-01-19 20:27:22
2533
原创 深度学习CV中常用的数据集
介绍一些深度学习中CV方面的一些常用的数据集: (一)mnist手写字体数据集: mnist数据是由Google实验室的Corinna Cortes和纽约大学柯朗研究所的YannLeCun建立的一个手写字体数据集,其中训练集包含60000训练的手写数字图片,测试集包含10000张图片,一个训练集的标签集,一个测试集的标签集。 官方地址: http://yann.lecun.com/ex
2018-01-13 15:45:39
8920
2
原创 python词云实现
python的一个蛮酷炫的功能是可以轻松地实现词云。 github上有关于这个项目的开源代码: https://github.com/amueller/word_cloud 注意跑例程时要删除里面的wordcloud文件夹 词云的功能有部分是基于NLP,有部分是基于图像的, 下面以一段github wordcloud上面的代码为例from os import pathfrom
2018-01-06 21:31:24
39869
原创 nvidia-smi指令解析
对于一些游戏玩家来说买到好配置的主机,首先一件事就是拿一些跑分软件来跑个分,如3DMark,国际象棋等。 像我们搞CUDA的喜欢用NVIDIA自带可视化工具Visual Profiler 来看程序对GPU的应用效率,对于一些已经搭好的框架如tensorflow和caffe等,想到监控的方法就是在训练或者测试时直接用命令:nvidia-smi在终端中打印出GPU的各种属性。 如下图是
2018-01-05 09:17:40
15746
原创 主成分分析PCA学习笔记
主成分分析(principal components analysis,PCA)是一个简单的机器学习算法,主要思想是对高维数据进行降维处理,去除数据中的冗余信息和噪声。 算法: 输入样本:D={x1,x2,⋯,xm}D=\left \{ x_{1},x_{2},\cdots ,x_{m}\right \} 低纬空间的维数过程:· 1:对所有样本进行中心化
2017-12-26 21:06:36
1267
1
原创 Deep learning REVIEW--三位大牛的Nature
Yann LeCun 扬·勒丘恩 卷积神经网络之父 YoShua Bengio 蒙特利尔教授 吴恩达的师兄弟 Geoffrey Hinton 神经网络之父 三人合作的深度学习文字(好不容易计算机科学能在nature上发表) 深度学习主要通过反向传播来改变程序的内参,卷积神经网络在图像,视频,语音和音频处理上有应用,循环神经网络在文本和语音处理上有好的成效 传统的模式识别和机器学习要用到专
2017-11-14 23:40:03
4126
原创 Rotation equivariant vector field networks 浏览记录
Rotation equivariant vector field networks 提出Rotation Equivariant Vector Field Networks(RotEqNet,旋转等变向量场网络) ,对CNN网络的旋转不变性进行改进。 输入网络的图像如果旋转,输出辨别的是否也会旋转 开始做实验是出现对三种不同的图像期望出现三种不同的结果: 1.同变性;2没有变化;3协
2017-11-12 21:07:34
1184
原创 统计学习方法(二)感知器C语音实现
感知器(perception)是二分类线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1的二值,感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型,感知机学习旨在求出将训练数据进行线性划分的分离超平面,为此导入基于误分类的损失函数,利用梯度下降法对于损失函数进行极小化,求得感知器模型。——–摘自统计学习方法 感知器包含输入层和输出层,主要对线性的数据
2017-10-17 21:25:19
725
原创 tx2安装caffe总结
无奈笔记本的性能太渣,双系统切换太麻烦,索性就拿tx2来当第二台电脑,需要在linux上跑的demo都放到tx2上跑; 先安装caffe(我重刷了两次机o(『﹏『)o)。 先配置依赖项 sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
2017-10-10 20:12:07
2609
原创 Jetson tx2刷机过程中的坑
暑假各种事忙得差不多后,终于有时间拿出早就申请到的tx2,开始刷机教程,这两天几乎踩边了所有的坑。 第一个坑,虚拟机 一般在安装VMware虚拟机时,建议的安装空间20GB,但是我从英伟达官网上下载下来的Jetpack3.1的刷机程序只有30MB,但下载完所有组件后会发现,文件夹内文件的大小变成了43.3G,所以建议分配给虚拟机超出50GB; 第二个坑,虚拟机的网络 在等待下来大半天下载
2017-08-28 23:08:09
17995
1
原创 python下人脸检测
首先先要安装python+opencv环境 这里我们用python3.5环境, 可以去https://repo.continuum.io/archive/下载windows,linux,macos的anaconda旧版本 安装好后建议对pip源进行更换,可以减少pip在安装包时出现的超时错误 具体在anaconda目录下的Lib\site-packages\pip-9.0.1-py3.5.e
2017-08-06 21:44:22
909
原创 python:logistic,softmax函数
在学习时,经常会遇到分类的问题,简单的讲:分类就是设定一个阈值,将你想分类的对象与这个阈值进行比较,根据结果来进行决定分类。 最简单的分类函数是阶跃函数(简单粗暴) 但问题在于,这模型不够光滑,阶跃点从0到1突变,阶跃点难以处理,分类的效果也就那样。 logistic函数:一种常见的S形函数,它是皮埃尔·弗朗索瓦·韦吕勒在1844或1845年在研究它与人口增长的关系时命名的。(生物课上经常
2017-08-05 21:46:02
10335
原创 jetson tx2开箱上电
期待已久的jetson tx2终于到了,来做一个开箱 (ง •̀_•́)ง jetson tx2是英伟达的第三代GPU嵌入式开发板 前两代分别是jetson tk1和jetson tx1 jetson tk1: 绿色的版板子接口丰富 jetson tx1: pcb板的颜色转变为炫酷的黑色,tx1和tx2开发板的大小都相等 配件丰富 唯一可惜的是tx1和tx2出场都没有电
2017-08-02 23:29:17
12078
原创 opencv图像处理:CommandLineParser类
看到有几本新的opencv书出来,梳理一下之前没看到过的知识: CommandLineParser类:可以帮助管理需要输入的命令行参数 CommandLineParser的构造函数为: CommandLineParser parser(argc,argv,keys):其中前2个参数是命令行传过来的,第3个就是刚刚定义的keys了; 第三个参数keys可以定义为如下: const char*
2017-07-31 21:55:47
1217
原创 OPENGL学习笔记(一)画一只dinosaur
唉vtk被pass了,还是换回基础的OPENGL吧,想当初我也是有个理想,当一个二次元的程序员( ¯ □ ¯ ) 首先OpenGL这个库好,比起之前用过的opencv,cuda等开放库,opengl才几兆,不用安装,而且相对于VTK来说,OpenGL封装好的函数较为底层,灵活度较高,也可以更好地体现自己编写的算法的好坏。 OpenGL写程序先要OpenGL的头文件,lib,.dll相关配置
2017-04-22 00:43:04
1621
原创 Python爬虫:用BeautifulSoup进行NBA数据爬取
爬虫主要就是要过滤掉网页中无用的信息,抓取网页中有用的信息 一般的爬虫架构为: 在python爬虫之前先要对网页的结构知识有一定的了解,如网页的标签,网页的语言等知识,推荐去W3School: W3school链接进行了解 在进行爬虫之前还要有一些工具: 1.首先Python 的开发环境:这里我选择了python2.7,开发的IDE为了安装调试方便选择了用VS2013上的python插
2017-04-13 17:19:44
13843
6
原创 C#连接MYSQL数据库并进行查询
——要干掉一个程序员不用刀,只要改三次需求就可以了。之前用MFC开发结果界面太难看被pass了,要求用C#重新来开发>_<,不过终于摆脱VC6.0的蛋疼操作了Y。 先来连接数据库 (1)用c#连接MYSQL数据库需要用到mysql-connector-net,这个组件网上查找就可以下载,安装直接按next,按默认路径安装; (2)新建一个Winfrom工程后,引用这个组件 在解决方案资源管理
2017-04-05 01:01:41
26098
6
原创 VTK 曲面构建+颜色映射
Vtk,(visualization toolkit)是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。VTK编程中主要用到的几个对象 vtkRenderer ,vtkRenderWindow,vtkActor,vtkMapper,其渲染场景如下图所示(图片来自东灵工作室博客) 在VTK的封装类中有一个专门为用三维杂序点进行重建曲面的类:vtkSurfaceReconStr
2017-04-01 20:08:27
4949
3
原创 VTK+MFC:建立自定义控件显示
这里我们用MFC框架来做VTK的界面 VTK比较蛋疼的是不能像图片一样直接在MFC的picture控件中显示,需要自己添加自定义控件来显示画出的模型, 1.首先新建一个类如MyCustomControl Ctrl+W打开建立类向导界面,选择Add Class->new 名字填写如MyCustomControl Base class选择generic CWnd 2.在MyCustomC
2017-03-24 01:13:35
1875
原创 MFC多线程进行图片的显示
在MFC编程中开始学习都是只利用一个主线程,比较蛋疼的是,当你只用一个主线程进行如播放,查询时,MFC的界面会卡死,你无法进行其他的操作,这时需要进行多线程的编程,在操作时生成一个子线程来进行一些如播放,查询等的费时的操作。 多线程,经常会与对实时性要求比较高的并行运算结合,用来隐藏数据传输过程中用到的等待时间。 基于MFC的多线程在上一篇博客的基础上进行改进: 1.简单建立如下的界面:
2017-03-23 00:30:14
2601
3
原创 MFC+OPENCV实现JPEG图片的播放
用vc6.0进行开发真的有点蛋疼,在实现jpeg图片的播放,vc6.0的picture控件居然只支持位图>_< 开始想法是在程序中加一个编码过程,边读图边显示,先将JPEG图片转化为位图再显示,但代价是在OPENCV中的自带的函数支持编解码,但要先写下来,所以时间较长无法满足实时性的要求; 第二种方法是用VTK中带的vtkJPEGReader类,在MFC中创建一个VTK的自定义控件,后读入显示,
2017-03-16 22:15:23
1589
原创 k-mean聚类算法实现
kmean是常用的聚类算法之一主要步骤为: 1.读如点数据,随机选取k个点成为最后要聚的类数目; 2.求剩下的点到这k个点的距离,取最小值,按点的距离聚成一类; 3算同一类中点的质心坐标,即x,y的平均值作为中心点, 4求个点到这中心点的距离,按距离再进行聚类; 5迭代求中心,再聚类; 6当中心点变化在相邻两次迭代的变化数值小与某一范围时停止迭代 7用OpenGL,VTK等可视化软件显
2017-03-16 21:42:49
1756
原创 阿里云建站-CV小站
看了很多大牛的经历,发现有一个共同的特点:就是敢于分享自己的所学所感,通过撰写博客,论坛灌水,建自己的网站等方式来帮助他人。 身为小白的我也很想像那些大牛一样,有一个自己的小站来分享自己学习后的感悟,还可以来分析自己看到的段子等。所以我在这个寒假花了三个星期左右的时间来建立完善一个网站。 首先建网站需要一台能连上外网的服务器,一个域名。 我最图像处理感兴趣,又想做一个类似于D站(一有很多动漫资
2017-02-18 23:05:45
1759
原创 VTK+VC6.0配置
在VC6.0上进行开发,用到的是VTK,按网上提供的教程VTK需要用5.0版本(额,这个好老,费了很大劲终于找到了)vtkdata-5.0.0.tarvtk-5.0.0.zip相关配置方法可以参考下面的博客:http://blog.sina.com.cn/s/blog_4cee400e0100b0rd.html·直接复制粘贴地址可能不行需要手打一遍(这是我遇到的); 我的Additional
2017-02-13 18:26:00
1053
原创 OpenACC读书笔记(二)
OpenACC中常用的一些导语与子语 : #pragma acc kernels 如同上一篇代码所显示,在代码前之间加上,编译器发现这一指令时会自动将接下来代码中可以改动的改成并行#include<stdio.h>#define N 256int main(){ int i,a[N],b[N],c[N]; for(i=0;i<N;i++) { a
2017-01-27 23:45:16
1887
原创 OpenACC读书笔记(一)
今年运气比较好,学了cuda之后,了解到了gpu的另两种使用语言opencl和openacc, opencl(Open Computing Language ,开放计算语言)是面向异构系统的并行编程语言的免费标准,支持多种设备,包含CPU(多核多线程CPU),GPU(NVIDIA,AMD),数字信号处理器(居然还支持DSP),但缺点是对源代码进行并行改进的代码量较大; OpenACC与cudac
2017-01-26 00:44:40
14688
原创 管道鸟cortex-M4(TM4C1294)
看到满屏的贪吃蛇,我也来开源一个Ti开发板(TM4C1294)的游戏 将简化版的管道鸟,更具自己玩的经历,在cortexm4开发版重新撸了一边, 设计思路: 设计思路:将小鸟固定在一条竖线上规定其只能上下移动并记录下其最高和最低的坐标,管道从屏幕右边开始出现依次移动到屏幕左边消失,用户通过按键控制小鸟上下移动,小鸟也有一个自然下降的速度,用户要控制小鸟在前进过程中不碰到管道的边和屏幕的边界。
2017-01-18 19:46:23
4798
20
原创 数据库操作:MYSQL与MFC连接(二)
继上一片博客,这篇介绍数据库与MFC的连接,上篇是介绍用控制台连接MYSQL,其实MFC为代码增加一个界面,和一些消息相应(个人认为) 首先建一个MFC的工程,我这边建了一个Dlg 建好后看一下选项-> 目录->包含目录和库目录中是否包含了MYSQL的路径 再在Dlg.cpp中添加: #include”winsock.h” #include“mysql.h” #pragma
2016-12-26 23:24:28
9316
原创 PS 开启GPU加速图片处理
还认为你的电脑的速度效果比不上苹果吗?还在嫌电脑渲染速度慢吗?试一下,电脑开启GPU硬件加速吧!只要有独显轻松加速(毕竟苹果笔记本要配独显电脑的价格基本上在15000以上,而且显卡的性能还不怎么好)先打开PhotoShop软件查看一下当前你电脑的ps软件用的是Inter的核显还是独显 选择编辑->首选项(可能要往下拉或者Photoshop全屏)->常规 选择常规后选择性能;可以看到如下界面:
2016-12-20 17:01:51
42413
原创 数据库操作:MFC连接与MYSQL
mysql 与MFC通常情况下都是用ODBC或者是是ADO相连接,但有点伤 我直接找网上的教程,仿照着进行连接,试了n边还是只能连接上,但无法进行如图读取,写入的操作。~有点伤心。 只能去看MYSQL手册,里面有C与MYSQL的API接口;由于MFC框架中调试比较困难,所以我现在win32控制台下实现与数据库的连接与对数据库的操作。(可能这也是原因之一,我错误的以为MFC是程序主体,其实MFC只是
2016-12-16 23:31:23
3002
原创 利用MATLAB进行车辆的速度测量
用MATLAB对车辆的统计第三章,对车速的测量,对车速的测量是在前两章的基础上进行补充: 对车速的测量我想到的有两种方法: 方法一: 直接在路上设置两个框,在已知路面的实际距离,和图上车辆经过的图上距离的情况下,简单地利用比例(要更加精确一点的话应该用摄像机的标定,用摄像机的内参外差,在经过一系列的变化,得到实际物体在空间中的位置)来计算车速,再知道车辆经过这两帧的帧数差与每帧之间的时间可以大
2016-12-10 23:03:52
13727
51
原创 用MATLAB实现对运动物体识别与跟踪
不得不说MATLAB的图像处理函数有点多,但速度有时也是出奇的慢。还是想c的指针,虽然有点危险,但速度那是杠杠的。 第二个MATLAB程序,对运动物体的识别与追踪。 这里我们主要运用帧差法实现运动物体与背景图像的分离,由于视频中的物体较为简单,我们只对两帧图像取帧差(也是为了提高速度) 对于运动物体的提取我们运用了MATLAB里自带的函数bwareaopen bwareaopen(src,i
2016-12-03 17:28:28
49792
124
原创 用Matlab实现路口车量的计数
最近有一个作业,用matlab写一段代码来检测路口的车流量(虽然我一直喜欢用C胜过用matlab,原因你懂的,但是这是作业没办法),简单实现了下。 这是视频中的一帧图片,可以看到主要分为4个车道(应该有5个)由于视频是直行时拍的所以不考虑最右边的转弯车道,也不考虑自行车等非机动车。 首先这边使用背景差分法,由于视频的时间比较短,笔者只选用了没有车的一张图片作为背景,如果要进行长时间的计算,应该
2016-11-25 21:53:36
9550
35
原创 CPU多线程处理,一种隐藏传输时间方法
在使用CUDA进行编程时,遇到提速时间达不到效果时往往会用CUDA自带的visual profiler进行算法运行时间的分析; 在分析时,总会遇到数据流从向显存传输时的时间在算法中多于实际你的算法处理你要解决问题的算法的时间。 如你在传输时花70%的时间,而你处理你的问题时只花30%的时间,这时再提升你算法处理的问题时的速度主要集中在怎么减少传输时所用的时间或者怎么隐藏传输时所用的时间。 在
2016-10-31 06:57:02
787
原创 Harris角点标注法
在图像拼接过程中,图像的匹配是重要的一步,其中最常用的算法是Harris角点标注算法。 在Harris之前常用的是Moravec 角点提取算法,Moravec角点检测是一种基于灰度值的检测算法,主要是通过滑动二值矩形窗口寻找灰度变化的局部最大值。主要先通过事先设定一个经验阈值,通过对窗口(如取3*3的窗口)进行相邻八个方向(上,下,左,右,左上,左下,右上,右下)进行滑动,计算原窗口和滑动后窗口的
2016-10-25 19:13:28
1175
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅