Piotr Dollar在行人检测方面有着深入的研究,尤其是在深度学习兴起以前,其对Adaboost的研究优化和改进令人瞩目,其目标检测工具箱Piotr Dollar’s Toolbox被广泛使用。在使用该工具箱的过程中,我们通常需要手动勾选正样本,不得不承认,在监督学习的过程中,标注样本是重要,且费时费力的重复体力劳动,提高标注的效率至关重要。
博主在这篇博客中,释出一份配合该工具箱使用的GUI程序,帮助勾选样本,进行标注。一、代码
话不多说,先push代码
P-Chao / acfdetect
adaboost acf feature detect toolbox, fork from Piotr's Image & Video Matlab Toolbox(https://github.com/pdollar/toolbox)
二、使用步骤
- 将toolbox(及其子文件夹)加入matlab环境目录(SetPath按钮)
- 进入工具文件夹,新建database/negative database/positive datebase/posGt /models 四个文件夹
- 使用m将样本图像转化为3通道jpg格式,注意原图像通道数并在代码修改r
- 将正样本放置在positive文件夹中,负样本放置在negative文件夹中
- 启动CropPosSample进行标注
- 在models文件夹清空的情况下运行acfCarTest进行训练,在models文件夹下有文件时运行的是检测步骤
- 运行saveAcfDector将分类器保存成二进制文件,方便C++程序调用
三、界面
使用空格键快速切换下一个,点击Add按钮,可以添加更多标注物体框。点击Delete按钮,就可以永久删除该图片。
标注好后,txt文件就放在PosGT中,然后就可以按照以上说明中的步骤运行训练了。
四、C++检测程序
这部分内容是我的另一个开源项目的子项目,点开项目,里面有AcfDetect目录,其中就是AcfDectect的C++检测版本,先Post源码,以后再介绍:
P-Chao / RVAF
Robot Vision Algorithm Framework
你好我用这个工具箱想训练一个分类器出来但在matlab开启并行池训练之后就报错退出显示imResample使用错误申请的内存超过最大预设数组 一直找不到原因是哪出错了可以指教下吗拜托
可能需要重新编译一下工具箱
你好我按照官网的方式重新编译了一下工具箱 还是同样的错误 其实我是在您的博客找到的acf代码c++部分想做毕设车辆检测的应用可是缺少detector.dat的训练文件我就想自己训练一个但遇到了这个问题没办法继续进行 才来请求解惑
要不换台电脑试一下,imResample这个函数本身应该是没有错误的,我认为和平台,还有调用有关系
如果要分析错误的话,建议打断点,找到错误位置的入口,看看传入参数是否异常
谢谢您的耐心回复 我再用另一台电脑试一下 对了在编译工具箱的工程中提示gradientMex.cpp这个文件编译失败但文件都是工具箱里自带的没有更改过 不知道是不是这个产生的影响 还有我想请问您那是否有已经训练好的cardetector.dat文件因为c版本运行时这个文件是不存在的如果有方便的话能否发一份给我 日后好做参考谢谢
你好,你那个imResample使用错误的问题解决了吗?是怎么解决的?