news 2026/10/22 6:37:19

【点云】Pointet的读后感(CVPR2016):4分割网络部分

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【点云】Pointet的读后感(CVPR2016):4分割网络部分


还是先把图放上,分割网络还是相对于分类网络进行修改的,所以看了之前的分类网络的,应该就可以很容易理解分割网络部分了.分割网络先是将分类网络进行旋转归一化后的64维特征取出,再将max_pooling后的1024维特征重复concat到每个点上,相当于给每个点都增加了全局的特征,具体的网络结构如下所示:

defget_model(point_cloud,is_training,bn_decay=None):""" ConvNet baseline, input is BxNx3 gray image """batch_size=point_cloud.get_shape()[0].value num_point=point_cloud.get_shape()[1].value input_image=tf.expand_dims(point_cloud,-1)# CONVnet=tf_util.conv2d(input_image,64,[1,9],padding='VALID',stride=[1,1],bn=True,is_training=is_training,scope='conv1',bn_decay=bn_decay)net=tf_util.conv2d(net,64,[1,1],padding='VALID',stride=[1,1],bn=True,is_training=is_training,scope='conv2',bn_decay=bn_decay)net=tf_util.conv2d(net,64,[1,1],padding='VALID',stride=[1,1],bn=True,is_training=is_training,scope='conv3',bn_decay=bn_decay)net=tf_util.conv2d(net,128,[1,1],padding='VALID',stride=[1,1],bn=True,is_training=is_training,scope='conv4',bn_decay=bn_decay)points_feat1=tf_util.conv2d(net,1024,[1,1],padding='VALID',stride=[1,1],bn=True,is_training=is_training,scope='conv5',bn_decay=bn_decay)# MAXpc_feat1=tf_util.max_pool2d(points_feat1,[num_point,1],padding='VALID',scope='maxpool1')# FCpc_feat1=tf.reshape(pc_feat1,[batch_size,-1])pc_feat1=tf_util.fully_connected(pc_feat1,256,bn=True,is_training=is_training,scope='fc1',bn_decay=bn_decay)pc_feat1=tf_util.fully_connected(pc_feat1,128,bn=True,is_training=is_training,scope='fc2',bn_decay=bn_decay)print(pc_feat1)# CONCATpc_feat1_expand=tf.tile(tf.reshape(pc_feat1,[batch_size,1,1,-1]),[1,num_point,1,1])points_feat1_concat=tf.concat(axis=3,values=[points_feat1,pc_feat1_expand])# CONVnet=tf_util.conv2d(points_feat1_concat,512,[1,1],padding='VALID',stride=[1,1],bn=True,is_training=is_training,scope='conv6')net=tf_util.conv2d(net,256,[1,1],padding='VALID',stride=[1,1],bn=True,is_training=is_training,scope='conv7')net=tf_util.dropout(net,keep_prob=0.7,is_training=is_training,scope='dp1')net=tf_util.conv2d(net,13,[1,1],padding='VALID',stride=[1,1],activation_fn=None,scope='conv8')net=tf.squeeze(net,[2])returnnet

图虽然是这么画的,但是我们可以看到作者给出的网络结构并不是和图片相符合.concat的是升到1024维的特征,和经过max pooling后经过两次全连接层的feature map重复num_point后得到pc_feat1_expand.其实是和原论文放的图是不符的,这边还是需要注意一下的.

分割网络并不是说和分类网络一样,有具体的训练集和测试集.语义分割网络使用的数据集是Stanford 3D semantic parsing dataset.这个数据有6个area, 271个房间, 总共有13个类别.所以在实际训练中采用的是6折交叉验证的方法,如果LZ想测试area1,那么训练集就是area2一直到area6,如果是area2,那么训练集就是area1, area3-area6,以此类推.

O(∩_∩)O哈哈~要不要看看效果呀?
这个是ground truth…


这个是预测的结果


反正效果还是挺好的,从直观上来说…

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/22 6:36:04

TensorFlow 2线性回归实操:从可跑通到可上线的工程落地

1. 这不是教科书里的公式推导,而是能跑通、能调参、能上线的线性回归实战“TensorFlow 2 实现线性回归”——光看标题,很多人第一反应是:这不就是机器学习入门第一课?梯度下降、损失函数、权重更新,三行代码调tf.keras…

作者头像 李华
网站建设 2026/10/22 6:34:47

BitLocker磁盘加密实战:从TPM到恢复密钥的完整指南

1. 先从一次“不算事故”的事故说起我自己的主力笔记本,两年前丢过一次。机器本身不算贵,真正让人后怕的是硬盘里那份没有第二份拷贝的项目文档,还有一堆客户的联系方式。好在丢失之前我已经把所有敏感分区做了BitLocker加密,后来…

作者头像 李华
网站建设 2026/10/22 6:34:33

AI日报精选:端侧多模态、Agent框架与推理成本优化

今天是2026年10月3日,我照例早起把AI圈过去24小时的动态过了一遍。今天的AI日报没有那种“一夜之间改变世界”的炸场发布,但仔细翻下来,值得跟踪的增量信息不少:模型层出现了几个轻量级多模态新面孔,开源Agent框架放出…

作者头像 李华
网站建设 2026/10/22 6:33:57

A星融合DWA路径规划算法:移动机器人动态避障与全局导航方案

移动机器人在实际场景里做自主导航,最让人头疼的就是“环境一变就不会走了”——静态地图规划好的路线上突然冒出个行人或者临时堆放的纸箱,如果只靠全局规划算法,机器人会直直撞上去;而如果只用局部规划,又很容易在小…

作者头像 李华
网站建设 2026/10/22 6:33:52

华为云ModelArts训练部署全链路实战:7大高频故障与通关密钥

1. 这不是“云上点点鼠标”的速成课,而是模型从训练到上线的全链路实战切片“华为云ModelArts模型训练与部署:零基础考点精讲”——这个标题里藏着三个关键信号:平台限定(华为云ModelArts)、动作闭环(训练部…

作者头像 李华
网站建设 2026/10/22 6:33:02

用Claude Code从零搭建宠物生命周期管理App:AI编程全流程实操

如果你也想试试让AI从零搭一个完整的项目,而不是只写几个零散函数,这篇文应该能帮到你。我最近用Claude Code完整做出了一个宠物生命周期管理App,从建目录、设计数据库、写接口、做页面到联调测试,全程在终端里靠自然语言对话推进…

作者头像 李华