ComputersInformatietechnologie

Modern computer vision. Taken en computer vision technologie. Programmeren Computer Vision in Python

Hoe kan ik een computer te leren om te begrijpen wat is afgebeeld op de foto of foto's? Dit lijkt eenvoudig, maar voor een computer is dit slechts een matrix bestaande uit nullen en enen van waaruit u belangrijke informatie te halen.

Wat is de computer vision? Het is het vermogen om te "zien" uw computer

Vision - is een belangrijke bron van informatie voor de persoon die het gebruik ervan, krijgen we, volgens verschillende schattingen, van 70 tot 90% van de gegevens. En, natuurlijk, als we willen een slimme auto te maken, moeten we dezelfde vaardigheden en de computer uit te voeren.

Het probleem van de computer vision kan heel duidelijk worden vermeld. Wat is "zien"? Het is duidelijk dat wanneer er alleen maar door te kijken. Dat concludeerde de verschillen van computer vision en menselijke visie. Visie voor ons - het is een bron van kennis over de wereld, maar ook een bron van metrische informatie - dat wil zeggen, de mogelijkheid om de afstanden en maten te begrijpen.

image semantische kernel

Kijkend naar de foto, kunnen we het te beschrijven door een aantal attributen, om zo te zeggen, om semantische informatie te halen.

Bijvoorbeeld, op zoek naar deze foto, kunnen we zeggen dat het buiten is. Wat is de stad het verkeer. Dat er auto's. we kunnen raden dat dit Zuid-Oost-Azië van de configuratie van het gebouw en hiërogliefen. Het portret van Mao Zedong begrijpen dat dit Beijing, en als iemand live video gezien of zelf had er geweest, zou denk dat dit het beroemde Tiananmen-plein.

Wat weten we meer over de foto kan zeggen, het zien van het? We kunnen objecten in het beeld te identificeren, om te zeggen, dat er mensen zijn hier dichterbij - hek. Hier paraplu's, posters van dat gebouw. Dit zijn voorbeelden van klassen is erg belangrijk voorwerpen, die zich bezighouden met zoeken naar het moment.

Toch kunnen we enkele van de kenmerken of attributen van objecten te leren. Bijvoorbeeld, hier kunnen we vaststellen dat dit niet een portret van een gewone Chinese, namelijk Mao Zedong.

Volgens het voertuig kan worden vastgesteld dat het een bewegend object, en het is moeilijk, die tijdens de beweging wordt vervormd. Over vlaggen kan worden gezegd dat zij bezwaar maakt, zijn ze ook bewegen, maar ze zijn niet moeilijk, voortdurend vervormd. En de scène is er de wind, wat kan worden vastgesteld door het ontwikkelen vlaggen, en kan ook de richting van de wind, bijvoorbeeld, wordt het blazen van links naar rechts te bepalen.

De afstanden en lengtes in computer vision

Heel belangrijk is de metrische informatie over computer vision science. Dit is alle soorten van afstanden. Bijvoorbeeld voor de rover is bijzonder belangrijk, want de teams zijn afkomstig uit de aarde ongeveer 20 minuten en beantwoorden zo veel. Bijgevolg is de koppeling heen en terug - 40 minuten. En als we een plan voor beweging commando's van de aarde, moet u hiermee rekening te houden.

Met succes geïntegreerd de technologie van computer vision in video games. Volgens de video, kunt u bouwen driedimensionale modellen van objecten, mensen, en foto's op de gebruiker kan de driedimensionale modellen van steden te herstellen. En dan lopen op hen.

computer vision - een tamelijk breed assortiment. Het is nauw verweven met diverse andere wetenschappen. Een deel van computer vision Het vangt de beeldverwerking gebied en soms wijst computer vision, historisch gezien.

Analyse, patroonherkenning - het pad naar de creatie van superieure intelligentie

Laten we afzonderlijk te onderzoeken deze concepten.

Beeldverwerking - dit is een gebied van algoritmen, waarbij de input en output - imago, en we hebben hem iets doen.

beeldanalyse - is het gebied van computer vision, dat zich richt op het werken met de twee-dimensionaal beeld en conclusies trekken uit deze.

Pattern Recognition - een abstracte wiskundige discipline die gegevens in de vorm van vectoren herkent. Dat wil zeggen, bij de ingang - vector en we hebben iets mee te maken. Wanneer de vector is, we zijn niet zo belangrijk om te weten.

Computer vision - het was oorspronkelijk om de structuur van de twee-dimensionale beelden te herstellen. Tegenwoordig is dit gebied is breder geworden en het kan worden uitgelegd als een aanvaarding van alle fysieke objecten maken, op basis van de afbeelding. Dat wil zeggen, is het de taak van de kunstmatige intelligentie.

Parallel aan computervisie in een heel ander gebied, geodesie, fotogrammetrie geëvolueerd - een meting van de afstand tussen de objecten op tweedimensionale beelden.

Robots kunnen "zien"

En tot slot - dit is machine vision. Onder het visiesysteem: een beeld van robots. Dat is het besluit van een aantal productieproblemen. We kunnen zeggen dat de computer vision - is één grote wetenschap. Het combineert een aantal van de andere wetenschappelijke deel. En wanneer de computer vision krijgt een bepaalde toepassing, verandert het in een machine vision.

Computer Vision-regio heeft een massa van praktische toepassingen. Het wordt geassocieerd met de automatisering van de productie. Bij de bedrijven efficiënter om handenarbeid te vervangen door een machine. De machine is niet moe, niet slapen, ze had onregelmatig werkschema, dat ze bereid is om 365 dagen per jaar werken. Dus, met behulp van de machine het werk, we kunnen een gegarandeerd resultaat te krijgen op een bepaalde tijd, en het is heel interessant. Alle taken hebben een duidelijk gebruik van computer vision systemen. En er is niets beter dan de resultaten direct op de foto alleen in de berekening podium.

Op de drempel van de wereld van de kunstmatige intelligentie

Plus het gebied - het is moeilijk! Een belangrijk deel van de hersenen die verantwoordelijk zijn voor het gezichtsvermogen, en men gelooft dat als u uw computer te leren "zien", dat wil zeggen, het volledige gebruik computer vision, het is een van de doelstellingen van volledige kunstmatige intelligentie. Als we het probleem op het menselijk niveau kan oplossen, waarschijnlijk op hetzelfde moment, zullen we het probleem van de AI te lossen. Dat is heel goed! Of niet erg goed, als je kijkt, "Terminator 2".

Waarom is de visie van - het is moeilijk? Omdat het beeld van hetzelfde object kan sterk variëren afhankelijk van externe factoren. Afhankelijk van het doel van observatiepunten er anders uitzien.

Bijvoorbeeld één en dezelfde figuur, genomen vanuit verschillende hoeken. En wat het meest interessant in het cijfer kan één oog, twee ogen en een half zijn. En afhankelijk van de context (als dit beeld van de mens in een overhemd met geschilderde ogen), het oog kan meer dan twee zijn.

De computer nog steeds niet te begrijpen, maar het "ziet"

Een andere factor die het moeilijk maakt - het is de verlichting. Dezelfde scène met verschillende belichting zal er anders uitzien. objectgrootte kan variëren. Bovendien zijn de objecten van elke klasse. Hoe kun je zeggen over een man die zijn hoogte van 2 meter? Niets. Menselijke groei en kan 2,3 m en 80 cm. Net als bij andere typen objecten, echter, zijn objecten van dezelfde klasse.

Vooral levende voorwerpen ondergaan een verscheidenheid van stammen. Haar mensen, atleten, dieren. Kijk naar foto's van paarden die, bepalen wat er gebeurt met hun manen en staart is simpelweg onmogelijk. Een overlappende objecten in een afbeelding? Als u een afbeelding computer, zelfs de meest krachtige machine schuiven vinden het moeilijk om de juiste beslissing te geven.

Volgende view - het is een vermomming. Sommige objecten, dieren vermomd als het milieu, en heel vakkundig. En dezelfde plekken en kleurstoffen. Toch zien we ze, maar niet altijd uit de verte.

Een ander probleem - de beweging. Bewegende objecten ondenkbaar ondergaan vervorming.

Veel van de objecten zijn zeer variabel. Hier, bijvoorbeeld, in de twee foto's onder de objecten van de "stoel".

En op deze u kunt zitten. Maar om een machine, zodat de verschillende dingen in vorm, kleur, materiaal, alles is een object "chair" te leren - is erg moeilijk. Dat is de uitdaging. De methoden voor de computer vision te integreren - is om een machine te leren om te begrijpen, te analyseren, te speculeren.

Integratie van computer vision in verschillende platformen

De massa van computer vision begon meer door te dringen in 2001, toen hij de eerste gezichtsdetector gemaakt. We hebben het twee auteurs: Viola, Jones. Het was de eerste snel en betrouwbaar genoeg algoritme, dat de kracht van de machine learning methoden aangetoond.

Nu computer vision genoeg nieuwe praktische toepassingen - erkenning van het menselijk gezicht.

Maar om de man herkennen als in de films - in willekeurige volgorde hoeken, verschillende lichtomstandigheden - het is onmogelijk. Maar het probleem, of een die verschillende mensen met verschillende belichting of in een andere pose, hetzelfde als op de foto in het paspoort op te lossen, is het mogelijk met een hoge mate van vertrouwen.

een pasfoto eisen grotendeels te danken aan het kenmerk van de algoritmen voor gezichtsherkenning.

Bijvoorbeeld, als u een biometrisch paspoort, in sommige moderne luchthavens, kunt u de automatische paspoortcontrole systeem te gebruiken.

Onopgelost probleem van de computer vision - de mogelijkheid om een tekst te herkennen

Misschien heeft iemand gebruikt OCR-systeem. Een van deze - een Fine Reader, is erg populair in RuNet systeem. Er zijn vele vormen, waar u in de gegevens aan te vullen, zijn ze perfect gescand, de informatie wordt herkend door het systeem zeer goed. Maar met alle tekst op de foto is de situatie veel erger. Dit probleem blijft onopgelost.

Games waarbij de computer vision, motion capture

Aparte groot gebied - is het creëren van driedimensionale modellen en motion capture (die behoorlijk succesvol in computerspellen is geïmplementeerd). Het eerste programma, welke computer vision gebruikt - een systeem van interactie met de computer met behulp van gebaren. Toen deze werd gemaakt was het een heleboel dingen geopend.

Het algoritme is ontworpen heel eenvoudig, maar om te configureren die nodig was om een generator van synthetische beelden van mensen te creëren om een miljoen foto's te krijgen. Supercomputer met hen naar de parameters van het algoritme, waarvoor hij goed werkt nu kiezen.

Dat is een miljoen afbeeldingen en week telbare supercomputer tijd mogelijk om een algoritme dat 12% van de capaciteit van een processor verbruikt en kan een persoon om de positie in real-time zien te creëren. Deze Microsoft Kinect-systeem (2010).

Zoeken naar afbeeldingen op de inhoud kunt u foto's uploaden naar het systeem, en de resultaten daarvan worden alle foto's met dezelfde inhoud te geven en uit dezelfde hoek.

Voorbeelden van computer vision: drie-dimensionale en twee-dimensionale kaarten worden nu gemaakt met het. Maps voor navigatie auto's worden regelmatig bijgewerkt op basis van de DVR.

Er is een database met miljarden foto's met geotags. Door het downloaden van het beeld in de database, kunt u bepalen waar het werd gemaakt, en zelfs met een aantal perspectief. Natuurlijk, op voorwaarde dat de plaats is populair genoeg dat op een bepaald moment de toeristen en maakte een aantal foto's van het gebied zijn er geweest.

robots zijn overal

Robotics op dit moment, overal, zonder dat op enigerlei wijze. Nu zijn er auto's die speciale camera's die voetgangers en verkeersborden herkennen om opdrachten te verzenden naar de bestuurder (dit op een manier waarop een computerprogramma om te bekijken, helpt de automobilist) te hebben. En er is een volledig geautomatiseerde robot voertuigen, maar ze kunnen niet alleen vertrouwen op de video-camera-systeem zonder het gebruik van een grote hoeveelheid extra informatie.

Moderne camera - dit is een analoge camera obscura

Laten we praten over het digitale beeld. De moderne digitale camera's zijn aangebracht op het principe van de camera obscura. Maar in plaats van de opening waardoor licht de bundel en geprojecteerd op de achterwand van de kamer van de onderhavige schakeling, is een speciaal optisch systeem genaamd de lens. Het doel is om een groot lichtbundel verzamelen en omzetten zodat alle stralen via een virtueel punt gepasseerd teneinde de projectiebundel te verkrijgen en vormen een beeld op film of matrix.

Moderne digitale camera (matrix) uit afzonderlijke elementen - pixels. Elke pixel kan de energie van het licht dat invalt op de pixel totale meten en geven een uitgangsnummer. Daarom is in een digitale camera, krijgen we in plaats van de helderheid van het beeld set lichtmetingen, gevangen in een enkele pixel - de computer gezichtsveld. Daarom, wanneer het beeld dat we zien is niet vloeiende lijnen en heldere contouren, en een raster van gekleurde vierkantjes in verschillende kleuren - pixels.

Hieronder zie je de eerste digitale beeld in de wereld.

Maar in dit beeld is niet? Kleur. Wat is de kleur?

Psychologische waarneming van kleur

Color - dit is wat we zien. De kleur van het een en het zelfde ding voor mens en katten zal anders zijn. Aangezien wij (mensen) en dierlijke optisch systeem - de visie is anders. Daarom is de kleur - het is psychologische kwaliteit van onze visie die optreedt bij het observeren van objecten en licht. En niet een fysieke eigenschap van het object en het licht. Color - is het resultaat van de interactie van licht componenten, en het toneel van ons visuele systeem.

Programmeren Computer Vision in Python met behulp van bibliotheken

Als je hebt besloten om serieus te nemen aan de studie van de computer vision, moet onmiddellijk voor te bereiden op een aantal moeilijkheden, deze wetenschap is niet de makkelijkste en verbergt een aantal valkuilen. Maar "Programmeren Computer Visie op de Python" het auteurschap van Jan Erik Solema - een boek dat de meest eenvoudige taal schetst. Hier maak je kennis met de methoden van de erkenning van verschillende objecten in 3D, leren werken het stereobeeld, virtual reality en vele andere toepassingen van de computer visie. In het boek zijn genoeg voorbeelden in Python. Maar de verklaringen worden gepresenteerd, om zo te zeggen, algemene, om niet te veel onderzoek en harde gegevens overbelasten. Werken geschikt voor studenten, amateurs en liefhebbers. Download dit boek en anderen over computer vision (pdf-formaat) kan worden in het netwerk.

Op dit moment zijn er open source bibliotheek van computer vision algoritmes en beeldverwerking en numerieke algoritmes OpenCV. Het wordt uitgevoerd op de meeste moderne programmeertalen, is open source. Als we praten over computer vision, Python gebruikt als een programmeertaal, maar heeft ook de steun van de bibliotheek, in Daarnaast is voortdurend in ontwikkeling en heeft een grote gemeenschap.

Het bedrijf "Microsoft" levert haar diensten Api-staat om het neurale netwerk te trainen om het werken met beelden van mensen. Er is ook de mogelijkheid om computer vision toe te passen, Python gebruikt als programmeertaal.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 nl.delachieve.com. Theme powered by WordPress.