我可以使用 ANN 将一个传感器的图像输出转换为另一个传感器的输出吗?

数据挖掘 机器学习 神经风格迁移
2022-02-25 23:59:09

比如说,如果我有来自一台高分辨率数码相机的图像数据,并且想让它看起来像是从另一台低分辨率数码相机拍摄的?训练重叠图像的输入/输出对会是一个好方法吗?这种技术叫什么?

例如,假设我希望能够在低分辨率图像中计算公园中的长椅。我可以浏览这些示例图像并创建一个合适的高分辨率和低分辨率对数据集来训练网络以了解低分辨率工作台的外观吗?如果我的训练集非常多样化(如果是整个城市公园的图像芯片与喷泉、树木和雕像等单个物体),我是否能够分辨出低分辨率的长凳?

低分辨率卫星图像

更高分辨率的航空影像

我喜欢这个例子,因为图像来自不同的传感器以及不同的分辨率。我的一些研究使我获得了超分辨率,这与我正在尝试做的事情相反。

至于数据量,获得重叠的高分辨率和低分辨率图像将是一项艰巨的任务,但技术上并不困难。

2个回答

这是很有可能的。有一个功能可以将图像从高分辨率图片映射到低维图片;并且可以训练神经网络来学习该功能。

但是,要训练神经网络来执行此操作,您将需要来自两个摄像头的数千张图像。然后,您可以将使用高分辨率相机拍摄的照片作为网络的输入,然后使用相应的较低分辨率图像计算输出端的网络损失。

如果您没有太多图像,则可以拍摄图像并应用某种过滤器来改变它们的外观。这些技术通常被称为风格转移,你可以在这里找到一些教程和我尝试过的代码,并且可以在这里确认工作。使用旧相机可能很难获得具有代表性的图像作为风格图像。您可以尝试平均几张图片,或者一张白色背景的图片,您必须尝试一下,我不知道在这种情况下会起作用。

如果您分享您的数据示例,我们可以为您提供更多帮助。

您注意到有超分辨率,这是一种对图像的“信息添加”。相反的情况很可能,但不是很有用,因为降低分辨率可以通过许多非机器学习技术来实现。

你可以试试:

  • 获取高分辨率图像和相机规格,以使用基本图像处理将图像转换为与另一台相机相似的结果。
    • 相机分辨率:通过适当的图像调整大小很容易做到,尝试不同的插值算法。
    • 传感器规格:传感器对光有多敏感?颜色/强度的位深度是多少?这些都是要考虑的事情。
    • 传感器放大器和其他闪电条件:基本上,ISO,白平衡等。
  • 尝试更改这些条件以获得所需的结果

笔记:

  • 如果传感器构造存在差异(例如一个是 CMOS,另一个是 CCD),则使用您想要创建的“欠分辨率”可能会很有用,因为对光饱和度等的响应存在很大差异。

  • 训练时,检查图像对齐,因为这会产生最小二乘图像相似度的荒谬差异(您应该尝试使用 SIMD)