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

本文涉及的产品
对象存储 OSS,20GB 3个月
智能媒体服务,推流SDK标准版 1年
对象存储 OSS,内容安全 1000次 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 能力,助力提高开发者的视频生产效率。

相关文章
|
JavaScript 前端开发 Python
传智播客预习视频(16倍速无人值守自动下一节)
传智播客预习视频(16倍速无人值守自动下一节)
894 0
传智播客预习视频(16倍速无人值守自动下一节)
|
4月前
|
存储 编解码 算法
C#.NET逃逸时间算法生成分形图像的毕业设计完成!晒晒功能
该文介绍了一个使用C#.NET Visual Studio 2008开发的程序,包含错误修复的Julia、Mandelbrot和优化过的Newton三种算法,生成色彩丰富的分形图像。作者改进了原始算法的效率,将内层循环的画点操作移至外部,提升性能。程序提供五种图形模式,支持放大缩小及颜色更新,并允许用户自定义画布大小以调整精度。还具备保存为高质JPG的功能。附有四张示例图片展示生成的分形效果。
|
4月前
|
移动开发 前端开发 安全
技术心得记录:怎么更快地合成大西瓜?搞懂游戏的源码,闭着眼睛都能成功!
技术心得记录:怎么更快地合成大西瓜?搞懂游戏的源码,闭着眼睛都能成功!
74 0
|
5月前
|
机器学习/深度学习 开发工具 计算机视觉
视觉智能平台常见问题之平台的换脸或者换人物到对应的某个图片里面去如何解决
视觉智能平台是利用机器学习和图像处理技术,提供图像识别、视频分析等智能视觉服务的平台;本合集针对该平台在使用中遇到的常见问题进行了收集和解答,以帮助开发者和企业用户在整合和部署视觉智能解决方案时,能够更快地定位问题并找到有效的解决策略。
|
存储 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类
|
人工智能 自然语言处理 前端开发
阿里云智能媒体服务IMS在视频剪辑中花式抠图的代码实操与案例详述
本文介绍阿里云智能媒体服务IMS,围绕视频剪辑及数字人训练中的抠图需求,如何运用 绿幕抠图、实景抠图能力,实现高效、便捷的视频制作及合成体验。
413 0
|
Java 程序员 开发者
只用一行代码,你能玩出什么花样?
只用一行代码,你能玩出什么花样?
91 1
|
API C语言 开发者
【精选】太阳系八大行星运转轨迹程序,C语言,源代码分享
太阳系行星运行轨道图,C语言,源代码分享
282 0
【精选】太阳系八大行星运转轨迹程序,C语言,源代码分享
|
存储 JavaScript 前端开发
V8中的快慢数组(附源码、图文更易理解😃)
V8中的快慢数组(附源码、图文更易理解😃)
155 1
V8中的快慢数组(附源码、图文更易理解😃)
|
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实现贪吃蛇大作战小游戏(完整教程+源码)额外实现积分和变速功能(中)