android - 使用 android 设备进行无标记检测的最适合检测图像的方法是什么?

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

我正在尝试创建一个 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);

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

最佳答案

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

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

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

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

关于android - 使用 android 设备进行无标记检测的最适合检测图像的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18283207/

相关文章:

ios - OpenCV 断言失败 CV_IS_MASK_ARR(mask)

opencv - 使用 openCV 检测颜色均匀的 Blob

python - 计算图像中的彩色点

java - 测试套件构造失败 -(android.test.suitebuilder.TestSuiteBuilder$FailedToCreateTests)。如何解决?

java - Firebase signInWithEmailAndPassword 总是跳到其他

android获取填充了不同高度的 ListView 的滚动位置

c++ - Opencv C++ g++ MakeFile 以加快编译速度

java - 绘制不同用户类型的用例图的正确方法

c++ - 对图像应用透视 - 单应性

python - 将 256x256(不是 299x299)的图像大小输入 Inception v3 模型(PyTorch)并且有效吗?