【问题标题】:What is the best suited method for detecting images using android device for markerless detection?什么是最适合使用 android 设备检测图像进行无标记检测的方法?
【发布时间】:2013-08-16 22:45:49
【问题描述】:

我正在尝试创建一个 Android 应用程序,用于使用 openCV 从相机中检测物体,我阅读了 openCV 参考资料,发现有很多图像检测方法,

我的目的是创建一个应用程序

1) 应用程序可以在实时相机帧上检测数据库中的任何对象(可以检测到的对象集)。(处理/检测速度很重要)

2) 对象图像的数据库会不时更新。(数据库最好在外部服务器上)- 这是否意味着我不能使用级联分类器、HOG 或任何机器学习方法?

3) 相机帧有时可能有两个或多个对象,在这种情况下都可以检测到数据库中的对象?

我尝试使用 ORB 检测和描述以及蛮力匹配进行简单的特征检测,但几乎可以检测任何物体甚至墙壁 - 误报检测。(使用 SIFT 或 SURF 进行测试甚至会引发错误)

FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB);
DescriptorExtractor extractor = DescriptorExtractor.create(DescriptorExtractor.ORB);
DescriptorMatcher matcher = DescriptorMatcher.create(DescriptorMatcher.BRUTEFORCE);

我不需要任何单应性或透视,因为我不会投射任何东西,只是一种检测物体存在的可靠方法。

【问题讨论】:

    标签: android opencv computer-vision feature-detection object-detection


    【解决方案1】:

    2) 可以,但如果要将对象添加到数据库,则必须训练新的检测器。

    3)是的,如果您要在框架上应用多个检测器。

    您可以使用latentsvm对象检测来进行部件检测,但训练新模型有点棘手。

    除此之外,您可以使用 Viola & Jones 或多种对象检测方案之一(例如,HOG + SVM 或 BOW+SVM)。

    【讨论】:

    • 由于几乎任何人都可以更新数据库图像,因此无需对特定图像进行训练的任何默认方法?并且在 openCV 中可以使用 surf/sift 进行测试,即。非商业目的。
    • 如果你不想使用训练,那就意味着你只能使用knn分类,我不确定这是否可行。在 openCV 中,Surf 和 Sift 获得了专利。不知道专利细节是什么。
    猜你喜欢
    • 2019-01-26
    • 1970-01-01
    • 2011-06-16
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 2020-09-07
    相关资源
    最近更新 更多