使用Android设备检测图像以进行无标记检测的最佳方法是什么?

时间:2013-08-16 22:45:49

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

我正在尝试使用openCV创建一个用于从摄像头检测对象的android应用程序,我读取了openCV参考,发现有很多图像检测方法,

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

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

3)是的,如果你在框架上应用多个探测器。

您可以使用latentsvm对象检测进行零件实现检测,但培训新模型有点棘手。

除此之外,你可以使用Viola&琼斯或许多物体检测方案之一(例如,HOG + SVM或BOW + SVM)。