视频剪辑中花式抠图的代码实操与案例详述

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
播放器SDK+直播LIVE组合试用套餐,播放器+流量+转码 1个月
简介: 本文为阿里云智能媒体服务 IMS「云端智能剪辑」现高效、便捷的视频制作及合成体验。

本文为阿里云智能媒体服务 IMS「云端智能剪辑」实践指南第三期,讲述围绕 视频剪辑及数字人训练中的抠图需求,如何运用 绿幕抠图、实景抠图能力,实现高效、便捷的视频制作及合成体验。
昱尘|作者

悬刃|算法支持

“你这背景太假了”,博主疆域阿力木因为背景太好看而被质疑,随后画风突转,网友们通过 “抠图技术” 将博主合成到各种视频背景中,其搞笑程度一度冲上热搜。

抠图技术常常被应用在众多场景中,发挥着越来越重要的作用。

比如:直播带货场景中,商家通常会搭建绿幕背景,使用 “绿幕抠图” 技术,将绿幕背景替换成与商品相关的图片或视频,帮助消费者更加直观地了解产品的使用方法、功能及特点;或是在短视频营销中,通过 “实景抠图” 技术,将人像和指定物品从任意背景中抠出,替换成各种风景图片或视频,增加视频对观众的吸引力……

抠图技术也在数字人训练领域发挥着越来越重要的作用,数字人训练需要去除背景,只保留人物视频,才能做后续的分析训练处理,使用绿幕抠图及实景抠图可以完美解决数字人训练素材的抠图问题。

IMS 云端智能剪辑已将绿幕抠图以及实景抠图集成到了智能时间线 Timeline 中,客户可以使用 IMS 基础剪辑能力、调用 IMS 数字人视频合成接口、智能时间线 Timeline。

本文主要介绍三种场景下的抠图技术,展现如何花式抠图。

三种场景下的抠图技术

场景一:绿幕
生成训练数字人所需要的透明背景素材

训练数字人,在拍摄人物动作视频之后,通常需要将原始素材进行二次处理,生成只保留人像且背景透明的 webm,或者生成代表人像区域和代表背景区域的黑白遮罩视频,我们分别来讲解如何利用绿幕抠图分别生成这两种视频。

「云端智能剪辑」时间线 Timeline 中支持设置 AI_Matting 这个 Effect,并支持设置 Color 为 Green 或者 Blue 两种抠图模式(绿幕抠图或蓝幕抠图),若期望生成带透明通道的 webm,可以在 OutputMediaConfig 指定文件后缀名为 webm 即可。

这是该场景中使用的素材示例:https://v.youku.com/v_show/id_XNjAxOTE3Njk2MA==.html

生成透明 webm
成片效果视频:https://v.youku.com/v_show/id_XNjAxOTE3NzA0OA==.html

Timeline 示例:

{
"VideoTracks": [{

"VideoTrackClips": [{
  "MediaUrl": "https: //your-bucket.oss-cn-shanghai.aliyuncs.com/material.mp4",
  "Effects": [{
    "Type": "AI_Matting",
    "Color": "Green"
  }]
}]

}]
}
{
"Height": 1920,
"Width": 1080,
"MediaURL": "https: //your-bucket.oss-cn-shanghai.aliyuncs.com/output.webm"
}
生成黑白遮罩视频
合成 webm 由于编码器本身速度较慢的原因,耗时方面可能会不满足用户诉求,我们建议客户在抠图的同时添加背景、字幕等直接输出 mp4 成片。还有一种场景是客户要输出黑白透明通道视频,在前端展示、后续的剪辑处理中使用(Timeline 中支持传入黑白透明通道视频对原素材进行遮罩),通过在 AI_Matting 这个 Effect 下增加 MaskMode:true 参数,黑色部分表示背景,白色部分表示人物位置和动作信息。

成片效果视频:https://v.youku.com/v_show/id_XNjAxNjQ4ODAwOA==.html

Timeline 示例:

{
"VideoTracks": [{

"VideoTrackClips": [{
  "MediaUrl": "https: //your-bucket.oss-cn-shanghai.aliyuncs.com/material.mp4",
  "Effects": [{
    "Type": "AI_Matting",
    "Color": "Green",
    "MaskMode": true
  }]
}]

}]
}

场景二:实景
仅保留人像,不保留其他物体

在背景是家具环境或者其他不方便搭建绿幕背景的情况时,需要利用实景抠图,将人像从背景中抠出,并替换其他图片背景或者视频背景。使用 IMS 云端智能剪辑时,可以通过一个 Timeline,一次性完成抠图、背景裁剪、替换背景、增加字幕、增加配乐的所有操作。

使用 AI_RealMatting 这个 Effect,可以一键式地将人物信息从任意背景中抠出,您可以选择什么都不做,直接输出只有人像、背景透明的 webm 或者黑白遮罩视频,也可以选择替换背景、增加字幕、配乐,丰富视频内容,本章节主要介绍后者。

这是该场景中使用的素材示例:https://v.youku.com/v_show/id_XNjAxNjQ4NjcyMA==.html

背景图:

背景音乐(该 BGM 由 AIGC 生成):https://v.youku.com/v_show/id_XNjAxOTE3NzQ0MA==.html

成片效果视频:https://v.youku.com/v_show/id_XNjAxOTE4NjQzNg==.html

Timeline 示例:

{
"VideoTracks": [{

  "VideoTrackClips": [{
    "MediaUrl": "https: //your-bucket.oss-cn-shanghai.aliyuncs.com/background.jpg",
    "Type": "GlobalImage",
    "Width": 1080,
    "Height": 1920,
    "AdaptMode": "Cover",
    "Effects": [{
      "Type": "Crop",
      "X": 0.0,
      "Y": 0.0,
      "Height": 0.7,
      "Width": 1
    }]
  }]
},
{
  "VideoTrackClips": [{
    "MediaUrl": "https: //your-bucket.oss-cn-shanghai.aliyuncs.com/material.mp4",
    "Width": 1080,
    "Height": 1920,
    "AdaptMode": "Cover",
    "Effects": [{
      "Type": "AI_RealMatting"
    }]
  }]
}

],
"SubtitleTracks": [{

"SubtitleTrackClips": [{
    "Type": "Text",
    "X": 0.02,
    "Y": 0.02,
    "Content": "《美妆小课堂》",
    "FontSize": 80,
    "EffectColorStyle": "CS0001-000012",
    "Font": "Source Han Sans CN"
  },
  {
    "Type": "Text",
    "X": 0.2,
    "Y": 0.7,
    "Content": "金牌美妆师",
    "FontSize": 80,
    "EffectColorStyle": "CS0001-000014"
  }
]

}],
"AudioTracks": [{

"AudioTrackClips": [{
  "MediaUrl": "https: //your-bucket.oss-cn-shanghai.aliyuncs.com/aigc_bgm.wav"
}]

}]
}
Tips:

➤ GlobalImage 可以在背景图片或者 logo 上使用,会自适应将图片的时长设定为视频的总时长;

➤ AdaptMode:Cover,可以将图片放大到指定的 Width 和 Height 上,如果素材的宽高比和设置的 Width 和 Height 不符,会自动进行裁剪;

➤ 在字幕轨道上,可以一键式设置花字样式,设置 EffectColorStyle 为相应的花字 Id,丰富视频内容。

场景三:实景 + 其他物体保留
保留人像、桌子以及桌子上的物体

如果需要在实景抠图中,保留视频中除了人像以外的其他物体,我们还即将会支持自然语言形式的抠图物体保留能力。

基于 CLIP 语言图像预训练模型技术,我们能够有效分析视频中的物体类别信息,通过大模型技术有效保留抠图视频除了人像之外其他需要保留的物体。

可以设置 AI_RealMatting 这个 Effect 下的 ReserveObjects 数组内容,指定需要保留的物体自然语言名称,比如在本示例中,我们期望保留桌子和手机,就可以设置 ReserveObjects 为 phone 和 desk 组成的数组。

成片效果视频:https://v.youku.com/v_show/id_XNjAxOTE4NjQ4MA==.html

Timeline 示例:

{
"VideoTracks": [{

  "VideoTrackClips": [{
    "MediaUrl": "https: //your-bucket.oss-cn-shanghai.aliyuncs.com/background.jpg",
    "Type": "GlobalImage",
    "Width": 1080,
    "Height": 1920,
    "AdaptMode": "Cover",
    "Effects": [{
      "Type": "Crop",
      "X": 0.0,
      "Y": 0.0,
      "Height": 0.7,
      "Width": 1
    }]
  }]
},
{
  "VideoTrackClips": [{
    "MediaUrl": "https: //your-bucket.oss-cn-shanghai.aliyuncs.com/material.mp4",
    "Width": 1080,
    "Height": 1920,
    "AdaptMode": "Cover",
    "Effects": [{
      "Type": "AI_RealMatting",
      "ReserveObjects": ["phone", "desk"]
    }]
  }]
}

],
"SubtitleTracks": [{

"SubtitleTrackClips": [{
    "Type": "Text",
    "X": 0.02,
    "Y": 0.02,
    "Content": "《美妆小课堂》",
    "FontSize": 80,
    "EffectColorStyle": "CS0001-000012",
    "Font": "Source Han Sans CN"
  },
  {
    "Type": "Text",
    "X": 0.2,
    "Y": 0.7,
    "Content": "金牌美妆师",
    "FontSize": 80,
    "EffectColorStyle": "CS0001-000014"
  }
]

}],
"AudioTracks": [{

"AudioTrackClips": [{
  "MediaUrl": "https: //your-bucket.oss-cn-shanghai.aliyuncs.com/aigc_bgm.wav"
}]

}]
}
智能媒体服务 IMS(Intelligent Media Services)是 2021 年 5 月正式商业化的一款云产品,其中的云剪辑功能主打视频生产能力,通过组织剪辑需要的时间线(Timeline)结构,即可在云端对用户的音视频素材进行剪辑,可以理解为 IMS 云端智能剪辑就是一款 API 版的 iMovie。

本篇主要讲解绿幕抠图、实景抠图技术在视频剪辑及数字人训练中的使用,IMS 云端智能剪辑还融入了众多 AI 能力,助力提高开发者的视频生产效率。

相关文章
|
1月前
|
机器学习/深度学习 人工智能 iOS开发
MagicMirror:一键 AI 换脸、换发型和换穿搭,拖放照片就能实现换脸和形象变换,本地运行无需配置
MagicMirror 是一款开源的一键 AI 换脸、换发型和穿搭应用,支持离线处理,保护隐私,轻量级设计,适合个人娱乐和创意内容创作。
141 13
MagicMirror:一键 AI 换脸、换发型和换穿搭,拖放照片就能实现换脸和形象变换,本地运行无需配置
|
6月前
|
移动开发 JavaScript 前端开发
【绝技揭秘】从零到英雄:解锁UniApp H5项目中的二维码生成与扫描秘籍,让你的应用瞬间变身扫码达人!
【8月更文挑战第20天】二维码在移动应用中无处不在。本文详述了在UniApp H5项目中实现二维码生成与扫描的方法。通过对比插件`uni-app-qrcode`和JavaScript库`qrcode-generator`生成二维码的方式,以及使用插件`@juggle/resize-observer`和HTML5的MediaDevices API进行扫描的技术方案,帮助开发者挑选最佳实践。无论是插件的便捷性还是原生JavaScript的灵活性,都能满足不同项目需求。
253 0
|
存储 Java
Java实现贪吃蛇大作战小游戏(完整教程+源码)额外实现积分和变速功能(下)
文章目录 1 开发环境及游戏展示 1.1 游戏主界面 1.2 移动界面 1.3 奖励界面 1.4 F加速功能界面 1.5 死亡界面 2 需求分析 3 系统设计 3.1 系统总体功能设计 3.2 系统总体流程设计 4 功能设计 4.1 贪吃蛇移动及加速功能设计 4.2 贪吃蛇吃食物加速及死亡判定功能的设计 4.2.1 贪吃蛇吃食物加速功能的设计 4.2.2 贪吃蛇死亡判定功能的设计 4.3 贪吃蛇主动加速功能的设计 4.4 贪吃蛇奖励机制功能的设计 5 项目结构与项目实现 5.1 项目结构及类间关系 5.2 项目完整源码 5.2.1 Images类
|
9月前
|
机器学习/深度学习 编解码 算法
宣传技能培训2——《图片后期处理与制作》光影魔术师:一小时速成Lightroom图片后期软件 + 案例分析
宣传技能培训2——《图片后期处理与制作》光影魔术师:一小时速成Lightroom图片后期软件 + 案例分析
150 0
|
iOS开发 MacOS Windows
拥有100+高效工具的我,差点被这个问题难住了 | 给视频加字幕
拥有100+高效工具的我,差点被这个问题难住了 | 给视频加字幕
拥有100+高效工具的我,差点被这个问题难住了 | 给视频加字幕
|
人工智能 自然语言处理 前端开发
阿里云智能媒体服务IMS在视频剪辑中花式抠图的代码实操与案例详述
本文介绍阿里云智能媒体服务IMS,围绕视频剪辑及数字人训练中的抠图需求,如何运用 绿幕抠图、实景抠图能力,实现高效、便捷的视频制作及合成体验。
484 0
|
数据采集 JavaScript 索引
Python让你再也不为文章配图与素材发愁,让高清图片占满你的硬盘!
最近写公众号写的染上了个怪毛病,不到12点根本不知道写啥。一过凌晨那简直是吃了大回复一般的文思泉涌。结果就是越熬夜越晚了.公众号是每天定时发的,简书上的发帖时间才是真正的睡前倒计时...然后,来看看都是几点睡的
123 0
|
Java 图形学
Java实现贪吃蛇大作战小游戏(完整教程+源码)额外实现积分和变速功能(中)
文章目录 1 开发环境及游戏展示 1.1 游戏主界面 1.2 移动界面 1.3 奖励界面 1.4 F加速功能界面 1.5 死亡界面 2 需求分析 3 系统设计 3.1 系统总体功能设计 3.2 系统总体流程设计 4 功能设计 4.1 贪吃蛇移动及加速功能设计 4.2 贪吃蛇吃食物加速及死亡判定功能的设计 4.2.1 贪吃蛇吃食物加速功能的设计 4.2.2 贪吃蛇死亡判定功能的设计 4.3 贪吃蛇主动加速功能的设计 4.4 贪吃蛇奖励机制功能的设计 5 项目结构与项目实现 5.1 项目结构及类间关系 5.2 项目完整源码 5.2.1 Images类
Java实现贪吃蛇大作战小游戏(完整教程+源码)额外实现积分和变速功能(中)
|
Java 开发工具
Java实现贪吃蛇大作战小游戏(完整教程+源码)额外实现积分和变速功能(上)
文章目录 1 开发环境及游戏展示 1.1 游戏主界面 1.2 移动界面 1.3 奖励界面 1.4 F加速功能界面 1.5 死亡界面 2 需求分析 3 系统设计 3.1 系统总体功能设计 3.2 系统总体流程设计 4 功能设计 4.1 贪吃蛇移动及加速功能设计 4.2 贪吃蛇吃食物加速及死亡判定功能的设计 4.2.1 贪吃蛇吃食物加速功能的设计 4.2.2 贪吃蛇死亡判定功能的设计 4.3 贪吃蛇主动加速功能的设计 4.4 贪吃蛇奖励机制功能的设计 5 项目结构与项目实现 5.1 项目结构及类间关系 5.2 项目完整源码 5.2.1 Images类
Java实现贪吃蛇大作战小游戏(完整教程+源码)额外实现积分和变速功能(上)
|
缓存 小程序 前端开发
【零基础微信小程序】基于百度大脑人像分割的证件照换底色小程序实战开发
通过小程序配合百度的人体分割接口进行简单的照片渲染,本期做一个小工具,对学生党、工作人员、打印店铺以及涉及到求职简历办公等需求的人员都很有用,这个项目由于一些原因不再做维护了,于是打算出个教程将证件照小程序分享给大家,这里采用百度AI接口是因为现在网上开源的py脚本对边缘计算不是很优秀,会有很多模糊点没办法处理,识别人体的轮廓范围,与背景进行分离,适用于拍照背景替换、照片合成、身体特效等场景。输入正常人像图片,返回分割后的二值结果图、灰度图、透明背景的人像图(png格式);并输出画面中的人数、人体坐标信息,
569 0
【零基础微信小程序】基于百度大脑人像分割的证件照换底色小程序实战开发

热门文章

最新文章