CVPR 2020: 移动端机器学习的研究实现

2024-06-21 08:48

本文主要是介绍CVPR 2020: 移动端机器学习的研究实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”


作者:Derrick Mwiti

编译:ronghuaiyang

导读

边缘设备上的机器学习是未来的一大方向。

在最近结束的2020年CVPR会议上,有很多优秀的计算机视觉研究。在本文中,我们将重点关注与移动或与边缘计算相关的任务和内容。虽然并非所有这些论文都直接接触到移动相关的应用,但它们对移动端机器学习的影响是巨大的。它们推动了通常在移动设备和边缘设备上执行的ML任务,因此它们的进步对推动行业向前发展至关重要。

智能手机摄影的感知质量评估

本文作者对智能手机摄影的感知质量评估进行了深入的研究。他们还引入了智能手机摄影属性和质量(SPAQ)数据库。该数据库包含66部智能手机拍摄的11,125张照片。每个图像都有丰富的标注信息。

论文地址:http://openaccess.thecvf.com/content_CVPR_2020/html/Fang_Perceptual_Quality_Assessment_of_Smartphone_Photography_CVPR_2020_paper.html

作者还收集了人们对每张图片的看法。收集的一些信息包括图像质量、图像属性、图像属性和场景类别标签。为了进行更深入的分析,他们还记录了每张图像的可交换图像文件格式(EXIF)。然后,他们使用数据库训练由基线和多任务深度神经网络构建的盲图像质量评估(BIQA)模型。得到的结果让我们了解到:

  • 如何用EXIF数据,图像属性,和高级语义与图像质量交互

  • 如何设计下一代BIQA模型

  • 更好的计算摄影系统可以如何优化移动设备

BIQA模型和数据库可以在这里找到

这是一个图像质量评估 — IQA — 相机畸变数据集的比较。

分类级的多关节物体姿态估计

本文研究了单深度图像中分类级的多关节物体的姿态估计问题。他们提出了一种分类级的方法,其中包括在训练中未见过的物体实例。他们为给定类别中的不同关节对象引入了一种规范表示 —— 支持关节的标准化坐标空间层次结构(ANCSH)。

论文:http://openaccess.thecvf.com/content_CVPR_2020/html/Li_Category-Level_Articulated_Object_Pose_Estimation_CVPR_2020_paper.html

该表示构造了规范的物体空间和一组规范的部件空间,以实现类内泛化。进一步,作者开发了一个基于PointNet++的深度网络:

该网络从单深度点云预测ANCSH。通过使用规范化的关节,作者实现了:

  • 使用关节诱导的运动学约束改进部分姿态和尺度估计的性能

  • 摄像机空间联合参数估计精度高

下图是联合参数估计的对比。

KFNet:使用卡尔曼滤波学习瞬时摄像机重新定位

与单镜头重定位通过聚焦静止图像来估计姿态不同,瞬时相机重定位根据序列中每一帧视频来估计姿态。本文旨在提高时域再定位方法的姿态估计能力。

论文:http://openaccess.thecvf.com/content_CVPR_2020/html/Zhou_KFNet_Learning_Temporal_Camera_Relocalization_Using_Kalman_Filtering_CVPR_2020_paper.html

他们通过使用一个网络架构来实现这一点,该架构包含了用于在线相机重新定位的Kalman filtering (KFNet)。网络的设计和损失是基于贝叶斯学习背景下的卡尔曼滤波。

代码:https://github.com/zlthinker/KFNet

KFNet弥补了瞬时性和一次性定位方法之间的性能差距。作者还提出了一个统计评估工具,使KFNet能够在线自我检查潜在的异常值预测。

下面是不同重定位方法的中值平移和旋转误差的可视化结果。

这是一次one-shot和瞬时的准确度的比较。

EventCap:使用事件摄像机单目3D捕捉高速人体运动

本文提出了一种利用单镜头进行人体运动高速三维捕捉的方法EventCap。利用基于模型的优化和基于cnn的人体姿态估计捕获高频运动细节。

论文:http://openaccess.thecvf.com/content_CVPR_2020/html/Xu_EventCap_Monocular_3D_Capture_of_High-Speed_Human_Motions_Using_an_CVPR_2020_paper.html

作者能够捕捉毫秒分辨率的快速运动,与使用高帧率视频相比,具有更高的数据效率。

在联合优化框架中,利用事件流和来自事件摄像机的低帧率强度图像流,设计了一种运动捕捉算法。这在以下阶段发生:

  • 在二维空间异步跟踪事件,重建相邻亮度图像帧之间的连续时空事件轨迹。

  • 估计人体的3D运动使用基于批处理的优化算法。

  • 根据从异步事件流接收到的边界信息精炼捕获的高速运动。

通过利用跟踪的事件轨迹和基于cnn的二维和三维姿态估计强度图像来解决漂移问题。

作者还提出了一个基于事件相机的快速人体动作捕捉评价数据集。

本文将几种方法在跟踪精度和数据吞吐量方面与本文提出的方法进行比较。

RetinaFace: Single-Shot多层次人脸定位

提出了一种single-shot、多层次的人脸定位方法。他们还对WIDER FACE dataset手工标注了五个人脸landmarks,对WIDER FACE,AFLW,FDDB等数据集采用半自动pipeline为人脸图像生成三维顶点。

将人脸 bounding box预测、二维人脸landmark定位和三维顶点回归相结合,实现了图像平面上的点回归。他们还提出了一种学习策略来训练一种统一的、多层次的人脸定位方法,该方法可以同时预测人脸 bounding box、五个2D人脸landmark和1K个3D顶点。

FReeNet: 多重身份人脸重现

本文提出了一个基于多重身份的人脸重构框架 —— FReeNet。它可以通过共享的模型将来源的脸部表情转移到另一张脸部。框架由两部分组成:

  • 统一Landmark转换器(ULC),采用编码器 — 解码器的架构,在一个潜在的landmark空间转换表情。这减少了源图像和目标图像之间的面部轮廓的差距。

  • 几何感知发生器(GAG)使用转换的landmark重新制定照片真实的形象,给定目标人脸作为参考。

论文:http://openaccess.thecvf.com/content_CVPR_2020/html/Zhang_FReeNet_Multi-Identity_Face_Reenactment_CVPR_2020_paper.html

作者还提出了一个新的triplet感知损失,使GAG模块同时学习外观和几何信息。这丰富了重现图像的面部细节。这种损失是由triplet损失和感知损失相结合而形成的。

人脸重现面临两个主要挑战:首先,通过统一的网络实现多身份面部表情的转换,其次,在保持姿势、色调和光照的同时,再现逼真的、身份一致的目标人脸。

源人脸和目标人脸之间的轮廓差距也构成了严重的挑战。为了解决这些难题,作者使用了一个landmark探测器来将人脸编码到潜在的landmark空间中。

利用landmark转换模块将源图像转换为潜在landmark空间中的目标人物。几何感知生成器从转换后的landmark空间中提取几何信息,从转换后的landmark空间中提取外观信息。并从参考人物中提取外观信息,重现目标人脸。

通过本文方法得到的一些结果如下:

最后的想法

如果这些论文引起了你的兴趣,那你就走运了!如果你想进一步了解的话,还有很多其他的资源:https://openaccess.thecvf.com/CVPR2020

—END—

英文原文:https://heartbeat.fritz.ai/cvpr-2020-research-with-mobile-ml-implications-fb63a1d06b25

请长按或扫描二维码关注本公众号

喜欢的话,请给我个好看吧

这篇关于CVPR 2020: 移动端机器学习的研究实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

基于Python实现一个图片拆分工具

《基于Python实现一个图片拆分工具》这篇文章主要为大家详细介绍了如何基于Python实现一个图片拆分工具,可以根据需要的行数和列数进行拆分,感兴趣的小伙伴可以跟随小编一起学习一下... 简单介绍先自己选择输入的图片,默认是输出到项目文件夹中,可以自己选择其他的文件夹,选择需要拆分的行数和列数,可以通过

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Python使用pip工具实现包自动更新的多种方法

《Python使用pip工具实现包自动更新的多种方法》本文深入探讨了使用Python的pip工具实现包自动更新的各种方法和技术,我们将从基础概念开始,逐步介绍手动更新方法、自动化脚本编写、结合CI/C... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

在Linux中改变echo输出颜色的实现方法

《在Linux中改变echo输出颜色的实现方法》在Linux系统的命令行环境下,为了使输出信息更加清晰、突出,便于用户快速识别和区分不同类型的信息,常常需要改变echo命令的输出颜色,所以本文给大家介... 目python录在linux中改变echo输出颜色的方法技术背景实现步骤使用ANSI转义码使用tpu

Python使用python-can实现合并BLF文件

《Python使用python-can实现合并BLF文件》python-can库是Python生态中专注于CAN总线通信与数据处理的强大工具,本文将使用python-can为BLF文件合并提供高效灵活... 目录一、python-can 库:CAN 数据处理的利器二、BLF 文件合并核心代码解析1. 基础合

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

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

golang版本升级如何实现

《golang版本升级如何实现》:本文主要介绍golang版本升级如何实现问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录golanwww.chinasem.cng版本升级linux上golang版本升级删除golang旧版本安装golang最新版本总结gola

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

Mysql实现范围分区表(新增、删除、重组、查看)

《Mysql实现范围分区表(新增、删除、重组、查看)》MySQL分区表的四种类型(范围、哈希、列表、键值),主要介绍了范围分区的创建、查询、添加、删除及重组织操作,具有一定的参考价值,感兴趣的可以了解... 目录一、mysql分区表分类二、范围分区(Range Partitioning1、新建分区表:2、分

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU