最近在研究pointnet++,由于楼主的主要场景在室外自动驾驶。所以使用了VKITTI数据集。
在50个traning set和10个test set的情况下目前分7类平均precision 91%,recall 88%。
3月28日更新:目前precision 98%, recall 95%
1 下载:
git clone https://github.com/charlesq34/pointnet2.git
2 编译:
cd pointnet2-master/tf_ops/
进入3个子文件夹运行里面的.sh文件。但是这里需要先对这些文件进行编辑。
根据自己的安装CUDA和TF版本把里面的内容进行更新,确保其中每个路径都可以找到对应的地方。并且删除最后的-D_GLIBCXX_USE_CXX11_ABI=1
3 运行:
python train.py
4月29日补:
由于下面留言的同学问了怎么加其他属性一起训练,今天正好有空看了一下。主要是2点。
1 修改train.py里面的input_dims 改成你需要的
2 在model里面把
l0_xyz = point_cloud
l0_points = None
改成
l0_xyz = tf.slice(point_cloud, [0,0,0], [-1,-1,3])
l0_points = tf.slice(point_cloud, [0,0,3], [-1,-1,N])
N是你的剩余属性个数
大概就是xyz只存点,points存属性。分开往里放。