解读 | 从谷歌AI判定阿波罗登月“造假“来谈谈合成图片检测技术



大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享

邀您加入我的知识星球「极智视界」,星球内有超多好玩的项目实战源码和资源下载,链接:https://t.zsxq.com/0aiNxERDq

整个事情可以爬楼看我的这篇 <有趣!谷歌AI认定阿波罗登月"造假">,这里从这个让大家热议的事件出发来谈谈其中涉及的合成图片检测技术。

看下面的图,格拉西门科所说的 "红色部分是他们的神经网络标出的判定为假的地方,也就是说这张照片上几乎所有物体都被判定是假的"。可以看出来使用的谷歌 AI 并不是 "简单的" "想当然的" 分类任务,而是有类似分割任务的表达 (深度学习中的分类任务指的是对一张图片判断后做出分类判断,比如用于判断一张图片是否合成,可以输出 的分类)。这种从技术上来说会更加精细,想象一下若是直接的二分类任务,会非常的笼统,不能很好表达具体哪里是合成的。而这里使用的技术在表达上会更加细腻:红色部分是合成的,蓝色部分是真的。这样可以很直观观察到图片的哪里伪造了,这个意思可以参考咱们平时的 P 图,我们在 P 图的时候可能会修修脸、抠抠图、推推肚子、拉伸拉伸腿,而往往不是整张图片一股脑的都去修。这个时候如果是用分类任务去做判断,这些具体修图的地方是体现不出来的,它只会告诉你,你是 P 过了还是没有 P 过,而反观用下面的方法,则能够很好地体现出来。具体到图片,可以看到美国登月的人体、影子都是合成的,这种指向性就非常明显了。

图像合成 (Image Composition) 是将一张图的前景剪切并嵌入到另一张背景图中,以生成一张新的合成图。在更泛的层面上,图像合成包括将来自不同图像的多个视觉元素融合到同一张图中。这个技术有着广泛的应用,例如人物换背景、虚拟社交、电影特效、广告图片等的制作生成。为了达到理想的效果,通常会将图像合成与图像生成 (Image Generation) 结合使用。图像生成负责从无到有地创造图像,而图像合成则负责将已有元素巧妙精准地组合在一起。尽管图像生成能够快速、有创造性地生成各种图像,但其可控性有限,生成具有随机性,无法保证生成完全符合预期的图像。因此,从这个角度来看图像合成更擅长于精细控制,通过拼接已有的视觉元素来合成真实而合理的图像。

图像合成和图像生成的代表就是 PS 和 AIGC,现在的 AIGC 十分之火热,下面展示了一些 AIGC 的 "生成创造性",

总有人觉得现在 AIGC 这么火热,对于 PS 这种艺术创造类型的工作就可能直接被取代了。我倒是有不同的观点,还是跟上面的分析一样,AIGC 具有随机性,它适合干的事情是一下让它生成一大堆图像,然后咱们从中挑选,这种模式往往不能够 "指哪打哪"。而 PS 则完全不同,它就能够 "指哪打哪",精确完成期望图像的生成。其实从这个角度来说,若阿波罗登月是假图,他一定是属于图像合成,而非图像生成。原因很简单,它的场景要求 "精准",而非追求 "艺术创造性"。这就跟 PS 很像了,比如下面的人物精修,就很需要这种 "精准性",而非 "创造性",

对于图像合成其实是有多种手段来实现的,从流程上来说主要分为拍摄阶段后期修图阶段。对于拍摄阶段来说,可以使用布景摆拍、光照控制、道具添加、遮挡重叠等来模拟真实环境 或者 先摄影一些待合成的子图用于后期合成制作;对于后期修图阶段,这个就很好理解了,用过 PS 的同学可能会更加清楚一些,比如可以用蒙版、透明度、景深还有其他一些图像处理工具的组合来达到图像合成的目的。

下面来看一些效果展示,做的好的图像合成是非常逼真的,

如果你不知道鲸鱼是在海里的,你能看出下面的图是合成的吗,

你看这修的,

比如更加先进的,比如加勒比海盗电影中的各种特效的合成,

回过头来再看阿波罗登月,阿波罗登月是在 1969 年,若登月的图片真的是伪造的,考虑到那个时候的 P 图软件 或者说 P 图算法没有现在这么先进,那么通过摄影技术来进行图像合成的概率会更大。什么意思呢,比如去模拟月球的环境来进行拍摄,这就像拍摄好莱坞电影那样。但事实真的是这样吗,还是回到下面这张图,注意 "标红为假、标蓝为真",可以很清楚的看到,像人、影子、仪器之类的被标红了,说明这些前景是合成的。这个意思很有可能是宇航员、影子、实验仪器等这些前景是在一个其他干净背景下拍摄,然后做蒙版抠图嵌入到 "月球表面" 背景之中。这样就能解释的通,哈哈 当然前提是这几张图为假。

那么谷歌 AI 是怎么做到来识别图像是否是合成的呢,由于其没有开源,所以也只能猜个大概,但总的来说,目前一些主流的图像合成检测算法也大差不差。使用 AI 识别图像是否是合成主要是利用一些特征提取和匹配的方法来判断图像中的像素是否与其他临近像素或者对等图像有明显的差异,因为在做图像合成的时候,即使你的技术再高超,也势必会引入一些噪声,而这些噪声往往是人眼感受不出来,因为它体现在像素级别。目前有一些常用的方法可以用来检测是否是合成图,如下,

  • 统计分析法:通过对比不同来源或者不同时间段的图像,来计算它们之间在颜色、纹理、形形状等方面的相似度或者差异度 ==> 如果一个图像与其他图像有较高的相似度或者较低的差异度,那么它就很可能是合成或者修改过的;
  • 特征提取法:通过对每个像素进行特征提取和匹配,来判断它们是否与其他像素或者其他图像有明显不匹配。特征提取可以基于颜色、纹理、形形状等方面,也可以基于语义、语义相似性等方面 ==> 如果一个图像中有很多不匹配或者异常的区域,那么它就很可能是合成或者修改过的;
  • 深度学习法:通过使用深度神经网络来学习不同来源或者不同时间段的图像之间在特征上的关系和差异,并且根据这些关系和差异来判断一个新生成或者修改过后的图像是否与其他源之间有明显不符合 ==> 深度学习法可以利用大量数据和强大算力来提高检测效果和准确率;

这里例举了三种方法,而对于谷歌 AI 的识别,你可不要觉得一定就只是深度学习算法。打个比方,比如我之前做过工业视觉检测,其实里面主要使用传统的数字图像处理算法,但是对外都宣称 "智能 AI 检测算法",这种 "宣传","智能 AI",是不是会给你一种深度学习算法的错觉。所以,我觉得谷歌 AI 识别图像是否合成的算法也很可能是数字图像处理算法和深度学习的结合应用。当然,当然,也不排除是用大模型来做的,毕竟大模型是 "万能的"。

当然,这一切前提都是 "阿波罗登月是造假的",时过境迁,现在顺着正向推理已经很难,而通过更加先进的技术来逆向判断是个非常有趣的方式。


【极智视界】

《解读 | 从谷歌AI判定阿波罗登月"造假"来谈谈合成图片检测技术》

畅享人工智能的科技魅力,让好玩的AI项目不难玩。邀请您加入我的知识星球,星球内我精心整备了大量好玩的AI项目,皆以工程源码形式开放使用,涵盖人脸、检测、分割、多模态、AIGC、自动驾驶、工业等。一定会对你学习有所帮助,也一定非常好玩,并持续更新更加有趣的项目。https://t.zsxq.com/0aiNxERDq

​​​​​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/226406.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据库】基于排序算法的去重,集合与包的并,差,交,连接操作实现原理,执行代价以及优化

基于两趟排序的其它操作 ​专栏内容&#xff1a; 手写数据库toadb 本专栏主要介绍如何从零开发&#xff0c;开发的步骤&#xff0c;以及开发过程中的涉及的原理&#xff0c;遇到的问题等&#xff0c;让大家能跟上并且可以一起开发&#xff0c;让每个需要的人成为参与者。 本专栏…

数据结构代码更新中...

代码上传至gitee中&#xff0c;点击此处查看。 下面是思路的阐述 动态数组的实现 dynamicArray.h #pragma once#include <iostream> #include <string> #include <stdlib.h> using namespace std;typedef struct dynamicArray {void** pAddr;int capacit…

强化学习中的Q学习

Q学习&#xff08;Q-Learning&#xff09;是强化学习中的一种基于值的学习方法&#xff0c;用于在有限马尔可夫决策过程&#xff08;MDP&#xff09;中学习最优的动作策略。Q学习主要用于离散状态和离散动作的问题。 以下是Q学习的基本概念和步骤&#xff1a; Q-Value&#xf…

Python分享之字符串格式化 (%操作符)

在许多编程语言中都包含有格式化字符串的功能&#xff0c;比如C和Fortran语言中的格式化输入输出。Python中内置有对字符串进行格式化的操作%。 模板 格式化字符串时&#xff0c;Python使用一个字符串作为模板。模板中有格式符&#xff0c;这些格式符为真实值预留位置&#xff…

Redis 事件轮询

1 Redis 为什么快 数据存在内存中, 直接操作内存中的数据单线程处理业务请求避免了多线的上下文切换, 锁竞争等弊端使用 IO 多路复用支撑更高的网络请求使用事件驱动模型, 通过事件通知模式, 减少不必要的等待… 这些都是 Redis 快的原因。 但是这些到了代码层面是如何实现的呢…

【C++ Primer Plus学习记录】do while循环

do while循环是出口条件循环。这意味着这种循环将首先执行循环体&#xff0c;然后再判定测试表达式&#xff0c;决定是否应继续执行循环。如果条件为false&#xff0c;则循环终止&#xff1b;否则&#xff0c;进入新一轮的执行和测试。这样的循环通常至少执行一次&#xff0c;因…

sed命令

目录 一、sed 1.sed命令选项 2.语法选项 3.sed脚本格式 4.搜索替代 5.分组后向引用 1.提取版本号&#xff1a; 2.提取IP地址 3.提取数字权限 6.变量 二、免交互 1.多行重定向 2.免交互脚本 总结&#xff1a;本章主要介绍了seq和免交互的用法及相关知识 一、sed s…

通过网易的API完成一个简易的音乐播放器

效果图 工程环境 1、使用node在本地部署网易云音乐API接口 下载解压 链接:https://pan.baidu.com/s/1YQiMJoUMEYlMz14FH5xxRA?pwd36o5 提取码:36o5 工程目录概览 &#xff08;js文件夹里面放了music.html和main.js和vue.js&#xff09; 工程目录)&#xff08;有点重复…

Boot工程快速启动【Linux】

Boot工程快速启动【Linux】 在idea中打包cd usr/在local文件夹下mkdir app进入app文件夹把打包好的文件&#xff08;只上传其中的jar&#xff09;上传到app文件下检查linux中的Java版本&#xff0c;保证和项目的Java 版本保持一致运行 java -jar sp补全***.jar想看效果得查询当…

MySQL进阶-InnoDB引擎

✨作者&#xff1a;猫十二懿 ❤️‍&#x1f525;账号&#xff1a;CSDN 、掘金 、语雀 、Github &#x1f389;公众号&#xff1a;猫十二懿 一、InnoDB 逻辑存储引擎 InnoDB的逻辑存储结构如下图所示&#xff1a; 大小关系&#xff1a;表空间&#xff08;Tablespace&#xff0…

【攻防世界-misc】Encode

1.下载解压文件&#xff0c;打开这个内容有些疑似ROT13加密&#xff0c;利用在线工具解密&#xff1a;ROT13解码计算器 - 计算专家 得到了解密后的值 得到解码结果后&#xff0c;看到是由数字和字母组成&#xff0c;再根据题目描述为套娃&#xff0c;猜测为base编码&#xff08…

【小布_ORACLE】Part11-1--RMAN Backups笔记

Oracle的数据备份于恢复RMAN Backups 学习第11章需要掌握&#xff1a; 一.RMAN的备份类型 二.使用backup命令创建备份集 三.创建备份文件 四.备份归档日志文件 五.使用RMAN的copy命令创建镜像拷贝 文章目录 Oracle的数据备份于恢复RMAN Backups1.RMAN Backup Concepts&#x…