Ohutlevykappaleiden tarkastus konenäöllä DXF-tiedoston perusteella | Julkaisut @SeAMK

Ohutlevykappaleiden tarkastus konenäöllä DXF-tiedoston perusteella

Konenäöllä tarkoitetaan kameran ja sen tuottaman kuvan käyttämistä mittauksissa ja päätöksenteossa. Tyypillinen konenäöllä ratkaistava ongelma teollisuudessa on selvittää, vastaako kuvattu osa tai kappale sen suunnitelmaa tai mallia riittävällä tarkkuudella. Valmistavassa teollisuudessa kohde voi olla vaikkapa CNC-koneen metallilevystä leikkaama muoto, jota verrataan CAD-ohjelmalla luotuun kappaleen malliin. Vertailua varten kappaleen ääriviivat täytyy ensin pystyä erottelemaan kuvasta, sitten ne täytyy kohdistaa mallin ääriviivojen kanssa, ja lopuksi pitää vielä selvittää, paljonko nämä ääriviivat poikkeavat toisistaan. Kuvattava kappale saattaa olla missä tahansa orientaatiossa kameraan nähden, joten ääriviivojen kohdistaminen ei ole aivan yksinkertaista.

Laserskannereissa, monissa älykameroissa ja kaupallisissa konenäköohjelmistoissa toiminnallisuus kahden muodon vertailuun on monesti sisäänrakennettuna. Osassa ohjelmistoja verrokkimuotona voidaan käyttää juuri kappaleen CAD-mallia. Näiden kaupallisten sovellusten ongelma on se, ettei käyttäjä pääse tarkastelemaan itse toteutusta ja arvioimaan siinä tehtyjä valintoja tai irrottamaan tarkistusta muuhun tarkoitukseen. Toiminnallisuutta voidaan siis käyttää vain kyseisen laitteen tai ohjelmiston kanssa.

Etelä-Pohjanmaan liiton rahoittaman EAKR-hankkeen nimeltä Enterprise Digital Twin Platform (EDIT) aikana toteutettiin itse konenäkötarkastussovellus muotojen vertailuun. Sen pääasiallinen käyttökohde on juuri ohutlevystä työstettyjen kappaleiden vertailu niiden DXF-tiedostoa vasten. Sovellus toteutettiin Python-ohjelmointikielellä ja siinä käytettiin vain avoimen lähdekoodin kirjastoja kuten OpenCV, NumPy ja ezdxf. Alla oleva kuva (Kuva 1.) esittelee kaksi esimerkkiä sovelluksen käytöstä.

Kuva 1. Kaksi esimerkkiä sovelluksen käytöstä. Kappaleiden DXF-piirrosmallit (a ja b) ja niiden avulla tehdyt tarkistukset vastaavista työstetyistä kappaleista (c ja d). Kuvassa c vasemman yläkulman reikä on sivussa, ja se näkyy korostettuna punaisella. Tämän takia kuvan c kappale on hylätty. Kuva c on otettu taustavalolla ja kuva d ylhäältä suunnatulla hajavalolla.

Muotojen kohdistaminen tehtiin kahdessa vaiheessa. Ensin muodot kohdistettiin karkeasti etsimällä ensin niiden reunaviivojen xy-pisteet, laskemalla sitten saatujen 2D-pistejoukkojen pääkomponenttiakselien suunnat pääkomponenttianalyysilla (PCA) (Jocliffe & Caldima, 2016) ja kohdistamalla lopulta pistejoukot keskenään akselien suuntien perusteella. Karkean kohdistuksen jälkeen tarkka kohdistus tehtiin iteratiivinen lähin piste -menetelmällä (ICP) (Besl & McKay, 1992). PCA:n tuottama hyvä alkuarvaus on tarpeen, jotta ICP-menetelmällä päästään hyvään lopputulokseen. Kohdistettujen pistejoukkojen vastinpisteiden etäisyydet toisistaan eli muotojen väliset erot laskettiin lähimmän naapurin menetelmällä, joka on laskennallisesti tehokas toteutus ongelman ratkaisemiseen (Altman, 1992). Muotojen vertailusta voit lukea tarkemmin Seamkin vuoden 2021 kokoomateoksesta alkaen sivulta 136.

 

Kuva 2. Ääriviivojen karkea kohdistaminen PCA-menetelmällä. Sininen viiva kuvaa ääriviivan muodostaman 2D-pistejoukon pääkomponenttiakselia, jota käytetään hyödyksi kohdistamisessa.

Sovellus on käytössä SeAMKin robotiikan laboratoriossa, ja se tullaan ottamaan käyttöön myös kone- ja valmistustekniikan laboratoriossa osana EDIT-hankkeessa rakennettavaa tuotannonohjauskokonaisuutta. Sovelluksen ohjelmakoodi on julkaistu Seamkin versionhallinnassa ja video sovelluksen toiminnasta on katsottavissa täällä.

Juha Hirvonen
Yliopettaja
SeAMK

Lähteet:

Altman, N. S. (1992). An introduction to kernel and nearest-neighbor nonparametric regression. The American Statistician, 46 (3), 175–185. doi: 10.1080/00031305.1992.10475879.

Besl, P. J., & McKay, N. D. (1992). A method for registration of 3-D shapes. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14 (2), 239–256. doi: 10.1109/34.121791.

Jolliffe I. T., & Cadima J. (2016). Principal component analysis: a review and recent developments. Philosophical transactions of the Royal Society A, 374 (20150202). doi: 10.1098/rsta.2015.0202.