Miten suunnitella ja ottaa nopeasti käyttöön älykkäät konenäköjärjestelmät
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2022-08-31
Konenäön tarve kasvaa useissa eri sovelluksissa, kuten turvallisuus-, liikenne- ja kaupunkikameroissa, vähittäiskaupan analytiikassa, automaattisessa tarkastuksessa, prosessinohjauksessa ja näköohjatussa robotiikassa. Konenäön toteuttaminen on monimutkaista ja se edellyttää erilaisten tekniikoiden ja osajärjestelmien integrointia, esimerkkinä tehokkaat laitteistot ja kehittyneet tekoäly- ja koneoppimisohjelmistot (AI/ML). Tämä alkaa videokaappaustekniikan ja videotulojen ja -lähtöjen optimoinnilla sovellustarpeiden mukaan ja ulottuu useisiin kuvankäsittelyn liukuhihnoihin, jotka tarjoavat tehokkaan liitettävyyden. Tämä on viime kädessä riippuvaista siitä, että sulautettu näköjärjestelmä kykenee suorittamaan näköpohjaista analytiikkaa reaaliajassa käyttämällä tehokkaita laitteistoja, kuten FPGA- (Field Programmable Gate Array), SOM- (System On Module), SoC- (System on Chip) ja jopa MPSoC-piirejä (Multi-Processor System on Chip), jotka pystyvät pyörittämään tarvittavaa IA/ML-teknologiaa hyödyntävää kuvankäsittely- ja tunnistusohjelmistoa. Tämä voi olla monimutkainen, kallis ja aikaa vievä prosessi, jossa on lukuisia mahdollisuuksia kustannusten ylittymiseen ja aikataulun viivästymiseen.
Sen sijaan, että suunnittelijat aloittaisivat alusta, he voivat käyttää hyvin koottua ja suorituskykyistä kehitysalustaa, joka nopeuttaa markkinoille tuloaikaa, auttaa kustannuksien hallinnassa ja vähentää kehitysriskejä samalla, kun se parantaa sovellusten joustavuutta ja suorituskykyä. SOM-pohjainen kehitysalusta voi tarjota integroidun laitteisto- ja ohjelmistoympäristön, jolloin kehittäjät voivat keskittyä sovelluksen räätälöintiin ja säästää jopa yhdeksän kuukautta kehitysajasta. Kehitysympäristön lisäksi sama SOM-arkkitehtuuri on saatavilla tuotanto-optimoituina kokoonpanoina kaupallisiin ja teollisiin ympäristöihin, mikä parantaa sovellusten luotettavuutta ja laatua, vähentää riskejä entisestään ja nopeuttaa markkinoille tuloaikaa.
Tässä artikkelissa tarkastellaan aluksi suorituskykyisten konenäköjärjestelmien kehittämiseen liittyviä haasteita, sitten siinä esitellään AMD Xilinxin Kria KV260 vision AI -aloitussarjan tarjoama kattava kehitysympäristö ja lopuksi esitellään esimerkkejä Kira 26 -alustaan perustuvista tuotantokelpoisista SOM-yksiköistä, jotka on suunniteltu liitettäväksi kantakorttiin ratkaisukohtaisten oheislaitteiden kanssa.
Prosessi alkaa tietotyyppien optimoinnilla
Syväoppimisalgoritmien tarpeet kasvavat. Kaikki sovellukset eivät tarvitse kovin tarkkoja laskutoimituksia. Tällöin voidaan käyttää pienemmän tarkkuuden tietotyyppejä, kuten INT8, tai mukautettuja dataformaatteja. GPU-pohjaisille järjestelmille voi olla haaste yrittää muuttaa korkean tarkkuuden dataa varten optimoituja arkkitehtuureja niin, että ne pystyvät käyttämään pienemmän tarkkuuden datamuotoja tehokkaasti. Kria K26 SOM-piirin konfiguraatiota voidaan muuttaa, joten sillä voidaan tukea monenlaisia tietotyyppejä, kuten FP32, INT8 jne. Konfiguraation muunneltavuus johtaa myös pienempään kokonaisenergiankulutukseen. Esimerkiksi INT8-tyypille optimoidut operaatiot kuluttavat kertaluokkaa vähemmän energiaa kuin FP32-operaatiot (kuva 1).
Kuva 1: INT8-operaatioihin (8b Add) tarvitaan kertaluokkaa vähemmän energiaa kuin FP32-operaatioihin (32b Add). (Kuvan lähde: AMD Xilinx)
Optimaalinen arkkitehtuuri minimaalista virrankulutusta varten
Moniytimiseen GPU- tai CPU-arkkitehtuuriin perustuvat mallit voivat tyypillisten virrankäyttömallien perusteella kuluttaa paljon virtaa:
- 30 % ytimet
- 30 % sisäinen muisti (L1, L2, L3)
- 40 % ulkoinen muisti (kuten DDR)
Grafiikkasuorittimet tarvitsevat usein tehotonta DDR-muistia ohjelmoitavuuden tukemiseksi, ja se voi olla pullonkaula suuren kaistanleveyden laskentavaatimuksille. Kria K26 SOM-piirissä käytetty Zynq MPSoC -arkkitehtuuri tukee sellaisten sovellusten kehittämistä, jotka käyttävät vain vähän tai ei lainkaan ulkoista muistia. Esimerkiksi tyypillisessä autosovelluksessa GPU:n ja eri moduulien välinen kommunikointi edellyttää useita ulkoisen DDR-muistin käyttökertoja, kun taas Zynq MPSoC -pohjaisessa ratkaisussa käytetään liukuhihnaa, joka on suunniteltu välttämään useimmat DDR-käyttökerrat (kuva 2).
Kuva 2: Tässä tyypillisessä autoteollisuuden sovelluksessa näytönohjain vaatii useita DDR-käyttökertoja eri moduulien välistä viestintää varten (vasemmalla), kun taas Zynq MPSoC-piirin liukuhihna-arkkitehtuuri (oikealla) välttää suurimman osan DDR-käyttökerroista. (Kuvan lähde: AMD Xilinx)
Karsimien korostaa etuja
K26 SOM-piirin neuroverkkosuorituskykyä voidaan parantaa käyttämällä tekoälyn optimointityökalua, joka mahdollistaa tietojen optimoinnin ja karsinnan. Neuraaliverkot on usein yliparametrisoitu, mikä johtaa korkeaan redundanssin määrään, jota voidaan optimoida karsimalla tietoja ja pakkaamalla mallia. Xilinxin AI Optimizerin käyttö voi vähentää mallin kompleksisuutta 50-kertaisesti ja se saattaa vaikuttaa mallin tarkkuuteen vain nimellisesti. Esimerkiksi 117 Gopsin (Giga Operations) SSD (Single-Shot Detector) ja VGG-CNN (Convolution Neural Net) -arkkitehtuuria parannettiin 11 karsintakierroksen aikana käyttäen AI Optimizeria. Ennen optimointia malli pystyi suorittamaan Zynq UltraScale+ MPSoC-piirillä 18 kehystä sekunnissa (FPS). 11 iteraation jälkeen, kun mallia suoritettiin 12. kerran, kompleksisuus oli laskenut 117 Gopsista 11,6 Gopsiin (10X), suorituskyky kasvanut 18 kehyksestä sekunnissa 103 kehykseen sekunnissa (5X) ja tarkkuus oli laskenut objektin havaitsemisessa arvosta 61,55 mAP (mean Average Precision) arvoon 60,4 mAP (vain 1 % alhaisempi) (kuva 3).
Kuva 3: Karsiminen voi vain suhteellisen harvoilla iteraatiokierroksilla laskea mallin kompleksisuutta (Gop) 10-kertaisesti ja parantaa sen suorituskykyä (FPS) 5-kertaisesti vähentäen tarkkuutta (mAP) vain 1 %. (Kuvan lähde: AMD Xilinx)
Esimerkki käytännön sovelluksesta
Autojen rekisterikilpien havaitsemiseen ja tunnistamiseen (ANPR, Auto Number Plate Recognition) kehitettiin koneoppimissovellus Uncanny Visionin näköanalyysiohjelmiston pohjalta. ANPR-järjestelmää käytetään automaattisissa tiemaksujärjestelmissä, moottoriteiden valvonnassa, porttien ja pysäköintialueiden kulunvalvonnassa ja muissa sovelluksissa. Tämä ANPR-sovellus sisältää tekoälyyn perustuvan liukuhihnan, joka purkaa videota ja esikäsittelee kuvan, minkä jälkeen kuvaa käytetään ML-tunnistuksessa ja OCR-tekstintunnistuksessa (kuva 4).
Kuva 4: Tyypillinen kuvankäsittelyjärjestys AI-pohjaiselle ANPR-sovellukselle. (Kuvan lähde: AMD Xilinx)
ANPR-toteutus edellyttää yhtä tai useampaa H.264- tai H.265-koodattua reaaliaikaisen suoratoistoprotokollan (RTSP) syötettä, jotka ovat dekoodattuja tai pakkaamattomia. Dekoodatut videokuvat skaalataan, rajataan, muunnetaan väriavaruudessa ja normalisoidaan (esikäsittely), minkä jälkeen ne lähetetään ML-tunnistusalgoritmille. Suorituskykyiset ANPR-toteutukset edellyttävät monivaiheista AI-liukuhihnaa. Ensimmäisessä vaiheessa havaitaan ja paikannetaan kuvassa oleva ajoneuvo, mikä antaa kiinnostuksen kohteena olevan alueen (ROI). Samaan aikaan muut algoritmit optimoivat kuvanlaatua käytettäväksi OCR-tekstintunnistusalgoritmissa ja seuraavat ajoneuvon liikettä ruudusta toiseen. Ajoneuvon ROI-alueesta rajataan edelleen rekisterikilven ROI-alue, jota OCR-algoritmi käsittelee lukeakseen rekisterikilven merkit. Muihin kaupallisiin SOM-pohjaisiin GPU- tai CPU-ratkaisuihin verrattuna Uncanny Visionin ANPR-sovellus toimii Kira KV260 SOM-piirillä 2–3 kertaa nopeammin ja se maksaa alle 100 dollaria per RTSP-syöte.
Kehitysympäristö älynäköä varten
Älynäkösovellusten, kuten liikenne- ja kaupunkikameroiden, vähittäiskaupan analytiikan, turvasovellusten, teollisuusautomaation ja robotiikan suunnittelijat voivat käyttää Kria K26 SOM AI Starter-kehitysympäristöä. Tämä ympäristö käyttää Zynq® UltraScale+™ MPSoC-arkkitehtuuria ja tarjoaa kasvavan kirjaston valmiita sovellusohjelmistopaketteja (kuva 5). AI Starter SOM sisältää neljän ytimen Arm Cortex-A53 -prosessorin, yli 250 tuhatta logiikkasolua sekä H.264/265-videokoodekin. SOM tarjoaa 4 GB DDR4-muistia, 245 IO-linjaa ja 1,4 tera-opsin AI-laskentatehon. Sitä voidaan käyttää tehokkaissa AI-näkösovelluksissa ja se tarjoaa yli 3 kertaa korkeamman suorituskyvyn alhaisemmalla latenssilla ja virrankulutuksella muihin laitteistototeutuksiin verrattuna. Valmiit sovellukset mahdollistavat alustavan ratkaisun suorittamisen alle tunnissa.
Kuva 5: Kria KV260 vision AI -aloitussarja on monipuolinen kehitysympäristö konenäkösovelluksia varten. (Kuvan lähde: AMD Xilinx)
Jotta kehitysprosessi saataisiin Kria K26 SOM-piirillä nopeasti vauhtiin, AMD Xilinx tarjoaa KV260 vision AI -aloitussarjan, joka sisältää virtalähteen, Ethernet-kaapelin, microSD-kortin, USB-kaapelin, HDMI-kaapelin ja kameramoduulin (kuva 6). Jos koko aloituspakettia ei tarvita, kehittäjät voivat ostaa lisävarusteena saatavan virtalähteen ja aloittaa Kira K26 SOM-piirin käytön.
Kuva 6: KV260 vision AI -aloitussarja sisältää: (ylärivi, vasemmalta oikealle) virtalähde, Ethernet-kaapeli, microSD-kortti ja (alarivi, vasemmalta oikealle) USB-kaapeli, HDMI-kaapeli, kameramoduuli. (Kuva: AMD Xilinx)
Myös sarjan monipuoliset ominaisuudet nopeuttavat kehitystä, mm. lukuisat 1,8 V ja 3,3 V:n epäsymmetriset ja differentiaaliset I/O:t sekä neljä 6 Gb/s:n lähetin-vastaanotinta ja neljä 12,5 Gb/s:n lähetin-vastaanotinta. Nämä ominaisuudet mahdollistavat sovelluskehityksen käyttäen useita kuvakennoja per SOM ja useita erilaisia anturirajapintoja, kuten MIPI, LVDS, SLVS ja SLVS-EC, joita sovelluskohtaiset vakiotuotteet (ASSP) ja GPU:t eivät aina tue. Kehittäjät voivat sulautetun ohjelmoitavan logiikan avulla toteuttaa myös DisplayPort-, HDMI-, PCIe-, USB2.0/3.0- sekä käyttäjän määrittämiä standardeja.
Lisäksi tekoälysovellusten kehittämistä on yksinkertaistettu ja siitä on tehty helpommin lähestyttävää yhdistämällä K26 SOM-piirin monipuoliset laitteisto-ominaisuudet ja ohjelmistoympäristö tuotantokelpoisiin näkösovelluksiin. Nämä näkösovellukset voidaan toteuttaa ilman FPGA-laitteistosuunnittelua, ja ohjelmistokehittäjät voivat nopeasti integroida mukautettuja tekoälymalleja ja sovelluskoodia ja jopa muokata näkösovelluksen liukuhihnaa. Xilinxin yhdistetty ohjelmistokehitysalusta Vitis ja sen kirjastot tukevat tavallisia suunnitteluympäristöjä, kuten TensorFlow-, Pytorch- ja Café-alustat, samoin kuin erilaisia ohjelmointikieliä, mm. C, C++, OpenCL™ ja Python. Xilinxin Kria SOM-piiriä ja sen ekosysteemikumppaneita käyttäville reunasovelluksille on myös sulautettu sovelluskauppa. Xilinxin tuotteet ovat ilmaisia ja perustuvat avoimeen lähdekoodiin. Näitä ovat muun muassa älykäs kameraseuranta ja kasvojen tunnistus, luonnollisen kielen käsittely älykkäällä näöllä jne.
Tuotantoon optimoidut Kira 26 SOM-piirit
Kun kehitysprosessi on saatu päätökseen, voidaan siirtyä käyttämään K26 SOM-piirin tuotantovalmiita versioita. Nämä on tarkoitettu liitettäväksi ratkaisukohtaiset oheislaitteet tarjoavaan kantakorttiin. Tämä nopeuttaa siirtymistä tuotantoon (kuva 7). K26 SOM-peruspiiri on kaupalliseen käyttöön soveltuva yksikkö, jonka siirtymävyöhykkeen lämpötilaluokitus on 0 °C ... +85 °C sisäisellä lämpötila-anturilla mitattuna. K26 SOM-piiristä on saatavana myös teollisuustasoinen versio, jonka lämpötilaluokitus on -40 °C ... +100 °C.
Teollisuusmarkkinoilla vaaditaan pitkää käyttöikää vaativissa ympäristöissä. Teollisuustasoinen Kria SOM on suunniteltu kymmenen vuoden käyttöiälle siirtymävyöhykkeen lämpötilalla 100 °C ja 80 %:n suhteellisella kosteudella. Se myös kestää jopa 40 g:n iskut ja 5 g RMS (Root Mean Square) -tärinän. Laitetta tulee olemaan myös saatavana ainakin kymmenen vuoden ajan, mikä pidentää tuote-elinkaarta.
Kuva 7: Tuotantoon optimoidut Kira 26 SOM-piirit teollisia ja kaupallisia ympäristöjä varten on tarkoitettu kiinnitettäväksi sovelluskohtaiset oheislaitteet sisältävään kantakorttiin. (Kuva: DigiKey)
Yhteenveto
Konenäkösovellusten, kuten turvallisuussovellusten, liikenne- ja kaupunkikameroiden, vähittäiskaupan analytiikan, automaattisen tarkastuksen, prosessinohjauksen ja näköohjatun robotiikan suunnittelijat voivat käyttää Kria K26 SOM AI -aloitussarjaa nopeuttaakseen markkinoille tuloaikaa, hallitakseen kustannuksia ja vähentääkseen kehitysriskejä. Tämä SOM-pohjainen kehitysalusta tarjoaa integroidun laitteisto- ja ohjelmistoympäristön, jolloin kehittäjät voivat keskittyä sovelluksen räätälöintiin ja säästää jopa yhdeksän kuukautta kehitysajasta. Sama SOM-arkkitehtuuri on saatavana myös tuotanto-optimoituina konfiguraationa kaupallisiin ja teollisiin ympäristöihin, mikä nopeuttaa entisestään markkinoille tuloaikaa. Teollisuusversiota tulee olemaan myös saatavana ainakin kymmenen vuoden ajan, mikä pidentää tuote-elinkaarta.

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.