使用机器学习识别信用卡形状

数据挖掘 机器学习 Python 美国有线电视新闻网 opencv
2021-09-26 11:46:18

我必须完成这项任务:从图像中识别信用卡。我在下面附上示例图片:

在此处输入图像描述

我必须从这张图片中识别和本地化信用卡。真正的挑战是卡片可以放置在任何背景上,并且卡片的颜色可以根据它所属的公司而改变。

为了解决这个任务,我尝试使用张量流对象检测 api。这个 api 的缺点是它无法识别不在其训练数据集中的卡片。

我的问题是我不关心卡片的颜色或卡片的信息。我只关心在图像中找到卡片的轮廓并将卡片的轮廓与图像的其余部分隔离开来。

有没有办法使用 ML/CNN 来做到这一点。我尝试了 OpenCV 方法来检测轮廓,但是当卡片背景中有大量文本或其他噪音时,即使这种方法也失败了。

1个回答

我只关心在图像中找到卡片的轮廓并将卡片的轮廓与图像的其余部分隔离开来。

这可以通过语义分割(又名密集预测)有效地解决 - 每个像素都必须用类标记的问题。

在您的情况下,您将有 2 个类别:信用卡和背景。而且您需要以这种方式拥有带注释的数据集:对于每张图像,每个像素都应该有一个类标签。如果您要手动注释它,我猜信用卡(因为它们的简单形状)可以很容易地注释。

是 Keras 中用于语义分割模型的一个很好的解决方案。它提供了许多不同的架构和主干,并且很容易将其应用于您的问题。

在网络上的其他框架中也有实现。