毕业设计
文章平均质量分 88
森耶耶爱笑嘻
苟利...
展开
-
闵大荒之旅(一)
人生总不能过的那么潇洒吧,不能想做的就做,不想做的就撒手不干,人还是要适当地逼自己一下吧。至少现在我只能这么安慰一下自己。坐了14个小时的火车+一个多小时的地铁+半个小时的步行,我终于来到阔别已久的闵大荒,我的大学生涯竟然将在这里结束,我的研究生阶段即将在这里开始。一切对我来说都是陌生的,陌生的往往伴随着刺激!是的,我很激动和兴奋,不一样的校园环境,不一样的同学,我也是不一样的心情。还有三...2016-03-02 00:21:58 · 309 阅读 · 0 评论 -
閔大荒之旅(二) --- 熟悉熟悉環境
本次我所要完成的項目是 基於GPU加速的行人檢測系統前言GPU 加速的计算是利用一颗图形处理器 (GPU) 以及一颗 CPU 来加速科学、工程以及企业级应用程序。工业与学术界的数据科学家已将 GPU 用于机器学习以便在各种应用上实现开创性的改进,这些应用包括图像分类、视频分析、语音识别以及自然语言处理等等。我們實驗室的方向是無人駕駛,這個領域最近也是非常火熱,更有人直言三至五年無人駕駛將得...原创 2016-03-05 18:54:13 · 159 阅读 · 0 评论 -
闵大荒之旅(三)---- 抄抄改改opencv之GPUvsCPU
在使用cuda进行编程之前,我们不妨再来看看OpenCV中的效果是什么样子的,那么这一次,我将使用OpenCV来进行HOG+SVM的行人检测。事实上,HOG+SVM在行人检测上的应用在网上已经有了非常丰富的资料,可以说,这个技术相对来说是比较成熟的,那么此次应用OpenCV进行行人检测的实现主要目的如下:1.了解HOG+SVM在行人检测上的实际效果,并借此熟悉OpenCV中相关程序的...原创 2016-03-08 13:52:27 · 425 阅读 · 0 评论 -
闵大荒之旅(四) ---- CUDA预热
上一回演示了使用OpenCV中集成的gpu部分进行gpu编程,实现hog+svm算法对行人进行检测,检测效果对比得出gpu运行时间要远比cpu运行时间小,更加具有实时性。但是直接使用OpenCV中的函数,显得过于呆板,灵活性较差,于是,为了将gpu运算牢牢掌握在自己手里,我选择CUDA编程,接下来,我简单的介绍一下gpu、cuda的一部分内容。 1.CPU是顺序处理;GPU是并行处理,...原创 2016-03-10 23:47:52 · 974 阅读 · 0 评论 -
闵大荒之旅(五) ----- OpenCV与CUDA编程的结合
参考http://www.cnblogs.com/dwdxdy/p/3528711.html博客,加之以实践环节,我们可以知道有几种使用到GPU运算的方法: 1.利用OpenCV中提供的GPU模块 2.单独使用Cuda API编程 3.利用OpenCV中提供接口,并结合Cuda API...原创 2016-03-11 12:02:04 · 721 阅读 · 0 评论 -
闵大荒之旅(六) ----- 初探HOG源码
目前的进度有些缓慢了。。。要想用CUDA实现HOG特征的并行计算,那么首先就要熟悉HOG计算的相关内容、思想,以便实现并行计算方案。关于HOG特征的介绍,在网上有非常非常多,其中英文原文:http://vision.stanford.edu/teaching/cs231b_spring1213/papers/CVPR05_DalalTriggs.pdf故这里不作详细介绍,简单摘...原创 2016-03-15 23:05:56 · 318 阅读 · 0 评论 -
闵大荒之旅(七) ----- 源码移植
要把OpenCV的源码改写成CUDA,那么在改写成并行计算之前,我们需要保证CUDA C中(特别是CUDA中的核函数)能够支持OpenCV定义的类型,否则我们只有重写。所以在将OpenCV源码改写成CUDA并行计算之前,我首先将OpenCV源码改写成了普通的C语言版本------这里的改写指的是:一些结构体的重写、Mat数组和普通一维二维数组的转换等等,具体情况下面的代码将见分晓。这次改...2016-03-23 11:55:17 · 321 阅读 · 0 评论 -
闵大荒之旅(八) ----- 时间都去哪了
HOG+SVM做行人检测,是非常经典的做法,但是真正使用过的人可以发现,就OpenCV提供的检测算算法而言,其实时性是非常差的。事实上,OpenCV中还做了一定的优化,比如利用CPU对多尺度行人检测进行一个并行计算,但是,在我笔记本上运行一次完整的检测过程需要1~2秒不等,这种检测速度,若是应用到无人驾驶技术上,检测到人估计那人已经撞飞了。。。为了提高检测速度,利用GPU并行计算是非常合适是解...原创 2016-03-23 22:02:21 · 293 阅读 · 0 评论 -
闵大荒之旅(九) ----- 源码初步“翻译”
上一回分析到,第一阶段的主要任务是改写detect函数,那么本次就是先将detect函数修改成C语言版本! 先上代码,下列代码仍有几个变量没进行修改,其中包括blockCacheFlags, blockCache,grad,qangle(Mat类型),这些mat类型的矩阵,考虑直接传入cuda PtrStep类型或者用二维数组传入 void mynormalizeBlockHis...2016-03-27 17:18:26 · 194 阅读 · 0 评论