点云数据增强方法 物体随机缩放,点云数据的每个点的(x,y,z)数值大小在[scale_low,scale_high]之间随机改变,点云数据所有点的坐标值(x,y,z)同时加(减)一个数,实现物体的平移。4 在XYZ上加高斯噪声。
运行RSCNN 困难主要来自于 torch 0.4的安装,其要求低版本的cuda,进而要求低版本的显卡。相近版本的软件(cuda, torch)是可以兼容的,但是版本相差太大应该不行。环境,徐黄机器 980显卡, cuda8.0,torch 0.4, python 3.7.16。
常用函数合集 输入:需要可视化的点云,需要特殊显示的点的坐标。input: 绕x,y,z轴的旋转角度。output: 对应的旋转矩阵。使用pyvista库可视化点云。根据旋转向量得到旋转矩阵。输入:点云坐标,输出文件名。输出:点云对应的obj文件。
tensorflow2 调用循环内存逐渐占满 在meshwalker上进行梯度迭代的攻击,需要循环计算loss 对 输入的梯度,但是每次循环都会使内存(不是显存)占用增加,最终内存被填满,程序被杀死。原因: tensorflow中每个操作(加减乘除)都会被添加为计算节点,每次循环都会增加新的计算节点,导致内存增加。每进行一次 step 循环内存占用都会增加一点。
编译3d-adv-pc-master中的tf_nndistance_compile.sh 这是需要在/home/wh/anaconda3/envs/tf/lib/python3.6/site-packages/tensorflow路径中找到libtensorflow_framework.so.2文件,并将其更名为libtensorflow_framework.so 之后再改回 libtensorflow_framework.so.2即可编译成功。因为使用的是anaconda,所以tensorflow的路径和原始文件给出的是不同的。编译过程中可能会出现。
win中运行meshcnn的一些报错 meshcnn 要求的 环境为torch1.2+cuda10我用的是torch1.11+cuda11.1也是可以运行的运行中的错误TypeError: can‘t convert np.ndarray of type numpy.object_.The only supported types are:出现在这里 def set_input(self, data): input_edge_features = torch.from_numpy(edge).float()原
三维空间中旋转两个面使其平行python代码 三维空间中旋转两个面使其平行: 平面的法向量代表这个面的方向,只需要求解两个法向量的旋转矩阵即可。如果输出的两个面的法向量的夹角为0 或 3.14(近似为)则成功。#归一化def normal(vertex): _range = np.max(vertex) - np.min(vertex) vertex = (vertex - np.min(vertex)) / _range return vertex#罗德里格斯公式def rodrigues_rotation(r,
point cloud saliency map在rscnn上的实现 pointcloud saliency map的源代码是使用tensorflow实现的,将其移植到pytorch(0.4.1)版本的RSCNN。环境:unbuntu16.04+cuda9.0+cudnn7.6+pytorch0.4.1+torchvizion0.2.2实现代码:// input :点云 分类模型 标签//output: 丢弃高分点后的点云def drop_points(pointclouds_pl, model, target): pointclouds_pl_adv_
点云赋值时颜色的均衡化 根据具体任务给点云每个点打分之后(比如saliency map),如果直接使用热力图给点赋值的效果此时的直方图为参考图像领域的直方图均衡化,效果如下:直方图如下:代码:import matplotlib.pyplot as pltimport matplotlib as mplfrom matplotlib.ticker import FuncFormatterfrom skimage import data,exposureimport pyvista as pv #点云可视化库