我正在阅读论文: 法拉利等人.在"亲和力措施"部分.我明白法拉利等人.试图获得亲和力:
但是,我有两个主要问题:
对上述问题的任何建议或解决方案?谢谢你,非常感谢你的帮助.
我正在使用SIFT功能在opencv中实现Bag Of Words,以便对特定数据集进行分类.到目前为止,我一直是苹果集群描述符并生成词汇.据我所知,我必须训练SVM ...但我有一些问题,我真的很困惑他们.主要问题是实现背后的概念,这些是我的问题:
1-当我提取特征然后创建词汇表时,我是否应该提取所有对象的特征(比如5个对象)并将它们放在一个文件中,所以我将它们全部放在一个包含所有对象的单个词汇表文件中话?以及在我进行分类时如何将它们分开?
2-如何实现SVM?我知道openCV中使用的函数但是如何?
3-我可以在MATLAB中完成工作,我的意思是SVM培训的实施,但有没有可用的代码可以指导我完成我的工作?我已经看到安德烈Vedaldi使用的代码,在这里,但他每次用一个类和另一个问题,他没有展示如何创建,他是用他的练习.MAT文件只工作.我能找到的所有其他实现,他们都没有使用SVM.所以,你能指导这一点吗!
谢谢
matlab opencv image-processing object-recognition matlab-cvst
问题
我有一张从摆动车上拍下来的照片.为简单起见,我将其转换为黑白图像.一个例子如下所示:

图像显示高强度返回并且在其中具有图案,发现所有有效图像都以红色圈出.该图像可以根据车辆的旋转从多个角度拍摄.另一个例子是:

这里的目的是尝试识别存在该模式的图像单元.
当前的方法
到目前为止,我已经尝试了几种方法,我使用Matlab进行测试,但最终将在c ++中实现.期望算法是时间有效的,但是,我对任何建议感兴趣.
SURF(加速鲁棒特征)特征识别
我尝试了SURF的默认matlab实现来尝试查找功能.Matlab SURF能够识别2个示例中的特征(与上面不同)但是,它无法识别常见的:

我知道点数不同但模式仍然有些可识别.我尝试了多套图片,几乎没有共同点.从阅读关于SURF看来,无论如何它对于倾斜的图像似乎都不健壮. 也许这里有一些关于预处理的建议?
模板匹配
因此尝试了模板匹配,但对于应用程序来说绝对不是理想的,因为它不适合缩放或偏斜变化.我愿意预先处理想法来解决这个问题.这可能非常简单,关于图片的额外信息的一些讨论将进一步提供.
现在让我们调查模板匹配:假设我们有以下两个图像作为模板和当前图像:

模板选自最前向的图像之一.在非常相似的图像上使用它我们可以匹配位置:

但是(然而有些明显)如果我们将图片改变为不同的角度,它将无法工作.当然我们期望这样,因为模板不再像图像中的模式:

所以我们显然也需要一些预处理工作.
Hough Lines和RANSAC
霍夫线和RANSAC可能能够为我们识别线,但是我们如何获得模式位置?
其他我还不知道的
我对图像处理场景很陌生,所以我很想听听任何其他技术,以适应这个简单但困难的图像记录问题.
传感器及其如何帮助预处理
传感器是一个3D激光器,它已经变成了这个实验的图像,但仍然保留了它的距离信息.如果我们使用从0到255的距离缩放绘制,我们得到以下图像:

更轻的地方.这绝对可以帮助我们调整图像,一些关于最佳方式的想法?.到目前为止,我已经想过计算非0的单元格的正常情况,我们也可以做一些梯度下降或最小二乘拟合,使得距离的差异为0,这可以使图像对齐以便它永远是直的.问题是白色条纹是否更远?也许我们可以将其细分?我们在算法上构建算法,所以我们需要小心,这样就不会成为怪物.
任何帮助或想法都会很棒,我很乐意调查任何严肃的答案!
如果已知起点和终点坐标,在MATLAB中在黑白(二进制)图像上绘制线条的最佳方法是什么?
请注意,我不是要添加注释行.我希望这条线成为图像的一部分.
我正在使用Matlab进行相机校准,使用Jean-Yves Bouget的相机校准工具箱.我有校准程序中的所有相机参数.当我使用不在校准集中的新图像时,我可以获得其变换方程,例如Xc = R*X + T,其中X是世界框架中校准装备(平面)的3D点,Xc是其坐标相机架.换句话说,我拥有一切(外在和内在参数).
我想要做的是对此图像执行透视校正,即我希望它删除任何透视图并看到校准装置未失真(它是一个棋盘).
Matlab的新计算机视觉工具箱有一个对象,在给定3X3矩阵H的情况下对图像执行透视变换.问题是,我不能从已知的内在和外在参数计算这个矩阵!
使用detectMSERFeatures从Matlab中的图像中找到最大稳定的极值区域(MSER).
是否有任何补丁或方法可以从Matlab 获取分层MSER组件树?
当Matlab计算区域时,无论如何都会生成此树 - 它只返回每个区域树中最"稳定"的组件.由于这个树已经存在,我正在寻找从Matlab库中向用户代码公开的方法,这样可以隐藏这个部分,并且只提供最终的"最大稳定"区域.
任何事情都是可以接受的 - 修改Matlab内置代码,补丁,黑客等等.(我意识到OpenCV有这样的补丁,但是我试图避免移植到OpenCV,因为大多数其他程序都是用Matlab编写的).
编辑:(从原来的分层MSER论文)

Detected MSERs(左), MSER Tree(右)
我CascadeObjectDetector在MATLAB中有一个问题.在CascadeObjectDetectorMATLAB的源代码中,我看到:
pCascadeClassifier; % OpenCV pCascadeClassifier
Run Code Online (Sandbox Code Playgroud)
然后我看到:
%------------------------------------------------------------------
% Constructor
%------------------------------------------------------------------
function obj = CascadeObjectDetector(varargin)
obj.pCascadeClassifier = vision.internal.CascadeClassifier;
...
end
Run Code Online (Sandbox Code Playgroud)
并在stepImpl:
bbox = double(obj.pCascadeClassifier.detectMultiScale(I, ...
double(obj.ScaleFactor), ...
uint32(obj.MergeThreshold), ...
uint32(obj.MinSize), ...
uint32(obj.MaxSize)));
Run Code Online (Sandbox Code Playgroud)
你知道vision.internal.CascadeClassifier吗,是什么?它只是OpenCV CascadeClassifier吗?detectMultiScale功能的源代码在哪里?
我正在尝试使用MATLAB实现自动面部检测.我知道如何使用OpenCV实现它,但我想在MATLAB中实现它.
我看到两个网站:
1)http://www.mathworks.com/matlabcentral/fileexchange/11073.首先,这个网站很好,它适用于神经网络.它适用于与它一起提供的图像.但是,当我使用我的图像训练神经网络时,准确性非常差.
2)第二个是http://www.mathworks.com/matlabcentral/fileexchange/13716-face-eye-detection.当我用自己的图像测试时,准确性很差.
寻找更好的解决方案以及我应该做什么的建议.谢谢.
这在OpenCV中很容易做到,但是我想要一个相当高效并且可以轻松更改的本机Matlab实现.该方法应该能够采用上述链接中指定的摄像机参数.