Liimajäljen tarkastelu konenäöllä optoelektroniikan kokoonpanossa
Kasanen, Akseli (2023)
Kasanen, Akseli
2023
Konetekniikan DI-ohjelma - Master's Programme in Mechanical Engineering
Tekniikan ja luonnontieteiden tiedekunta - Faculty of Engineering and Natural Sciences
This publication is copyrighted. Only for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-05-16
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202305095475
https://urn.fi/URN:NBN:fi:tuni-202305095475
Tiivistelmä
Työn tarkoituksena oli suunnitella ja toteuttaa konenäköjärjestelmä automaattista liimajäljen laadunvalvontaa varten. Työ tehtiin Picophotonics Oy:lle. Tarkoituksena oli kerätä tietoa, kuinka valita optimaaliset komponentit konenäköjärjestelmää varten, ja kuinka ohjelmoida konenäköjärjestelmä automaattisesti tunnistamaan hyvälaatuinen liimajälki. Työssä käytettiin konstruktiivista tutkimusotetta.
Työtä varten kerättiin tietoa kirjallisuuskatsauksena. Tiedonkeruussa selvitettiin mitä komponentteja konenäköjärjestelmään kuuluu, ja kuinka ne pitää valita. Lisäksi selvitettiin, mitä sääntöpohjaisia konenäköalgoritmeja voisi hyödyntää liimajäljen laadunvalvontaan. Sääntöpohjaisten algoritmien lisäksi haettiin tietoa, miten hyödyntää eri koneoppimistekniikoita samaa tarkoitusta varten.
Konenäköjärjestelmälle oli annettu rajoitteita yrityksen puolesta. Nämä liittyivät konenäköjärjestelmän komponentteihin sekä sen ohjelmointiin. Työn kokeellisessa osuudessa rakennettiin ja ohjelmoitiin konenäköjärjestelmä kirjallisuuskatsauksessa selvinneiden tietojen pohjalta annettujen rajoitteiden puitteissa. Konenäköjärjestelmään valitut komponentit toteuttivat niille asetetut tavoitteet.
Konenäköjärjestelmän ohjelmointia varten kehitettiin generaattori luomaan synteettisiä liimakuvia koneoppimismallien kouluttamista ja konenäköjärjestelmän automaattisuuden testaamista varten. Konenäköjärjestelmää varten koulutettu konvoluutioneuroverkko ja sitä varten kehitetty sääntöpohjainen algoritmi suoriutuivat hyvin, mutta kehittämisen varaa jäi. Konvoluutiokooderin kehitys ei onnistunut laadunvalvontaa varten joko sen arkkitehtuurin ja koulutuksen takia.
Konenäköjärjestelmää suunniteltaessa on huomioitava komponenttien vaikutus toisiinsa. Komponenttien vaikutus toisiinsa on kuitenkin mahdollista ennakoida ja laskea. Konenäköjärjestelmien ohjelmointi voidaan toteuttaa sääntöpohjaisilla algoritmeilla tai koneoppimismalleilla. Molemmille tavoilla voidaan saavuttaa tavoitteet, mutta ne vaativat erilaista osaamista toisiinsa verrattuina. The purpose of this thesis was to design and implement a machine and computer vision system for automatic quality control of a gluing process. This thesis was made for Picophotonics Ltd. The purpose was to gather information on how to choose the optimal components for the system, and how to program it to automatically recognize good quality gluing. Constructive research method was used in this thesis.
For this thesis information was gathered via literature survey. The information to be gathered was the components of a machine vision system and how to choose them. Also, it was researched how to utilize computer vision algorithms and how to use them in quality control. Alongside computer vision algorithms, it was researched how to utilize different machine learning techniques for the same purpose.
The system was given limitations by the company. These were related to the components and the programming of the system. In the experimental part of the thesis the machine and computer vision system were built and programmed based on the information from the literature survey with given limitations in mind. The components fulfilled the goals they were assigned.
For the programming part of the work, an image generator was created to create synthetic images of the gluing for the training of the machine learning models and evaluation of the system. The developed rule-based algorithm and the convolutional neural network performed well, but still left room for improvement. The convolutional auto-encoder could not be implemented for quality control, either due to its architecture or its training.
During the planning of a machine and computer vision system one must consider how different components affect each other. The effect of components to each other can be predicted and calculated. Computer vision systems can be programmed using different computer vision algorithms or using machine learning. The goals of a computer vision system can be achieved both ways, but they require different skillsets from each other.
Työtä varten kerättiin tietoa kirjallisuuskatsauksena. Tiedonkeruussa selvitettiin mitä komponentteja konenäköjärjestelmään kuuluu, ja kuinka ne pitää valita. Lisäksi selvitettiin, mitä sääntöpohjaisia konenäköalgoritmeja voisi hyödyntää liimajäljen laadunvalvontaan. Sääntöpohjaisten algoritmien lisäksi haettiin tietoa, miten hyödyntää eri koneoppimistekniikoita samaa tarkoitusta varten.
Konenäköjärjestelmälle oli annettu rajoitteita yrityksen puolesta. Nämä liittyivät konenäköjärjestelmän komponentteihin sekä sen ohjelmointiin. Työn kokeellisessa osuudessa rakennettiin ja ohjelmoitiin konenäköjärjestelmä kirjallisuuskatsauksessa selvinneiden tietojen pohjalta annettujen rajoitteiden puitteissa. Konenäköjärjestelmään valitut komponentit toteuttivat niille asetetut tavoitteet.
Konenäköjärjestelmän ohjelmointia varten kehitettiin generaattori luomaan synteettisiä liimakuvia koneoppimismallien kouluttamista ja konenäköjärjestelmän automaattisuuden testaamista varten. Konenäköjärjestelmää varten koulutettu konvoluutioneuroverkko ja sitä varten kehitetty sääntöpohjainen algoritmi suoriutuivat hyvin, mutta kehittämisen varaa jäi. Konvoluutiokooderin kehitys ei onnistunut laadunvalvontaa varten joko sen arkkitehtuurin ja koulutuksen takia.
Konenäköjärjestelmää suunniteltaessa on huomioitava komponenttien vaikutus toisiinsa. Komponenttien vaikutus toisiinsa on kuitenkin mahdollista ennakoida ja laskea. Konenäköjärjestelmien ohjelmointi voidaan toteuttaa sääntöpohjaisilla algoritmeilla tai koneoppimismalleilla. Molemmille tavoilla voidaan saavuttaa tavoitteet, mutta ne vaativat erilaista osaamista toisiinsa verrattuina.
For this thesis information was gathered via literature survey. The information to be gathered was the components of a machine vision system and how to choose them. Also, it was researched how to utilize computer vision algorithms and how to use them in quality control. Alongside computer vision algorithms, it was researched how to utilize different machine learning techniques for the same purpose.
The system was given limitations by the company. These were related to the components and the programming of the system. In the experimental part of the thesis the machine and computer vision system were built and programmed based on the information from the literature survey with given limitations in mind. The components fulfilled the goals they were assigned.
For the programming part of the work, an image generator was created to create synthetic images of the gluing for the training of the machine learning models and evaluation of the system. The developed rule-based algorithm and the convolutional neural network performed well, but still left room for improvement. The convolutional auto-encoder could not be implemented for quality control, either due to its architecture or its training.
During the planning of a machine and computer vision system one must consider how different components affect each other. The effect of components to each other can be predicted and calculated. Computer vision systems can be programmed using different computer vision algorithms or using machine learning. The goals of a computer vision system can be achieved both ways, but they require different skillsets from each other.