traveller59 / second.pytorch

SECOND for KITTI/NuScenes object detection
MIT License
1.7k stars 720 forks source link

Why one-stage performs better? #100

Open shuluoshu opened 5 years ago

shuluoshu commented 5 years ago

Hi, @traveller59 ,Nice work! One question that I am confused is your recently updated "car.fhd.onestage.config", I notice that it just use one stage RPN instead of the original 2/3 stages. Except that I didn't find any other differences. So why does one-stage RPN even perform better than your original RPNV2? That's confusing, I cannot figure it out.

Thanks!

jhultman commented 5 years ago

This is speculative, but in 2D imagery, objects further from the sensor appear much smaller in the image, and so feature pyramids or differently-strided feature maps (1x, 2x, ..., 16x) can help provide a "multi-scale" representation. This may not be necessary in LIDAR since the 3D geometry is respected: objects further from the Velodyne sensor appear no smaller in the point cloud since there is no perspective projection. (Of course objects far away are still hard to detect since they are much more sparsely populated with LIDAR points).

shuluoshu commented 5 years ago

@jhultman ,Thx, so do you think multi-scale will do no help to improve the accuracy in LIDAR-based 3D detection?

jhultman commented 5 years ago

@shuluoshu I'm not sure--I would ask the author. The downsampling in the later stages yield an inflated receptive field which could make the feature maps more "context-aware." And if you're training a multiclass model on categories of very different sizes, you will encounter scale problems even though LIDAR is natively 3D.

jihong111 commented 5 years ago

@jhultman when i python create_data.py create_kitti_info_file -data_path=/home/yzg/research/ljh/second/kittidata error occurred: File "/home/yzg/anaconda2/envs/py36/lib/python3.6/ctypes/init.py", line 348, in init self._handle = _dlopen(self._name, mode) OSError: /home/yzg/anaconda2/envs/py36/lib/python3.6/site-packages/spconv/libspconv.so: undefined symbol: _ZN3c106Symbol14fromQualStringERKSs

vincezhai commented 4 years ago

@jhultman when i python create_data.py create_kitti_info_file -data_path=/home/yzg/research/ljh/second/kittidata error occurred: File "/home/yzg/anaconda2/envs/py36/lib/python3.6/ctypes/init.py", line 348, in init self._handle = _dlopen(self._name, mode) OSError: /home/yzg/anaconda2/envs/py36/lib/python3.6/site-packages/spconv/libspconv.so: undefined symbol: _ZN3c106Symbol14fromQualStringERKSs

this error is probably because the environment changed, the environment you used now is not the environment you use to compile spconv ,remove spconv and rebuild it can solve the problem

mohamedgamal7 commented 3 years ago

@jhultman when i python create_data.py create_kitti_info_file -data_path=/home/yzg/research/ljh/second/kittidata error occurred: File "/home/yzg/anaconda2/envs/py36/lib/python3.6/ctypes/init.py", line 348, in init self._handle = _dlopen(self._name, mode) OSError: /home/yzg/anaconda2/envs/py36/lib/python3.6/site-packages/spconv/libspconv.so: undefined symbol: _ZN3c106Symbol14fromQualStringERKSs

did u find a solution for this , I'm experiencing the same problem.