Zadanie projektowe polega na przygotowaniu algorytmu wykrywania i zliczania kolorowych cukierków znajdujących się na zdjęciach. Dla uproszczenia zadania w zbiorze danych występują jedynie 4 kolory cukierków:
- czerwony
- żółty
- zielony
- fioletowy
Wszystkie zdjęcia zostały zarejestrowane "z góry", ale z różnej wysokości i pod różnym kątem. Ponadto obrazy różnią się między sobą poziomem oświetlenia oraz oczywiście ilością cukierków.
Poniżej przedstawione zostało przykładowe zdjęcie ze zbioru danych i poprawny wynik detekcji dla niego:
{
...,
"37.jpg": {
"red": 2,
"yellow": 2,
"green": 2,
"purple": 2
},
...
}Szablon projektu zliczania cukierków na zdjęciach dostępny jest w serwisie GitHub i ma następującą strukturę:
.
├── data
│ ├── 00.jpg
│ ├── 01.jpg
│ └── 02.jpg
├── readme_files
├── detect.py
├── README.md
└── requirements.txtKatalog data zawiera przykłady, na podstawie których w pliku detect.py przygotowany został algorytm zliczania cukierków.
Skrypt detect.py przyjmuje 2 parametry wejściowe:
data_path- ścieżkę do folderu z danymi (zdjęciami)output_file_path- ścieżkę do pliku z wynikami
$ python3 detect.py --help
Options:
-p, --data_path TEXT Path to data directory
-o, --output_file_path TEXT Path to output file
--help Show this message and exit.W konsoli systemu Linux skrypt można wywołać z katalogu projektu w następujący sposób:
python3 detect.py -p ./data -o ./results.jsonAlgortymu zliczania cukierków jest oceniany na podstawie poniższeo wzoru:
Gdzie:
