我对选择哪种方法感到困惑,以下是问题。我需要实现一个失物招领模块,用于识别乘客在使用出租车时是否在后座遗留了物品。因此,摄像头将被放置在后座上方,当乘客离开出租车时,AI模块将被触发,检查乘客是否在座位上遗忘了物品,并提醒司机。现在的问题是 – 为了确定是否有物品遗留,我可以使用对象检测,但并非所有物品都经过训练,例如在许多情况下,他们可能只是留下了一些东西在盖子里面,因此很难量化。然后我想,如果我能在他们坐下之前获取一张图像,然后在他们离开后再拍摄一张图像,并通过图像差异来寻找轮廓。但这样做可能会遇到不同的光照条件,这可能会错误地识别出显著的差异。[已编辑]另外,关于使用图像分类而不是检测如何,因为我实际上并不关心物品的位置,而只是想知道是否有物品存在
那么,请问有人能推荐我一个好的方法吗?谢谢
回答:
我认为你的思路是对的。你可以选择对象检测或图像分类两种方式中的任何一种。
首先,我认为你应该尝试图像分类。如果主要目标只是知道是否有物品存在,这是一个二元分类问题,你将需要较少的标记过程。你只需要解决背景图像(无物品)过多而带有物品的图像过少的问题,但这是可行的。从一个预训练的网络如ResNet-50开始,看看效果如何,你应该会得到相当不错的结果。
对于对象检测,我看到的问题是可能遗留在座位上的物品种类和可能的变化,是的,有一些常见的物品,你可以对它们进行训练,但如果有一个完全不同的物品是你没有训练过的,网络甚至不会检测到它。物品的变化在这里也很重要,根据我的经验,对象检测需要大量的数据来展示物品的各种位置和样式。这是可能的,但困难的。为了测试这一点,在COCO上预训练的模型应该能给你一个总体的视角。