当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > 你这背景太假了,用AI自动合成,假吗?

你这背景太假了,用AI自动合成,假吗?

来源:51CTO.COM 2023-04-27 08:34:16 0浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《你这背景太假了,用AI自动合成,假吗?》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

哈喽,大家好。

前几天大家是不是都刷到了下面这个视频。

图片

博主本来想证明自己背景是真的,结果引来网友恶搞,纷纷换成各种各样的背景来“打假”。

今天咱也凑个热闹,用 AI 技术自动替换背景。

思路并不难,我们先从原视频将人物分离出来,再将分离出来的人物“贴”到新背景视频中即可。

从视频中分类人物用到关键技术的是计算机视觉​中的实例分割​,我之前的文章中有介绍过目标检测技术,比如,人脸检测

图片

目标检测​是通过矩形框标注检测的目标,相对容易。而实例分割是一项更精细的工作,因为需要对每个像素点分类,物体的轮廓是精准勾勒的。

图片

我们今天用 detectron2​ 做实例分割​,它是Facebook AI研究院开源的项目,功能强大,使用简单。

图片

1. 安装

detectron2​ 支持在Linux和macOS​系统上安装,Linux​可以直接通过pip​安装,而mac​只能通过源码编译的方式安装,建议大家用Linux。

图片

支持GPU和CPU​运行,我使用的是3090显卡、CUDA11.1、Pytorch1.8。

2. 运行

我们用官方提供的预训练模型对图片做实例分割。

2.1 加载模型配置文件

from detectron2.config import get_cfg
from detectron2 import model_zoo

cfg = get_cfg()
model_cfg_file = model_zoo.get_config_file('COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml')
cfg.merge_from_file(model_cfg_file)

COCO-InstanceSegmentation​代表用coco​数据集训练的实例分割模型。

mask_rcnn_R_50_FPN_3x.yaml是模型训练用到的配置信息。

从下图也可以看到,detectron2​除了提供实例分割​模型,还提供目标检测、关键点检测等模型,还是比较全面的。

图片

2.2 加载模型

model_weight_url = model_zoo.get_checkpoint_url('COCO-InstanceSegmentation/mask_rcnn_R_50_FPN_3x.yaml')
cfg.MODEL.WEIGHTS = model_weight_url

mask_rcnn_R_50_FPN_3x.yaml​文件中存放了预训练模型的url​。当进行实例分割​时,程序会自动从url处将模型下载到本地。存放的位置为:

图片

但程序自动下载的方式可能会比较慢,这时候你可以用迅雷自己下载模型文件,放到对应的路径中即可。

2.3 实例分割

首先,读取一张图片,图片大小480 * 640。

img = cv2.imread('./000000439715.jpg')

图片

实例化DefaultPredictor对象。

from detectron2.engine import DefaultPredictor
predictor = DefaultPredictor(cfg)

对图片进行实例分割

out = predictor(img)

out​变量中存放的是分割出来每个目标的类别id、检测框和目标遮罩。

out["instances"].pred_classes​获取目标的类别id

图片

这里一共检测到了 15 个目标,在配置文件中可以找到类别id和类别名称​的映射关系。其中,0​代表人,17代表马。

out["instances"].pred_masks​获取目标的遮罩​,我们取单个目标的遮罩研究一下它的用处。

图片

可以看到,它的取值是布尔类型,并且shape和图片大小一样。

所以,遮罩是实例分割​的结果,里面每个元素对应图片一个像素,取值为True代表该像素是检测出来的目标像素。

因此,我们可以通过遮罩给目标加上一层不透明度,从而把目标精确标注出来。

img_copy = img.copy()

alpha = 0.8
color = np.array([0, 255, 0])

img_copy[mask > 0, :] = img_copy[mask > 0, :] * alpha + color * (1-alpha)

上述给目标加上一层绿色的不透明度,效果如下:

图片

可以看到,骑在马上的人已经被标注出来了。

3. 自动合成背景

有了上面的基础,我们就很容易合成视频了。

读取原视频每一帧中将人物分割出来,将分割出来的人物直接覆盖到新背景视频中对应的帧即可。

核心代码:

# 读取原视频
ret, frame_src = cap.read()

# 读取新背景视频
ret, frame_bg = cap_bg.read()
# 调整背景尺寸跟原视频一样
frame_bg = cv2.resize(frame_bg, sz)

# 分割原视频人物
person_mask = instance_seg.predict(frame_src)
# 合成
frame_bg[person_mask, :] = frame_src[person_mask, :]


文中关于开源,AI,自动合成的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《你这背景太假了,用AI自动合成,假吗?》文章吧,也可关注golang学习网公众号了解相关技术文章。

版本声明
本文转载于:51CTO.COM 如有侵犯,请联系study_golang@163.com删除
美团搜索粗排优化的探索与实践美团搜索粗排优化的探索与实践
上一篇
美团搜索粗排优化的探索与实践
十个值得推荐的人工智能聊天机器人平台​
下一篇
十个值得推荐的人工智能聊天机器人平台​
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 笔灵AI生成答辩PPT:高效制作学术与职场PPT的利器
    笔灵AI生成答辩PPT
    探索笔灵AI生成答辩PPT的强大功能,快速制作高质量答辩PPT。精准内容提取、多样模板匹配、数据可视化、配套自述稿生成,让您的学术和职场展示更加专业与高效。
    14次使用
  • 知网AIGC检测服务系统:精准识别学术文本中的AI生成内容
    知网AIGC检测服务系统
    知网AIGC检测服务系统,专注于检测学术文本中的疑似AI生成内容。依托知网海量高质量文献资源,结合先进的“知识增强AIGC检测技术”,系统能够从语言模式和语义逻辑两方面精准识别AI生成内容,适用于学术研究、教育和企业领域,确保文本的真实性和原创性。
    23次使用
  • AIGC检测服务:AIbiye助力确保论文原创性
    AIGC检测-Aibiye
    AIbiye官网推出的AIGC检测服务,专注于检测ChatGPT、Gemini、Claude等AIGC工具生成的文本,帮助用户确保论文的原创性和学术规范。支持txt和doc(x)格式,检测范围为论文正文,提供高准确性和便捷的用户体验。
    30次使用
  • 易笔AI论文平台:快速生成高质量学术论文的利器
    易笔AI论文
    易笔AI论文平台提供自动写作、格式校对、查重检测等功能,支持多种学术领域的论文生成。价格优惠,界面友好,操作简便,适用于学术研究者、学生及论文辅导机构。
    40次使用
  • 笔启AI论文写作平台:多类型论文生成与多语言支持
    笔启AI论文写作平台
    笔启AI论文写作平台提供多类型论文生成服务,支持多语言写作,满足学术研究者、学生和职场人士的需求。平台采用AI 4.0版本,确保论文质量和原创性,并提供查重保障和隐私保护。
    35次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码