Azure Percept Vision AI-module

Belangrijk

Buitengebruikstelling van Azure Percept DK:

Update 22 februari 2023: Er is hier nu een firmware-update beschikbaar voor de percept DK Vision- en Audio-accessoireonderdelen (ook wel bekend als Vision en Audio SOM). Hierdoor kunnen de accessoireonderdelen na de buitengebruikstellingsdatum blijven functioneren.

De openbare preview van Azure Percept wordt ontwikkeld om nieuwe edge-apparaatplatforms en ontwikkelaarservaringen te ondersteunen. Als onderdeel van deze evolutie worden de Azure Percept DK en audioaccessoire en de bijbehorende ondersteunende Azure-services voor de Percept DK op 30 maart 2023 buiten gebruik gesteld.

Met ingang van 30 maart 2023 worden de Azure Percept DK en Audio Accessory niet meer ondersteund door Azure-services, waaronder Azure Percept Studio, updates van het besturingssysteem, updates voor containers, webstream weergeven en Custom Vision-integratie. Microsoft biedt geen ondersteuning meer voor klantsucces en eventuele bijbehorende ondersteunende services. Ga voor meer informatie naar het blogbericht over buitengebruikstelling.

Azureeyemodule is de naam van de edge-module die verantwoordelijk is voor het uitvoeren van de AI Vision-workload op de Azure Percept DK. Het maakt deel uit van de Azure IoT-suite van edge-modules en wordt tijdens de installatie-ervaring geïmplementeerd in de Azure Percept DK. Dit artikel bevat een overzicht van de module en de architectuur ervan.

Architectuur

Diagram met de architectuur van de azureeyemodule.

De Azure Percept-workload op de Azure Percept DK is een C++-toepassing die wordt uitgevoerd in de docker-container azureeyemodule. Het maakt gebruik van OpenCV GAPI voor afbeeldingsverwerking en modeluitvoering. Azureeyemodule wordt uitgevoerd op het Mariner-besturingssysteem als onderdeel van de Azure IoT-suite met modules die worden uitgevoerd op de Azure Percept DK.

De Azure Percept-workload is bedoeld om afbeeldingen en uitvoerafbeeldingen en berichten op te nemen. De uitvoerafbeeldingen kunnen worden gemarkeerd met tekeningen zoals begrenzingsvakken, segmentatiemaskers, verbindingen, labels, enzovoort. De uitvoerberichten zijn een JSON-stroom van deductieresultaten die kunnen worden opgenomen en gebruikt door downstreamtaken. De resultaten worden geleverd als een RTSP-stream die beschikbaar is op poort 8554 van het apparaat. De resultaten worden ook verzonden naar een andere module die wordt uitgevoerd op het apparaat, die de RTSP-stroom levert die is verpakt in een HTTP-server, die wordt uitgevoerd op poort 3000. In beide gevallen zijn ze alleen zichtbaar op het lokale netwerk.

Waarschuwing

Er is geen versleuteling of verificatie met betrekking tot de RTSP-feeds. Iedereen in het lokale netwerk kan precies zien wat de Azure Percept Vision ziet door het juiste adres in een webbrowser of RTSP-mediaspeler te typen.

De Azure Percept-workload maakt verschillende functies mogelijk waarvan eindgebruikers kunnen profiteren:

  • Een oplossing zonder code voor veelvoorkomende gebruiksvoorbeelden van Computer Vision, zoals objectclassificatie en algemene objectdetectie.
  • Een geavanceerde oplossing, waarbij een ontwikkelaar zijn eigen (mogelijk trapsgewijze) getrainde model kan meenemen naar het apparaat en dit kan uitvoeren, waarbij mogelijk resultaten worden doorgegeven aan een andere IoT-module van zijn eigen creatie die op het apparaat wordt uitgevoerd.
  • Een hertrainingslus voor het periodiek ophalen van afbeeldingen van het apparaat, het model opnieuw trainen in de cloud en vervolgens het zojuist getrainde model weer naar het apparaat pushen. De mogelijkheid van het apparaat gebruiken om modellen direct bij te werken en te wisselen.

Details van AI-werkbelasting

De workloadtoepassing is opensourced in de GitHub-opslagplaats Azure Percept Advanced Development en bestaat uit veel kleine C++-modules, met enkele van de belangrijkste:

  • main.cpp: stelt alles in en voert vervolgens de hoofdlus uit.
  • iot: deze map bevat modules die binnenkomende en uitgaande berichten van de Azure IoT Edge Hub en de updatemethode van de dubbel verwerken.
  • model: deze map bevat modules voor een klassehiërarchie van Computer Vision-modellen.
  • kernels: deze map bevat modules voor G-API-kernels, ops en C++-wrapperfuncties.

Ontwikkelaars kunnen aangepaste modules bouwen of de huidige azureeyemodule aanpassen met behulp van deze workloadtoepassing.

Volgende stappen