Akasxh / Terrain-Recognition

High accuracy, explainable, lightweight CNN for terrain recognition.
GNU General Public License v3.0
11 stars 16 forks source link

Enhancing Terrain Recognition Model for Performance Optimization #19

Open deepanshubaghel opened 1 month ago

deepanshubaghel commented 1 month ago

Description: The current Convolutional Neural Network (CNN) model for terrain classification is functional, but there are several areas for improvement to boost performance and efficiency. These optimizations can help with better generalization, faster training, and higher accuracy.

### Proposed Solutions:

Data Preprocessing Enhancements:

  1. Incorporate more advanced data augmentation techniques to further diversify the training data.
  2. Experiment with image preprocessing strategies like CLAHE (Contrast Limited Adaptive Histogram Equalization) for better contrast enhancement.

Model Architecture Improvements:

  1. Increase the complexity of the model by adding residual connections between layers.
  2. Experiment with different activation functions like Leaky ReLU for deeper layers.
  3. Add an additional fully connected layer before the output for better feature extraction.

Training Process Optimization:

  1. Use advanced optimizers like AdamW or Ranger, which combine Adam with weight decay or lookahead mechanisms.
  2. Implement early stopping to prevent overfitting and save training time.

Approach to be Followed:

  1. Experiment with various image augmentations and observe performance changes.
  2. Refactor the model architecture to include skip connections.
  3. Test the effect of different optimizers and schedule learning rates accordingly.
UTkARsh-RaJ01 commented 1 month ago

Can you assign this task to me?

Akasxh commented 1 month ago

Your idea is good. Try using different versions of Adam as well and document each of theirs loss curves how they are reaching the minima.

Also I suggest trying to over fit the data once for experimentation purpose and notice if you see any trend.

I have assigned this to you and while saving start from V4 and document each major change with a different version and note down the complexities, model space taken, As well as accuracy scores.

I have assigned this to you.

Akasxh commented 1 month ago

@UTkARsh-RaJ01 either communicate with @deepanshubaghel or you can take up to another new issue if you think you can improve this by implementing something else than what's stated here.