Repository Owner:
SeongWon LEE
Department of Mechanical Engineering, Kyung Hee Univesity
Advisor:
Prof. HyoSeok Hwang
Department of Software Convergence.
์์จ ์ฃผํ ์๋์ฐจ๋ ์๋์ฐจ ์ค์ค๋ก ์น๊ฐ์ ์กฐ์์ด ์์ด ์ดํ๊ฐ๋ฅํ ์๋์ฐจ์ด๋ค.
ํ์ง๋ง ์๋์ฐจ๊ฐ ์ค์ค๋ก ์ดํ์ ํ๊ธฐ ์ํด์๋ ์ฃผ๋ณํ๊ฒฝ์ ์ธ์งํ๋ ๋ฅ๋ ฅ์ด ์์ด์ผ ํ๋ค.
๋ฐ๋ผ์ ์ฃผ๋ณํ๊ฒฝ์ ์ธ์งํ๊ธฐ ์ํด์ ์ฌ๋ฌ ์ผ์๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ ๊ทธ์ค ๊ฐ์ฅ ๋ํ์ ์ผ๋ก Lidar๋ฅผ ์ฌ์ฉํ๋ค.
์ค์ ๋ก ๋ง์ Lidar ๊ธฐ๋ฐ 3D Object Detection์์ ์ฐจ๋์ด 70ํ๋ก๊ฐ ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ ๋นํด ๋ณดํ์์ ๋ํ ์ธ์๋ฅ ์ 60ํ๋ก ๋ฏธ๋ง์ผ๋ก ๋จ์ด์ง๋ค.

๊ฐ์ฅ ๊ฒ์ถ ์ฑ๋ฅ์ด ์ข์ PV-RCNN์ ์ง์ ํ๋ จ ์์ผ์ ๊ฒฐ๊ณผ๋ฅผ ํ๋ฒ ๋ณด์๋๋ฐ ๊ฐ๊น์ด ์๋ ๋ณดํ์๋ค๋ ๊ฒ์ถํด๋ด์ง ๋ชปํ๋ค.
๋ณดํ์๋ฅผ ๊ฒ์ถํ์ง ๋ชปํ๋ค๋ฉด ์์จ์ฃผํ์ฌ๊ณ ๋ฐ์์ํ์ด ๋์์ง๊ณ ์ธ๋ช
์ ํผํด๊ฐ ๋ฐ์ํ ์ ์๋ค๋ ๊ฒ์ ์ด์ผ๊ธฐํ๋ค.
ํฌ์ธํธํด๋ผ์ฐ๋๋ฅผ ์ด์ฉํ ๋ฌผ์ฒด ๊ฒ์ถ๋ณด๋ค ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ ๊ฒ์ถ์ ๊ฒ์ถ๋ฅ ์ด ๋๋ค.
ํ์ง๋ง ์ด๋ฏธ์ง๋ ๋ฌผ์ฒด์์ ๊ฑฐ๋ฆฌ ์ธ์์ ์ ํ๋๊ฐ ๋ผ์ด๋ค๋ณด๋ค ๋จ์ด์ ธ์ ๋ผ์ด๋ค์ ๋ฌธ์ ์ ๊ณผ ์นด๋ฉ๋ผ์ ๋ฌธ์ ์ ์ด ์ํธ ๋ณด์์ด ๋๊ธฐ ๋๋ฌธ์ ์ด ๋๊ฐ์ง ์ผ์๋ฅผ ํจ์ ํ๋ ค๊ณ ํ๋ค.
์ฆ, 2D Image์์ 2D Object Detection์ผ๋ก ์์ธกํ ๊ฒฐ๊ณผ์ Lidar์ ํฌ์ธํธํด๋ผ์ฐ๋๋ฅผ ์ด์ฉํ๋ PV-RCNN ๊ฒฐ๊ณผ๋ฅผ ํฉ์ณ์ ์ด๊ฒ์ ํด๊ฒฐํด๋ณด๋ ค๊ณ ํ๋ค.
์ฌ์ฉ๋ ์ ๊ฒฝ๋ง ๋คํธ์ํฌ์ ๋๊ฐ์ด๋ฉฐ ์ฌ์ฉ๋ ๋ฐ์ดํฐ ์ ์ Waymo Dataset์ด๋ค.
(S. Shi et al., "PV-RCNN: Point-Voxel Feature Set Abstraction for 3D Object Detection,โ 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020, pp. 10526-10535, doi: 10.1109/CVPR42600.2020.01054.)
PV-RCNN์ Faster R-CNN์ ๊ตฌ์กฐ๋ฅผ ๋ณธ๋ด ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ RoI๋ฅผ ๋ง๋ค์ด์ฃผ๋ ๋ณด๋ผ์๋ฐ์ค, feature volume์ ํด๋นํ๋ ์ด๋ก์ ๋ฐ์ค ์ค์ classification๊ณผ Box refinement๋ฅผ ํ๋ ํ๋ ๋ฐ์ค๋ก ๊ตฌํ๋์ด ์๋ค. ๋ง์ง๋ง ํ๋๋ฐ์ค๋ PointNet๊ณผ ๊ตฌ์กฐ๊ฐ ๋น์ทํ๋ค. ์ฌ๊ธฐ์ ROI๋ Voxel ๊ธฐ๋ฐ์ผ๋ก CNN์ ํต๊ณผ์์ผ Bird Eye View๋ก ์ฐพ๋๊ฒ์ด๊ณ feauture volume์ ๋ง๋๋๋ฐ ์ฌ์ฉ๋ VSA ๋ชจ๋์ด ํน์ง์ด๋ค.
(Ren, S., He, K., Girshick, R., & Sun, J. (2015). Faster r-cnn: Towards real-time object detection with region proposal networks.Advances in neural information processing systems,28, 91-99.)
Faster R-CNN์ R-CNN ๊ณ์ด 2-stage object detection modeld์ด๋ฉฐ R-CNN์ ROI๊ฐ๊ฐ CNN ๋คํธ์ํฌ๋ฅผ ํต๊ณผ์๋ ๊ฒ์ ๊ฐ๋ํ์ฌ ํ๋์ ์ด๋ฏธ์ง๋ฅผ CNN์ ํต๊ณผ์ํจํ RoI pooling์ํ๋ Fast R-CNN์ ๊ฑฐ์ณ RoI ์์ฒด๋ ๋คํธ์ํฌ๋ฅผ ๋ง๋ค์ด ๊ฒฐ๊ณผ๋ฅผ ๋ง๋๋ ๊ฒ์ผ๋ก ๊ฐ๋๋ ๋คํธ์ํฌ์ด๋ค.
( P. Sun et al., "Scalability in Perception for Autonomous Driving: Waymo Open Dataset," 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2020, pp. 2443-2451, doi: 10.1109/CVPR42600.2020.00252.) @misc{waymo_open_dataset, title = {Waymo Open Dataset: An autonomous driving dataset}, website = {\url{https://www.waymo.com/open}}, year = {2019} }
Waymo๋ 4๊ฐ์ Short Range Lidar์ 1๊ฐ์ Mid Range LiDAR๋ฅผ ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ์ ์ด๋ฉฐ ์นด๋ฉ๋ผ๋ 5๊ฐ๊ฐ ์ฌ์ฉ๋๋ค. ํ๋ฐฉ์๋ ์ด๋ฏธ์ง ์ผ์๊ฐ ์์ง๋ง ํ๋ ์๋น ํ๊ท ํฌ์ธํธ์๊ฐ ๋ง์์ ์ด๋ฅผ ์ ์ ํ๋ค.
WaymoDataset.py: ์ ์ฒ๋ฆฌ๋ ๋ฐ์ดํฐ์
์์ ์ด๋ฏธ์ง ํ์ผ์ ๋ชจ๋ธ๋งค๋์ ๋ก ๋ก๋ ํด์ฃผ๋ ์ญํ
modelmanager.py: PV-RCNN๊ณผ Faster R-CNN์ ๋ชจ๋ธ๋ก ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ๋ ์ญํ
fusion.py: ๊ฐ๊ฐ ์์ธก๊ฐ์ ํฉ์ณ์ฃผ๋ ์ญํ
inferece.py: ๊ทธ๋ฆฌ๊ณ ์ค์ PV-RCNN๊ณผ ๋์จ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํด์ฃผ๋ ์ญํ
DrawMyResult(G)_PVRCNN(R) and GT(K).py: ์ด๋ ๊ฒ ๋ง๋ค์ด์ง ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๋ Visualizationํด์ฃผ๋ ์ญํ
ํ๋ฌ์คํ
์ ์ด๋ฏธ์ง ํฝ์
์ ์ฐํ ๋น์ด ์์ ์ ์๋ ๊ณต๊ฐ์ด๋ค. ์ด๋ฏธ์ง์ ๊ธฐ๋ก๋ ๋น์ ์ด๋์ ์๋์ง ๋ฐฉํฅ๋ง ์์์๊ณ ์ด๋ ์ฌ๊ฐ๋ฟ์์ ๊ผญ๋๊ธฐ๊ฐ ์งค๋ฆฐํํ๋ผํ์ฌ ์ ๋์ฒด๋ผ๊ณ ํ๋ค.

์ฐธ๊ณ ๋ฌธํ: Y. Wei, S. Su, J. Lu and J. Zhou, "FGR: Frustum-Aware Geometric Reasoning for Weakly Supervised 3D Vehicle Detection," 2021 IEEE International Conference on Robotics and Automation (ICRA), 2021, pp. 4348-4354, doi: 10.1109/ICRA48506.2021.9561245.
LIDAR์ ์ขํ๊ณ์ ์นด๋ฉ๋ผ์ ์ด๋ฏธ์ง ์ขํ๊ณ๊ฐ ์ผ์น ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ Calibration์ ์งํํด์ผํ๋ค.
LiDAR๋ก ์ธก์ ๋ ํฌ์ธํธ๋ค์ ์นด๋ฉ๋ผ์ extrinsic ํ๋ ฌ๊ณผ Intrinsic ํ๋ ฌ์ ๊ณฑํด์ ์ด๋ฅผ ๊ณ์ฐํ๋ค.
๊ทธ๋ ๋ค๋ฉด ์์ 2D๋ฐ์ค๋ณ Frustum์์ ์ค์ ๋ฌผ์ฒด์ ๋ฌผ์ฒด๊ฐ ์๋ ๊ฒ์ ๊ตฌ๋ณ(Segmentation)ํด์ผํ๋ค. segmetation์ ์ํด ๋ด๊ฐ ์ ํด๋ฆฌ๋ ํด๋ฌ์คํ ์ ์ง์ ๊ตฌํํ์์ผ๋ฉฐ ์๊ณ ๋ฆฌ์ฆ์ ์๋์ ๊ฐ๋ค.
- ์ ๋ ฅ ๊ฐ์ผ๋ก ์ค์ฌ ํฌ์ธํธ ์ขํ๋ค๊ณผ Frustum์ ๋ฃ์ด์ค๋ค.
- ์ค์ฌ์ขํ๋ค์ Segmentation Set์ ๋ฃ์ด์ค๋ค.
- ์ค์ฌ ์ขํ๋ค๋ก๋ถํฐ ํน์ ๊ฑฐ๋ฆฌ ์ดํ๊ฐ ๋๋ฉด ์๋ก Segmentation set์ ๋ฃ์ด์ค๋ค.
- Segmentation set์ ์๋ก ๋ฃ์ด์ง ์ ์ ๊ธฐ์ค์ผ๋ก ๋ค์ ๊ณ์ฐ์ ํด์ผ ํ๋ฏ๋ก Queue์ ์ถ๊ฐ ๋๋ ์ธ์ ์ขํ๋ฅผ ๋ฃ์ด์ค๋ค.
- ํ๋ฒ Segmentation๋ ๊ฒฐ๊ณผ์ ํฌํจ๋ ํฌ์ธํธ๋ ๋ค์ ๊ณ์ฐํ์ง ์๋๋ก ์ ์ธํ๋ค.
- Queue๊ฐ ๋น์ด์์ง ์์ผ๋ฉด Queue์์ ํฌ์ธํธ๋ฅผ ๋ฝ์์ ์ค์ฌ์ขํ๋ก ์ ์ ํ๊ณ 2~5๋ฅผ ๋ฐ๋ณตํ๋ค.
- Queue๊ฐ ๋น์๋ค๋ ๊ฒ์ ์ถ๊ฐ๋ ์ ์ด ์๋ค๋ ๊ฒ์ผ๋ก Segmentation ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํด์ค๋ค.
์ฌ๊ธฐ์ ์ค์ฌ์ ์ ๊ณ์ฐํ ๋ฐฉ๋ฒ์ ๋ค์๊ฐ๋ค.
- Faster RCNN์ผ๋ก ์์ฑ๋ ๋ฐ์คํฌ๊ธฐ์ 1%ํฌ๊ธฐ์ ์์ ๋ฐ์ค๋ฅผ ์์ฑํ๋ค.
- ์์ ๋ฐ์ค์ ํฌํจ๋๋ Point Cloud๋ฅผ ์์ ์ผ๋ก๋ถํฐ ๊ฐ์ฅ ๋ฉ๋ฆฌ ์๋ ์ ๊ณผ ๊ฐ์ฅ ๊ฐ๊น์ด ์ ์ ๊ฐ์ง๊ณ Segmentation์ ์งํํ๋ค.
- ๋ ๊ฒฐ๊ณผ์์ ํฌํจํ๋ ํฌ์ธํธ์๊ฐ ๋ค๋ฅผ ๊ฒฝ์ฐ ์์ ์ชฝ์ ์ง์ด๋ค.
- ๋ ๊ฒฐ๊ณผ์ ํฌ๊ธฐ๊ฐ ๊ฐ๊ณ ๋์ ํฉ์ด ์๋ ์ผํฐ ๋ฐ์ค์ผ ๊ฒฝ์ฐ ์กฐ๊ธ ๋ ํฐ ์ผํฐ๋ฐ์ค๋ฅผ ์์ฑํ์ฌ ํ๋ฒ ๋ ์งํํ๋ค.
- ๋ง์ฝ ๋์ ํฌ๊ธฐ๊ฐ ์ผํฐ๋ฐ์ค์ ๊ฐ์ ๊ฒฝ์ฐ ์ผํฐ๋ฐ์ค์ ํฌํจ๋๋ ๋ชจ๋ ํฌ์ธํธ๋ฅผ ์ผํฐํฌ์ธํธ๋ผ๊ณ ํ๋จํ๋ค.
3D Object Detection์ 2D์ ๋ค๋ฅด๊ฒ ์์์ ํ์ ๊ฐ๋๋ ์ค์ํ๋ค. ๋ฐ๋ผ์ Segmentation ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ๊ฒฐ๊ณผ์ ์ขํ์ถ์ ์ ํ์๊ฐ ์๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ์๊ธฐ์ํด PCA๋ฅผ ๊ตฌํํ์ฌ ๋ฐ์ค๋ฅผ ๋ง๋ค์๋ค.
๊ณต๋ถ์ฐ ํ๋ ฌ์ ๊ตฌํ ํ ์ด๋ฅผ ๋๊ฐํํ๋ค.
์ฐธ๊ณ ๋ฌธํ: H. Vceraraghavan, O. Masoud and N. Papanikolopoulos, "Vision-based monitoring of intersections," Proceedings. The IEEE 5th International Conference on Intelligent Transportation Systems, 2002, pp. 7-12, doi: 10.1109/ITSC.2002.1041180.
๋นจ๊ฐ์์๋ PV-R-CNN ๊ฒฐ๊ณผ์ด๊ณ , ๊ฒ์ ์์๋ Ground Truth ๊ฒฐ๊ณผ,์ด๋ก ์์๋ ์์ ๋ฐฉ๋ฒ์ผ๋ก ์์ฑ๋ ๊ฒฐ๊ณผ์ด๋ค.
์ผ์ชฝ์ฌ์ง์ ์ค์ ์ด๋ฏธ์ง์ด๊ณ ์ค๋ฅธ์ชฝ์ ์์ฑ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ค๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๋ณดํ์๋ฅผ ์ถ๊ฐ ๊ฒ์ถํ๋๋ฐ์ ์ฑ๊ณตํ๋ค. 1๋ฒ๊ณผ 2๋ฒ์ ๊ฐ๊น์ด ์ฌ๋์ ๊ฒ์ถํ๊ฒ์ด๊ณ 3๋ฒ์ฌ์ง์ ์๋์ ์ผ๋ก ๋ฉ์ด์ ํฌ์ธํธ๊ฐ ์ ์ ์ฌ๋์ ์ถ๊ฐ ๊ฒ์ถํ ๊ฒ์ด๋ค.
์ด๋ฅผ ์์นํํ ๊ฒฐ๊ณผ์ด๋ค.

PVRCNN ์ ๋นํด์ ๋ณดํ์์ AP๊ฐ 0.3%์ ๋ ์ฆ๊ฐํ๋ค.
์๋์ฐจ๋ ์คํ ๋ฐ์ด๋ฅผ ์ธ์ํ๋ ๋ถ๋ถ์์๋ ๊ธฐ์กด์ ๋ฐฉ๋ฒ๊ณผ ํฐ ์ฐจ์ด๊ฐ ์์์ผ๋ ๋ณดํ์์ ๊ฒฝ์ฐ์์๋ ์ฑ๋ฅํฅ์์ด ์์๋ค. ๋ํ ์๋ก ๊ฒ์ถ๋ ๋ณดํ์๋ค ์ค์๋ ์์จ์ฃผํ์ฐจ๋๊ณผ ๊ฐ๊น์ด ์์ ๊ฒฝ์ฐ๋ ์์๊ณ , ์ด๋ ์ธ์ฌ์ฌ๊ณ ์ ๊ฐ๋ฅ์ฑ์ ์กฐ๊ธ์ด๋ผ๋ ๋ ์ค์๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
Waymo์ Sign class์ Ground Truth ํด๋น ํ์ง ์๋ ์ ํธ๋ฑ๋ ๊ฒ์ถ์ ํ ์ ์์๋ค. ์ ํธ๋ฑ์ ๊ฒ์ถํ๋ค๋ ๊ฒ์ ์ฃผ๋ณ์ ๊ต์ฐจ๋ก๊ฐ ์๋์ง ํก๋จ๋ณด๋๊ฐ ์๋์ง ํ๋จ ํ ์ ์๋ ๊ทผ๊ฑฐ๊ฐ ๋๋ค.
- ํ์ง๋ง ์ฆ๊ฐ๋ฅ ์ด ๋ฎ์๊ฒ์ ์ฌ์ฉํ Dataset์ด Waymo์ธ๋ฐ ์นด๋ฉ๋ผ๊ฐ ํ๋ฐฉ์๋ ์กด์ฌํ์ง ์์์ ์ ์ฒด๋ฅผ ์ปค๋ฒํ์ง ๋ชปํ์๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์๊ฐํ๋ค.
๋ฐ๋ผ์ ์ถํ์ 360๋๋ฅผ ๋ค์ฐ์ ์์๋ ์นด๋ฉ๋ผ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ ์ ์ํฌ ์์ ์ด๋ค.
- ๊ฐ๊ฐ ๋ค๋ฅธ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ ๊ฒฐ๊ณผ๋ฅผ ์์ธกํ๊ฒ์ ํฉ์ณ์ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ 2-Stage ๋ฐฉ๋ฒ์ผ๋ก ์งํ๋์ด ๊ณ์ฐ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ ธ๋ค. ๋ฐ๋ผ์ ๋ง์ ๋ฐ์ดํฐ์ ์ ๋ํด ์ ์ฉํ์ง ๋ชปํ ํ๊ณ์ ์ ๊ฐ์ง๋ค. ->Faster R-CNN๊ณผ PV-RCNN์ ๊ตฌ์กฐ๊ฐ ๋น์ทํ๋ฏ๋ก ๋์ ํ๋์ ๋ชจ๋ธ๋ก ํฉ์น ์ ์๋๋ก ํ์.
[Dependency]
PV-RCNN
Faster-RCNN(pytorch)
Spconv
opend3D
python3 PVRCNN/setup.py build
python3 PVRCNN/datasets/waymo/waymo_dataset.py --func create_waymo_infos --cfg_file PVRCNN/tools/cfgs/dataset_configs/waymo_dataset.yaml
python3 test.py --cfg_file ./PVRCNN/tools/cfgs/waymo_models/pv_rcnn.yaml --batch_size 1 --ckpt [Cherckpoint Address]
python3 inference.py
inference ํ์ผ์ ์คํํ๋ฉด ์ด๋ฏธ์ง์ ํฌ์ธํธ ํด๋ผ์ฐ๋๋ฅผ ๋ฐ์์ ModelManager๋ฅผ ํธ์ถํ๋ค. ์ฌ๊ธฐ์ ๋ฐ์ดํฐ ์ ์ ๋ฐ์์ 2D ์์ธก๊ณผ 3D ์์ธก์ ๊ฐ์ง๊ณ ์์ ์ด๋ฅผ fusion์ ํ๊ฒ ๋๋ค. ์ฌ๊ธฐ์ ๋ง๋ค์ด์ง ๊ฒฐ๊ณผ๋ก ๊ธฐ์กด์ PV-RCNN๊ฒฐ๊ณผ์ ๋น๊ตํ ์ ์๋๋ก ์์นํํ๋ ์ฝ๋๋ค.
if __name__ =="main":
์์ ์๋ i๋ผ๋ ๋ณ์๋ฅผ ์ํ๋ ํ๋์๋ฒํธ๋ก ๋ฐ๊ฟ์ ์ฝ๋๋ฅผ ๋๋ฆฌ๋ฉด ์๋ํ๋ค.
python3 DrawMyResult(G)_PVRCNN(R) and GT(K).py
๊ฒฐ๊ณผ๋ ๊ฒ์ ์์๋ Ground Truth, ๋นจ๊ฐ์์๋ PV-RCNN ๊ฒฐ๊ณผ์ด๋ฉฐ, ์ด๋ก ๋ฐ์ค๊ฐ ์๋ก ์์ธก๋ ๋ฐ์ค์ด๋ค.















