ALINA: Advanced Line Identification and Notation Algorithm

CVPR 2024

Mohammed Abdul Hafeez Khan1, Parth Ganeriwala1, Siddhartha Bhattacharyya1, Natasha Neogi2, Raja Muthalagu3

1Florida Institute of Technology    2NASA Langley Research Center    3BITS Pilani Dubai Campus

Figure 1: the aircraft and camera setup used to record taxiway video, a manually drawn region of interest on one frame, and the resulting ALINA annotation on that frame.
(a) The aircraft used for this research. (b), (c) The camera setup at different perspectives inside the aircraft. (d) A region of interest manually defined on a frame. (e) The resulting taxiway line marking annotation from ALINA.

Training deep learning models to segment taxiway line markings requires labeled data, and producing those labels normally means exhaustive, frame-by-frame manual labeling, which is slow, costly, and prone to error. ALINA was built to remove that bottleneck.

As part of ALINA, a region of interest is drawn on the first frame of a video. ALINA warps that region into a bird's-eye view and isolates line marking pixels by color. We also propose CIRCLEDAT, an algorithm that traces the connected line marking pixels to produce the final annotation. ALINA uses the initially drawn ROI to label the rest of the frames of a video.

Highlights

No manual pixel labeling

Replaces slow and costly manual labeling with only defining one region of interest per video.

Perspective- and weather-agnostic

Works across different camera angles and both sunny and cloudy conditions.

98.45%

Detection rate against a hand-verified ground truth set.

60,249 frames

Labeled from the AssistTaxi dataset using this approach.

Method

Figure 2: the ALINA pipeline, from region of interest selection through perspective warping, color thresholding, histogram analysis, CIRCLEDAT traversal, and unwarping back to the original frame.
The ALINA pipeline: from ROI definition and perspective warping, through color thresholding, histogram analysis and CIRCLEDAT, to unwarping and final annotation.
  1. Draw a trapezoidal region of interest on the first frame.
  2. Warp the region into a top-down view.
  3. Normalize and threshold the color channels to isolate candidate line marking pixels.
  4. Scan a histogram of the mask to locate the strongest column of pixels.
  5. Trace the connected line marking pixels with CIRCLEDAT.
  6. Unwarp the result and mark the pixels on the original frame.

ALINA leverages geometric transformations and pixel color of taxiway line markings.

Results

Qualitative

Annotated taxiway frames across different camera perspectives and weather conditions, with detected line marking pixels shown in red.
ALINA's steps shown on frames from three separate videos, each with its own camera angle and taxiway layout.

Detection rate

ALINA vs. CDLEM, evaluated against a 120-frame context-based edge map (CBEM) ground truth set.

AlgorithmDetection Rate (%)Processing Time (ms)
CDLEM91.14120.35
ALINA98.4550.09

CIRCLEDAT vs. sliding window

Comparing CIRCLEDAT against the standard sliding window search approach for isolating line marking pixels. Here, m and n denote the frame's height and width, and k is the number of pixels belonging to the line marking in that frame.

AlgorithmTime ComplexityProcessing Time (ms)
Sliding WindowO(m × n)10.90
CIRCLEDATO(k)3.33

Processing time breakdown

Breakdown of average time per frame for each component of ALINA. Measured on the local CPU.

ProcessTime (ms)
Perspective Transformation4.41
Color Feature Normalization5.91
HSV-based Color Thresholding1.05
Histogram Analysis28.71
CIRCLEDAT3.33
Projection Remapping6.68
Total50.09

Citation

@InProceedings{Khan_2024_CVPR,
    author    = {Khan, Mohammed Abdul Hafeez and Ganeriwala, Parth and Bhattacharyya, Siddhartha and Neogi, Natasha and Muthalagu, Raja},
    title     = {ALINA: Advanced Line Identification and Notation Algorithm},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR) Workshops},
    month     = {June},
    year      = {2024},
    pages     = {7293-7302}
}