-
Notifications
You must be signed in to change notification settings - Fork 2
iOS Informacje o projekcie
Nazwa i akronim projektu: Aplikacja iOS wykorzystująca głębokie sieci neuronowe do rozpoznawania polskich banknotów dla osób niewidomych | Zleceniodawca: mgr inż. Jan Cychnerski | |
Numer zlecenia: 27@KASK'2023 | Kierownik projektu: Jakub Dajczak | Opiekun projektu: mgr inż. Jan Cychnerski |
Nazwa dokumentu/akronim: Informacje o projekcie – IoP | Nr wersji: 1.01 |
Odpowiedzialny za dokument: Mateusz Sowiński, Jakub Dajczak | Data pierwszego sporządzenia: 30.01.2023 |
Data ostatniej aktualizacji: 30.01.2023 | |
Studia I stopnia, inżynierskie | |
Semestr realizacji Projektu grupowego: 1 |
Historia zmian
Wersja | Opis modyfikacji | Rozdział / strona | Autor modyfikacji | Data |
1.00 | pierwsza wersja | całość | Mateusz Sowiński | 30.01.2023 |
1.01 | Uzupełnienie informacji | całość | Jakub Dajczak | 30.01.2023 |
- 1. Wprowadzenie - o dokumencie
- 2. Cel i założenia projektu
- 3. Organizacja projektu
- 4. Analiza ryzyka i zarządzanie ryzykiem w projekcie
Celem dokumentu jest uporządkowanie podstawowych informacji o projekcie, wykonawcach, temacie, zakresie projektu, wstępnie planowanym zakresie prac, zarządzaniu jakością i wykonanie uproszczonej analizy ryzyka.
Odbiorcami dokumentu są odpowiednio:
- Opiekun projektu: mgr inż. Jan Cychnerski
- Koordynator katedralny: dr inż. Jarosław Kuchta, prof. uczelni
- Członkowie zespołu projektowego:
- Jakub Dajczak
- Anton Delinac
- Stanisław Smykowski
- Mateusz Sowiński
- Miłosz Chojnacki
iOS – system operacyjny Apple Inc. dla urządzeń mobilnych iPhone, iPod touch oraz iPad.
sieć neuronowa - statystyczny model obliczeniowy stosowany w uczeniu maszynowym.
open-source - rodzaj oprogramowania komputerowego, w którym kod źródłowy jest wydawany na podstawie licencji, na mocy której właściciel praw autorskich przyznaje użytkownikom prawa do badania, zmiany i rozpowszechniania oprogramowania w ramach licencji wolnego oprogramowania.
GitHub - hostingowy serwis internetowy przeznaczony do projektów programistycznych wykorzystujących system kontroli wersji Git.
Discord – bezpłatna usługa internetowa oparta na chmurze, służąca do rozmów głosowych i komunikacji za pomocą wiadomości tekstowych z możliwością umieszczania zdjęć oraz filmów, zaprojektowana początkowo jako platforma skierowana dla graczy komputerowych.
Messenger (inaczej: Facebook Messenger) – komunikator internetowy stworzony przez Metę. Służy do wysyłania wiadomości, zdjęć, filmów, naklejek i innych plików, a także pozwala reagować na wiadomości znajomych i wchodzić w interakcje z botami.
Celem projektu jest rozwój aplikacji mobilnej dla osób niewidomych, która umożliwi rozpoznawanie w czasie rzeczywistym polskich banknotów, na podstawie obrazu z kamery
- Rozbudowa zbioru danych (filmów polskich banknotów)
- Budowa, trening i testy sieci neuronowych do detekcji i/lub klasyfikacji obrazów banknotów
- Implementacja aplikacji mobilnej na system IOS przystosowanej do wykorzystania przez osoby niewidome oraz niedowidzące, umożliwiającej uruchomienie wytworzonych sieci neuronowych w czasie rzeczywistym
- Publikacja zbioru danych oraz kodu jako projekt open-source
Tabela 3.1. Członkowie zespołu projektowego
Lp. | Imię i nazwisko członka zespołu | Rola w projekcie | E-mail kontaktowy |
1. | Jakub Dajczak | Project leader | s184347@student.pg.edu.pl |
2. | Anton Delinac | Machine Learning Developer | s184673@student.pg.edu.pl |
3. | Stanisław Smykowski | Data Engineer | s184787@student.pg.edu.pl |
4. | Mateusz Sowiński | Data Engineer | s165434@student.pg.edu.pl |
5. | Miłosz Chojnacki | IOS Developer | s184934@student.pg.edu.pl |
Tabela 3.2. Osoby pełniące nadzór nad projektem
Nazwa katedry | Katedra Architektury Systemów Komputerowych | |
Opiekun | mgr inż. Jan Cychnerski | e-mail: jan.cychnerski@pg.edu.pl |
Klient (osoba reprezentująca klienta) | mgr inż. Jan Cychnerski | e-mail: jan.cychnerski@pg.edu.pl |
Koordynator katedralny | dr inż. Jarosław Kuchta | e-mail: jarkucht@pg.edu.pl |
Koordynator wydziałowy | dr inż. Sławomir Gajewski | e-mail: slawomir.gajewski@eti.pg.edu.pl |
- Komunikacja z klientem/opiekunem projektu:
- komunikacja odbywała się w sposób hybrydowy,
- kierownik projektu spotykał się z opiekunem raz na dwa tygodnie w celu ustalenia dalszych zadań oraz podsumowania wykonanych zadań, następnie przekazywał informację otrzymane od opiekuna na serwisie GitHub w zakładce dyskusje.
- opiekun był dostępny na własnym serwerze discord gdzie został założony kanał specialnie dla zespołu do komunikacji online.
- Kanały komunikacji:
- Serwer Discord - chat, kanał głosowy
- GitHub - repozytorium kodu, dokumentacja (wiki), zadania (issues)
- Messanger - chat, kanał głosowy
- Proces wytwarzania oprogramowania:
- Stworzenie zadania (issue) na GitHub
- Stworzenie odgałęzienia (branch) od głównej gałęzi (master branch)
- Stworzenie kodu/dokumentacji/zbioru danych
- Wystawienie prośby o przyłączenie zmian (pull request) do głównej gałęzi (master branch)
- Weryfikacja poprawności wprowadzonych zmian przez Lidera projektu (Jakub Dajczak)
- Ewentualne poprawki i ponowna weryfikacja poprawności
- Przyłączenie zmian (merge) do głównej gałęzi (master branch)
- Zadania Lidera projektu:
- Kontakt z opiekunem projektu
- Kontakt z klientem
- Koordynacja przebiegu prac
- Weryfikacja poprawności wprowadzonych zmian
- Rozwiązywanie zaistniałych konfliktów
- Wsparcie swoją wiedzą innych członków zespołu
Zapewnienie jakości w projekcie odbywa się przez:
- Sprawdzenia poprawności/jakości kodu/dokumentacji/zbioru danych (pull request)
- Wewnętrzne testy manualne sprawdzające jakość wprowadzonych zmian
- Spotkania z opiekunem/klientem, gdzie ustalany jest zakres prac na najbliższy okres, oraz datę następnego spotkania
Tabela 4.1. Ryzyka w projekcie
Lp. | Nazwa ryzyka | Ocena prawdop. wystąpienia | Opis potencjalnych skutków | Sposoby rozwiązywania problemów |
1. | Niedotrenowanie sieci neuronowej odpowiedzialnej za rozpoznawanie banknotów na zdjęciach | 10% | Wysoki współczynnik niepewności przy rozpoznawaniu banknotu; Wysoki wskaźnik błędu w procesie rozpoznawania banknotów | Ponowne uczenie sieci na nowy/zmodyfikowanym zbiorze danych. Jeśli pomimo zmian w zbiorze uczącym problem nadal występuje, należy zastanowić się nad sposobem gromadzenia danych uczących. Alternatywnie można zastanowić się nad zmianą parametrów wejściowych o które opieramy naszą sieć neuronową |
2. | Przetrenowanie sieci neuronowej odpowiedzialnej za rozpoznawanie banknotów na zdjęciach | 10% | Wysoki współczynnik poprawnego rozpoznania banknotu na zdjęciach z grupy uczącej oraz niski/średni współczynnik poprawnego rozpoznania banknotu na zdjęciach z innych źródeł | Ponowne uczenie sieci na nowy/zmodyfikowanym zbiorze danych. Przygotowanie bardziej zróżnicowanego zbioru danych uczących. Alternatywnie można zastanowić się nad zmianą parametrów wejściowych o które opieramy naszą sieć neuronową |
3. | Niedotrzymanie terminu oddania etapu projektu | 20% | Nakładanie się prac dwóch etapów projektu | Ustalenie z opiekunem projektu nowych terminów oddania poszczególnych etapów |
4. | Nieznany błąd krytyczny aplikacji | 5% | Aplikacja nie działa poprawnie z nieznanego nam powodu. Nie posiadamy wiedzy potrzebnej, aby ją naprawić | Eskalacja problemu do opiekuna projektu; Konsultacje z doświadczonym deweloperem IOS |
5. | Niska intuicyjność użytkowania aplikacji | 15% | Użytkownicy nie znają funkcji dostępnych w aplikacji, mają problemy z użytkowaniem aplikacji | Eskalacja problemu do opiekuna projektu; Konsultacje z doświadczonym Analitykiem Biznesowym lub Managerem Projektu w celu lepszego poznania potrzeb klienta. Alternatywnie: zebranie feedbacku od użytkowników aplikacji. Na podstawie zebranej wiedzy należy dostosować funkcje w systemie do potrzeb klienta |
6. | Problemy w kontakcie z klientem | 20% | Brak zaangażowania klienta w proces tworzenia aplikacji. Odpowiedzi klienta na zadane pytania pojawiają się z dużym opóźnieniem | Eskalacja problemu do opiekuna projektu; Ustalenie wspólnego terminarza spotkań, w trakcie których będziemy mogli zadać klientowi pytania; Ustalenie kanałów komunikacji z klientem |
- Informacje o projekcie
- Dokumentacja techniczna projektu
- Harmonogram szczegółowy i specyfikacja wymagań
- Plakat informacyjny Projektu grupowego
- Raport semestralny
- Raport końcowy