Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autonomous Car Driving Using Deep Learning #97

Open
minha62 opened this issue Jan 20, 2023 · 0 comments
Open

Autonomous Car Driving Using Deep Learning #97

minha62 opened this issue Jan 20, 2023 · 0 comments

Comments

@minha62
Copy link
Collaborator

minha62 commented Jan 20, 2023

The core of autonomous driving

  1. a union of perception
  2. decision making

In this paper, simple models are used

  1. vanilla UNet/FCN for perception
  2. linear algebra techniques for decision making

➡ easy to interpret, cost-effective, good results


A. Generation of Data

The steps to generate data by using CARLA's driving simulator

  1. Launch CARLA UE4 client, spawn 60 to 150 vehicles. Set the sensor ticks to capture an image every 5s to avoid similar images.
  2. Prepare the color map that can be used for annotation during the image segmentation.
  3. The output is generated as an RGB image and corresponding segmented image.
  4. Generate and captured 1500 RGB and segmented images partitioned for training/test/validation set.
  5. Images with grey background consider as input features and segmented images are used as labels.

B. Data distribution

  • 12 multi-classes
  • a dimension reduction algorithm into 2-dimension
  • 두 코너에 2개의 시나리오(차 유무) 이미지, 중심에 차가 멀리 있는 이미지 => smooth distribution

C. Removal of redundant images

  1. Generate images with an interval of 5s
  2. Compute similarity score, identify the similarity between images and remove the most similar images with a certain frequency using dice-coefficient

D. Class imbalance

3 dominant classes due to multiclass imbalance
➡ customize loss function to add weights to the classes based on their frequency (very cost-effective)


E. Model building

  • the primary task: identify objects to classify each pixel in an image
    ➡ output shape == input shape
  • ❌ traditional CNN based image classifiers (∵ down-samples on each layer and leads to a small feature map)
  • ⭕ an up-sampling process where transpose convolutions are used to reconstruct the image w/ each pixel classified→ softmax layer resulting in the class distribution for each pixel

F. Loss function

Focal-loss
: provides class weights implicitly and solves the imbalance very effectiely

Hyperband
: formulates hyper-parameter optimization as a multi-armed bandit problem in a non-stochastic setting

trade-off between hyperband & traditional Bayesian optimization(BO)

  • performance: BO > hyperband
  • efficiency & speed while taking computation: hyperband > BO

G. Model Evaluation

  1. mPA - mean pixel accuracy

    • PA: (No. of pixels classified correctly for an image) / (total no. of pixels for an image)
    • mPA: (total pixels classified correctly for each image) / (total no. of pixels) * (1/n)
      • n: (size of the dataset) / (total no. of images)
  2. mIOU - mean intersection over union

  • intersection: the overlap area of a class's predicted and ground truth
  • union: the combined area of class's both predicted and ground truth
    image
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant