最近,Nick Bourdakos 发布了一系列视频,演示了使用Tensorflow.js在视频流中检测瓶子。具体来说,他正在使用 SSD-mobilenet。
问题可以概括如下:
- 三个不同的饮料瓶一起或单独出现在视频流中。让我们假设原始视频中的可口可乐、激浪和百事可乐
- 每个瓶子都必须分类并标有其名称
- 应在每个瓶子周围放置一个矩形边界框
我很想知道是否有任何成熟的技术可以在没有机器学习的情况下达到类似的结果?
到目前为止,我已经尝试过:
- 基于颜色阈值的识别。这工作得非常好,但不是很健壮。例如,Mountain Dew 标签内的红色字母可能会被错误地检测为“可乐”。此外,边界框只能围绕彩色区域而不是整个瓶子绘制
- 基于模板的匹配。这根本不起作用。我认为这适用于需要完全匹配的静态图像。
- KCF 跟踪。这似乎运作良好,但我必须手动定义一个感兴趣的区域来首先跟踪。即对象被跟踪但未分类
- 我还尝试使用边缘检测根据边缘对象的纵横比对“瓶子”或“非瓶子”进行分类,但是由于瓶子是“手持”的,因此将瓶子边缘与用户的手分开是有问题的
是否有一些我缺少的计算机视觉技术或步骤可以更接近于解决问题?