相关文章推荐
活泼的领结  ·  数据类型 - Tableau·  3 月前    · 
仗义的人字拖  ·  List<t>.Add(T) 方法 ...·  4 月前    · 
强悍的核桃  ·  Java Hive UDTF ...·  1 年前    · 

自监督学习

A survey on Semi-, Self- and Unsupervised Techniques in Image Classification (Similarities, Differences & Combinations)

3D注释:

密集的手部扫描,模型拟合的参数化手部网格,人类注释的3D关节

在一些应用中,手部纹理也需要注意

大部分方法重建3D手需要在训练时进行3D注释(贵)

本文: Model-based 3D Hand Reconstruction via Self-Supervised Learning

提出S2HAND, 估算姿势、形状、纹理、相机视角

从图中获得几何线索通过2D的监测关键点

几何线索(geometric cues)2D,3D表征的一致性,

深度模糊性:图像深度差和模糊度的关系

  • 深度图像:

图像采集器到场景中各点的距离(深度)作为像素值的图像

应用:三维重建、姿态估计、目标检测、人体感应、图像分割、SLAM、前景提取、目标跟踪

获取方法:结构光、ToF、双目

  • RGB-D图像

noisy detected 2D key points

稀疏关节的手势是不够的,需要三角网格,要么通过回归每顶点坐标,要么通过变形参数化的手势模型

  • 一些方法总结:3DJ关节 / 3DM网格 / TI一组清晰手部纹理图 / 2DKP / 2DS剪影 / D深度 / D2DKP检测的2D关键点 / Syn额外合成序列数据 / Mo额外动作捕捉数据

2D注释也费人力,所以本文从未标注的图片上抓取几何表征去shape construction,不使用人为的注释

目标 :准确、稳健的3D手部重建网络

现成的二维关键点监测点,有noise,加上input image进行监督重建

  1. 联合二维关键点 -》 不适定的单目3D?
  2. 没有ground-truth, 怎么处理2D检测的输出里的噪音?

1.基于模型的自动编码器,估计3D关节和形状

编码器输出3D关节 -> 投影到图像空间,训练时与关键点对齐

只对齐关键点无效手势,二维关键点不能减少尺度模糊性,所以添加先验因素

2.二维关键点估计器,新的2D-3D一致性损失

损失结合二维关键点估计器和三维重建网络

不同样本检测精度差异性大 - 》 区分开来,权衡监督力度

相关工作:

参数化模型

图像特征编码阶段couple with 基于模型的解码阶段,自动编码器

3d手部姿势和形状估计的监督有限,二维注解很难处理深度和比例的模糊

【8】深度图进行额外的弱监督,加强二维监督

【37】生物力学约束帮助网络输出可行的三维手部配置

自监督的三维手势估计方法;使用三维脸部的可变性模型(3DMM)脸部重建方法

手部自监督的三维重建:手相比于脸,不平坦不对称

方法实现:

MANO:姿势形状参数映射到三角形网格上,低维参数化模型,从两千多个三维手部扫描中学习

二维关键点估计器,用于联合二维关键点估计,被检测二维关键点监督 -》 促进3d重建

直观的自动编码器进行证明自监督框架的可行性

在皮肤上添加约束进行生物力学可行性

证明(有噪音的)二维监督的可行性

自我监督训练中建立的纹理模型是否有助于形状分析

深度手部编码:

使用EfficientNet-b0骨干网,编码为几何语义代码向量x,纹理语义向量y

θ, β, s, R, T . 姿势,形状,范围,旋转角度,转变 .手部纹理,场景亮度 生成相机空间的有纹理的三维手部模型 基于模型的手部解码:

姿势和形状表示,手部表面是流形三角形网格M≡(V, F),n=778,V顶点V = {vi∈R3|1 ≤ i ≤ n},面F表示顶点在手面中的连接

网格拓扑mesh topology, a set of k = 21 joints,三维关节J可以从网格三维图中得到

手部网格和关节是通过MANO从姿势、形状向量恢复出来,目前是在hand-relative坐标系中,要表示在camera坐标系中,需要

几何对齐:基于检测到二维关键点的几何配准损失Egeo,其中Eloc使用SmoothL1损失,对局部调整更加稳健,因为探测关键点与MANO关键点的拟合程度不高

测光一致性:渲染的彩色图像与输入的I前景手相吻合Ephoto

正则化条款:Eregu

2D-3D一致性:Econ

评估数据集: FreiHAND、HO-3D

MPJPE:每个关节的平均位置误差

AUC:曲线下面积

PCK:正确的关键点百分比

更高的网格重建性能,结果更准确

三维重建网络在ImageNet上预训练,二维关键点估计器和二维-三维损失器选择性使用

总结成果:

精确输出3D关节、网状结构、纹理;额外的可训练的二维关键点估计器;手部纹理学习模块;基准测试,性能与完全监督学习相当

重建网络在来自二维手部关键点检测的嘈杂监督源下表现良好,同时
能够从单视角手部图像中获得准确的三维手部重建。
单视角的手部图像中获得准确的三维手部重建。

实验结果表明实现了与先进的完全监督方法相媲美的性能。

至于未来的研究,有可能将参数化的手部网格扩展到其他表示(例如,有符号的距离函数),以获得更详细的手部表面表示。

单视图监督不力,在极端姿势、严重遮挡等情况下准确度很低,可能是二维关键点监督不力

更准确的皮肤反射建模可以帮助手部重建更高的保真度。

消融实验 说明纹理建模对于形状重建有明显改善,可能是皮肤反射模拟不准确

自监督学习A survey on Semi-, Self- and Unsupervised Techniques in Image Classification (Similarities, Differences &amp; Combinations)3D注释:密集的手部扫描,模型拟合的参数化手部网格,人类主食的3D关节在一些应用中,手部纹理也需要注意大部分方法重建3D手需要在训练时进行3D注释(贵)本文:S2HAND, 估算姿势、形状、纹理、相机视角从图中获..
Generally, image- based evaluat ion on the performance of textile app ear ance such as smoothness and pilling was interfer ed by fabric pattern, color, and illuminat ion . In this paper, a new method was us ed to re const ruct a 3D surface of fabric based on image's features which could eliminate the influence of surface texture. Concretely, two parallel-plac ed digital cameras were calibrat ed based on planar pattern and the captur ed binocular images were rectifi ed through epipolar line. The feature points
目前, 主流的手部姿态估计的技术方案是使用马普所于2017年提出的 MANO 参数化模型, 在此基础上回归 3D 坐标, 这是因为 MANO 有很合理的结构以及定义好的前向动力学树。本文的目的在于为大家介绍,基于 MANO 的手部姿态估计的流程:包括并不限于: 数据处理, MANO 的推理流程(与论文对齐),手的解剖学和生物学特点。 1. 什么是手部姿态估计? 我理解的 手部姿态估计( hand pose estimat ion ) 是: 同人体姿态估计一样, 是给定一张手部特写图片,估计其姿态(2D/ 3D keypoint)的.
文章目录AbstractIntroduct ion Underlying conceptsL ear ning strategiesTechniques自恰正则化 Consistency regularizat ion Overclusteringpseudo-labels【29】 Abstract fundamental issue: lack of such an amount of label ed trai ning data. 三个主要趋势: SOTA方法基于其准确性可以拓展到现实应用 为获得与使用所有标签可比
弱监督学习的精确 3D 人脸 重建 :从单个图像到图像集 这是以下论文的tensorflow实现: 邓Y,杨J.徐S.徐D.陈Y贾和X.童,,IEEE计算机视觉和模式识别研讨会( CVPRW),《关于面Kong和 手势 的分析和建模》(AMFG),2019年。(最佳论文奖! ) 该方法对基于CNN的 3D 人脸 重建 实施了混合级别的弱监督训练。 姿势和咬合快速,准确且鲁棒。 它可以在FaceWarehouse,MICC Florence和BU- 3D FE等多个数据集上实现最先进的性能。 培训代码现已发布! ●准确的形状 该方法以高精度 重建 脸部。 在多个基准上的定量评估(以mm为单位的形状误差)显示了其最新的性能: FaceWareHouse BU 3D FE 2.19±0.54 1.84±0.38 1.77±0.53
无监督图像分类技术 1.基于 深度学习 参考论文:A survey on Semi-, Self - and Un super vis ed Techniques in Image Classificat ion 1.1 目标 leverage unlabel ed data in numerous ways: semi- super vis ed self - super vis ed weakly- super vis ed or metric l ear ning makes the trai ning with few lab
### 回答1: Python-PCL是一个Python绑定库,它提供了对PointCloud库的访问。点云网格化算法是将点云数据进行处理后生成一张网格表面的算法。网格化可以使点云数据更容易可视化、分析和处理。Python-PCL点云网格化算法可以将点云数据分割成均匀分布的三角形网格,并构建一个平滑的网格表面。 Python-PCL点云网格化算法的主要步骤包括: 1.加载点云数据并将其转换为PointNormal格式,以便于法线估计和网格化操作。 2.对点云数据进行法线估计。该过程使用一种求点云曲率的技术,将每个点的法线计算出来,并保存在其对应的点中。 3.将法线信息与点云数据结合,构建一个SurfaceRe const ruct ion 3D 对象来执行网格化操作。在这个过程中,算法使用一个梯度下降优化算法,将点云数据映射到一个均匀分布的三角形网格上。优化约束条件限制每个三角形的边长,使网格表面更加平滑。 4.最后根据三角形间的相交情况对网格进行修复,并输出网格数据。在这个过程中,算法检查每个三角形是否与其他三角形相交,并尝试通过联通、压缩网格等修复操作,使网格曲面更加平滑。 Python-PCL点云网格化算法是一种实现点云数据可视化、处理和分析的有效工具。在 3D 打印、机器人视觉和虚拟现实等领域都有广泛的应用。 ### 回答2: Python-PCL是一个Python的PCL(点云库)封装库,允许用户在Python中使用PCL中的众多算法。点云网格化算法就是Python-PCL之中的一个非常重要的算法。 点云网格化算法是将点云数据转化为网格表示的过程,在这个过程中,将点云数据转换为一个等间距的二元矩阵表示。由于点云数据是一个由众多点组成的体,因此,这个矩阵是被空缺的网格填充而成的。在这个过程中,点云数据通过多次计算,不断地从自由形状变为一种规则形状,从而提高点云数据的处理效率。 点云网格化算法是通过点云曲面重构的算法实现的。曲面重构算法能够将点云数据转化为一个规则的几何模型,从而为相关应用提供了非常大的便捷,因此,点云网格化算法的应用非常广泛,例如:机器视觉,三维打印等方面。在Python-PCL的应用中,点云网格化算法的实现基于VTK( Vis ualizat ion ToolKit)工具包,通过VTK包中的vtkPolyDataMapper类实现点云网格化。 点云网格化算法的实现需要通过多次迭代计算,使点云数据沿着均匀分布的空间方向发生变化,从而最终能够得到一种规则的几何形状。在实际应用中,点云数据可能会受到很多干扰,例如:噪音、数据不完整等因素,这对点云网格化算法的计算效率提出了非常高的要求,因此,Python-PCL提供了一系列优化的算法来满足实际应用的需求。 ### 回答3: Python-PCL是Point Cloud Library的Python封装库,提供了一组Python模块,可以在Python中使用PCL的功能。PCL是一个C++库,是开发点云处理算法和应用的一流工具,具有许多点云处理功能,如配准、滤波、分割、聚类、特征提取和识别等。 点云网格化是一种将点云转化为网格模型的技术。在点云数据中,所有的点都是离散的,而在网格模型中,点是有序的,因此点云网格化是将离散的点云数据转换为有序的网格数据的过程。 Python-PCL库提供了函数pcl.surface包来执行点云到三角网格转换,使用点云同步方法定义的半径搜索方式构建三角网格。 下面是一个简单的例程,它将点云转换为三角网格: ```python import pcl cloud = pcl.PointCloud.PointXYZRGB() mesh = cloud.make_mesh_cuboid() print('PointCloud before meshing') print(cloud) print('PointCloud after meshing') print(mesh.cloud) print(mesh.polygons) 该例程首先定义了一个PointCloud对象,然后使用make_mesh_cuboid()函数将其转换为三角网格。最后,程序将输出PointCloud以及转换后的mesh。由于make_mesh_cuboid()函数是在一个立方体形状上生成网格对象,因此输出结果可能会有所不同。 总体而言,Python-PCL是一个非常强大的工具,它为Python程序员提供了使用点云数据处理的功能。尤其是对于点云网格化算法,Python-PCL提供了一个方便的方式来将点云数据转换为有序的网格数据。这个库是在点云领域做开发非常有帮助的,它为点云的开发和应用提供了大量的可靠和高效的处理工具。