热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

UC伯克利开源照片“隐写术”StegaStamp,打印照片能当二维码用!|技术头条

参加「CTA核心技术及应用峰会」,请扫码报名↑↑↑作者|CV君来源|我爱计算机视觉(id:aicvml)要说目前最火的用到手

640?wx_fmt=jpeg

参加「CTA 核心技术及应用峰会」,请扫码报名 ↑↑↑

作者 |CV君

来源 | 我爱计算机视觉(id:aicvml)

要说目前最火的用到手机摄像头的应用是什么,毫无疑问非二维码识别莫属了。微信带起来的二维码热,几乎已经改变了整个世界的支付方式、社交方式。


但二维码的设计毕竟是为了对算法友好,人眼看起来就丑了些。


一种天然的想法是,能否把信息嵌入到照片里去?想象一下如果给一张个人大头照,就可以自动提取里面的名片信息,或者扫个风景照就支付,那看起来就自然多了。


实际上用图像检索的方式可以在一定程度上实现上述功能,提取特征然后到服务器上匹配图像,把对应信息下载下来。


传统的AR(增强现实)就是这么做的。但这需要联网,而且对于纹理不丰富的图片,检索效果很差,也没有很好的信息校正机制。以前有一家国内电商用类似图像检索的方式做过拍书籍封面搜商品的应用,但用的人并不是很多。


深度学习时代,能否实现照片“隐写术“?


几天前看到一篇论文,感觉距离实现这个目标不远了。


论文题目“StegaStamp: Invisible Hyperlinks in Physical Photographs”,翻译一下就是《隐写邮票:自然照片中嵌入不可见超链接》,Stega有隐写术的意思。


640?wx_fmt=jpeg


这篇论文作者来自美国加州大学伯克利分校。


作者的想法就是把信息写入图像中,使打印出来的图片感知度不被破坏,同时拍摄打印的图片还能把信息解码出来!


下图把这个一目了然表达了出来。需要说明的是,作者论文中说不只是打印照片支持拍照再解码,显示在屏幕上也能拍照后解码。


640?wx_fmt=jpeg


作者的视频介绍:



细节的流程是这样的,如下图:


640?wx_fmt=jpeg


图像与要嵌入的信息经过神经网络编码成新的照片,经过打印或者屏幕显示后再拍摄,把得到的图像经过检测算法得到校正后的图像区域,该图像经过解码算法得到嵌入图像里的信息。


这个过程中,我们不免有疑问,信息嵌入会不会影响照片的视觉感知?另外,信息嵌入是可以,但经过打印或者再次成像后拍照,外界的环境变化可能很大,如何保证提取信息的鲁棒性?


在目前该文的算法中,嵌入信息过多的确会影响视觉感知,但作者实验嵌入100bits信息还是OK的。


下图展示了,嵌入信息后(第二列)与原始图像(第一列)的差异(第三列)。视觉上几乎难以分辨不同。


640?wx_fmt=jpeg


至于解决鲁棒性的问题,做法是在训练解码器的时候,模拟真实的图像质量退化模型对嵌入信息的图像做变换。如下图:


640?wx_fmt=jpeg


包括图像透视变换、模糊化、颜色操作、加噪声、JPEG压缩。


最终该文得到的效果还是很不错的!


640?wx_fmt=jpeg


在大多数情况下都能100%正确解码!


下图为更多图像的识别结果:


640?wx_fmt=jpeg


同时该算法对各种真实世界的环境影响均有鲁棒性。


这是对抗光照变化:


640?wx_fmt=gif


这是对抗视角变化:


640?wx_fmt=gif


这是对抗局部遮挡:


640?wx_fmt=gif


这是对抗光线反射:


640?wx_fmt=gif


更多结果请看:



是不是很神奇?!


这个算法感觉很有用,不知道作者申请了专利没有。


作者已经开源了代码:

https://github.com/tancik/StegaStamp

该项目主页:

http://www.matthewtancik.com/stegastamp

论文地址:

https://arxiv.org/abs/1904.05343


有了这个技术,很多有趣的东西可以做出来,它不仅可以作为超链接,还可以在用户不知情的情况下对照片和屏幕嵌入信息。。。


(本文为AI科技大本营转载文章,转载请联系原作者。)


精彩推荐

5月25-27日,由中国IT社区CSDN与数字经济人才发展中心联合主办的第一届CTA核心技术及应用峰会将在杭州国际博览中心隆重召开。首届CTA核心技术及应用峰会将围绕人工智能,邀请技术领航者,与开发者共同探讨机器学习知识图谱的前沿研究及应用。


同时,我们推出会议双日开发者盲定票,仅售299元(原票价1099元),限量30张。扫描下方二维码,或添加小助手微信1731967109,备注【CTA】,了解大会详情以及票务问题


640?wx_fmt=png


推荐阅读:

  • 开什么玩笑?股票价格如何经得起AI的推敲?| 技术头条

  • 深入卷积神经网络背后的数学原理 | 技术头条

  • 用Python实现OpenCV特征提取与图像检索demo

  • Python基础入门——简介和环境配置,超实用!

  • 云计算之基,一文带你速懂虚拟化KVM和XEN

  • Erlang 之父去世,他留给程序员两点忠告

  • 程序员逆袭为美国最佳 CEO,他说因为爱情

  • 用一枚比特币环游世界? 他是不是疯了...

  • 程序员如何向女友解释:为啥软件都要装C盘?

640?wx_fmt=png

点击“阅读原文”,直接参与大会报名



推荐阅读
  • 机器学习中的标准化缩放、最小-最大缩放及鲁棒缩放技术解析 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • AdMob 广告变现潜力几何:收益预测与分析
    Google AdMob 为不同规模的应用开发者提供了一种高效且便捷的盈利途径,通过在应用中展示精准定向的广告来实现收入增长。本文将深入探讨 AdMob 的广告变现潜力,结合实际案例和数据,对收益进行预测与分析,帮助开发者更好地理解和利用这一工具。 ... [详细]
  • 利用Python与Android进行高效移动应用开发
    通过结合Python和Android,可以实现高效的移动应用开发。首先,需要安装Scripting Layer for Android (SL4A),这是一个开源项目,旨在为Android系统提供脚本语言支持。SL4A不仅简化了开发流程,还允许开发者使用Python等高级语言编写脚本,从而提高开发效率和代码可维护性。此外,SL4A还支持多种其他脚本语言,进一步扩展了其应用范围。通过这种方式,开发者可以快速构建功能丰富的移动应用,同时保持较高的灵活性和可扩展性。 ... [详细]
  • Hired网站最新发布的开发者调查显示,Python 语言继续受到开发者的广泛欢迎,而 PHP 则被评为最不受欢迎的语言。该报告基于 Hired 数据科学团队对 13 个城市中 9800 名开发者的调查数据,深入分析了当前编程语言的使用趋势和开发者偏好。此外,报告还探讨了其他热门语言如 JavaScript 和 Java 的表现,并提供了对技术招聘市场的洞见。 ... [详细]
  • 华为推出的HMS Core不仅标志着其与全球开发者共同提升用户体验的决心,还展示了其在技术创新方面的强大实力。该平台涵盖了超过20项核心服务,构建了一个全面且高效的服务生态系统,旨在为全球用户提供更加优质、便捷的数字体验。 ... [详细]
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • 本文深入解析了 Python 爬虫技术在 B 站数据挖掘中的应用,通过分析海量用户行为和内容数据,揭示了热门 UP 主成功的背后因素。Python 作为一种强大的编程语言,其面向对象和解释执行的特点使其成为数据抓取和处理的理想选择。文章详细介绍了如何利用 Python 爬虫技术获取 B 站的数据,并通过数据分析方法,探讨了热门 UP 主的创作策略和互动模式,为内容创作者提供了有价值的参考。 ... [详细]
  • Ihavetwomethodsofgeneratingmdistinctrandomnumbersintherange[0..n-1]我有两种方法在范围[0.n-1]中生 ... [详细]
  • Python爬虫数据导出至CSV及图片存储技术详解
    Python爬虫数据导出至CSV及图片存储技术详解 ... [详细]
  • 卓盟科技:动态资源加载技术的兼容性优化与升级 | Android 开发者案例分享
    随着游戏内容日益复杂,资源加载过程已不仅仅是简单的进度显示,而是连接玩家与开发者的桥梁。玩家对快速加载的需求越来越高,这意味着开发者需要不断优化和提升动态资源加载技术的兼容性和性能。卓盟科技通过一系列的技术创新,不仅提高了加载速度,还确保了不同设备和系统的兼容性,为用户提供更加流畅的游戏体验。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 如何使用mysql_nd:Python连接MySQL数据库的优雅指南
    无论是进行机器学习、Web开发还是爬虫项目,数据库操作都是必不可少的一环。本文将详细介绍如何使用Python通过 `mysql_nd` 库与 MySQL 数据库进行高效连接和数据交互。内容涵盖以下几个方面: ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • SWIG 3.0.12 Windows官方版下载:实现C语言与PHP、Java、Python等多语言代码互调接口
    SWIG 3.0.12 Windows官方版是一款强大的接口生成工具,能够实现C语言与多种高级编程语言(如Java、C#)及脚本语言(如PHP、JavaScript、Python)之间的互操作性。它不仅支持跨语言调用,还提供了丰富的封装选项,确保了代码的高效性和可维护性。 ... [详细]
author-avatar
国王的驴耳朵要吐槽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有