使用OpenCV进行对象识别

时间:2018-07-18 06:39:16

标签: python opencv image-processing computer-vision

目前,我正在研究使用图像处理技术识别特定物体的可行方法。但是我正在努力寻找他们。例如,我有一个能够检测某些物体(例如人)的CNN,那么我也可以跟踪该人。但是,我的问题是我希望识别被检测和跟踪的人,就像保存其凭据并提供ID。我不想要他/她是谁。只是以这种方式给出一个ID。

任何帮助/资源将不胜感激。

2 个答案:

答案 0 :(得分:2)

创建一个数据库,通过提供一些唯一的ID,存储以后需要使用的凭据,例如对象类型和一些可用的规范。 CNN已经识别出该对象,因此只需将其存储在数据库中,以后就可以对生成的数据执行更多处理。一个简单的解决方案就是解决您正在解释的问题。

好吧,我遇到了您的问题,您想确定正在跟踪的对象是什么类型的对象,因为cnn仅在跟踪而不标识。为此,您必须对CNN进行一些特定功能的训练,并为其赋予一些标识,例如objectA具有[x,y,z]功能。然后,CNN将帮助您找到对象的身份。

您也可以使用openCv执行此操作,存储某些特定对象的某些特征,然后使用某种距离匹配技术将实时特征与存储的特征进行匹配。

谢谢。

答案 1 :(得分:0)

我认为您正在寻找名为ReID的东西。 CVPR2018中有很多关于它的论文。

您可以想象每个人都需要某种存储的特征向量。对于每个检测到的人,如果它不匹配任何先前的记录,则给出一个新的ID;如果它不匹配,则返回该ID。关键是如何计算该特征向量。 CNN要素(中间层)可以是一个。被检测到的人类斑块的颜色的高斯混合可能是另一种。

这仍然是一个非常活跃的研究领域,如果您手头上没有足够的资源/时间,我认为很难做出准确的研究。