Computer Vision Labs

Computer Vision Labs

external-link

Mar 2026

Finished

Three comprehensive computer vision lab assignments from the MUIARFID master's program. Exercise 1 — Gender Recognition: train a CNN with under 100K parameters achieving >98% accuracy. Supports small/large CNN and ResNet architectures. Exercise 2 — Car Model Identification: Bilinear CNN with pretrained backbones (VGG-16, ResNet-50) in three combinations (vg-res, vg-vg, res-res). Two-stage training with backbone freezing then full fine-tuning at reduced LR. Exercise 3 — Attention Visualization: explore ViT attention maps using raw attention rollout and interactive per-patch head selection. Built with PyTorch Lightning for clean training loops, automatic checkpointing, and early stopping. Includes 4 Jupyter notebooks for interactive experimentation and a CLI for batch training runs.

Technologies
ai

AI

huggingface

HuggingFace

jupyter

Jupyter

latex

LaTeX

matplot

Matplot

numpy

NumPy

opencv

OpenCV

plotly

Plotly

python

Python

pytorch

PyTorch

sklearn

Sklearn

https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/bus1_layer2_169.png?v=85436b821087f0dae02359a129c09bb424e47605
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/peackock_layer2_169.png?v=ff179e65eafe687e84c07b6c30e7bc2b68126c62
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcan_rollout_169.png?v=b0b267e53c3d3404fa0f46839b7bd953dc3809be
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_heads_layer2_169.png?v=3b9aebe9c95031557d369c218e2311a680e682ef
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_1_169.png?v=8def4bc784e7e99e53c7ebe75bc1aea07472ef27
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_10_169.png?v=03e13e5bc8529318c4406d16b7d8fdb7aacd0d2a
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_11_169.png?v=00cbb4fc3a0e73cde388ba7eb325f21c5b122d70
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_3_169.png?v=39f6ac275ce462a4e9efbbd835023da10c52ed2d
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_5_169.png?v=4862120583eaf9036a9aba43ce1222fe99dc6427
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_6_169.png?v=4e2bb9383587794a813f5d98b6f9b1aca0819ce1
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/zebra_back_layer_3_169.png?v=5c7b627ab55fede669861da7113ecb01f0bda4e9
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/bus1_layer2_169.png?v=85436b821087f0dae02359a129c09bb424e47605
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/peackock_layer2_169.png?v=ff179e65eafe687e84c07b6c30e7bc2b68126c62
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcan_rollout_169.png?v=b0b267e53c3d3404fa0f46839b7bd953dc3809be
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_heads_layer2_169.png?v=3b9aebe9c95031557d369c218e2311a680e682ef
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_1_169.png?v=8def4bc784e7e99e53c7ebe75bc1aea07472ef27
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_10_169.png?v=03e13e5bc8529318c4406d16b7d8fdb7aacd0d2a
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_11_169.png?v=00cbb4fc3a0e73cde388ba7eb325f21c5b122d70
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_3_169.png?v=39f6ac275ce462a4e9efbbd835023da10c52ed2d
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_5_169.png?v=4862120583eaf9036a9aba43ce1222fe99dc6427
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_6_169.png?v=4e2bb9383587794a813f5d98b6f9b1aca0819ce1
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/zebra_back_layer_3_169.png?v=5c7b627ab55fede669861da7113ecb01f0bda4e9
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/bus1_layer2_169.png?v=85436b821087f0dae02359a129c09bb424e47605
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/peackock_layer2_169.png?v=ff179e65eafe687e84c07b6c30e7bc2b68126c62
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcan_rollout_169.png?v=b0b267e53c3d3404fa0f46839b7bd953dc3809be
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_heads_layer2_169.png?v=3b9aebe9c95031557d369c218e2311a680e682ef
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_1_169.png?v=8def4bc784e7e99e53c7ebe75bc1aea07472ef27
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_10_169.png?v=03e13e5bc8529318c4406d16b7d8fdb7aacd0d2a
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_11_169.png?v=00cbb4fc3a0e73cde388ba7eb325f21c5b122d70
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_3_169.png?v=39f6ac275ce462a4e9efbbd835023da10c52ed2d
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_5_169.png?v=4862120583eaf9036a9aba43ce1222fe99dc6427
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_6_169.png?v=4e2bb9383587794a813f5d98b6f9b1aca0819ce1
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/zebra_back_layer_3_169.png?v=5c7b627ab55fede669861da7113ecb01f0bda4e9
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/bus1_layer2_169.png?v=85436b821087f0dae02359a129c09bb424e47605
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/peackock_layer2_169.png?v=ff179e65eafe687e84c07b6c30e7bc2b68126c62
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcan_rollout_169.png?v=b0b267e53c3d3404fa0f46839b7bd953dc3809be
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_heads_layer2_169.png?v=3b9aebe9c95031557d369c218e2311a680e682ef
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_1_169.png?v=8def4bc784e7e99e53c7ebe75bc1aea07472ef27
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_10_169.png?v=03e13e5bc8529318c4406d16b7d8fdb7aacd0d2a
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_11_169.png?v=00cbb4fc3a0e73cde388ba7eb325f21c5b122d70
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_3_169.png?v=39f6ac275ce462a4e9efbbd835023da10c52ed2d
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_5_169.png?v=4862120583eaf9036a9aba43ce1222fe99dc6427
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/volcano_reflection_layer_6_169.png?v=4e2bb9383587794a813f5d98b6f9b1aca0819ce1
https://raw.githubusercontent.com/MiquelGomezCorral/VPC-Labs/main/readme-images/zebra_back_layer_3_169.png?v=5c7b627ab55fede669861da7113ecb01f0bda4e9