将照片正面朝上?

人工智能 图像处理
2021-10-19 12:19:59

我正在寻找现有的 AI 应用程序或预训练的 NN,它会告诉我照片是否正面朝上。我想用它来创建一个自动旋转照片的应用程序,使它们正面朝上。这似乎并不难。

如果它不存在,大概我可以用 Tensorflow 创建它,然后使用大量照片来训练它,并假设它们在训练集中都正确定向。那行得通吗?

1个回答

我不知道是否有一个现有的预训练 NN 可以做到这一点,但修改一个来做到这一点并不难。

首先,我会采用一个预训练的图像分类 NN(例如 VGG、ResNet),删除它的最后一层并用一个有 4 个神经元的层替换它,代表 4 个方向(这样你就知道旋转它的方式)。

然后我会再次获取一个常规图像数据集(例如 ImageNet 的一个子集)并假设它们的方向正确。我会再制作三个具有相同图像的重复数据集,分别旋转 90、180 和 270 度。这 4 个数据集将是我微调模型的 4 个类。

通过在这个数据集上训练你的模型,你将训练它来识别你的图像面向哪一侧。由于它是一个预训练的网络并且它是一项相当简单的任务,我认为经过几次迭代,你的模型就会收敛。然后你可以编写一个脚本,使用这个模型来预测图像的方向并相应地旋转它。