PointNet++

1,furthest point sampling or farthest point sampling

Furthest Point Sampling | Minibatch AI

def fps(points, n_samples):
    """
    points: [N, 3] array containing the whole point cloud
    n_samples: samples you want in the sampled point cloud typically << N 
    """
    points = np.array(points)
    
    # Represent the points by their indices in points
    points_left = np.arange(len(points)) # [P]

    # Initialise an array for the sampled indices
    sample_inds = np.zeros(n_samples, dtype='int') # [S]

    # Initialise distances to inf
    dists = np.ones_like(points_left) * float('inf') # [P]

    # Select a point from points by its index, save it
    selected = 0
    sample_inds[0] = points_left[selected]

    # Delete selected 
    points_left = np.delete(points_left, selected) # [P - 1]

    # Iteratively select points for a maximum of n_samples
    for i in range(1, n_samples):
        # Find the distance to the last added point in selected
        # and all the others
        last_added = sample_inds[i-1]
        
        dist_to_last_added_point = (
            (points[last_added] - points[points_left])**2).sum(-1) # [P - i]

        # If closer, updated distances
        dists[points_left] = np.minimum(dist_to_last_added_point, 
                                        dists[points_left]) # [P - i]

        # We want to pick the one that has the largest nearest neighbour
        # distance to the sampled points
        selected = np.argmax(dists[points_left])
        sample_inds[i] = points_left[selected]

        # Update points_left
        points_left = np.delete(points_left, selected)

    return points[sample_inds]

2,PointNet

PointNet

https://www.youtube.com/watch?v=Ew24Rac8eYE&ab_channel=%E5%B0%86%E9%97%A8-TechBeat%E6%8A%80%E6%9C%AF%E7%A4%BE%E5%8C%BA

https://medium.com/@luis_gonzales/an-in-depth-look-at-pointnet-111d7efdaa1a 

Point cloud classification with PointNet 

https://github.com/luis-gonzales/pointnet_own 

细嚼慢咽读论文:PointNet论文及代码详细解析 - 知乎 

3,PointNet++

PointNet++ 

GitHub - dgriffiths3/pointnet2-tensorflow2: Pointnet++ modules implemented as tensorflow 2 keras layers. 基于PyTorch实现PointNet++ - 知乎

GitHub - HarborZeng/pointnet2-keras: pointnet2 implemented using keras and tensorflow 

Colab上运行pointnet++-小黄鸭花生屋 

GitHub - yangyanli/PointCNN: PointCNN: Convolution On X-Transformed Points (NeurIPS 2018) 

搞懂PointNet++,这篇文章就够了! - 知乎 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值