Point cloud segmentation for Puck (VLP-16) lidar data
3 次查看(过去 30 天)
显示 更早的评论
I have a point cloud recording from a VLP-16 lidar. (pcap file)
I want to run this on this data: https://www.mathworks.com/help/lidar/ug/detect-classify-and-track-vehicles-using-lidar.html
But it gives me this error:
I assume this is because the network was made for 64 channels lidar, and VLP-16 is 16 channel.
How can I solve this?
0 个评论
回答(1 个)
Srivardhan Gadila
2022-1-2
In summary, I think the network seems to work only on the data which is of size 64-by-1024-by-5. Also I don't think the network would output expected/good results on any type of data apart from what it is trained on.
analyzeNetwork(net)
We can overcome the error w.r.t the imageInputLayer by replacing it with another imageInputLayer with compatible paramaters:
lgraph = layerGraph(net);
inputLayer = lgraph.Layers(1)
inputLayerMean = inputLayer.Mean
newInputLayer = imageInputLayer([16 1024 5],Name="input",Mean=inputLayerMean)
newlgraph = replaceLayer(lgraph,"input",newInputLayer)
analyzeNetwork(newlgraph)
%newNet = assembleNetwork(newlgraph)
But again we will face an issue with the "SR1_GAP" layer which is an averagePooling2dLayer with 64x256 as its PoolSize. Even though if we can replace this layer with another averagePooling2dLayer with compatible parameters just like above, still there would be issues with the custom layers "helperResizeLayer", "helperReweightLayer" and "helperSigmoidLayer" which are shipped along with the example.
Hence I would suggest to either understand the network architecture and create a similar network, train it from scratch or create/use other networks like squeezesegv2 etc. You can refer to squeezesegv2Layers, Segmentation - Lidar Toolbox & Lidar Processing Using Deep Learning for relevant information.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Labeling, Segmentation, and Detection 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!