使用具有不同大小训练图像的LDA和ORB进行对象识别
Object recognition using LDA and ORB with different sized training image.
我正在尝试构建一个轻量级的对象识别系统,使用ORB进行特征提取,LDA进行分类。但是我遇到了一个问题,即提取的特征大小不同。
这些是我的步骤:
- 使用 ORB 提取关键点。
- 通过对关键点进行分组来提取图像中的可训练特征。(提取内容的示例:https://i.stack.imgur.com/AoyGg.jpg)
- 使用提取的特征训练识别器。(这就是问题出现的地方)
- 对图像中的对象进行分类。
如果我尝试使用 cv::gemm 创建一个通用矩阵,由于大小不同,我得到了一个异常。我的第一个想法是通过调整大小来规范化所有图像,但是当对象具有类似的小特征时,这会导致很多准确性问题。
有什么解决方案吗?LDA是否是一种合适的方法?我知道它通常用于面部识别算法,如渔人脸。
LDA需要固定长度的功能,大多数优化和机器学习方法也是如此。 您可以将图像补丁的大小调整为固定大小,但这可能不会是一个好功能。 通常人们使用刻度不变功能,例如 SIFT。 您还可以尝试使用彩色直方图,或边缘检测和空间直方图合并的某些变体,例如 GIST 矢量。
在不知道您希望完成什么的情况下,很难说LDA是否是一种合适的方法。 您还可以考虑使用 SVM、某种形式的提升,或者只是具有大型训练集的普通最近邻。
相关文章:
- 如何在 ORB 检测 OpenCV ++ 中获取校正角度?
- OpenCV 错误的解决方案:不支持的格式或格式组合 - 当将 ORB 功能与 FlannBasedMatcher 匹配
- 是否可以在单目ORB-SLAM2中获得距离缩放
- 使用 ORB 在 OpenCV 中生成密集的析变图
- 在遵循 OpenCV 3.4.0 AKAZE 和 ORB 平面跟踪教程时找不到 Points() 函数
- 使用OpenCV Cuda ORB特征检测器
- 错误:OpenCV 3.4.0 CUDA ORB 功能检测
- LDA in Opencv python
- ORB功能与C 中的绒布匹配
- OpenCV: Orb parameters
- 是否可以在同一过程中具有多个ORB对象
- ORB/BruteForce绘图在没有匹配时匹配
- OpenCV的ORB图像跟踪与C ++:示例?
- 在计算了一帧的SIFT或ORB之后,如何实时跟踪视频中的对象
- 使用具有不同大小训练图像的LDA和ORB进行对象识别
- 利星行和ORB opencv
- 为什么我在尝试编译我的第一个 CORBA 服务器(使用 ACE/TAO ORB 实现)时遇到链接器错误
- 一旦引入旋转/比例不变量,OpenCV Orb就无法找到匹配项
- 与Orb匹配的模板:batchDistance方法出错
- 如何修复"At least two classes are needed to perform a LDA"?