Facebook推出图像增强库:Augly

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

左:原始图像,右:使用Augly(作者创建的图像)增强后

1a30a5711216a3185dc6a1963a1770f2.png

Facebook最近发布了[1]一个增强库Augly,它结合了多种数据(音频、图像、视频和文本)。

数据扩充是增加标记训练数据的大小和多样性的常用技术,这也有助于建立稳健的模型。

这里我只关注我在图像上测试的几个增强函数,但是这个库也可以用于文本和音频。

Augly更致力于社交媒体平台的变革,包括Facebook。因此,除了通常的裁剪、翻转外,其他增强功能还包括对图像/视频共享平台所做的非常逼真的转换,如叠加图像、表情符号、文本等。

根据Facebook新闻稿,其中一个主要的重要应用是:

检测特定内容的精确副本或近似副本。

例如,同一条错误信息可能以稍有不同的形式重复出现,例如,图像被裁剪了几个像素,或者被过滤器或新文本覆盖而增强。通过向人工智能模型添加大量数据,他们可以学会发现某人何时上传已知侵权内容,如歌曲或视频。

Augly的开发目的是通过转换(“增强”)数据来阻止人们逃避自动检测系统,同时,该库也用于评估deepfake检测模型。


使用Augly进行图像增强:

下面是我用来测试Augly中图像的一些增强函数的几个工作示例。要在Colab中尝试这一点,首先,我们需要安装Libmagic和Augly

!pip install augly

!apt-get install libmagic-dev

!pip install python-magic

import augly.image as imaugs

现在,我们已经准备好使用Augly,但在此之前,我们需要加载一个示例图像。让我们这样做

from skimage import data

camera = data.astronaut()

因为Augly使用PIL格式,所以让我们对其进行转换-

from PIL import Image

camera_pil = Image.fromarray(camera)

camera_pil.show()

图1:使用Skipage加载的原始图像:

c6646b1a9b78f97648831225e5dbce83.png

这是我们的原始图像。顺便说一下,她叫艾琳·柯林斯,1992年被选为宇航员,1995年首次驾驶STS-63号航天飞机。

首先,让我们从一些相对简单的增强函数开始,比如改变透视图

aug_perspective = imaugs.PerspectiveTransform(sigma=20.0)

camera_pil_perspective = aug_perspective(camera_pil)

camera_pil_perspective.show()

图1的透视变换:

a9b7c75c717442af399125f21f04e812.png

这里 sigma 指的是目标坐标分布的标准差, sigma 值越高,转换越强烈。

我们还可以随机更改纵横比,如下所示-

aug_aspect = imaugs.RandomAspectRatio()

camera_pil_aspect = aug_aspect(camera_pil)

camera_pil_aspect.show()

在图1上随机改变纵横比:

e8a0324d510f4159d461a33bbb7e7e6c.png

我们还可以通过添加一些饱和度来增强图像

aug_saturation = imaugs.Saturation(factor=5.0)

camera_pil_sat = aug_saturation(camera_pil)

camera_pil_sat.show()

增加图1中原始图像的饱和度:

7055c6742bc3411093645330cd49aa7b.png

现在,让我们来看一些可以使用Augly添加的独特转换。首先,我尝试覆盖条纹,变换后的图像如下所示

在原始图1上覆盖条纹:

d3ad9725631e43c80864661aac899710.png

用于上述转换的代码是

camera_pil_overlay_stripes = imaugs.overlay_stripes(camera_pil, line_type=’dashed’, line_opacity=0.5, line_color=(120, 0, 200), line_angle=25.0)

camera_pil_overlay_stripes.show()

叠加文本怎么样?这也是可能的

将文本覆盖在原始图1上:

1b33b6bec698b2d759723711fdfb4014.png

我们还可以添加表情符号-

camera_pil_overlay_emoji = imaugs.overlay_emoji(camera_pil)

camera_pil_overlay_emoji.show()

将表情符号叠加在原始图1上:

07f9dd2400bab2eb8b577dd8d0f8324c.png

我们还可以变换图像,使其看起来像Instagram上的屏幕截图

将Instagram屏幕快照覆盖在原始图1上:

37b30bad5128c1483ab3c9200bece9bc.png

代码块如下所示

import os

import augly.utils as utils

aug_overlay = imaugs.OverlayOntoScreenshot(template_filepath=os.path.join(utils.SCREENSHOT_TEMPLATES_DIR, “mobile.png”))

camera_pil_overlay = aug_overlay(camera_pil)

camera_pil_overlay.show()

通过将覆盖图像mobile.png更改为web.png,我们可以获得另一个转换

将Instagram网页的屏幕截图覆盖在原始图1上:

9b481729898eb431516cf88a48b4f995.png

我个人认为,这些转换非常酷,正如Facebook在新闻稿中提到的,它们旨在理解人类与社交媒体的互动。我相信对语音和语言处理感兴趣的人也会发现这个库非常有用。

感谢Facebook使这个库开源,感谢Joanna Bitton&Zoe Papkipos,我相信他们是这个项目背后的主要智囊。

 
 

好消息!

小白学视觉知识星球

开始面向外开放啦👇👇👇

 
 

28d643fe5db585e9aa156aa9846c493f.jpeg

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值