OpenMV
Kilvet
Linssi
Robotiikka
Kirja
Video
Lataa
Asiakirjat
Foorumi
OpenMV.io
GithubViime huhtikuussa uusi tuotteemme OpenMV4 H7 Plus tuli markkinoille. Tänään esittelen teille OpenMV4 H7 Plus:n uuden toiminnon – käyttämällä EdgeImpulse-verkkosivustoa voit kouluttaa neuroverkkoja itsenäisesti luokittelu- ja tunnistustarkoituksiin.
Tässä opetusohjelmassa käytät koneoppimista rakentaaksesi tunnistusjärjestelmän, joka pystyy OpenMV4 H7 Plus -älykameran avulla tunnistamaan, onko kasvoilla maski, toteuttaen näin kuvien luokittelun.

EdgeImpulse on verkkosivusto, joka tarjoaa upotetuille laitteille verkkopohjaisia neuroverkkomallien koulutuspalveluita. Se on OpenMV:n kumppanimme ja molemmat ovat STMicroelectronicsin virallisia kumppaneita. Tällä hetkellä EdgeImpulse on ilmainen OpenMV-käyttäjillemme. OpenMV-käyttäjät voivat ilmaiseksi käyttää EdgeImpulsea verkossa kouluttaakseen OpenMV:lle sopivia neuroverkkomalleja.
Upottamalla neuroverkko OpenMV-upotettuun laitteeseen voidaan toteuttaa toimintoja, kuten salametsästäjien ja norsujen erottaminen, tehdaslinjan laadunvalvonta sekä kaukosäätöisten malliautojen itsenäinen ajaminen.
Tässä opetusohjelmassa opit keräämään kuvia laadukkaan tietoaineiston luomiseksi, soveltamaan siirto-oppimista neuroverkkojen kouluttamiseen sekä käyttöönottojärjestelmän asentamiseen OpenMV:lle.
Lisäksi tarjoamme video-oppaan, jonka voit katsoa etsimällä "OpenMV4 Plus -neuroverkon kouluttaminen maskintunnistukseen" viralliselta verkkosivustolta.
Voit tarkastella koko projektin sisältöä, mukaan lukien kaikki koodit ja mallit, seuraavassa osoitteessa: https://book.openmv.cc/project/mask.html
EdgeImpulse-verkon kautta OpenMV:lle sopivan neuroverkomallin kouluttaminen jakautuu pääasiassa neljään vaiheeseen: tietojoukon kerääminen, lataaminen, kouluttaminen ja käyttöönotto.
01、Tietokokoelman kerääminen
Tässä opetusohjelmassa rakennamme mallin, joka pystyy erottamaan kasvot, joilla on naamari, kasvoista ilman naamaria. Voit tietenkin valita myös muiden esineiden luokittelun. Jotta koneoppimismalli toimisi, sinun on kerättävä suuri määrä esimerkkikuvia kasvoista sekä naamarin kanssa että ilman. Koulutuksen aikana näitä esimerkkikuvia käytetään mallin erotteluharjoituksiin.
Meidän on käytettävä OpenMV IDE:ta tietojoukkomme keräämiseen. Kuvien keräämisen vaiheet ovat seuraavat:
Luoda kaksi luokkaa:
Avaa OpenMV IDE:n valikkorivin "Työkalut", valitse "Tietokantamuokkain", napsauta "Luo uusi tietokanta" ja luo sitten uusi kansio ja avaa se. Tietokannan sisällä luo kaksi uutta kansiota, jotka nimetään "mask" (käytetään maskia käyttävien kasvojen kuvien tallentamiseen) ja "face" (käytetään maskittomien kasvojen kuvien tallentamiseen).


Kuvan kerääminen OpenMV:llä
Ensin yhdistämme OpenMV:n, napsauta "Yhdistä" IDE:ssä, napsauta "Suorita", ja voit nähdä OpenMV:n reaaliaikaisen kuvan Framebuffer-kehyksen puskurissa. Napsauta vasemmalla valikkopalkissa olevaa valokuvapainiketta, niin OpenMV tallentaa tämän kuvan automaattisesti. Tämä on yksi tietojoukon tiedoista.
Ensinnäkin tallennamme kasvot, joilla on maski. Paina kuvapainiketta, niin IDE ottaa kuvan alaosasta. Se nimeää sen automaattisesti nimellä 00000, ja seuraava kuva on 00001 ja niin edelleen.
Kerää OpenMV:llä 200 kasvokuvaa, joissa henkilöillä on maski (100 miestä ja 100 naista) ja 200 kasvokuvaa ilman maskia (100 miestä ja 100 naista).


Huomio: Varmista, että keräät valokuvia eri näkökulmista, jotta koulutuksemme ja oppimisemme monipuolistuvat.
Joska kuvan keräämisprosessissa havaitaan, että tietty kuva ei ole riittävän täydellinen, voit poistaa sen napsauttamalla hiiren oikealla painikkeella ja valitsemalla "Poista".
02. Lataa
Kun olet kerännyt kuvat OpenMV:llä, sinun tulee rekisteröidä tili ja kirjautua EdgeImpulse:n verkkosivustolle (https://edgeimpulse.com/) aloittaaksesi kuvien lataamisen. Kuvien lataamisvaiheet ovat seuraavat:
Luo uusi projekti EdgeImpulsessa, napsauta "keys", valitse "API Key" ja kopioi "API Key". Yhdistä OpenMV IDE ja Edge Impulse API Keyn avulla.

Valitse OpenMV IDE:n ylävalikon "Työkalut" – "Tietojen muokkain" – "Vie" – "Lähetä" – "Lähetä API-avaimella", kopioi "API-avain" ja lähetä se.
Tietojen lataamisen yhteydessä ne jaetaan automaattisesti koulutus- ja testijoukkoon. Oletusarvoisesti valitsemme suhteen "80 % ja 20 %". Olemme keränneet yli 400 kasvokuvaa, joista 80 % Training Date tarkoittaa, että 80 % tiedoista käytetään koulutukseen ja loput 20 % testijoukkoon.


03. Koulutusaineisto
Kun tietojoukko on valmis, voit kouluttaa sitä EdgeImpulse-verkkosivuston käyttöliittymässä.
Konfiguraation käsittelymoduuli:
Valitse ensin "Impulse Design" ja määritä käsittelymoduuli:
Aseta oletuskuvan koko "96 x 96";
Valitse "Kuvat" -moduuli, mikä tarkoittaa, että harjoittelemme kuvien luokittelua (voit myös käyttää EdgeImpulsea äänien, videoiden jne. luokitteluun);
Valitse "Siirto-oppiminen (kuvat) Transfer Learning (Images)" ja aseta oppimismalli;
Valitse "Tallenna Save impulse", ja kun näet "Successfully", konfiguraatio on onnistunut.

* Kuvan esikäsittely:
Klikkaa vasemman valikon "KuvaImage", aseta värimuodoksi "RGB" ja napsauta sitten "Tallenna".

Seuraavaksi valitse "Luo ominaisuudet" aloittaaksesi prosessin, jossa yli 400 kuvaa käsitellään esikäsittelyssä. Oikealla puolella näytetään koko tietokannan 3D-visualisointi.

SingTown-mallinnuksen siirtäminen
Klikkaa vasemman valikon "Siirto-oppiminen (Transfer learning)" -kohtaa, valitse kaikki parametrit oletusarvoisesti tai muuta niitä tarpeen mukaan:
1. Aseta harjoitusjaksojen lukumääräksi oletusarvo 10
2. Aseta oppimisnopeus Learning rate arvoon 0,0005
3. Voit valita tai olla valitsematta "Data augmentation" -vaihtoehtoa
4. Aseta vähimmäisluottamusaste Minimum confidence rating oletusarvoiseksi 0.8.
Klikkaa "Aloita koulutusStart training", koulutusprosessi kestää noin 4–5 minuuttia.
Kun malli on koulutettu, voit tarkastella tarkkuutta, sekaantumismatriisia (confusion matrix) ja odotettua laitteiston suorituskykyä.

* Testausmalli:
Kun koulutus on valmis, käytämme testidataa mallin tarkastamiseen.
Valitse "Mallin testausModel testing", rastita valintaruutu "Näytteen nimiSample name" vieressä ja napsauta "Luokittele valitutClassify selected". Tässä näkyvä tarkkuus on saavuttanut 97%, mikä on harvinaista mallille, jolla on niin vähän dataa.

Tämä kuva, joka näyttää punaista, on epävarma. Klikkaa kolmea pistettä kuvan oikealla puolella ja valitse "Näytä luokitus Show classification". Siirryt "Reaaliaikainen luokitus" -käyttöliittymään, joka sisältää lisätietoja tiedostosta. Tämä käyttöliittymä auttaa sinua selvittämään, miksi kuvan luokitus on virheellinen.

Jos data on kaikkien tunnettujen klustereiden (maski päällä/ilman maskia) ulkopuolella, tämä voi olla data, joka ei vastaa mitään aiemmin nähtyä luokitusta – mahdollisesti siksi, että hiukset peittävät suurimman osan kasvoista.
04. Mallin suorittaminen OpenMV:llä
Kun olet suorittanut harjoittelusuunnittelun, mallin harjoittelun ja mallin vahvistamisen vaiheet, voit viedä tämän mallin OpenMV:llesi. Valitse "OpenMV", valitse "Build" luodaksesi, ja se luo automaattisesti 3 tiedostoa:
* trained.tflite koulutettu neuroverkkomalli
* labels.txt kaksi luokittelutunnistetta (face ja mask)
* ei_image_classification.py on OpenMV:llä suoritettava koodi

Yhdistä OpenMV IDE ja tallenna nämä 3 tiedostoa OpenMV:n sisäiseen Flash-muistiin. Avaa ei_image_classification.py -tiedosto OpenMV IDE:ssä, niin näet juuri EdgeImpulsessa luomamme koodin. Klikkaa "Suorita", ja sarjaterminaali näyttää suorituksen tulokset.


Okei, olet onnistuneesti lisännyt OpenMV:lle kyvyn kouluttaa neuroverkkoja itse.
Odotan tuloksiasi!

AvoinMV-pohjainen tekoälyvartija: automaattinen muistutus avoimesta tilasta tärkeissä paikoissa
Automaattinen tarkistus, jossa havaitaan, onko tärkeän paikan ovi ollut pitkään auki, ja heti annettava muistutus.

Henkilöiden rajojen ylittäminen herättää hälytyksen – OpenMV selittää käsitettä ”turvallisen alueen tunne”
Tunnistaa henkilöiden tai laitteiden rajojen ylityksen virtuaalisen varoituslinjan avulla.

”AI-kaupunginvalvonta” on saapunut: avoimen lähdekoodin OpenMV-pohjainen järjestelmä epälailliselle kadunvarsikaupalle tunnistamiseen
Automaattinen tunnistus kadunvaraisesta liiketoiminnasta kaupungin päivittäisen hallinnan tukemiseksi.

Kaasupulloja sijoitettu epäasiallisesti? Käytä OpenMV:tä vaaran varoittamiseen automaattisesti
Tunnistaa automaattisesti kaasupullojen sallimattomat sijoitustavat ja havaitsee kaasukäyttöön liittyvät turvallisuusuhkat etukäteen.

Sähköisessä työssä ei käytetty eristyskäsineitä? OpenMV antaa heti varoituksen!
Tunnistaa automaattisesti, onko työntekijä käyttänyt eristyskäsineitä, ja tukee turvallista työtä.

Käytetään OpenMV-älykästä kamerajärjestelmää alumiinilevyn pinnan virheiden tunnistamiseen reaaliajassa
Tunnistaa verkossa alumiinilevyn pinnan naarmuja, painaumia ja muita vikoja ja tukee laadunvalvontaa.