Knowledge base: Warsaw University of Technology

Settings and your account

Back

System for collecting and processing training data concerning infant movement monitoring

Adam Cisak

Abstract

Still inresing computing power allows for using computiatunally expensive image processing methods. Furthermore rapid development of machine learning in particular deep learning methods providing powerfull feature extractions methods to usage on image or movie processing. With usage of this method it is possible to create cheap and publicly available system for hospitals to support medical care over sligtly premature babies. Unfortunately to using deep learning methods significiant amount of data is required. The goal whith this thesis is to describe the development of marker based system allowing image collecting and mark important points (with x, y coordinates) on them. This system is connected with macihne learning models such as CNN which are learn with collected image- points data to track object and returning position of objects on image. To collection of images the DSLR camera connected with computer by USB interfece similary to web-camera by PTP protocol is used. To determine which image is worth of saving to processing them futher movement detection algorytm based on openCV proogramming library is used. Second part of this work which are independent application responsibled for allowing user to marking data is web application but this thesis only backend will be described, because frontend was preparing by co-worker. Worth to notice here is usage of interpolation during data preparing process which significantly decrease amount of image to marked because possibility to of marks only every n-th image. To this app can be plugged any Tensorflow or Keras model provided inheritance on appropriate interface and it will be trained. What is more app have data augmentation and splitting to sets features. App this also solving problem with insufficient to load all data RAM capacity by load data in parts. Another one interesting thing in this application is using of statistical loss functions with standard deviation taking advantage of the fact of learning based on batches. During tests of application few models was learned on small ampount of data and best achieved results was circa 2% image height of mean position error but this results should be easy to improve. This thesis is part of bigger project with goal is to prepare continous movement tracking system of sligtly premature infants in incubators and to make attempts to automaticly prediction of ailments as coreblar palsy or autism. Another goal of this project is to preaparing continuous observation system which would can predict epileptic seizure a momement before it occur to reduce threat arising from it.
Diploma type
Engineer's / Bachelor of Science
Diploma type
Engineer's thesis
Author
Adam Cisak (FEIT/IRMT) Adam Cisak,, The Institute of Radioelectronics and Multimedia Technology (FEIT/IRMT)Faculty of Electronics and Information Technology (FEIT)
Title in Polish
System do zbierania i przetwarzania danych uczących dla potrzeb monitorowania noworodków
Supervisor
Jan Mulawka (FEIT/ICS) Jan Mulawka,, The Institute of Computer Science (FEIT/ICS)Faculty of Electronics and Information Technology (FEIT)
Certifying unit
Faculty of Electronics and Information Technology (FEIT)
Affiliation unit
The Institute of Radioelectronics and Multimedia Technology (FEIT/IRMT)
Study subject / specialization
, Elektronika (Elektronics)
Language
(pl) Polish
Status
Finished
Defense Date
23-09-2019
Issue date (year)
2019
Reviewers
Jan Mulawka (FEIT/ICS) Jan Mulawka,, The Institute of Computer Science (FEIT/ICS)Faculty of Electronics and Information Technology (FEIT) Tymon Rubel (FEIT/IRMT) Tymon Rubel,, The Institute of Radioelectronics and Multimedia Technology (FEIT/IRMT)Faculty of Electronics and Information Technology (FEIT)
Keywords in Polish
uczenie się maszyn, sieci neuronowe, programowanie sieciowe, głębokie uczenie się maszyn, przetwarzanie obrazu, widzenie komputerowe, python
Keywords in English
machine learning, neural network, deep learning, web development, image processing, computer vision, python
Abstract in Polish
Dzięki stale rosnącej mocy obliczeniowej przetwarzanie obrazu przy użyciu kosztownych obliczeniowo metod staje się możliwe. Ponadto szybki rozwój algorytmów uczenia się maszyn a w szczególności z dziedziny głębokiego uczenia się maszyn dostarcza potężnych narzędzi do wydobywania cech z obrazów oraz filmów. Narzędzia tego typu mogą pozwolić na stworzenie taniego i ogólnodostępnego systemu umożliwiającego wsparcie personelu szpitala w opiece nad zagrożonymi wcześniakami znajdującymi się w inkubatorach. Niestety algorytmy głębokiego uczenia się maszyn mimo że bardzo potężne wymagają również dużej liczby danych do swojego działania które to dane należy wcześniej zebrać. Praca ta opisuje proces tworzenia systemu pozwalającego na zebranie danych obrazowych oraz oznaczenie na nich punktów (posiadających współrzędne x i y), które następnie są wykorzystywane do wyuczenia sieci CNN śledzenia obiektów na zdjęciu i zwracaniu ich pozycji w formie punktów. W pracy do zbierania danych wykorzystywana jest lustrzanka cyfrowa współpracująca z komputerem poprzez interfejs USB w sposób analogiczny do kamerki internetowej przy wykorzystaniu protokołu PTP. Natomiast w celu określenia które dane warto zapisać by użyć ich później do oznaczenia a następnie uczenia sieci używa się algorytmu śledzenia ruchu zaimplementowanego przy wykorzystaniu biblioteki openCV. Druga część pracy, będąca oddzielną aplikacją, odpowiada za oznaczanie znaczników na zdjęciu i jest zaimplementowana przy wykorzystaniu architektury sieciowej natomiast praca ta opisuje jedynie backend. Wartą zanotowania rzeczą dotyczącą tej aplikacji jest wykorzystanie interpolacji podczas przygotowywania danych która pozwala na zmniejszenie ilości zdjęć które trzeba oznaczyć, dzięki wprowadzeniu możliwości oznaczania co n-tego zdjęcia. Aplikacja ta pozwala na wpięcie dowolnego modelu napisanego w Tensorflow lub Keras przy wykorzystaniu odpowiedniego interfejsu i wyuczenie go. Posiada także opcje augmentacji danych przed procesem uczenia, a także podzielenia ich na odpowiednie zbiory. Rozwiązuje również problem wczytywania danych większych niż dostępna pamięć RAM. Dodatkowo ciekawą rzeczą której użyto w tej pracy są częściowo statystyczne funkcje kosztu wykorzystujących odchylenie standardowe dzięki faktowi używania batch’y1 w procesie nauki. W trakcie pracy wyuczono kilka modeli osiągając w najlepszym przypadku średnie błędy określenia pozycji na poziomie 2% wysokości obrazka natomiast możliwe jest poprawienie wyniku. Praca ta jest częścią większego projektu mającego na celu ciągłe śledzenie ruchu wcześniaków w inkubatorach i próby określenia przypadłości chorobowych związanych z autyzmem oraz mózgowym porażeniem dziecięcym na podstawie pewnych występujących wyjątkowych schematów ruchowych. Celem projektu jest również utworzenie systemu wspomagającego umożliwiającego ciągłą obserwacje zagrożonych pacjentów w celu przewidzenia wystąpienia ataku padaczkowego chwilę przed jego wystąpieniem.
File
  • File: 1
    Wersja_ostateczna.pdf
Request a WCAG compliant version
Local fields
Identyfikator pracy APD: 36034

Uniform Resource Identifier
https://repo.pw.edu.pl/info/bachelor/WUT0f66713272504d9d963d25b860d3bf85/
URN
urn:pw-repo:WUT0f66713272504d9d963d25b860d3bf85

Confirmation
Are you sure?
Report incorrect data on this page