
机器学习
文章平均质量分 67
长飞哥
指尖艺术 思维殿堂
展开
-
【YOLOX】核心基础完整讲解
YOLO全解析转载 2022-12-08 14:10:49 · 3232 阅读 · 0 评论 -
3D目标检测
感谢资源共享!3D框估计基于paper《3D Bounding Box Estimation Using Deep Learning and Geometry》https://github.com/smallcorgi/3D-Deepbox对上面的工程进行train和test调试。工程基于tensorflow1.x,如果要用2.x版本来跑,需要对代码进行转换。用tf_upgrade_v2 --infile file --outfile file 只能自动转换一部分代码。tf.cont原创 2021-04-08 16:09:41 · 222 阅读 · 0 评论 -
SSD目标检测算法中default box在ssd_pascal.py的设置
在ssd_pascal.py中对default boxes(prior boxes)的设置由如下代码完成:# parameters for generating priors.# minimum dimension of input imagemin_dim = 300# conv4_3 ==> 38 x 38# fc7 ==> 19 x 19# conv6_2 ==> 10 x 1原创 2017-12-26 15:18:37 · 1885 阅读 · 0 评论 -
最大池化层的作用
●Theano中对Max-pooling的解释Max-pooling is useful in vision for two reasons:1、By eliminating non-maximal values, it reduces computation for upper layers.2、It provides a form of translation invariance原创 2017-12-14 11:20:38 · 18608 阅读 · 0 评论 -
从ResNet101到ResNet50
一直用VGG训练,几天前想看下ResNet的效果如何,因为SSD源码中有python实现的ResNet网络结构实现代码,包含ResNet101和ResNet152,直接拿ResNet101来训练,GTX1060配置,batchsize竟然只降到2才跑的起来,果然一直收敛不了。看了下model_libs.py里面的实现代码:def ResNet101Body(net, from_layer, u原创 2017-12-29 13:15:58 · 34010 阅读 · 3 评论 -
YOLO2中anchors设置
训练YOLO2时会用到cfg文件,这个网络结构文件里面的Region层有一个anchors参数就是论文中对应的用k-means方法产生的5个box的信息,这些数据的使用在YOLO2代码中可见:1、解析是在parse.c中的parse_region2、使用是调用get_region_boxes函数,其中get_region_boxbox get_region_box(float *x原创 2018-01-31 13:28:57 · 9986 阅读 · 4 评论 -
YOLO2中的labels文件怎么读取
这几天看代码,一直找不到labels文件的读取代码,只看到读取了图像路径,今天看这位的博客,终于找到。上一篇生成anchors的原理应该就是从这里参考的。见data.c里的fill_truth_detection函数这段find_replace(path, "images", "labels", labelpath); find_replace(labelpath, "JPEGIm原创 2018-02-01 16:28:17 · 1347 阅读 · 0 评论 -
YOLOv2+MobileNet,windows下调试
看作者github更新了YOLO2代码,加入了groups机制,加了LSTM功能。要实现基于MobileNet的YOLO2,根据之前基于darknet的YOLO2版本可以简单修改。几个修改的地方:1、部分源文件中net定义变为指针。比如parser.c文件。一一修改。2、在data.c中线程代码段,有些产生随机数的代码需要修改,否则训练会一直跑同一张图像。比如rand()%m,用没有groups版...原创 2018-02-12 09:02:06 · 3999 阅读 · 9 评论 -
linux环境下封装YOLOv2算法
YOLOv3已出,不管哪个版本,其封装应该大同小异。之前在windows环境下,以https://github.com/AlexeyAB/darknet版本进行封装,linux下封装也是差异不大,而且linux环境下编译工程更简单。以YOLOv2位例,主要找出test_detector函数void test_detector(char *datacfg, char *cfgfile, ...原创 2018-05-19 21:15:29 · 1750 阅读 · 8 评论 -
梯度下降法入门解析
1、梯度下降法是做什么用的?机器学习中都有一个代价函数,训练时就是要使代价函数值最小,这样假设的值和实际值就越接近。而代价函数中有参数,要使代价函数最小,则需要调节参数,这个过程就是最优化的一个过程,梯度下降法是一个最优化的方法。2、代价函数对其中某参数求偏导数,即得到此参数对应的梯度。而代价函数要达到最小,就要下降,下降有慢有快,下降最快的方向是此参数对应的梯度的反方向,参数朝着其梯度反...原创 2018-09-13 11:34:59 · 424 阅读 · 0 评论 -
关于anchor的解释
第一次接触anchor是Faster-R-CNN中提及的RPN(Region Proposal Network)。在我的博文里【Faster-R-CNN总结】也有介绍Faster-R-CNN的几点总结,但是对anchor的定义没有详细说明。在学习过程中,发现很多人其实没有真正搞懂anchor,本人也是如此,反复研究后总算弄清楚原理。 首先明确anchor的位置。a...原创 2019-02-01 11:54:23 · 6850 阅读 · 6 评论 -
YOLO2训练
YOLO2训练小记: 用了600张图像,制作训练集,设置batch = 30,subdivisions = 6, 设置每10个batch后就输出一个中间模型,我把yolo-voc_20.weights,yolo-voc_30.weights,yolo-voc_40.weights分别test,yolo-voc_20.weights,yolo-voc_30.weights两个模型测原创 2017-06-27 10:02:14 · 3227 阅读 · 7 评论 -
关于Faster RCNN几点总结
从two stages的RCNN系列再到one stage的SSD和YOLO,基于深度学习的目标检测算法在这波深度学习浪潮中迎来春天。我相信在后面的5年10年,无论是速度和精度,目标检测会有更大的发展,秋天收获的将是成熟丰硕的果实。 本篇总结Faster RCNN中一些较难理解的point,相信大部分人在学习过程中耗费了较大时间精力,且网上有很多信息并无详细说明。本篇需要有RCNN原创 2017-11-14 15:18:34 · 2415 阅读 · 0 评论 -
使用预训练模型对图像进行分类
这里介绍的是直接用训练好的分类任务的预训练模型来测试。当然caffe提供了几种方法进行测试。这里介绍两种:1、直接调用工具2、基于python接口。第一种:使用编译好的calssification工具测试,可以用以下命令:# sudo ./build/examples/cpp_classification/classification.bin \ models/bvl原创 2017-12-22 16:13:21 · 3962 阅读 · 1 评论 -
图像处理方向常用网站
做机器视觉和图像处理方面的研究工作,最重要的两个问题:其一是要把握住国际上最前沿的内容;其二是所作工作要具备很高的实用背景。解决第一个问题的办法就是找出这个方向公认最高成就的几个超级专家(看看他们都在作什么)和最权威的出版物(阅读上面最新的文献),解决第二个问题的办法是你最好能够找到一个实际应用的项目,边做边写文章。 做好这几点的途径之一就是利用网络资源,利用权威网站和专家们的个人主页。依转载 2016-09-20 15:54:15 · 6469 阅读 · 0 评论 -
Haar+adaboost物体检测算法知识点归纳总结
基于此方法研究车牌识别系统相关应用,以下主要总结其中的关键点和难点,需要对haar特征和adaboost原理有一定了解,供刚开始学习和使用此法的童鞋参考,肯定不够全面,亦或存在不够准确的地方,诸位可指出,交流补充。 一、训练 1、训练模型是很重要的一环,训练haar+adaboost模型其实就是挑选特征,再组合特征的过程。...原创 2017-04-14 13:26:46 · 6212 阅读 · 3 评论 -
YOLO2 window7+cpu版本
研究RCNN系列算法,到现在的YOLO和SSD,因为平台原因(穷),都尝试在Window+cpu环境下测试已有模型效果。网上有很多教程,这里记录下yolo2的配置过程。平台:window+cpuyolo2代码:https://github.com/AlexeyAB/darknet一、下载链接里的yolo2工程,打开darknet-master\build\darknet下的darkne...原创 2017-06-14 15:41:17 · 10154 阅读 · 71 评论 -
ubuntu16.04登录后黑屏再次回到登录页面
从linux切换到Windows,再切换回linux时能够到达登录页面,但是发现输入正确的登录密码后,黑屏了3s左右又回到登录页面。其中在启动进入登录页面会出现/dev/sda1: clean, ***/*** files, ***/*** blocks的字样,网上查了也是很多的类似问题,试了很方法,没有用,后面把NVIDIA的驱动卸载掉才能登录。卸载代码:$ sudo apt-get -原创 2017-08-11 09:15:14 · 5122 阅读 · 2 评论 -
SSD算法训练
没接触过linux,直接在linux下配置环境+训练ssd,用了快一周时间,各种坑,各种吐血,因各人平台配置差异,以下仅供参考。 平台:Ubuntu16.04+GTX1060 6G(GPU型号)+处理器64位 CUDA:CUDA8.0,直接上Nvidia官方网站下载,选择cuda_8.0.61_375.26_linux.run cuDNN:cuD原创 2017-07-18 16:23:15 · 4316 阅读 · 2 评论 -
caffe基础知识介绍
转载自http://blog.youkuaiyun.com/fengbingchun/article/details/49535873 Caffe的全称应该是Convolutional Architecture for Fast Feature Embedding,它是一个清晰、高效的深度学习框架,它是开源的,核心语言是C++,它支持命令行、Python和Matlab接口,它既可以转载 2017-10-23 09:24:33 · 629 阅读 · 0 评论 -
图像卷积在代码中的实际操作
在代码中卷积的实际计算方法是把被卷积图像和卷积核写成两个大矩阵,其中每一行就是被卷积图像中卷积核区域的像素拉成一行,几个通道都放在同一行,行数就是卷积核在上面滑动的次数。两个矩阵相乘即为输出结果,结果矩阵中的每一列就是feature map的一个通道。图1 还有一种方式是左边的矩阵是由卷积核转化来的,右边则是被卷积图像,这样的方式比上面的会复杂点。比如输入图像和原创 2017-11-16 10:43:28 · 2677 阅读 · 0 评论 -
多分类问题中的mAP计算
图表参考http://blog.sina.com.cn/s/blog_9db078090102whzw.html 比如有10类,20个样本,判断为其中一类car的置信度如下表所示,降序排列。 从表中gt_label可以看出正例是6个,其他是负例。PASCAL VOC CHALLENGE 2010年后计算AP的方法是...原创 2017-11-28 08:58:56 · 9175 阅读 · 7 评论 -
全连接层的作用
转自知乎作者:魏秀参链接:https://www.zhihu.com/question/41037974/answer/150522307全连接层到底什么用?我来谈三点。全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“转载 2017-12-12 20:19:55 · 10138 阅读 · 0 评论 -
caffe+SSD封装
这几天新建自己的工程来封装caffe框架下的ssd算法。遇到一些问题归纳如下:1、利用NuGet程序包,进行依赖性的自动设置,自己的工程再加上libcaffe.lib即可。2、把原来工程下的include和src文件夹都拷到工程下。3、编译时碰到GPU没有定义,可能是在工程的c/c++选项的预处理定义中定义了宏GPU,导致了冲突,去掉后编译成功。4、原创 2017-08-09 15:47:12 · 1695 阅读 · 1 评论 -
Faster R-CNN中的anchors和YOLO中的grid的理解
YOLO源码详解(五)- YOLO中的7*7个grid和RPN中的9个anchors2016-12-08 17:58 1742人阅读 评论(10) 收藏 举报 分类:YOLO源码详解(7) 版权声明:转载请注明出处!目录(?)[+]本系列作者:木凌 时间:2016年12月。 文章连接:h转载 2017-05-24 09:57:00 · 2967 阅读 · 0 评论 -
为什么全连接层输入需要固定尺度
SPPnet的提出就是为了解决全连接层的输入需要固定维度的问题。为什么全连接层的输入需要固定维度? 全连接层的计算其实相当于输入的特征图数据矩阵和全连接层权值矩阵进行内积,在配置一个网络时,全连接层的参数维度是固定的,所以两个矩阵要能够进行内积,则输入的特征图的数据矩阵维数也需要固定。原创 2017-11-28 10:38:35 · 6859 阅读 · 2 评论 -
关于稀疏自编码-------“搞基”总结
上个月研究了一下稀疏自编码相关知识,主要是做一个小小培训用。查阅了很多资料,看的大多数是原理性的,本人还没涉及到代码层面。文章大致分为两类:1、在代价函数后加一个KL距离(相对熵)项,实现稀疏性。2、在代价函数后加一个L1范数,实现稀疏性。方法1理解较简单,吴恩达及其他作者衍生出的一些文章有较详细描述,最后是在稀疏自编码网络中利用BP学习算法,得到一组基及网络参数。方法2需要求解一原创 2016-08-30 11:15:02 · 1879 阅读 · 0 评论