看视频就能学杂技,伯克利最新AI智能体

2023-11-02 04:10

本文主要是介绍看视频就能学杂技,伯克利最新AI智能体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

人类非常聪明,我们可以通过观察进行学习。无论是日常的洗手,还是惊人的杂技表演,对人类来说都是可以学习的。

然而,对于机器来说,通过观察来学习是非常困难的。YouTube上面每分钟都会有300小时的视频上传,即使拥有如此庞大的数据库,也很难用它来训练机器。

因为,大多数模仿学习方法的表示必须非常简单以及简洁,例如动作捕捉(mocap)记录的表示。但获取动作数据可能非常麻烦,通常需要大量的仪器。动作捕捉系统也往往局限于室内环境,这显然严重限制了机器的学习。

如果我们的机器人可以通过观看视频片段来学习技能,那将会非常棒~

例如~

d22ebdd6bd5c24d7a637113291b821972b897944

为了达到这种效果,伯克利大学提出了一个从视频(SFV)中学习技能的框架。利用计算机视觉和强化学习方面的最先进技术,系统使模拟角色能够从视频剪辑中学习各种各样的技能。给定一段动作视频,例如车轮或后空翻,特定对象能够学习从而再现该动作,而无需任何手动姿势注释。

d0b489b84bc7e6bb30d8c6749e38998b75a3b129

通过观看视频,从而学习运动技能的问题一直在计算机领域备受关注。 以前的技术通常依赖于手工制作的控制结构,这些控制结构对产生的行为施加了强大的限制。因此,这些方法往往受限于可以学习的技能类型,并且,机器人模仿出来的动作看起来相当不自然。

观看视频感受下最新成果

5e81e48a45c2beba0e45d3da347d66fe4f024ae0

最近,深度学习技术在简单的机器学习任务中表现的非常棒。但是这些任务通常只是简单的域转换,并而连续控制的结果主要是在相对简单的动态任务上进行的。

框架

63d1d4e1fe80bcf64d8b94f9b06a610e342bdaad

该学习框架由三个部分组成:姿态估计、运动重构和运动仿真。输入的视频首先由姿态估计阶段进行处理,预测每个帧中参与者的姿态。接下来,运动重建阶段将姿态预测合并为参考运动,并修复可能由姿态预测引入的伪影。最后,参考运动被传递到运动模拟阶段,在该阶段,一个模型被训练成模拟运动。

姿势估计

给定一个剪辑过的视频,使用一个基于视觉的姿态估计器来预测视频中的角色在每一帧中的姿态。姿态估计器是建立在人工网格恢复的基础上的,该方法使用弱监督的对抗性方法训练姿态估计器,从单目图像中预测姿态。虽然姿态标注是用来训练姿态估计器的,但是一旦经过训练,姿态估计器就可以应用到没有任何注解的新图像上。

a396e128928390535ed55a59b9f4e580dfc5dcd5

基于视觉的姿态估计器用于预测每个视频帧中参与者的姿态。

运动重构

由于姿态估计器对每个视频帧的预测是相互独立的,因此帧间的预测可能不一致,从而导致抖动伪影。此外,尽管基于视觉的姿态估计器在最近几年有了很大的改进,但它们仍然偶尔会犯一些相当大的错误,这可能导致不时出现一些奇怪的姿势。因此,运动重建阶段的作用是减少这些错误,从而产生一个更物理的参考运动,将更容易的模拟字符。

为此,优化参考运动,从而满足公式

e2b5e3acc7616508c2b20b80394b2c12b38babf0

相邻帧中的姿势相似以便产生更平滑的运动。另外,wp和wsm是不同损失的权重。

该方法可以大大提高参考运动的质量,并能修复原始姿态预测产生的大量伪影。

f6d355c1d1b48056e23a3a1febe8b0c723a3cedd

运动重建前后参考运动的比较。运动重建减轻了许多伪影,并产生了更平滑的参考运动。

运动模拟

一旦有了理想的参考运动,可以继续训练模拟角色从而模仿运动。然后引入奖励函数,其目标是鼓励模拟的姿态与重构的参考运动在每个帧的姿态的差异降到最小。

5e292fe9da7e8d3b9d42365a9703ff099dab2dc4

这种看似简单的方法的表现确是很棒,我们的角色能够学习到各种具有挑战性的杂技技能,其中每一项技能都可以从一个视频演示中学到的。

f23fe64157842bd6f46214643b51e1ff5a17e286
总结

总之,我们的使用的方法能够从YouTube收集的各种视频剪辑中学习到20多种不同的技能。

d4b2859464e20943ddb2127e35c2d259ac1b0cb1

我们的框架可以从视频演示中学习大量技能。

尽管我们角色的形态往往与视频中的人物有很大的不同,但是确实能够模仿很多动作。作为一个更极端的形态差异的例子,我们也可以训练一个阿特拉斯机器人来模仿视频中人物的动作

c2065b07944846108ad4ce9a36b75fa0e5e4a5f1

拥有一个模拟人物的优点之一是,我们可以利用模型将这些行为应用到新的环境中。在这里,我们的模型,学习适应不规则地形的运动,而原始视频,也就是学习对象中中的人物是在平坦的地面中演示的。

e0fbaa36e8c8dce1163b07db256e33161a3df512

尽管环境与原始视频有很大的不同,但学习算法仍然为处理这些新环境开发了相当合理的策略。

总之,这个学习框架实际上是采取最简单的方法来解决模仿视频的问题。关键在于将问题分解为更易于管理的部分,为这些部分选择正确的方法,并将它们有效地集成在一起。然而,模仿视频的技巧仍然是一个极具挑战性的问题,我们还无法复制大量的视频片段:

1b0df9bb09d3c6e3e45b530a709e2a77ecae3bc2

但令人鼓舞的是,只要将现有的技术集成在一起,就可以在这个具有挑战性的问题上走得更远。希望这项工作将有助于未来的技术,让机器能够利用大量公开的视频数据,获得一系列真正令人震惊的技能。


原文发布时间为:2018-10-10

本文作者:蒋宝尚

本文来自云栖社区合作伙伴“大数据文摘”,了解相关信息可以关注“大数据文摘”。

这篇关于看视频就能学杂技,伯克利最新AI智能体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/328003

相关文章

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

Spring Boot spring-boot-maven-plugin 参数配置详解(最新推荐)

《SpringBootspring-boot-maven-plugin参数配置详解(最新推荐)》文章介绍了SpringBootMaven插件的5个核心目标(repackage、run、start... 目录一 spring-boot-maven-plugin 插件的5个Goals二 应用场景1 重新打包应用

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、

Javaee多线程之进程和线程之间的区别和联系(最新整理)

《Javaee多线程之进程和线程之间的区别和联系(最新整理)》进程是资源分配单位,线程是调度执行单位,共享资源更高效,创建线程五种方式:继承Thread、Runnable接口、匿名类、lambda,r... 目录进程和线程进程线程进程和线程的区别创建线程的五种写法继承Thread,重写run实现Runnab

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Spring IoC 容器的使用详解(最新整理)

《SpringIoC容器的使用详解(最新整理)》文章介绍了Spring框架中的应用分层思想与IoC容器原理,通过分层解耦业务逻辑、数据访问等模块,IoC容器利用@Component注解管理Bean... 目录1. 应用分层2. IoC 的介绍3. IoC 容器的使用3.1. bean 的存储3.2. 方法注

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

Qt QCustomPlot库简介(最新推荐)

《QtQCustomPlot库简介(最新推荐)》QCustomPlot是一款基于Qt的高性能C++绘图库,专为二维数据可视化设计,它具有轻量级、实时处理百万级数据和多图层支持等特点,适用于科学计算、... 目录核心特性概览核心组件解析1.绘图核心 (QCustomPlot类)2.数据容器 (QCPDataC

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析