Comments (6)
Hi, myhussien
The first layer will have 9-channel input for the MLP. Using a [1,9] filter will do that.
You can add transformer networks (input is only XYZ channel) as well but the performance is similar without.
As to the 9 channels, they include:
Original XYZ: we kept Z as it is and shift XY with regard to the center of the block s.t. the center will have X=0, Y=0
Normalized X'Y'Z': it's normalized with regard to the entire room so that the corners will be (0,0,0), (0,1,0) etc.
RGB values: it's converted to 0~1 as float
The weights in transformation network are defined that way because we want to initialize the transformation to identity matrix. You can also use a fully connected layer but you need a special bias initializer.
Hope it helps!
Cheers,
Charles
from pointnet.
hi myhussien,
Either way is fine I think. For (B,N,9,1) you will use (1,9) kernel. For (B,N,1,9) you can use (1,1) kernel.
Or you can actually use conv1d as well or fully_connected. The performance difference is small.
Best,
Charles
from pointnet.
Thanks, that was helpful!
I just can't get my head around the fact that you are applying a filter over completely unrelated values i.e [X,Y,Z,R,G,B,x,y,z], and then collapsing those to a single value. It is very surprising to me that it is actually working. Are you planning to upload an example showing this semantic segmentation part with RGB? I look forward to see it in action.
Good Work!
from pointnet.
Hi Charles,
I hope you have time to answer my previous question. On the other hand, why do you define the weights and the biases in the transformation network explicitly instead of having a fully connected layer with 9 outputs and initialize the weights and the biases internally?
Best,
from pointnet.
Can you elaborate more on what do you mean by 9-channels? did you mean 9-columns and the data shape would be [B x N x 9 x 1]? or is it [B x N x 1 x 9], which won't work with [1,9] filter?
from pointnet.
By feeding all channels, we are leaving the heavy-lifting jobs to the neural network :)
It's possible to add more structure or regularization into the model though..
I will try to organize and clean some code on semantic segmentation in scenes. Probably not recently but it's on my todo list.
I'm closing the issue now. Let me know if you have more questions.
from pointnet.
Related Issues (20)
- s3dis dataset :ValueError: need at least one array to concatenate
- Unable to open H5py file HOT 3
- prepare dataset from h5 files with classification label per point
- meshlab
- PointNet for angle regression
- Area_5/hallway_6 HOT 1
- Issued certificate has expired HOT 1
- Annotation HOT 1
- A lightweight Cylinder3D model with much higher performance is now available!!!
- Isn't this section incorrect? HOT 1
- __init__() missing 1 required positional argument: 'dtype'
- How much memory needed for sem_seg training HOT 2
- How to visualize the semantic segmentation results through ROS
- how to use PointNet model in live inference HOT 1
- cant download dataset with HDF5 data. Help! HOT 1
- Segment point clouds with different point numbers
- Cannot get modelnet40 from server HOT 3
- Conv2D x Conv1D
- Input transform and point cloud with features on the points
- Is normalization to unit sphere mandatory?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pointnet.