Two coursework projects for image classification and object detection in Advanced Topics in Computer Vision, University of Thessaly.
This repository contains two independent computer vision assignments:
| Project | Folder | Description |
|---|---|---|
| Fashion-MNIST Classification | classification/ |
Compares shallow and deep dense neural networks on Fashion-MNIST. |
| Object Detection Benchmark | object_detection/ |
Compares YOLOv5m, Faster R-CNN, and SSD300 on 11 test images. |
Each project includes its own source code, requirements file, README, and original report.
Classification training curves:
Faster R-CNN vs SSD300 comparison:
YOLOv5m detection output:
More saved detections are available in object_detection/docs/yolo_detections/.
ComputerVisionBenchmarks/
|-- README.md
|-- .gitignore
|-- classification/
| |-- README.md
| |-- requirements.txt
| |-- shallow_model.py
| |-- deep_model.py
| `-- docs/
| |-- plots/
| `-- classification_report.pdf
`-- object_detection/
|-- README.md
|-- requirements.txt
|-- yolo_detect.py
|-- faster_rcnn.py
|-- ssd300.py
|-- faster_rcnn_ssd_compare.py
|-- images/
|-- models/
`-- docs/
|-- model_comparisons/
|-- yolo_detections/
`-- object_detection_report.docx
Use a separate virtual environment for each project because the TensorFlow and PyTorch dependency stacks are large.
cd classification
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python shallow_model.py --no-plotsOn macOS or Linux:
cd classification
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python shallow_model.py --no-plotscd object_detection
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python yolo_detect.py --no-showOn macOS or Linux:
cd object_detection
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python yolo_detect.py --no-show| Metric | Shallow Model | Deep Model |
|---|---|---|
| Test accuracy | 0.8846 | 0.8961 |
| Validation accuracy | 0.8923 | 0.8973 |
| Training time | 30.66 sec | 64.47 sec |
The deep model produced the best test accuracy, while the shallow model trained faster and stayed competitive.
| Model | Main observation |
|---|---|
| YOLOv5m | Best balance of speed and detection quality. |
| Faster R-CNN | More exhaustive detections, but slower. |
| SSD300 | Fast, but missed more objects and produced weaker labels. |
- Sample images and saved PNG result plots are included.
- Large model/checkpoint files such as
*.pt,*.pth, and*.onnxare ignored. - Generated outputs such as
results/,runs/, andoutput/are ignored. - The local YOLO model file can be kept under
object_detection/models/, but it should not be committed.
This project is licensed under the MIT License.
Konstantinos Kiousis
Student ID: 2121129


