Jäykkien kappaleiden tunnistuksessa paras keino taitaa olla eräänlainen muotti, joka "asetetaan" kappaleen kuvan päälle ja lasketaan pikselien arvojen erotus. Mitä lähempänä nollaa erotusten summa on, sitä varmemmin kuvassa on se tietty kohde.
Jos erotus on sopivissa rajoissa, kappale on tunnistettu.
Tätä voi tehdä mustavalkoisena, harmaasävyillä tai väreissä. Yksinkertaisimmassa tapauksessa lasketaan samoja pikseleitä ja yli jääviä pikseleitä. Muotista ja kuvasta yli jääneiden pikselien lukumäärä lasketaan yhteen. Ylijäämä ei saa olla liian suuri muotin pikselien määrään nähden.
Mutta miten se muotti asetetaan kohteen päälle? Kohteesta ei ehkä tiedetä etäisyyttä, suuntausta tai kallistuskulmaa. Kaikkia yhdistelmiä ei voi kokeilla, joten pitää olla joku heuristiikka/ hakeutuminen oikeaan paikkaan, oikeassa koossa, kulmassa ja muodossa.
Ei-litteä 3D kappale tarvitsee 3D muotin, joka kuvan päällä muuttuu 2D muotiksi. Myös maaston muotoja voi tunnistaa tällä tavalla osana suunnistusta. Ruuvien ja mutterien tunnistus lienee käytännöllisin esimerkki. Näin robottikäsi voi poimia mutterikasasta oikean kappaleen. Pizzaa valmistavan robottikäden ohjelmisto voi toteuttaa suunnilleen samoja ideoita. Epäjäykät kappaleet vaativat hieman mutkikkaamman 3D-muottimetodin.
Jos erotus on sopivissa rajoissa, kappale on tunnistettu.
Tätä voi tehdä mustavalkoisena, harmaasävyillä tai väreissä. Yksinkertaisimmassa tapauksessa lasketaan samoja pikseleitä ja yli jääviä pikseleitä. Muotista ja kuvasta yli jääneiden pikselien lukumäärä lasketaan yhteen. Ylijäämä ei saa olla liian suuri muotin pikselien määrään nähden.
Mutta miten se muotti asetetaan kohteen päälle? Kohteesta ei ehkä tiedetä etäisyyttä, suuntausta tai kallistuskulmaa. Kaikkia yhdistelmiä ei voi kokeilla, joten pitää olla joku heuristiikka/ hakeutuminen oikeaan paikkaan, oikeassa koossa, kulmassa ja muodossa.
Ei-litteä 3D kappale tarvitsee 3D muotin, joka kuvan päällä muuttuu 2D muotiksi. Myös maaston muotoja voi tunnistaa tällä tavalla osana suunnistusta. Ruuvien ja mutterien tunnistus lienee käytännöllisin esimerkki. Näin robottikäsi voi poimia mutterikasasta oikean kappaleen. Pizzaa valmistavan robottikäden ohjelmisto voi toteuttaa suunnilleen samoja ideoita. Epäjäykät kappaleet vaativat hieman mutkikkaamman 3D-muottimetodin.
Vastaukset 1
Vanhimmat
Kappaleentunnistus tehdään kai yleensä vain ääriviivoista. Kun taas varsinainen lopullinen hahmontunnistus tehdään kai yleensä materiaalia, kuvioita ja pinnan yksittäisiä muotoja analysoimalla ja tilastoimalla. Pinnan kuvioita/materiaalia voi tilastoida esim. siten kuinka paljon pinnalla on tasaisuutta ja kuinka paljon ei tasaisuutta, tms. (viivoja, siksakkia, 90 asteen kulmia, yms.). Tai sitten samaan tapaan kuin sormen jälkiä analysoitaessa (eli etsitään isoja kaaria, haaroja, jne.).
Silloin kun vertailtavia kuvia on monta, niin joka kuvan läpi käynti on äärettömän raskasta. Nopeammin päästään kun kuvasta erotetaan ensin varsinainen kappale, joka sitten analysoidaan eli käydään läpi esim. 4x4 pikselin ruutuina, ja näin saadaan lopuksi jotain tilastollisia arvoja (esim. pinnan tasaisuus 70%, punainen väri hallitseva 30% pikseleistä). Näillä kahdella arvolla voidaan etsiä sitten nopeasti vaikka 10000 kuvan joukosta eniten täsmäävä kuva, (jonka vastaavat kaksi arvoa on laskettu valmiiksi).
Tällaisissa tilastollisissa tunnistusmetodeissa on se etu, että ne pystyvät tunnistamaan esim. pitsalajin, yhden vertailukuvan perusteella. Eli tällöin katkaravut voivat sijaita myös vain pitsan toisella sivulla tai sitten tasaisesti joka puolella pitsaa. Lisäksi sillä ei ole väliä missä "asennossa" pitsa tai mutteri on, kunhan kuva on vain otettu etupuolelta. Haittapuolena tällaisessa tunnistuksessa on se, että se ei havaitse väärään paikkaan asennettuja muttereita ja tarroja kuten suoraan kuvasta kuvaan vertailu.