Höyryntunnistus prosessiautomaatioympäristössä: Koneoppimispohjainen kuvantunnistus
Kukkaro, Ari (2023)
Kukkaro, Ari
2023
Automaatiotekniikan DI-ohjelma - Master's Programme in Automation Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-11-15
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202310309214
https://urn.fi/URN:NBN:fi:tuni-202310309214
Tiivistelmä
Prosessiautomaatiossa valvontajärjestelmältä vaaditaan pehmeää reaaliaikaisuutta, jossa viive on muutamasta muutamaan sataan millisekuntia ja satunnaisesti tämän aikavälin yli, mistä poikkeaminen voi vaarantaa turvallisuuden. Tästä lähtökohdasta tutkimuksen tavoitteena on rakentaa koneoppimispohjainen konstruktio, jolla voitaisiin toteuttaa valvontaa automaatioympäristössä reunalaskentana lähellä valvottavaa prosessia tai sumulaskentana kauempana prosessista tehokkaammalla laskentalaitteella. Konstruktio koostuu karkeasti ottaen kahdesta osasta. Ensimmäinen osa on pehmeän reaaliaikaisuuden huomioiva höyryntunnistussovellus, joka rajaa kuvasta höyryn. Toisessa konstruktion osassa opetetaan ilman reaaliaikavaateita jatkuvan oppimisen avulla koneoppimismalli tunnistamaan höyryä. Konstruktion osien avulla pyrittiin vastaamaan tutkimuskysymyksiin, mitä palvelunlaadullisia eroja ajantasaisen höyryntunnistuksen suorittamisessa reuna- tai sumulaskentalaitteella. Molemmissa tapauksissa huomioidaan pehmeä reaaliaikaisuus. Sitten toisella konstruktion osalla pyrittiin saamaan vastaus tutkimuskysymykseen mitä hyötyjä ja haasteita on jatkuvan oppimisen hyödyntämisessä koneoppimisessa.
Data mallin harjoittamiseen kerättiin Tampereen Yliopiston höyryä tuottavista osaprosesseista, eikä data ole yleisesti jaossa. Rakennettu konstruktio koostuu viidestä laiteesta. Kuvia keräävästä IP-kamerasta, Intel NUC 10-minititetokoneesta, jossa suoritetaan kuvapalvelinsovellusta. IR1101-teollisuusreitittimestä, jossa reunalaskentana suoritetaan höyryntunnistussovellusta. Neljäs laite on Mac Studio -tietokoneklusteri, jossa sekä suoritetaan aktiivista höyryntunnistusta että harjoitetaan koneoppimisen mallia tunnistamaan höyryä. Viides laite on kannettava tietokone, johon joko IR1101 tai Mac Studio -klusterilta siirretään höyryntunnistuksen tulos. Kuvapalvelin toteutettiin FTP:llä, Höyryntunnistussovellus toteutettiin REST-tyyppisenä Uvicorn-palvelimena. Höyryntunnistuksessa käytettiin YOLOv8n-mallia, jota opetettiin Ultralytics-kirjaston avulla ja MLOps-kanavan mallin harjoitus-, testaus ja käyttöönottovaiheet tehtiin DVC:n avulla.
Tässä työssä käytettiin menetelmänä konstruktiivista tutkimusta, jossa rakennetaan konstruktio, jonka avulla pyrittiin vastaamaan tutkimuskysymyksiin. Konstruktion avulla mitattiin tunnistuksen ja sen tuloksen tiedonsiirron viivettä laskentalaitteelta kannettavalle tietokoneelle. Mittaukset toistettiin kymmenen kertaa sekä reuna- että sumulaskennassa. Kymmenelle mittaukselle laskettiin keskiarvo ja keskihajonta, jotta saatiin keskimääräinen laskennan ja tiedonsiirron viive sekä näiden todennäköinen vaihteluväli. Toisessa osassa mitattiin tunnistustarkkuutta sekä harjoitus- että testausvaiheessa. Mallin jatkuvaa opetusta kolmella peräkkäisellä opetuskierroksella verrattiin mallin harjoittamiseen kaikilla kuvilla kerralla. Tutkimuksen tulokset reunalaskennan ja sumulaskennan eroista olivat, että reunalaskennassa tiedonsiirron viive on hyvin pieni ja laskenta-aika on suuri. Sumulaskennassa laskenta-aika oli 458 kertaa pienempi kuin reunalaskennassa, mutta tiedonsiirron viive oli 322 millisekuntia. Höyryntunnistuksessa harjoitusvaiheessa kolmen opetuskierroksen aikana mallin höyryntunnistustarkkuus laski, vaikka testivaiheessa se oli kolmannella kierroksella hyvä. Kertaopetuksena malli tunnistustarkkuus oli molemmissa vaiheissa hyvä ja yhdenmukainen.
Tällä reunalaskennan laitteella pehmeää reaaliaikaisuutta noudattava höyryntunnistaminen ei ole mahdollista, kun taas sumulaskennan laitteella voidaan tietyissä rajoissa sitä noudattaa. Jatkossa reunalaskentaa voisi tutkia laskentatehoisemmalla laitteella tai sitten tutkia lisää sumulaskennan mahdollisuuksia. Toiseksi jatkuva oppiminen parantaa kohteen tunnistustarkkuutta, mutta 1302 kuvalla ja kolmella opetuskierroksella Ultralytics-kirjastolla kuvien opettaminen kerralla mahdollistaa paremman tunnistustarkkuuden. Näin ollen jatkuvaa oppimista suositellaan toteutettavan uusilla ja vanhoilla kuvilla kerralla. Jatkotutkimuksissa voitaisiin tutkia menetelmiä, joilla jatkuvaa oppimista voitaisiin suorittaa pienemmissä erissä tarkemmin. In process automation monitoring of system requires soft real time capability in which allowed delay range is from couple to couple hundred milliseconds. Also, delay is allowed to exceed limit sometimes, but major deviation can cause safety issues. Considering this goal of this research is design and build a system based on machine learning to compare steam monitoring as edge and fog computing tasks and train steam detection model in fog device. System can be divided into two major components first of which is steam detection application that draws bounding box into image. Moreover, this component of system must consider soft real time requirements. Second component is MLOps pipeline that trains, tests and deploys machine learning model that steam detection application uses. With first component and measurements derived from it, idea is to answer research question what differences in quality of service are there when implementing steam detect on edge or fog device and do they satisfy soft real time requirements. With second component we want to get answer to question which are advantages and challenges in using continuous train in machine learning.
Data used in training ML model was collected from Tampere University processes and data in not publicly available. Build steam detection system consists of five different devices. IP camera captures images. On Intel NUC 10 minicomputer runs application that collect images from IP Camera. On IR1101 industrial router runs steam detection application as an edge computing service. Fourth device is Mac Studio computer cluster which runs both steam detection application and steam detection ML model development pipeline. Lastly laptop executes a client for getting detection results from computing devices. On Intel NUC 10 image collecting server was implemented as FTP server and on IR1101 and Mac Studio inference application was implemented as Uvicorn server that utilizes RESTful resources. As a base of ML model, we used pretrained YOLOv8n model together with Ultralytics Python library. ML pipeline with its three stages was realized using DVC. Notion that all servers were created using Python programming language as it is main language in machine learning.
Research method in this thesis is constructive research where system or construction is designed and built which solves real world problem and gives answers to research questions. For first research case different experiments of edge and fog computing variants were made and in total ten measurements for each were captured. Measurements included inference time and data transmission delays and based on these measurements mean delays and standard deviations were calculated. Second research case in training and test stages steam detection model prediction accuracies and box loss were captured. Training was implemented in three steps so that only group of all images was trained in each step separately and another case was that all the images were trained at the same time.
Results in research case one was that in edge computing data transmission delay was small and inference delay was high. Compared to fog computing where inference delay was 458 times smaller than in edge computing, but data transmission delay was as high as 322 milliseconds when in edge computing it was under a millisecond. Conclusion was that edge computing with this low computing resources is not sufficient to be used in soft real time steam monitoring. But fog computing was sufficient, but not necessarily applicable to all soft real time environments. More research is needed to test more capable computing devices on edge. In ML training after three rounds of continuous learning training phase accuracies were dropping even though in test stage accuracies on last round were good. When training all images and once showed good results both in training and test stage and accuracies were over 90 %. As training each image separately yield odd results recommendation is to apply continuous training so that each time new model is trained former and new images should be bundled together and model train from a scratch. More research is needed to solve problem with CT in smaller batches.
Data mallin harjoittamiseen kerättiin Tampereen Yliopiston höyryä tuottavista osaprosesseista, eikä data ole yleisesti jaossa. Rakennettu konstruktio koostuu viidestä laiteesta. Kuvia keräävästä IP-kamerasta, Intel NUC 10-minititetokoneesta, jossa suoritetaan kuvapalvelinsovellusta. IR1101-teollisuusreitittimestä, jossa reunalaskentana suoritetaan höyryntunnistussovellusta. Neljäs laite on Mac Studio -tietokoneklusteri, jossa sekä suoritetaan aktiivista höyryntunnistusta että harjoitetaan koneoppimisen mallia tunnistamaan höyryä. Viides laite on kannettava tietokone, johon joko IR1101 tai Mac Studio -klusterilta siirretään höyryntunnistuksen tulos. Kuvapalvelin toteutettiin FTP:llä, Höyryntunnistussovellus toteutettiin REST-tyyppisenä Uvicorn-palvelimena. Höyryntunnistuksessa käytettiin YOLOv8n-mallia, jota opetettiin Ultralytics-kirjaston avulla ja MLOps-kanavan mallin harjoitus-, testaus ja käyttöönottovaiheet tehtiin DVC:n avulla.
Tässä työssä käytettiin menetelmänä konstruktiivista tutkimusta, jossa rakennetaan konstruktio, jonka avulla pyrittiin vastaamaan tutkimuskysymyksiin. Konstruktion avulla mitattiin tunnistuksen ja sen tuloksen tiedonsiirron viivettä laskentalaitteelta kannettavalle tietokoneelle. Mittaukset toistettiin kymmenen kertaa sekä reuna- että sumulaskennassa. Kymmenelle mittaukselle laskettiin keskiarvo ja keskihajonta, jotta saatiin keskimääräinen laskennan ja tiedonsiirron viive sekä näiden todennäköinen vaihteluväli. Toisessa osassa mitattiin tunnistustarkkuutta sekä harjoitus- että testausvaiheessa. Mallin jatkuvaa opetusta kolmella peräkkäisellä opetuskierroksella verrattiin mallin harjoittamiseen kaikilla kuvilla kerralla. Tutkimuksen tulokset reunalaskennan ja sumulaskennan eroista olivat, että reunalaskennassa tiedonsiirron viive on hyvin pieni ja laskenta-aika on suuri. Sumulaskennassa laskenta-aika oli 458 kertaa pienempi kuin reunalaskennassa, mutta tiedonsiirron viive oli 322 millisekuntia. Höyryntunnistuksessa harjoitusvaiheessa kolmen opetuskierroksen aikana mallin höyryntunnistustarkkuus laski, vaikka testivaiheessa se oli kolmannella kierroksella hyvä. Kertaopetuksena malli tunnistustarkkuus oli molemmissa vaiheissa hyvä ja yhdenmukainen.
Tällä reunalaskennan laitteella pehmeää reaaliaikaisuutta noudattava höyryntunnistaminen ei ole mahdollista, kun taas sumulaskennan laitteella voidaan tietyissä rajoissa sitä noudattaa. Jatkossa reunalaskentaa voisi tutkia laskentatehoisemmalla laitteella tai sitten tutkia lisää sumulaskennan mahdollisuuksia. Toiseksi jatkuva oppiminen parantaa kohteen tunnistustarkkuutta, mutta 1302 kuvalla ja kolmella opetuskierroksella Ultralytics-kirjastolla kuvien opettaminen kerralla mahdollistaa paremman tunnistustarkkuuden. Näin ollen jatkuvaa oppimista suositellaan toteutettavan uusilla ja vanhoilla kuvilla kerralla. Jatkotutkimuksissa voitaisiin tutkia menetelmiä, joilla jatkuvaa oppimista voitaisiin suorittaa pienemmissä erissä tarkemmin.
Data used in training ML model was collected from Tampere University processes and data in not publicly available. Build steam detection system consists of five different devices. IP camera captures images. On Intel NUC 10 minicomputer runs application that collect images from IP Camera. On IR1101 industrial router runs steam detection application as an edge computing service. Fourth device is Mac Studio computer cluster which runs both steam detection application and steam detection ML model development pipeline. Lastly laptop executes a client for getting detection results from computing devices. On Intel NUC 10 image collecting server was implemented as FTP server and on IR1101 and Mac Studio inference application was implemented as Uvicorn server that utilizes RESTful resources. As a base of ML model, we used pretrained YOLOv8n model together with Ultralytics Python library. ML pipeline with its three stages was realized using DVC. Notion that all servers were created using Python programming language as it is main language in machine learning.
Research method in this thesis is constructive research where system or construction is designed and built which solves real world problem and gives answers to research questions. For first research case different experiments of edge and fog computing variants were made and in total ten measurements for each were captured. Measurements included inference time and data transmission delays and based on these measurements mean delays and standard deviations were calculated. Second research case in training and test stages steam detection model prediction accuracies and box loss were captured. Training was implemented in three steps so that only group of all images was trained in each step separately and another case was that all the images were trained at the same time.
Results in research case one was that in edge computing data transmission delay was small and inference delay was high. Compared to fog computing where inference delay was 458 times smaller than in edge computing, but data transmission delay was as high as 322 milliseconds when in edge computing it was under a millisecond. Conclusion was that edge computing with this low computing resources is not sufficient to be used in soft real time steam monitoring. But fog computing was sufficient, but not necessarily applicable to all soft real time environments. More research is needed to test more capable computing devices on edge. In ML training after three rounds of continuous learning training phase accuracies were dropping even though in test stage accuracies on last round were good. When training all images and once showed good results both in training and test stage and accuracies were over 90 %. As training each image separately yield odd results recommendation is to apply continuous training so that each time new model is trained former and new images should be bundled together and model train from a scratch. More research is needed to solve problem with CT in smaller batches.