Android中最快的移动对象识别和跟踪

我正在制作一个增强现实游戏,它需要识别和跟踪一个快速移动的对象。 我已经尝试了以下image processing库,

1. Opencv

2. BoofCv

3. FastCv

我曾经尝试过使用顶级域名(TLD)algorithm来跟踪对象,跟踪是成功的,但是性能确实需要改进。 如果对象移动得更快,则由于algorithm花费的处理时间,结果会花费时间。 我也尝试循环,像boofcvalgorithm的意思转移。

检查这些演示:

OpenTLD使用FastCv

Boofcv示范

在这两个演示中的对象跟踪似乎是好的,但计算需要时间。

我可以用下面的scheme去做这个更快,

  1. 提取待跟踪物体的r,g,bmatrix

  2. 取相机帧并将其转换为ar,g,bmatrix,并在相机框中search跟踪的目标matrix。

有没有更好的方法来做到这一点?

Solutions Collecting From Web of "Android中最快的移动对象识别和跟踪"

我build议使用灰度而不是RGB,就像通常在image processing中那样,你的计算减less到1matrix而不是3。

如果你需要检查颜色,只需在需要时使用rgb,而不是通过整个计算。

跟踪快速移动的对象总是很困难。 尝试使用相机,可以采取更多的帧每秒,虽然你需要处理更多的图像,我想你是在移动设备上

另外你可以做的是减less正在处理的图像大小到一个较小的窗口基于前一个对象的位置,你可以估计下一个位置,并限制它到一定的vecinity,只处理图像的位。 简言之,只在图像的某一部分进行光stream(使用灰度)。

我认为SIFTSURFalgorithm最适合这个目的。 SIFT或SURF可以像其他任何特征检测器和提取器一样使用:

FeatureDetector detector = FeatureDetector.create(FeatureDetector.ORB); // May be SIFT, SURF, etc detector.detect(mat, keypoints); DescriptorExtractor extractor = DescriptorExtractor.create(DescriptorExtractor.ORB); // May be SIFT, SURF, etc extractor.compute(mat, keypoints, features); 

使用openCv了解更多信息。 当然你的方式可能会find解决办法。 继续尝试。