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

相关文章

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Java覆盖第三方jar包中的某一个类的实现方法

《Java覆盖第三方jar包中的某一个类的实现方法》在我们日常的开发中,经常需要使用第三方的jar包,有时候我们会发现第三方的jar包中的某一个类有问题,或者我们需要定制化修改其中的逻辑,那么应该如何... 目录一、需求描述二、示例描述三、操作步骤四、验证结果五、实现原理一、需求描述需求描述如下:需要在

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2