All Projects → alvinwan → pc2vid

alvinwan / pc2vid

Licence: Apache-2.0 License
converts set of point clouds to a video using three.js

Programming Languages

HTML
75241 projects
python
139335 projects - #7 most used programming language
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to pc2vid

cloud to map
Algorithm that converts point cloud data into an occupancy grid
Stars: ✭ 26 (+44.44%)
Mutual labels:  point-cloud
awesome-lidar
😎 Awesome LIDAR list. The list includes LIDAR manufacturers, datasets, point cloud-processing algorithms, point cloud frameworks and simulators.
Stars: ✭ 217 (+1105.56%)
Mutual labels:  point-cloud
pointnet2 semantic
A pointnet++ fork, with focus on semantic segmentation of differents datasets
Stars: ✭ 69 (+283.33%)
Mutual labels:  point-cloud
CurveNet
Official implementation of "Walk in the Cloud: Learning Curves for Point Clouds Shape Analysis", ICCV 2021
Stars: ✭ 94 (+422.22%)
Mutual labels:  point-cloud
graspnet-baseline
Baseline model for "GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping" (CVPR 2020)
Stars: ✭ 146 (+711.11%)
Mutual labels:  point-cloud
lowshot-shapebias
Learning low-shot object classification with explicit shape bias learned from point clouds
Stars: ✭ 37 (+105.56%)
Mutual labels:  point-cloud
cpnet
Learning Video Representations from Correspondence Proposals (CVPR 2019 Oral)
Stars: ✭ 93 (+416.67%)
Mutual labels:  point-cloud
record3d unity demo
iPhone X -> Unity VFX Graph demo (real-time Point Cloud streaming)
Stars: ✭ 80 (+344.44%)
Mutual labels:  point-cloud
self-sample
Single shape Deep Point Cloud Consolidation [TOG 2021]
Stars: ✭ 33 (+83.33%)
Mutual labels:  point-cloud
Iterative-Closest-Point
Implementation of the iterative closest point algorithm. A point cloud is transformed such that it best matches a reference point cloud.
Stars: ✭ 101 (+461.11%)
Mutual labels:  point-cloud
volumentations
Augmentation package for 3d data based on albumentaitons
Stars: ✭ 26 (+44.44%)
Mutual labels:  point-cloud
urban road filter
Real-time LIDAR-based Urban Road and Sidewalk detection for Autonomous Vehicles 🚗
Stars: ✭ 134 (+644.44%)
Mutual labels:  point-cloud
BtcDet
Behind the Curtain: Learning Occluded Shapes for 3D Object Detection
Stars: ✭ 104 (+477.78%)
Mutual labels:  point-cloud
lepcc
Point Cloud Compression used in i3s Scene Layer Format
Stars: ✭ 22 (+22.22%)
Mutual labels:  point-cloud
ViP
A New 3D Detector. Code Will be made public.
Stars: ✭ 29 (+61.11%)
Mutual labels:  point-cloud
sp segmenter
Superpixel-based semantic segmentation, with object pose estimation and tracking. Provided as a ROS package.
Stars: ✭ 33 (+83.33%)
Mutual labels:  point-cloud
lvr2
Las Vegas Reconstruction 2.0
Stars: ✭ 39 (+116.67%)
Mutual labels:  point-cloud
geometry-dex
PyTorch Code for "Generalization in Dexterous Manipulation via Geometry-Aware Multi-Task Learning"
Stars: ✭ 25 (+38.89%)
Mutual labels:  point-cloud
pcljava
A port of the Point Cloud Library (PCL) using Java Native Interface (JNI).
Stars: ✭ 19 (+5.56%)
Mutual labels:  point-cloud
pointnet2-pytorch
A clean PointNet++ segmentation model implementation. Support batch of samples with different number of points.
Stars: ✭ 45 (+150%)
Mutual labels:  point-cloud

Point Cloud to Video

Converts a 3d point cloud to a video, using three.js and ffmpeg. Load Javascript data, render using three.js, and save the canvas to a png. Additionally supplies a utility for converting a specific .npy format to Javascript.

2011_09_26_0001 LiDAR data and images belong to the KITTI dataset's copyright holders.

Note that this repository isn't general at all. You'll probably need to hack it for your own purposes. I've done the heavy lifting (i.e., mixed and matched from the relevant Three.js docs) to render the point cloud though.

Usage

  1. Clone the repository recursively (replace with HTTP below if you don't have keys setup)
git clone --recursive [email protected]:alvinwan/pc2vid.git

General Usage

  1. Create a new js/output.js file with the structure described in Point Cloud Format below. This should match the format described at antsy3d. The latter takes precedence.
  2. Open js_to_png.html in your browser. The app will begin saving frames as PNGs every half-second. The PNG filename will match the key provided in the original data dictionary. The example from Point Cloud Format, for example, would output frog.png.
  3. Run the png_to_mp4.sh bash script. (ffmpeg)

Pallas-Specific Usage

  1. Download .npy files to data/<dataset>. (For example, you could have data/0001_pred/{000000000,0000000001...}.npy) Make sure all files match %10d.npy.
  2. Run python to_json.py <dataset> <start> <end>. There's too much data to load at once, so we have to split up, say, 159 images, into chunks of ~40. (e.g., run python to_json.py 0001_pred 0 40. Do next step, then python to_json.py 0001_pred 40 80...)
  3. Open js_to_png.html in your browser. This will render and download each image.

Point Cloud Format

js/output.js defines a global variable data, a dictionary mapping unique point cloud names to point cloud data; point clouds have a vertices property, a list of vertices, each with .x, .y and .z properties.

e.g., To access the x position of the first point in the point cloud named frog, you would access data.frog.vertices[0].x. Simple example of output.js:

var data = {
   'frog': {
      'vertices': [
          {'x': 3.5, 'y': 3.5, 'z': 5.6},
          {'x': 1.0, 'y': 1.2, 'z': 3.4}
      ]
   }
}

.npy Conversion Tool

Note this tool is extremely specific to our own data format. It may be wortwhile to code your own from scratch. To use it, install numpy

pip install numpy

Then, run

python to_json.py 

Why not build a Python utility? I tried looking around, but visualizations I explored used a backend I didn't have (and didn't want to bother installing). However, this utility just uses the browser, which every computer has.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].