
OpenPCDet เป็นโครงการโอเพนซอร์สที่ชัดเจนและมีอยู่ในตัวเองสำหรับการตรวจจับวัตถุ 3 มิติที่ใช้ LIDAR
นอกจากนี้ยังเป็นการเปิดตัวรหัสอย่างเป็นทางการของ [PointRCNN] , [Part-A2-Net] , [PV-RCNN] , [Voxel R-CNN] , [PV-RCNN++] และ [MPPNet]
ไฮไลท์ :
OpenPCDet ได้รับการอัปเดตเป็น v0.6.0 (ก.ย. 2022) [2023-06-30] ใหม่: เพิ่มการสนับสนุนสำหรับ DSVT ซึ่งได้รับประสิทธิภาพที่ทันสมัยในชุดข้อมูล Open Waymo ขนาดใหญ่ด้วยความเร็วการอนุมานแบบเรียลไทม์ (27Hz พร้อม Tensorrt)
[2023-05-13] ใหม่: เพิ่มการสนับสนุนสำหรับแบบจำลองการตรวจจับวัตถุ 3D แบบหลายโมดอลบนชุดข้อมูล Nuscenes
BEVFusion ซึ่งฟิวส์ข้อมูลหลายรูปแบบบนพื้นที่ BEV และถึง 70.98% NDS ในชุดข้อมูลการตรวจสอบความถูกต้องของ Nuscenes (ดูแนวทางเกี่ยวกับวิธีการฝึกอบรม/ทดสอบด้วย bevfusion) [2023-04-02] เพิ่มการสนับสนุนสำหรับ VoxelNeXt บนชุดข้อมูล Nuscenes, Waymo และ Argoverse2 มันเป็นเครือข่ายการตรวจจับวัตถุ 3 มิติที่กระจัดกระจายอย่างสมบูรณ์ซึ่งเป็นเครือข่าย CNNS ที่สะอาดตาและทำนายวัตถุ 3 มิติโดยตรงบน voxels
[2022-09-02] ใหม่: อัปเดต OpenPCDet เป็น v0.6.0:
MPPNet สำหรับการตรวจจับวัตถุ 3 มิติชั่วคราวซึ่งรองรับการตรวจจับวัตถุ 3D หลายเฟรมระยะยาวและอันดับที่ 1 ในการตรวจจับ 3D Learderboard ของชุดข้อมูล Waymo Open ในวันที่ 2 กันยายน 2022 สำหรับการตรวจสอบความถูกต้อง maph@level_2 (ดูแนวทางเกี่ยวกับวิธีการฝึกอบรม/ทดสอบด้วย MPPNET)--use_tqdm_to_record ) โปรดใช้ pip install gpustat หากคุณต้องการบันทึกข้อมูลที่เกี่ยวข้องกับ GPU[2022-08-22] เพิ่มการสนับสนุนสำหรับการสอนและเทมเพลตชุดข้อมูลที่กำหนดเอง
[2022-07-05] เพิ่มการสนับสนุนสำหรับการตรวจจับวัตถุ 3 มิติเครือข่าย Backbone Focals Conv
[2022-02-12] เพิ่มการสนับสนุนสำหรับการใช้ Docker โปรดดูคำแนะนำใน./docker
[2022-02-07] เพิ่มการสนับสนุนสำหรับรุ่น Centerpoint ในชุดข้อมูล Nuscenes
[2022-01-14] เพิ่มการสนับสนุนสำหรับการปรับ voxelization เสาแบบไดนามิกหลังจากการใช้งานที่เสนอใน H^23D R-CNN พร้อมการดำเนินการที่ไม่ซ้ำกันและแพ็คเกจ torch_scatter
[2022-01-05] ใหม่: อัปเดต OpenPCDet เป็น v0.5.2:
PV-RCNN++ ได้รับการเผยแพร่ไปยัง repo นี้ด้วยประสิทธิภาพที่สูงขึ้นความเร็วในการฝึกอบรม/การอนุมานที่เร็วขึ้นและการใช้หน่วยความจำน้อยกว่า PV-RCNN [2021-12-09] ใหม่: อัปเดต OpenPCDet เป็น V0.5.1:
[2021-12-01] ใหม่: OpenPCDet v0.5.0 เปิดตัวพร้อมคุณสมบัติต่อไปนี้:
CenterPoint และ PV-RCNN with CenterHeadUSE_SHARED_MEMORY เพื่อใช้หน่วยความจำที่ใช้ร่วมกันเพื่อเร่งกระบวนการฝึกอบรมในกรณีที่คุณประสบปัญหา IO [2021-06-08] เพิ่มการสนับสนุนสำหรับโมเดลการตรวจจับวัตถุ 3 มิติที่ใช้ Voxel R-CNN
[2021-05-14] เพิ่มการสนับสนุนสำหรับโมเดลการตรวจจับวัตถุ 3 มิติเดียว CaDDN
[2020-11-27] Bugfixed: โปรดรับรู้การตรวจสอบข้อมูล Infos ของ Waymo DataSet อีกครั้ง (เวอร์ชัน 1.2) หากคุณต้องการใช้เครื่องมือประเมินผล Waymo ที่ให้มาของเรา (ดู PR) โปรดทราบว่าคุณไม่จำเป็นต้องสนับสนุนข้อมูลการฝึกอบรมและฐานข้อมูลความจริงภาคพื้นดินอีกครั้ง
[2020-11-10] ชุดข้อมูล Waymo Open ได้รับการสนับสนุนด้วยผลลัพธ์ที่ทันสมัย ขณะนี้เราให้การกำหนดค่าและผลลัพธ์ของ SECOND , PartA2 และ PV-RCNN บนชุดข้อมูล Waymo Open และรุ่นอื่น ๆ สามารถรองรับได้ง่ายโดยการปรับเปลี่ยนชุดข้อมูลของพวกเขา
[2020-08-10] Bugfixed: รุ่น Nuscenes ที่ให้ไว้ได้รับการปรับปรุงเพื่อแก้ไขข้อบกพร่องในการโหลด โปรด redownload หากคุณต้องการใช้โมเดล Nuscenes ที่ได้รับการฝึกฝน
[2020-07-30] OpenPCDet V0.3.0 เปิดตัวพร้อมคุณสมบัติต่อไปนี้:
PointRCNN , PartA2-Free ) ได้รับการสนับสนุนในขณะนี้SECOND-MultiHead (CBGS) และ PointPillar-MultiHead )[2020-07-17] เพิ่มรหัสการสร้างภาพข้อมูลอย่างง่ายและการสาธิตอย่างรวดเร็วเพื่อทดสอบด้วยข้อมูลที่กำหนดเอง
[2020-06-24] OpenPCDet v0.2.0 ได้รับการปล่อยตัวด้วยโครงสร้างใหม่ที่สวยงามเพื่อรองรับรุ่นและชุดข้อมูลเพิ่มเติม
[2020-03-16] OpenPCDet v0.1.0 ถูกปล่อยออกมา
OpenPCDet Toolbox ทำอะไร? โปรดทราบว่าเราได้อัพเกรด PCDet จาก v0.1 เป็น v0.2 ด้วยโครงสร้างใหม่ที่สวยงามเพื่อรองรับชุดข้อมูลและรุ่นต่างๆ
OpenPCDet เป็น codebase ที่ใช้ pytorch ทั่วไปสำหรับการตรวจจับวัตถุ 3 มิติจากจุดคลาวด์ ปัจจุบันรองรับวิธีการตรวจจับวัตถุ 3 มิติที่ล้ำสมัยหลายวิธีด้วยรหัสที่ได้รับการปรับปรุงใหม่สำหรับทั้งเฟรมเวิร์กการตรวจจับทั้งสองขั้นตอนและสองขั้นตอน
จากกล่องเครื่องมือ OpenPCDet เราชนะ WayMo Open DataSet Challenge ในการตรวจจับ 3D การติดตาม 3D การปรับโดเมนสามแทร็กในทุกวิธี LIDAR เท่านั้นและรุ่นที่เกี่ยวข้องกับ WAYMO จะถูกปล่อยไปยัง OpenPCDet ในไม่ช้า
เรากำลังอัปเดต repo นี้ในปัจจุบันและชุดข้อมูลและรุ่นอื่น ๆ จะได้รับการสนับสนุนในไม่ช้า นอกจากนี้ยังได้รับการต้อนรับด้วย
OpenPCDet
คำจำกัดความกล่อง 3 มิติแบบครบวงจร: (x, y, z, dx, dy, dz, หัวเรื่อง)
โครงสร้างแบบจำลองที่ยืดหยุ่นและชัดเจนเพื่อรองรับแบบจำลองการตรวจจับ 3 มิติที่หลากหลาย:


วิธีที่รองรับที่เลือกจะแสดงในตารางด้านล่าง ผลลัพธ์คือประสิทธิภาพการตรวจจับ 3 มิติของความยากในระดับปานกลางในชุดข้อมูล VAL ของชุดข้อมูล Kitti
| เวลาฝึกอบรม | รถ@r11 | คนเดินเท้า@r11 | นักปั่น@r11 | การดาวน์โหลด | |
|---|---|---|---|---|---|
| Pointpillar | ~ 1.2 ชั่วโมง | 77.28 | 52.29 | 62.68 | รุ่น -18m |
| ที่สอง | ~ 1.7 ชั่วโมง | 78.62 | 52.98 | 67.15 | รุ่น -20m |
| ครั้งที่สอง-iou | - | 79.09 | 55.74 | 71.31 | รุ่น -46m |
| pointrcnn | ~ 3 ชั่วโมง | 78.70 | 54.41 | 72.11 | รุ่น -16m |
| pointrcnn-iou | ~ 3 ชั่วโมง | 78.75 | 58.32 | 71.34 | รุ่น -16m |
| ไม่มีส่วนหนึ่ง | ~ 3.8 ชั่วโมง | 78.72 | 65.99 | 74.29 | รุ่น -226m |
| ส่วนที่ A2-anchor | ~ 4.3 ชั่วโมง | 79.40 | 60.05 | 69.90 | รุ่น -244m |
| PV-RCNN | ~ 5 ชั่วโมง | 83.61 | 57.90 | 70.47 | รุ่น -50m |
| Voxel R-CNN (Car) | ~ 2.2 ชั่วโมง | 84.54 | - | - | รุ่น -28m |
| Focals Conv - F | ~ 4 ชั่วโมง | 85.66 | - | - | รุ่น -30m |
| caddn (โมโน) | ~ 15 ชั่วโมง | 21.38 | 13.02 | 9.76 | Model-774m |
เราให้การตั้งค่า DATA_CONFIG.SAMPLED_INTERVAL บน Waymo Open DataSet (WOD) เพื่อตัวอย่างบางส่วนสำหรับการฝึกอบรมและการประเมินผลดังนั้นคุณสามารถเล่นกับ WOD ได้โดยการตั้งค่า DATA_CONFIG.SAMPLED_INTERVAL ที่มีขนาดเล็กลงแม้ว่าคุณจะมีทรัพยากร GPU ที่ จำกัด
โดยค่าเริ่มต้นทุกรุ่นได้รับการฝึกฝนด้วย เฟรมเดียว ของ ข้อมูล 20% (~ 32K เฟรม) ของตัวอย่างการฝึกอบรมทั้งหมดใน 8 GTX 1080TI GPU และผลลัพธ์ของแต่ละเซลล์ที่นี่คือ MAP/MAPH ที่คำนวณโดยการวัดการประเมิน Waymo อย่างเป็นทางการในชุดการตรวจสอบ ทั้งหมด (เวอร์ชัน 1.2)
| ประสิทธิภาพ@(รถไฟด้วยข้อมูล 20%) | vec_l1 | vec_l2 | ped_l1 | ped_l2 | cyc_l1 | cyc_l2 |
|---|---|---|---|---|---|---|
| ที่สอง | 70.96/70.34 | 62.58/62.02 | 65.23/54.24 | 57.22/47.49 | 57.13/55.62 | 54.97/53.53 |
| Pointpillar | 70.43/69.83 | 62.18/61.64 | 66.21/46.32 | 58.18/40.64 | 55.26/51.75 | 53.18/49.80 |
| เสากลาง | 70.50/69.96 | 62.18/61.69 | 73.11/61.97 | 65.06/55.00 | 65.44/63.85 | 62.98/61.46 |
| Penterpoint-Dynamic-pillar | 70.46/69.93 | 62.06/61.58 | 73.92/63.35 | 65.91/56.33 | 66.24/64.69 | 63.73/62.24 |
| จุดศูนย์กลาง | 71.33/70.76 | 63.16/62.65 | 72.09/65.49 | 64.27/58.23 | 68.68/67.39 | 66.11/64.87 |
| Centerpoint (resnet) | 72.76/72.23 | 64.91/64.42 | 74.19/67.96 | 66.03/60.34 | 71.04/69.79 | 68.49/67.28 |
| ส่วนที่ A2-anchor | 74.66/74.12 | 65.82/65.32 | 71.71/62.24 | 62.46/54.06 | 66.53/65.18 | 64.05/62.75 |
| PV-RCNN (Anchorhead) | 75.41/74.74 | 67.44/66.80 | 71.98/61.24 | 63.70/53.95 | 65.88/64.25 | 63.39/61.82 |
| PV-RCNN (Centerhead) | 75.95/75.43 | 68.02/67.54 | 75.94/69.40 | 67.66/61.62 | 70.18/68.98 | 67.73/66.57 |
| Voxel R-CNN (Centerhead) -Dynamic-Voxel | 76.13/75.66 | 68.18/67.74 | 78.20/71.98 | 69.29/63.59 | 70.75/69.68 | 68.25/67.21 |
| PV-RCNN ++ | 77.82/77.32 | 69.07/68.62 | 77.99/71.36 | 69.92/63.74 | 71.80/70.71 | 69.31/68.26 |
| PV-RCNN ++ (resnet) | 77.61/77.14 | 69.18/68.75 | 79.42/73.31 | 70.88/65.21 | 72.50/71.39 | 69.84/68.77 |
ที่นี่เรายังให้ประสิทธิภาพของหลายรุ่นที่ได้รับการฝึกอบรมเกี่ยวกับชุดการฝึกอบรมเต็มรูปแบบ (ดูเอกสารของ PV-RCNN ++):
| ประสิทธิภาพ@(ฝึกอบรมด้วยข้อมูล 100%) | vec_l1 | vec_l2 | ped_l1 | ped_l2 | cyc_l1 | cyc_l2 |
|---|---|---|---|---|---|---|
| ที่สอง | 72.27/71.69 | 63.85/63.33 | 68.70/58.18 | 60.72/51.31 | 60.62/59.28 | 58.34/57.05 |
| เสากลาง | 73.37/72.86 | 65.09/64.62 | 75.35/65.11 | 67.61/58.25 | 67.76/66.22 | 65.25/63.77 |
| ส่วนที่ A2-anchor | 77.05/76.51 | 68.47/67.97 | 75.24/66.87 | 66.18/58.62 | 68.60/67.36 | 66.13/64.93 |
| voxelnext-2d | 77.94/77.47 | 69.68/69.25 | 80.24/73.47 | 72.23/65.88 | 73.33/72.20 | 70.66/69.56 |
| voxelnext | 78.16/77.70 | 69.86/69.42 | 81.47/76.30 | 73.48/68.63 | 76.06/74.90 | 73.29/72.18 |
| PV-RCNN (Centerhead) | 78.00/77.50 | 69.43/68.98 | 79.21/73.03 | 70.42/64.72 | 71.46/70.27 | 68.95/67.79 |
| PV-RCNN ++ | 79.10/78.63 | 70.34/69.91 | 80.62/74.62 | 71.86/66.30 | 73.49/72.38 | 70.70/69.62 |
| PV-RCNN ++ (resnet) | 79.25/78.78 | 70.61/70.18 | 81.83/76.28 | 73.17/68.00 | 73.72/72.66 | 71.21/70.19 |
| DSVT-pillar | 79.44/78.97 | 71.24/70.81 | 83.00/77.22 | 75.45/69.95 | 76.70/75.70 | 73.83/72.86 |
| dsvt-voxel | 79.77/79.31 | 71.67/71.25 | 83.75/78.92 | 76.21/71.57 | 77.57/76.58 | 74.70/73.73 |
| PV-RCNN ++ (resnet, 2 เฟรม) | 80.17/79.70 | 72.14/71.70 | 83.48/80.42 | 75.54/72.61 | 74.63/73.75 | 72.35/71.50 |
| MPPNET (4 เฟรม) | 81.54/81.06 | 74.07/73.61 | 84.56/81.94 | 77.20/74.67 | 77.15/76.50 | 75.01/74.38 |
| MPPNET (16 เฟรม) | 82.74/82.28 | 75.41/74.96 | 84.69/82.25 | 77.43/75.06 | 77.28/76.66 | 75.13/74.52 |
เราไม่สามารถจัดทำโมเดลที่ได้รับการฝึกฝนไว้ข้างต้นเนื่องจากข้อตกลงลิขสิทธิ์ชุดข้อมูล Waymo แต่คุณสามารถบรรลุประสิทธิภาพที่คล้ายกันได้อย่างง่ายดายโดยการฝึกอบรมด้วยการกำหนดค่าเริ่มต้น
ทุกรุ่นได้รับการฝึกฝนด้วย 8 GPU และพร้อมให้ดาวน์โหลด สำหรับการฝึกอบรม bevfusion โปรดดูแนวทาง
| เพื่อน | เมส | เหมา | ทำให้เกิด | Maae | แผนที่ | NDS | การดาวน์โหลด | |
|---|---|---|---|---|---|---|---|---|
| Pointpillar-Multihead | 33.87 | 26.00 | 32.07 | 28.74 | 20.15 | 44.63 | 58.23 | รุ่น -23m |
| Second-Multihead (CBGs) | 31.15 | 25.51 | 26.64 | 26.26 | 20.46 | 50.59 | 62.29 | รุ่น -35m |
| Centerpoint-Pointpillar | 31.13 | 26.04 | 42.92 | 23.90 | 19.14 | 50.03 | 60.70 | รุ่น -23m |
| Centerpoint (voxel_size = 0.1) | 30.11 | 25.55 | 38.28 | 21.94 | 18.87 | 56.03 | 64.54 | รุ่น -34m |
| Centerpoint (voxel_size = 0.075) | 28.80 | 25.43 | 37.27 | 21.55 | 18.24 | 59.22 | 66.48 | รุ่น -34m |
| voxelnext (voxel_size = 0.075) | 30.11 | 25.23 | 40.57 | 21.69 | 18.56 | 60.53 | 66.65 | Model-31m |
| Transfusion-l* | 27.96 | 25.37 | 29.35 | 27.31 | 18.55 | 64.58 | 69.43 | รุ่น -32m |
| เบฟฟิวชั่น | 28.03 | 25.43 | 30.19 | 26.76 | 18.48 | 67.75 | 70.98 | รุ่น -157m |
*: ใช้กลยุทธ์ Fade ซึ่งปิดการใช้งานการเพิ่มข้อมูลในช่วงเวลาที่ผ่านมาหลายครั้งในระหว่างการฝึกอบรม
ทุกรุ่นได้รับการฝึกฝนด้วย 8 GPU
| ยานพาหนะ | คนเดินเท้า | นักปั่นจักรยาน | แผนที่ | |
|---|---|---|---|---|
| pointrcnn | 52.09 | 4.28 | 29.84 | 28.74 |
| Pointpillar | 68.57 | 17.63 | 46.81 | 44.34 |
| ที่สอง | 71.19 | 26.44 | 58.04 | 51.89 |
| PV-RCNN | 77.77 | 23.50 | 59.37 | 53.55 |
| จุดศูนย์กลาง | 78.02 | 49.74 | 67.22 | 64.99 |
ทุกรุ่นได้รับการฝึกฝนด้วย GPU 4 ตัว
| แผนที่ | การดาวน์โหลด | |
|---|---|---|
| voxelnext | 30.5 | รุ่น -32m |
ยินดีต้อนรับสู่การสนับสนุนชุดข้อมูลอื่น ๆ โดยส่งคำขอดึง
โปรดดูที่ Install.md สำหรับการติดตั้ง OpenPCDet
โปรดดูที่ Demo.MD สำหรับการสาธิตอย่างรวดเร็วเพื่อทดสอบกับแบบจำลองที่ผ่านการฝึกอบรมและแสดงภาพผลลัพธ์ที่คาดการณ์ไว้ในข้อมูลที่กำหนดเองของคุณหรือข้อมูล Kitti ดั้งเดิม
โปรดดูที่ Geting_Started.md เพื่อเรียนรู้การใช้งานเพิ่มเติมเกี่ยวกับโครงการนี้
OpenPCDet เปิดตัวภายใต้ใบอนุญาต Apache 2.0
OpenPCDet เป็นโครงการโอเพนซอร์สสำหรับการรับรู้ฉาก 3 มิติที่ใช้ LIDAR ซึ่งรองรับโมเดลการรับรู้ที่อิงตาม LIDAR หลายแบบดังที่แสดงด้านบน PCDet บางส่วนได้เรียนรู้จากรหัสที่ปล่อยออกมาอย่างเป็นทางการของวิธีการที่รองรับข้างต้น เราขอขอบคุณสำหรับวิธีการที่เสนอและการดำเนินการอย่างเป็นทางการ
เราหวังว่า repo นี้จะทำหน้าที่เป็น codebase ที่แข็งแกร่งและยืดหยุ่นเพื่อเป็นประโยชน์ต่อชุมชนการวิจัยโดยการเร่งกระบวนการของการปรับปรุงงานก่อนหน้านี้และ/หรือพัฒนาวิธีการใหม่
หากคุณพบว่าโครงการนี้มีประโยชน์ในการวิจัยของคุณโปรดพิจารณาอ้างอิง:
@misc{openpcdet2020,
title={OpenPCDet: An Open-source Toolbox for 3D Object Detection from Point Clouds},
author={OpenPCDet Development Team},
howpublished = {url{https://github.com/open-mmlab/OpenPCDet}},
year={2020}
}
ยินดีต้อนรับสู่การเป็นสมาชิกของทีมพัฒนา OpenPCDET โดยมีส่วนร่วมในการซื้อคืนนี้และอย่าลังเลที่จะติดต่อเราสำหรับการมีส่วนร่วมที่อาจเกิดขึ้น