Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
dcnv3
Commits
f3b13cad
Commit
f3b13cad
authored
May 17, 2023
by
yeshenglong1
Browse files
UpDate README.md
parent
0797920d
Changes
102
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
169 additions
and
123 deletions
+169
-123
autonomous_driving/Online-HD-Map-Construction/tools/visualization/visualize.py
...line-HD-Map-Construction/tools/visualization/visualize.py
+123
-123
autonomous_driving/README.md
autonomous_driving/README.md
+46
-0
No files found.
autonomous_driving/Online-HD-Map-Construction
-CVPR2023
/tools/visualization/visualize.py
→
autonomous_driving/Online-HD-Map-Construction/tools/visualization/visualize.py
View file @
f3b13cad
import
argparse
import
argparse
import
mmcv
import
mmcv
from
mmcv
import
Config
from
mmcv
import
Config
import
os
import
os
from
renderer
import
Renderer
from
renderer
import
Renderer
CAT2ID
=
{
CAT2ID
=
{
'ped_crossing'
:
0
,
'ped_crossing'
:
0
,
'divider'
:
1
,
'divider'
:
1
,
'boundary'
:
2
,
'boundary'
:
2
,
}
}
ID2CAT
=
{
v
:
k
for
k
,
v
in
CAT2ID
.
items
()}
ID2CAT
=
{
v
:
k
for
k
,
v
in
CAT2ID
.
items
()}
ROI_SIZE
=
(
60
,
30
)
ROI_SIZE
=
(
60
,
30
)
def
parse_args
():
def
parse_args
():
parser
=
argparse
.
ArgumentParser
(
parser
=
argparse
.
ArgumentParser
(
description
=
'Visualize groundtruth and results'
)
description
=
'Visualize groundtruth and results'
)
parser
.
add_argument
(
'log_id'
,
type
=
str
,
parser
.
add_argument
(
'log_id'
,
type
=
str
,
help
=
'log_id of data to visualize'
)
help
=
'log_id of data to visualize'
)
parser
.
add_argument
(
'ann_file'
,
parser
.
add_argument
(
'ann_file'
,
help
=
'gt file to visualize'
)
help
=
'gt file to visualize'
)
parser
.
add_argument
(
'--result'
,
parser
.
add_argument
(
'--result'
,
type
=
str
,
type
=
str
,
help
=
'prediction result to visualize'
)
help
=
'prediction result to visualize'
)
parser
.
add_argument
(
'--thr'
,
parser
.
add_argument
(
'--thr'
,
type
=
float
,
type
=
float
,
default
=
0
,
default
=
0
,
help
=
'score threshold to filter predictions'
)
help
=
'score threshold to filter predictions'
)
parser
.
add_argument
(
parser
.
add_argument
(
'--out-dir'
,
'--out-dir'
,
default
=
'demo'
,
default
=
'demo'
,
help
=
'directory where visualize results will be saved'
)
help
=
'directory where visualize results will be saved'
)
args
=
parser
.
parse_args
()
args
=
parser
.
parse_args
()
return
args
return
args
def
import_plugin
(
cfg
):
def
import_plugin
(
cfg
):
'''
'''
import modules, registry will be update
import modules, registry will be update
'''
'''
import
sys
import
sys
sys
.
path
.
append
(
os
.
path
.
abspath
(
'.'
))
sys
.
path
.
append
(
os
.
path
.
abspath
(
'.'
))
if
hasattr
(
cfg
,
'plugin'
):
if
hasattr
(
cfg
,
'plugin'
):
if
cfg
.
plugin
:
if
cfg
.
plugin
:
import
importlib
import
importlib
if
hasattr
(
cfg
,
'plugin_dir'
):
if
hasattr
(
cfg
,
'plugin_dir'
):
def
import_path
(
plugin_dir
):
def
import_path
(
plugin_dir
):
_module_dir
=
os
.
path
.
dirname
(
plugin_dir
)
_module_dir
=
os
.
path
.
dirname
(
plugin_dir
)
_module_dir
=
_module_dir
.
split
(
'/'
)
_module_dir
=
_module_dir
.
split
(
'/'
)
_module_path
=
_module_dir
[
0
]
_module_path
=
_module_dir
[
0
]
for
m
in
_module_dir
[
1
:]:
for
m
in
_module_dir
[
1
:]:
_module_path
=
_module_path
+
'.'
+
m
_module_path
=
_module_path
+
'.'
+
m
print
(
f
'importing
{
_module_path
}
/'
)
print
(
f
'importing
{
_module_path
}
/'
)
plg_lib
=
importlib
.
import_module
(
_module_path
)
plg_lib
=
importlib
.
import_module
(
_module_path
)
plugin_dirs
=
cfg
.
plugin_dir
plugin_dirs
=
cfg
.
plugin_dir
if
not
isinstance
(
plugin_dirs
,
list
):
if
not
isinstance
(
plugin_dirs
,
list
):
plugin_dirs
=
[
plugin_dirs
,]
plugin_dirs
=
[
plugin_dirs
,]
for
plugin_dir
in
plugin_dirs
:
for
plugin_dir
in
plugin_dirs
:
import_path
(
plugin_dir
)
import_path
(
plugin_dir
)
else
:
else
:
# import dir is the dirpath for the config file
# import dir is the dirpath for the config file
_module_dir
=
os
.
path
.
dirname
(
args
.
config
)
_module_dir
=
os
.
path
.
dirname
(
args
.
config
)
_module_dir
=
_module_dir
.
split
(
'/'
)
_module_dir
=
_module_dir
.
split
(
'/'
)
_module_path
=
_module_dir
[
0
]
_module_path
=
_module_dir
[
0
]
for
m
in
_module_dir
[
1
:]:
for
m
in
_module_dir
[
1
:]:
_module_path
=
_module_path
+
'.'
+
m
_module_path
=
_module_path
+
'.'
+
m
print
(
f
'importing
{
_module_path
}
/'
)
print
(
f
'importing
{
_module_path
}
/'
)
plg_lib
=
importlib
.
import_module
(
_module_path
)
plg_lib
=
importlib
.
import_module
(
_module_path
)
def
main
(
args
):
def
main
(
args
):
log_id
=
args
.
log_id
log_id
=
args
.
log_id
ann
=
mmcv
.
load
(
args
.
ann_file
)
ann
=
mmcv
.
load
(
args
.
ann_file
)
root_path
=
os
.
path
.
dirname
(
args
.
ann_file
)
root_path
=
os
.
path
.
dirname
(
args
.
ann_file
)
out_dir
=
os
.
path
.
join
(
args
.
out_dir
,
str
(
log_id
))
out_dir
=
os
.
path
.
join
(
args
.
out_dir
,
str
(
log_id
))
log_ann
=
ann
[
log_id
]
log_ann
=
ann
[
log_id
]
renderer
=
Renderer
(
roi_size
=
ROI_SIZE
)
renderer
=
Renderer
(
roi_size
=
ROI_SIZE
)
if
args
.
result
:
if
args
.
result
:
result
=
mmcv
.
load
(
args
.
result
)[
'results'
]
result
=
mmcv
.
load
(
args
.
result
)[
'results'
]
for
frame
in
mmcv
.
track_iter_progress
(
log_ann
):
for
frame
in
mmcv
.
track_iter_progress
(
log_ann
):
timestamp
=
frame
[
'timestamp'
]
timestamp
=
frame
[
'timestamp'
]
sensor
=
frame
[
'sensor'
]
sensor
=
frame
[
'sensor'
]
annotation
=
frame
[
'annotation'
]
annotation
=
frame
[
'annotation'
]
imgs
=
[
mmcv
.
imread
(
os
.
path
.
join
(
root_path
,
'argoverse2'
,
i
[
'image_path'
]))
for
i
in
sensor
.
values
()]
imgs
=
[
mmcv
.
imread
(
os
.
path
.
join
(
root_path
,
'argoverse2'
,
i
[
'image_path'
]))
for
i
in
sensor
.
values
()]
extrinsics
=
[
i
[
'extrinsic'
]
for
i
in
sensor
.
values
()]
extrinsics
=
[
i
[
'extrinsic'
]
for
i
in
sensor
.
values
()]
intrinsics
=
[
i
[
'intrinsic'
]
for
i
in
sensor
.
values
()]
intrinsics
=
[
i
[
'intrinsic'
]
for
i
in
sensor
.
values
()]
frame_dir
=
os
.
path
.
join
(
out_dir
,
timestamp
,
'gt'
)
frame_dir
=
os
.
path
.
join
(
out_dir
,
timestamp
,
'gt'
)
os
.
makedirs
(
frame_dir
,
exist_ok
=
True
)
os
.
makedirs
(
frame_dir
,
exist_ok
=
True
)
renderer
.
render_bev_from_vectors
(
annotation
,
out_dir
=
frame_dir
)
renderer
.
render_bev_from_vectors
(
annotation
,
out_dir
=
frame_dir
)
renderer
.
render_camera_views_from_vectors
(
annotation
,
imgs
,
extrinsics
,
renderer
.
render_camera_views_from_vectors
(
annotation
,
imgs
,
extrinsics
,
intrinsics
,
4
,
frame_dir
)
intrinsics
,
4
,
frame_dir
)
if
args
.
result
:
if
args
.
result
:
pred
=
result
[
timestamp
]
pred
=
result
[
timestamp
]
vectors
=
{
cat
:
[]
for
cat
in
CAT2ID
.
keys
()}
vectors
=
{
cat
:
[]
for
cat
in
CAT2ID
.
keys
()}
for
i
in
range
(
len
(
pred
[
'labels'
])):
for
i
in
range
(
len
(
pred
[
'labels'
])):
score
=
pred
[
'scores'
][
i
]
score
=
pred
[
'scores'
][
i
]
label
=
pred
[
'labels'
][
i
]
label
=
pred
[
'labels'
][
i
]
v
=
pred
[
'vectors'
][
i
]
v
=
pred
[
'vectors'
][
i
]
if
score
>
args
.
thr
:
if
score
>
args
.
thr
:
vectors
[
ID2CAT
[
label
]].
append
(
v
)
vectors
[
ID2CAT
[
label
]].
append
(
v
)
frame_dir
=
os
.
path
.
join
(
out_dir
,
timestamp
,
'pred'
)
frame_dir
=
os
.
path
.
join
(
out_dir
,
timestamp
,
'pred'
)
os
.
makedirs
(
frame_dir
,
exist_ok
=
True
)
os
.
makedirs
(
frame_dir
,
exist_ok
=
True
)
renderer
.
render_bev_from_vectors
(
vectors
,
out_dir
=
frame_dir
)
renderer
.
render_bev_from_vectors
(
vectors
,
out_dir
=
frame_dir
)
renderer
.
render_camera_views_from_vectors
(
vectors
,
imgs
,
renderer
.
render_camera_views_from_vectors
(
vectors
,
imgs
,
extrinsics
,
intrinsics
,
4
,
frame_dir
)
extrinsics
,
intrinsics
,
4
,
frame_dir
)
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
args
=
parse_args
()
args
=
parse_args
()
main
(
args
)
main
(
args
)
\ No newline at end of file
autonomous_driving/README.md
View file @
f3b13cad
<div
id=
"top"
align=
"center"
>
# InternImage for CVPR 2023 Workshop on End-to-End Autonomous Driving
</div>
## 1. InternImage-based Baseline for CVPR23 Occupancy Prediction Challenge
We achieve a nimprovement of 1.44 in MIOU baseline by leveraging the InterImage-based model.
model name|weight| mIoU | others | barrier | bicycle | bus | car | construction_vehicle | motorcycle | pedestrian | traffic_cone | trailer | truck | driveable_surface | other_flat | sidewalk | terrain | manmade | vegetation |
----|:----------:| :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :--: | :----------------------: | :---: | :------: | :------: |
bevformer_intern-s_occ|
[
Google Drive
](
https://drive.google.com/file/d/1LV9K8hrskKf51xY1wbqTKzK7WZmVXEV_/view?usp=sharing
)
| 25.11 | 6.93 | 35.57 | 10.40 | 35.97 | 41.23 | 13.72 | 20.30 | 21.10 | 18.34 | 19.18 | 28.64 | 49.82 | 30.74 | 31.00 | 27.44 | 19.29 | 17.29 |
bevformer_base_occ|
[
Google Drive
](
https://drive.google.com/file/d/1NyoiosafAmne1qiABeNOPXR-P-y0i7_I/view?usp=share_link
)
| 23.67 | 5.03 | 38.79 | 9.98 | 34.41 | 41.09 | 13.24 | 16.50 | 18.15 | 17.83 | 18.66 | 27.70 | 48.95 | 27.73 | 29.08 | 25.38 | 15.41 | 14.46 |
### Get Started
please refer to
[
README.md
](
./occupancy_prediction/README.md
)
## 2. InternImage-based Baseline for Online HD Map Construction Challenge For Autonomous Driving
By incorporating the InterImage-based model, we observe an enhancement of 6.56 in mAP baseline.
model name|weight|$
\m
athrm{mAP}$ | $
\m
athrm{AP}_{pc}$ | $
\m
athrm{AP}_{div}$ | $
\m
athrm{AP}_{bound}$ |
----|:----------:| :--: | :--: | :--: | :--: |
vectormapnet_intern|
[
Checkpoint
](
https://github.com/OpenGVLab/InternImage/releases/download/track_model/vectormapnet_internimage.pth
)
| 49.35 | 45.05 | 56.78 | 46.22 |
vectormapnet_base|
[
Google Drive
](
https://drive.google.com/file/d/16D1CMinwA8PG1sd9PV9_WtHzcBohvO-D/view
)
| 42.79 | 37.22 | 50.47 | 40.68 |
### Get Started
please refer to
[
README.md
](
Online-HD-Map-Construction/README.md
)
## 3. InternImage-based Baseline for CVPR23 OpenLane-V2 Challenge
Through the implementation of the InterImage-based model, we achieve an advancement of 0.009 in F-score baseline.
| | OpenLane-V2 Score | DET
<sub>
l
</sub>
| DET
<sub>
t
</sub>
| TOP
<sub>
ll
</sub>
| TOP
<sub>
lt
</sub>
| F-Score |
|-------------|-------------------|-----------------|-----------------|------------------|------------------|---------|
| base r50 | 0.292 | 0.183 | 0.457 | 0.022 | 0.143 | 0.215 |
| InternImage | 0.325 | 0.194 | 0.537 | 0.02 | 0.17 | 0.224 |
### Get Started
please refer to
[
README.md
](
./openlane-v2/README.md
)
Prev
1
2
3
4
5
6
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment