PointCNN原理＋代码讲解

PointCNN的动机是这样的：

P.S.作者的Github维护的很好，经常更新，而且对读者的答疑也很及时，大赞。

# Prepare featuresto be transformed

nn_fts_from_pts_0 =pf.dense(nn_pts_local_bn, C_pts_fts, tag +'nn_fts_from_pts_0',is_training)#fc1, (N, P, K, C_pts_fts)nn_fts_from_pts =pf.dense(nn_fts_from_pts_0, C_pts_fts, tag +'nn_fts_from_pt',is_training)#fc2, features, f_deltaiffts isNone: nn_fts_input = nn_fts_from_ptselse: nn_fts_from_prev = tf.gather_nd(fts,indices, name=tag +'nn_fts_from_prev') nn_fts_input = tf.concat([nn_fts_from_pts,nn_fts_from_prev], axis=-1, name=tag +'nn_fts_input')

X_1 = pf.dense(X_0,K * K, tag +'X_1', is_training, with_bn=False)#in the center point dimensional,P decrease to 1.

X_2 = pf.dense(X_1,K * K, tag +'X_2', is_training, with_bn=False, activation=None)#(N, P, 1,K*K)

X = tf.reshape(X_2,(N, P, K, K), name=tag +'X')

fts_X =tf.matmul(X, nn_fts_input, name=tag +'fts_X')

fts =pf.separable_conv2d(fts_X, C, tag +'fts', is_training, (1, K),depth_multiplier=depth_multiplier)#输出(N, P, 1, C)

returntf.squeeze(fts, axis=2, name=tag +'fts_3d')#输出(N, P, C)

• 发表于:
• 原文链接https://kuaibao.qq.com/s/20180526G0J2AW00?refer=cp_1026
• 腾讯「云+社区」是腾讯内容开放平台帐号（企鹅号）传播渠道之一，根据《腾讯内容开放平台服务协议》转载发布内容。
• 如有侵权，请联系 yunjia_community@tencent.com 删除。

2018-06-01

2018-06-26

2018-06-19

2018-05-22

2022-01-29

2022-01-29

2022-01-29