fix: correct some info
This commit is contained in:
parent
911df69b2a
commit
2b7b21416c
@ -61,7 +61,7 @@ Given a point cloud *$P = \{p_1, p_2, dots, p_n\}$*
|
||||
|
||||
where each point *$p_i in RR^3$* represents a 3D coordinate in the railway environment,
|
||||
|
||||
our task is to assign each point a semantic label *$l_i in \{0, 1, dots, C-1\}$*
|
||||
Our task is to assign each point a semantic label *$l_i in \{0, 1, dots, C-1\}$*
|
||||
|
||||
where *$C = 13$* represents our predefined classes.
|
||||
|
||||
@ -77,7 +77,7 @@ The function $f: P -> L$ maps the input point cloud to a set of labels $L = \{l_
|
||||
#v(1em)
|
||||
#text(size: 1.2em, weight: "bold")[Pilot Study Aims]
|
||||
|
||||
- Establish baseline performance using RandLA-Net
|
||||
- Establish *baseline* performance using RandLA-Net
|
||||
- Evaluate feasibility of detecting extremely rare objects (0.001% of data)
|
||||
|
||||
][
|
||||
@ -109,32 +109,26 @@ The function $f: P -> L$ maps the input point cloud to a set of labels $L = \{l_
|
||||
|
||||
#text(size: 1.1em, weight: "bold")[Training Setup]
|
||||
|
||||
- 858 training files, 172 test files
|
||||
- Only 18 training files and 1 test file contain foreign objects
|
||||
- 1/4 downsampling ratio
|
||||
- *858* training files, *172* test files
|
||||
- Only *18* training files and *1* test file contain foreign objects
|
||||
- *1/4* downsampling ratio
|
||||
- NVIDIA RTX 4090 GPU
|
||||
|
||||
][
|
||||
#text(size: 1.1em, weight: "bold")[Data Collection]
|
||||
|
||||
- 1,031 PLY files with 248M+ points
|
||||
- 13 semantic classes including railway infrastructure elements
|
||||
- "Box" class (label 11) represents foreign objects
|
||||
- Extreme class imbalance: boxes only 0.001% of points
|
||||
- *1,031* PLY files with *248M+* points
|
||||
- *13* semantic classes including railway infrastructure elements
|
||||
- "Box" class (label *11*) represents foreign objects
|
||||
- Extreme class imbalance: boxes only *0.001%* of points
|
||||
|
||||
]
|
||||
|
||||
#slide(composer: (1fr, 3fr))[
|
||||
#text(size: 1em, weight: "bold")[Inspection on data]
|
||||
#slide(composer: (2fr, 3fr))[
|
||||
#text(size: 1.2em, weight: "bold")[Inspection on data]
|
||||
#v(1em)
|
||||
#text(size: 0.8em)[Table: Distribution of semantic classes in the railway LiDAR dataset]
|
||||
][
|
||||
|
||||
|
||||
|
||||
// #text(size: 1.1em, weight: "bold")[Inspection on Data]
|
||||
|
||||
|
||||
#set text(size: 0.7em)
|
||||
#table(
|
||||
columns: (auto, auto, auto, auto),
|
||||
@ -153,7 +147,7 @@ The function $f: P -> L$ maps the input point cloud to a set of labels $L = \{l_
|
||||
[8], [Mountain], [51,685,366], [20.82%],
|
||||
[9], [Train], [9,047,963], [3.65%],
|
||||
[10], [Human], [275,077], [0.11%],
|
||||
[11], [Box (foreign object)], [3,080], [0.001%],
|
||||
[11], [*Box (object)*], [*3,080*], [*0.001%*],
|
||||
[12], [Others], [2,360,810], [0.95%],
|
||||
)
|
||||
|
||||
@ -190,7 +184,7 @@ The function $f: P -> L$ maps the input point cloud to a set of labels $L = \{l_
|
||||
#slide()[
|
||||
#text(weight: "bold")[Results]
|
||||
|
||||
- The overall mean IoU across all classes was 70.29\%,
|
||||
- The overall mean IoU across all classes was *70.29\%*,
|
||||
- the IoU for our target class— *"Box"* (foreign object)—was *0.00\%* (Will be discussed later).
|
||||
- IoU of other classes was relatively high, with *"Train"* achieving *95.22\%* and *"Ground"* achieving *89.68\%*.
|
||||
][
|
||||
@ -237,15 +231,14 @@ The function $f: P -> L$ maps the input point cloud to a set of labels $L = \{l_
|
||||
|
||||
Let's look at Cross Entropy Loss:
|
||||
|
||||
// \ell(x, y) = L = \{l_1,\dots,l_N\}^\top, \quad
|
||||
// l_n = - w_{y_n} \log \frac{\exp(x_{n,y_n})}{\sum_{c=1}^C \exp(x_{n,c})}
|
||||
// \cdot \mathbb{1}\{y_n \not= \text{ignore\_index}\}
|
||||
$
|
||||
ell(x, y) = 1 / N sum_(n=1)^N - w_(y_n) log frac(exp(x_{n,y_n}) , sum_(c=1)^C exp(x_{n,c}))
|
||||
$
|
||||
|
||||
where $w_{y_n}$ is the weight for class $y_n$ and $N$ is the number of points in the batch.
|
||||
|
||||
In this case we just *blindly set weight for all class as 1*, which is not suitable. We should add weight on classes like boxes and human.
|
||||
|
||||
]
|
||||
|
||||
|
||||
@ -263,7 +256,9 @@ The function $f: P -> L$ maps the input point cloud to a set of labels $L = \{l_
|
||||
|
||||
#slide(align: auto)[
|
||||
|
||||
#v(6em)
|
||||
#text(weight: "bold")[Why Model Performs Bad on Boxes]
|
||||
|
||||
#v(5em)
|
||||
|
||||
The model is *biased towards the majority classes*, leading to poor performance on the minority class (foreign objects).
|
||||
|
||||
@ -273,9 +268,9 @@ The function $f: P -> L$ maps the input point cloud to a set of labels $L = \{l_
|
||||
|
||||
#text(weight: "bold")[Future Work]
|
||||
|
||||
- Add weights in loss functions to address class imbalance
|
||||
- Explore data augmentation techniques to increase the representation of the "Box" class
|
||||
- Consider ensemble methods or multi-task learning to improve detection performance
|
||||
- Add weights in loss functions to *address class imbalance*
|
||||
- Explore *data augmentation* techniques to increase the representation of the "Box" class
|
||||
- Consider *ensemble methods* or multi-task learning to improve detection performance
|
||||
]
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user