相关疑难解决方法(0)

检测器,提取器和匹配器的分类

我是opencv的新手,并尝试在两个图像之间实现图像匹配.为此,我试图理解特征描述符,描述符提取器和描述符匹配器之间的区别.我遇到了很多术语,试图在opencv文档网站上阅读它们,但我似乎无法理解这些概念.我理解这里的基本区别.特征检测与描述符提取的区别

但是在研究这个主题时我遇到了以下术语:

快速,GFTT,SIFT,SURF,MSER,STAR,ORB,BRISK,FREAK,Brief

我理解FAST,SIFT,SURF是如何工作的,但似乎无法弄清楚上面哪些只是探测器,哪些是提取器.

然后是匹配者.

FlannBased,BruteForce,knnMatch以及其他一些人.

经过一些阅读后,我认为某些匹配器只能与某些提取器一起使用,如此处所述.OpenCV ORB功能检测器如何工作? 给出的分类非常清楚,但它仅适用于少数提取器,我不理解float和uchar之间的区别.

所以基本上,有人可以请

  1. 如上所述,基于float和uchar,或其他类型的分类,对检测器,提取器和匹配器的类型进行分类?
  2. 解释float和uchar分类之间的区别或者使用哪种分类?
  3. 提到如何初始化(代码)各种类型的探测器,提取器和匹配器?

我知道它要求很多,但我将非常感激.谢谢.

c++ opencv image-processing computer-vision feature-detection

58
推荐指数
1
解决办法
2万
查看次数

是否有任何探测器在GPU上实现并且是缩放/旋转不变的?

正如OpenCV 2.4.9.0中所知,这些特征检测器:SIFT, SURF, BRISK, FREAK, STAR, FAST, ORB.

所有这些都对CPU执行,但只FASTORBGPU上.http://docs.opencv.org/genindex.html

众所周知,有些是缩放/旋转不变的,但有些则不是:对于尺度不变特征提取,是否存在SURF和SIFT的快速替代方案?

这些是规模不变和旋转不变的:

  • 冲浪
  • 轻快
  • 怪物

但这些不是规模不变的,也不是旋转不变的:

  • 快速
  • ORB

是否有任何探测器在GPU上实现并且是缩放/旋转不变的?

或者将在GPU或OpenCL上的OpenCV 3.0中添加?

opencv feature-extraction computer-vision feature-detection orb

8
推荐指数
1
解决办法
5459
查看次数

Python、OpenCV:使用 ORB 特征和 KNN 对性别进行分类

任务:将人脸图像分类为女性或男性。可以使用带标签的训练图像,从网络摄像头获取测试图像。

使用: Python 2.7,OpenCV 2.4.4

我正在使用 ORB 从灰度图像中提取特征,我希望将其用于训练 K-最近邻分类器。每个训练图像都是不同的人,因此每个图像的关键点和描述符的数量明显不同。我的问题是我无法理解 KNN 和 ORB 的 OpenCV 文档。我看过其他关于 ORB、KNN 和 FLANN 的 SO 问题,但它们并没有多大帮助。

ORB 给出的描述符的性质究竟是什么?它与通过BRIEF、SURF、SIFT等获得的描述符有何不同?

对于 KNN 中的每个训练样本,特征描述符似乎应该具有相同的大小。如何确保每个图像的描述符大小相同?更一般地说,特征应该以什么格式呈现给 KNN 以使用给定的数据和标签进行训练?数据应该是整数还是浮点数?可以是字符吗?

可以在此处找到训练数据。

我也在使用haarcascade_frontalface_alt.xml来自 opencv 的示例

现在 KNN 模型只提供了 10 张图像进行训练,以查看我的程序是否通过而没有错误,但没有。

这是我的代码:

import cv2
from numpy import float32 as np.float32

def chooseCascade():
    # TODO: Option for diferent cascades
    # HAAR Classifier for frontal face
    _cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
    return _cascade

def cropToObj(cascade,imageFile):
    # Load as 1-channel grayscale image
    image = …
Run Code Online (Sandbox Code Playgroud)

python opencv classification image-processing image-recognition

5
推荐指数
1
解决办法
7038
查看次数