当前位置:网站首页>【点云系列】Unsupervised Multi-Task Feature Learning on Point Clouds
【点云系列】Unsupervised Multi-Task Feature Learning on Point Clouds
2022-04-23 06:11:00 【^_^ 晅菲】
1. 概要
题目:Unsupervised Multi-Task Feature Learning on Point Clouds
论文:https://openaccess.thecvf.com/content_ICCV_2019/papers/Hassani_Unsupervised_Multi-Task_Feature_Learning_on_Point_Clouds_ICCV_2019_paper.pdf
2. 动机
传统手工设计特征主要捕获局部或全局统计属性,无法表征语义特性。
是否有一个针对需要语义特性这类任务的通用特征呢?
于是本文 提出了一个可以针对非监督多任务模型的特征表达,基于多尺度图的编码器。可端到端训练。
3. 算法
针对三个非监督学习任务:
- 聚类
- 重构
- 自监督分类
整体框架:
解码器: 多层尺度的(图卷积 + 卷积 + 池化)+ 扰动高斯噪声
本质上适用多任务,也是因为用了这些任务的损失来一起进行训练了,自然有了这个功能。
图卷积定义: 其实就是两个点之间的残差了;


算法描述:
训练集: S = { s 1 , s 2 , . . . , s N } S=\{s_1, s_2, ..., s_N\} S={
s1,s2,...,sN},N个点。
一个点: s i = { p 1 i , p 2 i , . . , p M 1 } s_i =\{ p^i_1, p^i_2, .., p^1_M\} si={
p1i,p2i,..,pM1}, M个无序点, p j i = ( x j i , y j i , z j i ) p^i_j=(x^i_j, y^i_j, z^i_j) pji=(xji,yji,zji)仅包括坐标
编码器: E θ : S ( R M × d i n ) → Z ( R d z ) E_{\theta}: S (\mathbb{R}^{M\times d_{in}})\rightarrow Z (\mathbb{R}^{d_z}) Eθ:S(RM×din)→Z(Rdz), d z d_z dz 远大于 d i n d_in din
为了学习非监督多任务的 θ \theta θ,设计以下三个参数函数:
聚类函数 T c : Z → y \Tau_c:Z \rightarrow y Tc:Z→y,将隐码归类到 K K K个类别当中,其中 y = [ y 1 , y 2 , . . . , y n ] y=[y_1, y_2, ...,y_n] y=[y1,y2,...,yn], y i ∈ { 0 , 1 } K y_i\in\{0,1\}^K yi∈{
0,1}K, 且 y n T 1 k = 1 y^T_n \mathbf{1}_k=1 ynT1k=1。
分类函数 f ψ : Z → y ^ f_\psi: Z \rightarrow \hat{y} fψ:Z→y^, 聚类后的类别预测,换言之,分类函数将隐变量映射到K个预测类 y ^ = [ y 1 ^ , y 2 ^ , . . . , y n ^ ] \hat{y}=[\hat{y_1}, \hat{y_2}, ...,\hat{y_n}] y^=[y1^,y2^,...,yn^],且 y i ^ ∈ { 0 , 1 } K \hat{y_i}\in\{0,1\}^K yi^∈{
0,1}K。该函数使用由聚类函数产生的伪标签作为代理训练数据。
解码器函数: g ϕ : Z ( R d z ) → S ^ ( R M × d i n ) g_\phi: Z(\mathbb{R}^{d_z}) \rightarrow \hat{S} (\mathbb{R}^{M\times d_{in}}) gϕ:Z(Rdz)→S^(RM×din),将隐变量重构回点云。如果仅使用聚类损失则会是的特征聚成单类,该函数的设计防止最后聚成了单类。
训练损失:
-
聚类损失: 本质上是在学习聚类中心矩阵: C ∈ R d z × K C\in \mathbb{R}^{d_z \times K} C∈Rdz×K, z n = E θ ( s n ) z_n=E_\theta(sn) zn=Eθ(sn), y n T 1 k = 1 y^T_n\mathbf{1}_k=1 ynT1k=1。其中,初始化 聚类中心矩阵为随机,是epoch更新的。

-
分类损失:交叉熵衡量, y n = T c ( z n ) y_n=\Tau_c(z_n) yn=Tc(zn), y ^ n = f ψ ( z n ) \hat{y}_n=f_\psi(z_n) y^n=fψ(zn)。

-
重构损失:CD距离。 s ^ n = g ϕ ( z n ) \hat{s}_n=g_\phi (z_n) s^n=gϕ(zn)是重构的点集, s n s_n sn是GT。 N N N:训练集数量; M M M:在每个点集当中的点数量。

最终损失: 上面3个损失的加权求和

具体描述流程如下图算法1所示:

4. 实验
模型收敛:88个类,实际55类别。
聚类可视化图如下:

在分类任务上,非监督与监督方法的比较: 在非监督方法里效果还是不错的;

半监督分割任务上的效果: 5%的训练集效果还是挺不错;

分割任务效果:

Encoder的作用,在分类任务上进行测试: 其实这里貌似在说,复杂的Encoder对重构后的提升并没有特别大,多类任务的提升是非常大的。

消融实验: 重构任务是关键,加上分类的效果>聚类的效果,因为这里聚类其实也是为了进一步用于分类,实现所谓的非监督。

5.结论及思考
失败案列:
- 适用K-Means来对聚类中心进行初始化,但并没有随机聚类中心方法有所提升;
- 在decoder和分类模型上适用soft共享参数机制,发现效果有所降低,因此将两者分离开来;
- 尝试迭代更多图卷积层,在每一层都重新计算近邻,发现这对分类与分割都不利;
版权声明
本文为[^_^ 晅菲]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43882112/article/details/108547694
边栏推荐
- 深度学习模型压缩与加速技术(一):参数剪枝
- Viewpager2 realizes Gallery effect. After notifydatasetchanged, pagetransformer displays abnormal interface deformation
- MySQL notes 4_ Primary key auto_increment
- cmder中文乱码问题
- MySQL5.7插入中文数据,报错:`Incorrect string value: ‘\xB8\xDF\xAE\xF9\x80 at row 1`
- Compression and acceleration technology of deep learning model (I): parameter pruning
- 【2021年新书推荐】Professional Azure SQL Managed Database Administration
- MySQL notes 2_ data sheet
- 去掉状态栏
- MySQL笔记3_约束_主键约束
猜你喜欢
![[2021 book recommendation] artistic intelligence for IOT Cookbook](/img/8a/3ff45a911becb895e6dd9e061ac252.png)
[2021 book recommendation] artistic intelligence for IOT Cookbook

谷歌AdMob广告学习

Personal blog website construction

第1章 NumPy基础

Google AdMob advertising learning

第4章 Pytorch数据处理工具箱
![[2021 book recommendation] Red Hat Certified Engineer (RHCE) Study Guide](/img/36/1c484aec5efbac8ae49851844b7946.png)
[2021 book recommendation] Red Hat Certified Engineer (RHCE) Study Guide

winform滚动条美化

1.1 PyTorch和神经网络

C language, a number guessing game
随机推荐
adb shell常用模拟按键keycode
机器学习 三: 基于逻辑回归的分类预测
WebView displays a blank due to a certificate problem
Bottom navigation bar based on bottomnavigationview
Android room database quick start
Cause: dx. jar is missing
1.2 初试PyTorch神经网络
Tiny4412 HDMI display
DCMTK(DCM4CHE)与DICOOGLE协同工作
Recyclerview batch update view: notifyitemrangeinserted, notifyitemrangeremoved, notifyitemrangechanged
[Andorid] 通过JNI实现kernel与app进行spi通讯
org. xml. sax. SAXParseException; lineNumber: 141; columnNumber: 252; cvc-complex-type. 2.4. a: Found element 'B
第2章 Pytorch基础1
./gradlew: Permission denied
扫雷小游戏
MySQL数据库安装与配置详解
[2021 book recommendation] kubernetes in production best practices
PyTorch训练一个网络的基本流程5步法
【2021年新书推荐】Red Hat RHCSA 8 Cert Guide: EX200
winform滚动条美化