我正在使用OpenCV编写一个程序,旨在检测场景中的对象,即超市中的商品。
我计划使用SURF描述符来实现这个目的,然而到目前为止我找到的所有资料都是关于如何在场景中找到1个对象实例(通常使用最近邻匹配),而没有任何关于如何检测场景中有多个相同对象实例的资料(显然NN无法奏效,因为每个点的最佳匹配可能在不同的实例中)。
我还需要使用分类器,例如人工神经网络,它可以更好地帮助查找对象的多个实例,但我不知道如何使用关键点(keypoints)来进行ANN(或任何其他分类器)的训练。
我应该将每个SURF点的64个值作为ANN的输入,然后将5个产品的每个实例作为输出吗?这意味着同一对象内的所有点(不相似的点)将产生相同的输出。
我读过说这是正确的方法,但我不明白它为什么能够奏效,因为同一对象中的所有关键点可能(并且应该)具有不同的特征。但我想不出其他方法来实现。
如果有什么不清楚的地方,很抱歉我没有解释清楚,我会尽力澄清。
我计划使用SURF描述符来实现这个目的,然而到目前为止我找到的所有资料都是关于如何在场景中找到1个对象实例(通常使用最近邻匹配),而没有任何关于如何检测场景中有多个相同对象实例的资料(显然NN无法奏效,因为每个点的最佳匹配可能在不同的实例中)。
我还需要使用分类器,例如人工神经网络,它可以更好地帮助查找对象的多个实例,但我不知道如何使用关键点(keypoints)来进行ANN(或任何其他分类器)的训练。
我应该将每个SURF点的64个值作为ANN的输入,然后将5个产品的每个实例作为输出吗?这意味着同一对象内的所有点(不相似的点)将产生相同的输出。
我读过说这是正确的方法,但我不明白它为什么能够奏效,因为同一对象中的所有关键点可能(并且应该)具有不同的特征。但我想不出其他方法来实现。
如果有什么不清楚的地方,很抱歉我没有解释清楚,我会尽力澄清。