Skip to content

iOS Harmonogram szczegółowy i specyfikacja wymagań

qaziok edited this page Jun 20, 2023 · 19 revisions

Dokumentacja Projektu grupowego

Harmonogram szczegółowy i specyfikacja wymagań

Wydział Elektroniki, Telekomunikacji i Informatyki
Politechnika Gdańska

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 / kod dokumentu: Harmonogram szczegółowy i specyfikacja wymagań – HSiSW Nr wersji: 2.02
Odpowiedzialny za dokument: Stanisław Smykowski Data pierwszego sporządzenia: 30.01.2023
Data ostatniej aktualizacji: 20.06.2023
Semestr realizacji Projektu grupowego: 2

Historia zmian

Wersja Opis modyfikacji Rozdział / strona Autor modyfikacji Data
1.00 pierwsza wersja całość Stanisław Smykowski 30.01.2023
1.01 poprawki estetyczne Opis zadań planowanych do realizacji ze wskazaniem osób odpowiedzialnych Stanisław Smykowski 30.01.2023
2.00 harmonogram 2 semestru Opis etapów wytwarzania (prowadzenia projektu) Jakub Dajczak 20.06.2023
2.01 harmonogram 2 semestru Opis etapów wytwarzania (prowadzenia projektu) Stanisław Smykowski 20.06.2023
2.02 harmonogram 2 semestru Opis etapów wytwarzania (prowadzenia projektu) Miłosz Chojnacki 20.06.2023

Spis treści

1. Wprowadzenie - o dokumencie

1.1. Cel dokumentu

Celem dokumentu udokumentowanie zaplanowanego harmonogramu realizacji projektu w semestrze, planowanego podziału zadań w zespole projektowym, wskazanie i opisanie zadań oraz ról osób odpowiedzialnych, a także wyspecyfikowanie wymagań dla projektu wraz z kryteriami akceptacji, nałożonych przez opiekuna i klienta.

1.2. Odbiorcy

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

1.3. Terminologia

iOS – system operacyjny Apple Inc. dla urządzeń mobilnych iPhone, iPod touch oraz iPad.

sieć neuronowa - statystyczny model obliczeniowy stosowany w uczeniu maszynowym.

OneDrive - wirtualny dysk autorstwa Microsoft.

Interface - sposób komunikowania się użytkownika z aplikacją w obydwie strony.

Precision-Recall (PR) Curve - typ testów, które stanowią integralną część trenowania sieci neuronowej. Wyniki przygotowane są zazwyczaj tuż po zakończeniu treningu i pokazują poprawność predykcji dla danych testowych.

2. Szczegółowy harmonogram prac zespołu projektowego

numer nazwa wykonawcy początek koniec
1 prototyp aplikacji Miłosz Chojnacki 1.10.2022 22.01.2023
2 zbieranie danych Stanisław Smykowski, Matusz Sowiński, Anton Delinac, Jakub Dajczak 1.10.2022 29.01.2023
3 prototyp sieci Anton Delinac 1.10.2022 30.01.2023
4 ostateczna wersja aplikacji Miłosz Chojnacki 22.01.2023 30.04.2023
5 ostateczna wersja sieci Jakub Dajczak, Anton Delinac 30.01.2023 31.05.2023
6 testy z użytkownikami Stanisław Smykowski, Matusz Sowiński 15.05.2023 19.06.2023

2.1. Opis etapów wytwarzania (prowadzenia projektu)

2.1.1. Etap 1 (prototyp aplikacji)

Celem tego etapu jest wykonanie aplikacji umożliwiającej rozpoznawanie elemenetów obrazu dostarczonego z kamery wbudowanej w urządzenie mobilne. Aplikacja ma działać na iOS. Ma ona spełniać wymagania interface-ów dla osób niewidomych i niedowidzących.

Produktem jest opisana wyżej aplikacja.

Kryteria akceptacji to niezauważalne opóźnienia w działaniu, spełnianie wymagań dotyczących interface-ów dla osób niewidomych i niedowidzących, korzystanie z natywnych technologi dla danego systemu operacyjnego.

Główne zadania: implementacja aplikacji oraz wstępne testowanie spełnienia wymagań interface-u

2.1.2. Etap 2 (zbieranie danych)

Celem tego etapu jest uporządkowanie danych, które dostaliśmy od poprzednich edycji podobnego projektu oraz rozszerzenie tego zbioru. Należy połączyć dwa zbiory danych, wyeliminować powtarzające się zdjęcia, Dodatkowo należy zapisać utworzone zbiory danych w ustalony przez grupę sposób na dysku One Drive. Należy również oszacować ilość zdjęć w zbiorach danych, które posiadają dane cechy (np.: słabe oświetlenie, prawa/lewa ręka) i dodać do nich takie, których jest mało.

Produktem jest usystematyzowany i zbalansowany zbiór danych do trenowania sieci neutronowej.

Kryteria akceptacji to spełnienie wymagań co do struktury zbioru uczącego ustalonych przez grupę.

Główne zadania: uporządkowanie starych danych, dodanie potrzebnych zdjęć.

2.1.3. Etap 3 (prototyp sieci)

Celem tego etapu jest wytworzenie prototypu sieci do rozpoznawania polskich banknotów. Dane potrzebne do treningów przygotowane zostały w poprzednim etapie. Należy wykonać treningi optymalizując hiper-parametry sieci w celu uzyskania jak największego procentu poprawnych predykcji.

Produktem jest prototyp sieci, który można wgrać do aplikacji mobilnej. Sieć może w przyszłości podlegać ulepszeniu wraz z poprawą zbioru danych.

Kryteria akceptacji to minimum 95% skuteczności predykcji dla danych testowych.

Główne zadania: wykonanie treningów na udostępnionych serwerach uczelnianych. Ocena jakości wytrenowanej sieci.

2.1.4. Etap 4 (ostateczna wersja aplikacji)

Etap ten zakłada przygotowanie aplikacji, która będzie płynnie działała i efektywniej wykorzystywała moc obliczeniową urządzenia mobilnego. Planowane jest również przygotowanie prostego menu, z kilkoma ustawieniami personalizacji aplikacji i krótkiego wprowadzania - jak korzystać z aplikacji. Ostatecznie opublikowanie aplikacji w AppStore.

Produktem jest opisana wyżej aplikacja w ostatecznej wersji.

Kryteria akceptacji to niezauważalne opóźnienia w działaniu, spełnianie wymagań dotyczących interface-ów dla osób niewidomych i niedowidzących, korzystanie z natywnych technologi dla danego systemu operacyjnego.

Główne zadania: dalszy rozwój aplikacji z poprzednich etapów oraz testowanie jej działania. Rozwiązanie problemów zauważonych po stworzeniu wstępnej wersji aplikacji w poprzednich punktach.

2.1.5. Etap 5 (ostateczna wersja sieci)

Celem tego etapu jest dopracowanie prototypu sieci powstałego w poprzednich etapach. Dane potrzebne do treningów przygotowane zostały w etapie 2. Należy wykonać dokładniejsze treningi optymalizując hiper-parametry sieci w celu uzyskania jak największego procentu poprawnych predykcji.

Produktem jest ostateczna wersja sieci, którą można użyć w aplikacji mobilnej i pozwala na odpowiednio skuteczną klasyfikacjię banknotów.

Kryteria akceptacji to minimum 99% skuteczności predykcji dla danych testowych.

Główne zadania: wykonanie dodatkowych treningów na udostępnionych serwerach uczelnianych. Ocena jakości wytrenowanej sieci. Poprawianie hiper-parametrów sieci.

2.1.6. Etap 6 (testy z użytkownikami)

Celem tego etapu jest przeprowadzenie testów z wybraną grupą użytkowników. Ma to na celu wykrycie ewentualnych błędów w interfejsie aplikacji i dostosowanie jej do wymagań rzeczywistych użytkownikow końcowych. Jest to o tyle ważne, że grupa projektowa nie ma takiego doświadczenia jak grupa docelowa użytkowników.

Produktem jest przeprowadzenie testów i zebranie informacji zwrotnej w ustrukturyzowany sposób.

Kryteria akceptacji to przeprowadzenie testów z 5 użytkownikami.

Główne zadania: znaleźienie grupy docelowych użytkoników aplikacji. Nawiązanie kontaktu i wybranie 5 reprezentantów do przeprowadzania testów. Przeprowadzenie testów w środowisku produkcyjnym pod kontrolą i obserwacją grupy projektowej. Zapisanie i opraccowanie wyników testów. Wprowadzenie ewentualnych zmian w apikacji.

3. Planowany podział zadań i ról w projekcie w zespole projektowym

3.1. Opis zadań planowanych do realizacji ze wskazaniem osób odpowiedzialnych

3.1.1. Implementacja aplikacji

Osoba odpowiedzialna: Miłosz Chojnacki

Wykonawca: Miłosz Chojnacki

3.1.2. Wstępne testowanie spełnienia wymagań interface-u

Osoba odpowiedzialna: Miłosz Chojnacki

Wykonawca: Miłosz Chojnacki, Anton Delinac

3.1.3. Uporządkowanie starych danych

Osoba odpowiedzialna: Jakub Dajczak

Wykonawca: Jakub Dajczak, Stanisław Smykowski, Anton Delinac, Mateusz Sowiński

3.1.4. Dodanie potrzebnych zdjęć

Osoba odpowiedzialna: Jakub Dajczak

Wykonawca: Jakub Dajczak, Stanisław Smykowski, Anton Delinac, Mateusz Sowiński

3.1.5. Wykonanie treningów

Osoba odpowiedzialna: Anton Delinac

Wykonawca: Jakub Dajczak, Anton Delinac

3.1.6. Ocena jakości wytrenowanej sieci

Osoba odpowiedzialna: Anton Delinac

Wykonawca: Anton Delinac

4. Wymagania dla produktu i kryteria akceptacji

4.1. Ogólny opis planowanego produktu

Produktem ma być aplikacja przystosowana dla osób niewidomych i niedowidzących, która ma umożliwiać rozpoznawanie polskich banknotów.

4.2. Wymagania minimalne dla produktu

Minimalnymi wymaganiami jest wynik testów dla wytrenowanej sieci na poziomie 95% oraz spełnienie wymagań interfaceu przeznaczonego dla osób niewidomych. Zostanie to sprawdzone za pomocą testów Precision-Recall Curve oraz testów przeprowadzonych przez użytkowników docelowych.

4.3. Warunki odbioru

Spełnienie 95% opisanych w odpowiednich dokumentach wymagań interfacu dla osób niewidomych. Poprawne rozpoznanie 100% banknotów w ciągu maksymalnie 20 sekund na każdy w trakcie testów końcowych.

Clone this wiki locally