W listopadzie 2019 roku zgłosiłem się do konkursu GovTech. Wybrałem zadanie konkursowe polegajce na przygotowaniu aplikacji mobilnej, która miała pomóc osobom wgrywającym zdjęcia do dowodu osobistego. Chodziło to, żeby aplikacja - podczas robienia sobie zdjęcia selfie - od razu wskazywała, dlaczego dane ustawienie do zdjęcia jest nieprawidłowe: a to za ciemne tło,a to niedozwolone okulary.
Mój pomysł polegał na tym, że zabrać się za zadanie w 3 krokach:
- Przygotować aplikację webową, za pomocą której mógbłym zebrać dane testowe od znajomych i rodziny.
- Wytrenować model machine learning za pomocą tych danych.
- Przygotować aplikację mobilną wykorzystującą ten wytrenowany model - apka była właściwym elementem konkursu.
Niestety, nie udało mi się dobrnąć do kroków numer 2 i 3, bo przygotowanie apki z kroku pierwszego zajęło mi sporo czasu, no i też nie zebrałem wystarczającej ilości zdjęć, żeby móc to jakoś wrzucić do machine learning. Jednakże to i tak było ciekawe doświadczenie, dlatego dzielę się tym, co udało mi się zrobić.
Wszystko, co zrobiłem, można znaleźć na moim Githubie: https://github.com/robert-skarzycki/govtech-2019-collect-id-photos
To repozytorium zawiera dwie aplikacje:
- apkę webową do zbierania zdjęć,
- funkcję Azure do przepychania tych zdjęć do Blob storage.
Apkę webową stworzyłem za pomocą Gatsby CLI oraz startera Julia - tego samego, na którym działa mój blog. Sama strona to po prostu zwykły “wizard”, który prowadzi użytkownika krok po kroku, prosząc o wykonanie kolejnych zdjęć - prawidłowych i nieprawidłowych. Natomiast funkcja Azure działa na .NET Core i wykorzystuje Azure Blob SDK (to było moje pierwsze spotkanie z tym SDK).