fix: correct some info

This commit is contained in:
Dustella 2025-04-21 10:44:47 +08:00
parent 911df69b2a
commit 2b7b21416c
Signed by: Dustella
GPG Key ID: 35AA0AA3DC402D5C

View File

@ -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
]