Dit bericht is geschreven om de beginnende ontwikkelaarsgemeenschap in staat te stellen, vooral degenen die nieuw zijn in computervisie en computerwetenschap. NVIDIA erkent dat het oplossen van en profiteren van 's werelds visuele computeruitdagingen door middel van computervisie en kunstmatige intelligentie ons allemaal vereist. NVIDIA is verheugd om samen te werken en dit bericht op te dragen aan de zwarte vrouwen in kunstmatige intelligentie.

Het gebruik en bereik van computervisie in de echte wereld groeit en de toepassingen ervan zijn op hun beurt uitdagend en veranderen de betekenis ervan. Computervisie, dat al tientallen jaren in een of andere vorm van zijn huidige bestaan ​​is, wordt een steeds vaker voorkomende uitdrukking in gesprekken, over de hele wereld en in verschillende sectoren: computervisiesystemen, computervisiesoftware, computervisiehardware, computervisieontwikkeling, computervisie vision-pijpleidingen, computer vision-technologie.

Wat is computer vision?

Er is meer aan de term en het gebied van computervisie dan op het eerste gezicht lijkt, zowel letterlijk als figuurlijk. Computervisie wordt ook wel vision-AI genoemd en traditionele beeldverwerking in specifieke niet-AI-gevallen, en machinevisie in productie- en industriële toepassingen.

Simpel gezegd, computervisie maakt apparaten, waaronder laptops, smartphones, zelfrijdende auto's, robots, drones, satellieten en röntgenmachines om gegevens in digitale afbeeldingen en video waar te nemen, te verwerken, te analyseren en te interpreteren.

Met andere woorden, computervisie neemt fundamenteel beeldgegevens of beeldgegevenssets op als invoer, inclusief zowel stilstaande beelden als bewegende frames van een video, opgenomen of vanuit een live camerafeed. Met computervisie kunnen apparaten mensachtige visiemogelijkheden hebben en gebruiken, net als ons menselijke visiesysteem. In het menselijk zicht nemen je ogen de fysieke wereld om je heen waar als verschillende reflecties van licht in realtime.

Evenzo nemen computer vision-apparaten pixels van afbeeldingen en video's waar, detecteren ze patronen en interpreteren ze beeldinvoer die kunnen worden gebruikt voor verdere analyse of besluitvorming. In die zin “ziet” computervisie net als menselijke visie en gebruikt het intelligentie en rekenkracht om visuele invoergegevens te verwerken om zinvolle inzichten te verkrijgen, zoals een robot die een obstakel op zijn pad detecteert en ontwijkt.

Andere computer vision-taken bootsen het menselijke zichtsysteem na en voeren, automatiseren en verbeteren functies uit die vergelijkbaar zijn met het menselijke zichtsysteem.

Hoe verhoudt computervisie zich tot andere vormen van AI?

Computervisie helpt bij het leren en beheersen van zien, net zoals gespreks-AI helpt bij het aanleren en beheersen van het gevoel voor geluid door middel van spraak, in toepassingen voor het herkennen, vertalen en verwoorden van tekst: de woorden die we gebruiken om de fysieke wereld om ons heen te definiëren en te beschrijven .

Op dezelfde manier helpt computervisie bij het aanleren en beheersen van het gezichtsvermogen door middel van digitaal beeld en video. Meer in het algemeen kan de term computervisie ook worden gebruikt om te beschrijven hoe apparaatsensoren, meestal camera's, waarnemen en werken als zichtsystemen in toepassingen voor het detecteren, volgen en herkennen van objecten of patronen in afbeeldingen.

Multimodale conversatie-AI combineert de mogelijkheden van conversatie-AI met computervisie in toepassingen voor multimediaconferenties, zoals NVIDIA Maxine.

Computervisie kan ook breed worden gebruikt om te beschrijven hoe andere soorten sensoren zoals lichtdetectie en -bereik (LiDAR) en radiodetectie en -bereik (RADAR) de fysieke wereld waarnemen. In zelfrijdende auto's wordt computervisie gebruikt om te beschrijven hoe LiDAR- en RADAR-sensoren werken, vaak samen en in tandem met camera's om mensen, objecten en puin te herkennen en classificeren.

Wat zijn enkele veelvoorkomende taken ?

Hoewel computervisietaken een breed scala aan waarnemingsmogelijkheden bestrijken en de lijst blijft groeien, ondersteunen en helpen de nieuwste technieken gebruikssituaties met detectie, classificatie, segmentatie en beeldsynthese op te lossen.

Detectietaken lokaliseren en volgen soms waar een object zich in een afbeelding bevindt. In de gezondheidszorg voor digitale pathologie zou detectie bijvoorbeeld kunnen bestaan ​​uit het identificeren van kankercellen door middel van medische beeldvorming. In robotica gebruiken softwareontwikkelaars objectdetectie om obstakels op de fabrieksvloer te vermijden.

Classificatietechnieken bepalen welk object zich in de visuele gegevens bevindt. In de productie classificeert een objectherkenningssysteem bijvoorbeeld verschillende soorten flessen om te verpakken. In de landbouw gebruiken boeren classificatie om onkruid onder hun gewassen te identificeren.

Segmentatietaken classificeren pixels die tot een bepaalde categorie behoren, ofwel afzonderlijk per pixel (semantische afbeeldingssegmentatie) of door meerdere objecttypen van dezelfde klasse toe te wijzen als afzonderlijke instanties (instantieafbeeldingssegmentatie). Een zelfrijdende auto deelt bijvoorbeeld delen van een wegbeeld in als berijdbare en niet-berijdbare ruimte.

Beeldsynthesetechnieken creëren synthetische gegevens door bestaande digitale afbeeldingen te morphen om de gewenste inhoud te bevatten. Generatieve adversariële netwerken (GAN's), zoals EditGAN, maken het mogelijk om synthetische visuele informatie te genereren uit tekstbeschrijvingen en bestaande afbeeldingen van landschappen en mensen. Het gebruik van synthetische gegevens om echte gegevens aan te vullen en te simuleren is een opkomend gebruik van computervisie in de logistiek waarbij vision AI wordt gebruikt voor toepassingen zoals slim voorraadbeheer.

Wat zijn de verschillende soorten computervisie?

Om de verschillende domeinen binnen computervisie te begrijpen, is het belangrijk om de technieken te begrijpen waarop computervisietaken zijn gebaseerd. De meeste computervisietechnieken beginnen met een model, of wiskundig algoritme, dat een specifieke elementaire bewerking, taak of combinatie uitvoert. Hoewel we traditionele beeldverwerking en op AI gebaseerde computervisie-algoritmen afzonderlijk classificeren, vertrouwen de meeste computervisiesystemen op een combinatie, afhankelijk van het gebruik, de complexiteit en de vereiste prestaties.

Traditionele computervisie

Traditionele, niet-deep learning-gebaseerde computervisie kan verwijzen naar zowel computervisie als beeldverwerkingstechnieken.

In traditionele computervisie voert een specifieke reeks instructies een specifieke taak uit, zoals het detecteren van hoeken of randen in een afbeelding om vensters in een afbeelding van een gebouw te identificeren.

Aan de andere kant voert beeldverwerking een specifieke manipulatie van een beeld uit die vervolgens kan worden gebruikt voor verdere verwerking met een vision-algoritme. U wilt bijvoorbeeld de pixels van een afbeelding vloeiend maken of comprimeren voor weergave of de algehele grootte verkleinen. Dit kan worden vergeleken met het buigen van het licht dat het oog binnenkomt om de focus of het kijkveld aan te passen. Andere voorbeelden van beeldverwerking zijn het aanpassen, converteren, herschalen en kromtrekken van een invoerbeeld.

AI-gebaseerde computervisie

AI-gebaseerde computervisie of visie AI vertrouwt op algoritmen die zijn getraind op visuele gegevens om een ​​specifieke taak uit te voeren, in tegenstelling tot geprogrammeerde, hardgecodeerde instructies zoals die van beeldverwerking.

De eerder genoemde detectie-, classificatie-, segmentatie- en synthesetaken zijn doorgaans op AI gebaseerde computer vision-algoritmen vanwege de nauwkeurigheid en robuustheid die kan worden bereikt. In veel gevallen kunnen op AI gebaseerde algoritmen voor computervisie beter presteren dan traditionele algoritmen in termen van deze twee prestatiestatistieken.

Op AI gebaseerde computervisie-algoritmen bootsen het menselijke visiesysteem beter na door te leren van en zich aan te passen aan visuele gegevensinvoer, waardoor ze in de meeste gevallen de favoriete computervisiemodellen zijn. Dat gezegd hebbende, op AI gebaseerde algoritmen voor computervisie vereisen grote hoeveelheden gegevens en de kwaliteit van die gegevens bepaalt rechtstreeks de kwaliteit van de output van het model. Maar de prestaties wegen zwaarder dan de kosten.

Op AI gebaseerde neurale netwerken leren zichzelf, afhankelijk van de gegevens waarop het algoritme is getraind. Op AI gebaseerde computervisie is als leren van ervaring en voorspellingen doen op basis van context, los van expliciete richting. Het leerproces is vergelijkbaar met wanneer je oog een onbekend object ziet en de hersenen proberen te leren wat het is en het op te slaan voor toekomstige voorspellingen.

Machine learning vergeleken met deep learning in op AI gebaseerde computervisie

Machine learning computer vision is een soort op AI gebaseerde computer vision. Op AI gebaseerde computervisie op basis van machine learning heeft kunstmatige neurale netwerken of lagen, vergelijkbaar met die in het menselijk brein, om signalen over de opgenomen visuele gegevens te verbinden en te verzenden. Bij machine learning hebben neurale netwerken voor computervisie afzonderlijke en verschillende lagen, expliciet gedefinieerde verbindingen tussen de lagen en vooraf gedefinieerde aanwijzingen voor visuele gegevensoverdracht.

Deep learning-gebaseerde computervisiemodellen zijn een subset van machine learning -gebaseerde computervisie. Het 'diep' in deep learning ontleent zijn naam aan de diepte of het aantal lagen in het neurale netwerk. Gewoonlijk wordt een neuraal netwerk met drie of meer lagen als diep beschouwd.

Op AI gebaseerde computervisie op basis van deep learning wordt getraind op hoeveelheden gegevens. Het is niet ongebruikelijk om honderdduizenden en miljoenen digitale afbeeldingen te zien die worden gebruikt om diepe neurale netwerkmodellen te trainen en te ontwikkelen. Zie Wat is het verschil tussen kunstmatige intelligentie, machinaal leren en diep leren? voor meer informatie.

Aan de slag met het ontwikkelen van computervisie

Nu we de basisprincipes van computervisie hebben behandeld, raden we u aan aan de slag te gaan met het ontwikkelen van computervisie. We raden beginners aan om aan de slag te gaan met de Vision Programming Interface (VPI) Computer Vision and Image Processing Library voor niet-AI-algoritmen of een van de volledig operationele, gebruiksklare, vooraf getrainde AI-modellen van de TAO Toolkit.

Meer informatie

Om te zien hoe NVIDIA de end-to-end computer vision-workflow mogelijk maakt, raadpleegt u de pagina Computer Vision Solutions. NVIDIA biedt modellen plus hulpmiddelen voor computervisie en beeldverwerking. We bieden ook op AI gebaseerde softwaretoepassingskaders voor het trainen van visuele gegevens, het testen en evalueren van beeldgegevenssets, implementatie en uitvoering, en schalen.

Om opkomende computervisieontwikkelaars overal ter wereld mogelijk te maken, stelt NVIDIA een reeks van paden naar meesterschap om leiders van de volgende generatie in kaart te brengen en te koesteren. Houd ons in de gaten voor de aanstaande release van het computervisie-pad naar meesterschap om je leertraject in je eigen tempo te volgen en je #NVCV-voortgang te laten zien op sociale media.

Michael Boone
Product Marketing Manager, Autonomous Vehicles en Computer Vision, NVIDIA

Sandeep Hiremath
Hoofd technisch productmanager, Computer Vision, NVIDIA

Ona Ogbonna
Senior Systems Safety Engineer, NVIDIA

0

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *