Senast uppdaterad Juli 5, 2019
datorseende, ofta förkortat CV, definieras som ett ämnesområde som syftar till att utveckla tekniker för att hjälpa datorer ”se” och förstå innehållet i digitala bilder som fotografier och videor.
problemet med datorsyn verkar enkelt eftersom det är trivialt löst av människor, även mycket små barn. Ändå förblir det till stor del ett olöst problem baserat både på den begränsade förståelsen av biologisk vision och på grund av komplexiteten i synuppfattningen i en dynamisk och nästan oändligt varierande fysisk värld.
i det här inlägget kommer du att upptäcka en mild introduktion till området för datorsyn.
Efter att ha läst det här inlägget kommer du att veta:
- målet för fältet för datorsyn och dess särskiljningsförmåga från bildbehandling.
- Vad gör problemet med datorseende utmanande.
- typiska problem eller uppgifter som bedrivs i datorseende.
Kick-starta ditt projekt med min nya bok Deep Learning for Computer Vision, inklusive steg-för-steg-handledning och Python-källkodsfilerna för alla exempel.
Låt oss komma igång.
en mild introduktion till datorseende
foto av Axel Kristinsson, vissa rättigheter reserverade.
- översikt
- önskan om datorer att se
- vill du ha resultat med djupt lärande för datorsyn?
- Vad är datorseende?
- datorseende och bildbehandling
- Challenge of Computer Vision
- uppgifter i datorsyn
- Vidare läsning
- böcker
- artiklar
- sammanfattning
- utveckla djupa inlärningsmodeller för Vision idag!
- utveckla dina egna Visionsmodeller på några minuter
- ta slutligen djupt lärande till dina Visionsprojekt
översikt
denna handledning är uppdelad i fyra delar; de är:
- önskan om datorer att se
- Vad är datorsyn
- utmaning av datorsyn
- uppgifter i datorsyn
önskan om datorer att se
Vi är överflödiga i bilder.
Smartphones har kameror, och att ta ett foto eller en video och dela det har aldrig varit enklare, vilket resulterar i den otroliga tillväxten av moderna sociala nätverk som Instagram.
YouTube kan vara den näst största sökmotorn och hundratals timmar video laddas upp varje minut och miljarder videor ses varje dag.
internet består av text och bilder. Det är relativt enkelt att indexera och söka text, men för att indexera och söka bilder behöver algoritmer veta vad bilderna innehåller. Under den längsta tiden har innehållet i bilder och video förblivit ogenomskinligt, bäst beskrivet med hjälp av metabeskrivningarna från personen som laddade upp dem.
för att få ut det mesta av bilddata behöver vi datorer för att ”se” en bild och förstå innehållet.
detta är ett trivialt problem för en människa, även små barn.
- en person kan beskriva innehållet i ett fotografi som de har sett en gång.
- en person kan sammanfatta en video som de bara har sett en gång.
- en person kan känna igen ett ansikte som de bara har sett en gång tidigare.
Vi behöver åtminstone samma funktioner från datorer för att låsa upp våra bilder och videor.
vill du ha resultat med djupt lärande för datorsyn?
Ta min gratis 7-dagars e-postkraschkurs nu (med provkod).
Klicka för att registrera dig och få en gratis PDF-e-bokversion av kursen.
ladda ner din gratis minikurs
Vad är datorseende?
Computer vision är ett studieområde fokuserat på problemet med att hjälpa datorer att se.
på en abstrakt nivå är målet med datorsynproblem att använda de observerade bilddata för att dra slutsatsen om världen.
— sidan 83, datorseende: modeller, lärande och slutledning, 2012.
det är ett tvärvetenskapligt område som i stort sett kan kallas ett underfält av artificiell intelligens och maskininlärning, vilket kan innebära användning av specialiserade metoder och använda allmänna inlärningsalgoritmer.
översikt över förhållandet mellan artificiell intelligens och datorsyn
som ett tvärvetenskapligt studieområde kan det se rörigt ut, med tekniker som lånas och återanvänds från en rad olika tekniska och datavetenskapliga områden.
ett särskilt problem i synen kan lätt hanteras med en handgjord statistisk metod, medan en annan kan kräva en stor och komplex ensemble av generaliserade maskininlärningsalgoritmer.
datorseende som ett fält är en intellektuell gräns. Liksom alla gränser är det spännande och oorganiserat, och det finns ofta ingen tillförlitlig myndighet att vädja till. Många användbara ideer har ingen teoretisk grund, och vissa teorier är värdelösa i praktiken; utvecklade områden är brett spridda, och ofta ser man helt otillgänglig från den andra.
— sidan xvii, datorsyn: ett modernt tillvägagångssätt, 2002.
målet med datorseende är att förstå innehållet i digitala bilder. Vanligtvis innebär detta att utveckla metoder som försöker reproducera förmågan hos mänsklig syn.
att förstå innehållet i digitala bilder kan innebära att man extraherar en beskrivning från bilden, som kan vara ett objekt, en textbeskrivning, en tredimensionell modell och så vidare.
datorseende är automatisk utvinning av information från bilder. Information kan betyda allt från 3D-modeller, kameraposition, objektdetektering och igenkänning till gruppering och sökning av bildinnehåll.
— sida ix, Programmering av datorsyn med Python, 2012.
datorseende och bildbehandling
datorseende skiljer sig från bildbehandling.
bildbehandling är processen att skapa en ny bild från en befintlig bild, vilket vanligtvis förenklar eller förbättrar innehållet på något sätt. Det är en typ av digital signalbehandling och handlar inte om att förstå innehållet i en bild.
ett givet datorsynsystem kan kräva att bildbehandling tillämpas på raw-inmatning, t.ex. förbehandling av bilder.
exempel på bildbehandling inkluderar:
- normaliserande fotometriska egenskaper hos bilden, såsom ljusstyrka eller färg.
- beskära bildens gränser, till exempel att centrera ett objekt i ett fotografi.
- ta bort digitalt brus från en bild, till exempel digitala artefakter från låga ljusnivåer.
Challenge of Computer Vision
att hjälpa datorer att se visar sig vara mycket svårt.
målet med datorsyn är att extrahera användbar information från bilder. Detta har visat sig vara en överraskande utmanande uppgift; det har ockuperat tusentals intelligenta och kreativa sinnen under de senaste fyra decennierna, och trots detta är vi fortfarande långt ifrån att kunna bygga en generell ”seende maskin.”
— sidan 16, datorseende: modeller, lärande och slutledning, 2012.
datorsyn verkar lätt, kanske för att det är så enkelt för människor.
ursprungligen trodde man att det var ett trivialt enkelt problem som kunde lösas av en student som ansluter en kamera till en dator. Efter årtionden av forskning förblir ”datorsyn” olöst, åtminstone när det gäller att uppfylla förmågan hos mänsklig vision.
att göra en dator se var något som ledande experter inom artificiell intelligens trodde vara på svårighetsgraden för en sommarstudents projekt tillbaka på sextiotalet. Fyrtio år senare är uppgiften fortfarande olöst och verkar formidabel.
— sida xi, multipel vy geometri i datorseende, 2004.
en anledning är att vi inte har ett starkt grepp om hur mänsklig vision fungerar.
att studera biologisk syn kräver en förståelse för uppfattningsorganen som ögonen, liksom tolkningen av uppfattningen i hjärnan. Mycket framsteg har gjorts, både när det gäller att kartlägga processen och när det gäller att upptäcka tricks och genvägar som används av systemet, men som alla studier som involverar hjärnan finns det en lång väg att gå.
perceptuella psykologer har spenderat årtionden på att förstå hur det visuella systemet fungerar och även om de kan utforma optiska illusioner för att reta isär några av dess principer, förblir en komplett lösning på detta pussel svårfångad
— Sida 3, Computer Vision: Algorithms and Applications, 2010.
en annan anledning till att det är ett så utmanande problem är på grund av komplexiteten i den visuella världen.
ett givet objekt kan ses från vilken orientering som helst, under alla ljusförhållanden, med någon typ av ocklusion från andra föremål, och så vidare. Ett verkligt visionssystem måste kunna” se ” i något av ett oändligt antal scener och fortfarande extrahera något meningsfullt.
datorer fungerar bra för tätt begränsade problem, inte öppna obegränsade problem som visuell uppfattning.
uppgifter i datorsyn
ändå har det skett framsteg inom området, särskilt de senaste åren med råvarusystem för optisk teckenigenkänning och ansiktsigenkänning i kameror och smartphones.
datorseende är på en extraordinär punkt i sin utveckling. Ämnet själv har funnits sedan 1960-talet, men först nyligen har det varit möjligt att bygga användbara datorsystem med hjälp av ideer från computer vision.
— sidan xviii, datorsyn: ett modernt tillvägagångssätt, 2002.
2010-läroboken om datorsyn med titeln” Computer Vision: Algorithms and Applications ” ger en lista över några problem på hög nivå där vi har sett framgång med datorsyn.
- optisk teckenigenkänning (OCR)
- maskininspektion
- detaljhandel (t. ex. automatiska utcheckningar)
- 3D-modellbyggnad (fotogrammetri)
- medicinsk bildbehandling
- bilsäkerhet
- Match move (t. ex. film)
- Motion capture (mocap)
- övervakning
- fingeravtrycksigenkänning och biometri
det är ett brett studieområde med många specialiserade uppgifter och tekniker, samt specialiseringar för att rikta applikationsdomäner.
Computer vision har ett brett utbud av applikationer, både gamla (t. ex. mobil robotnavigering, industriell inspektion och militär intelligens) och nya (t. ex., mänsklig datorinteraktion, bildhämtning i digitala bibliotek, medicinsk bildanalys och realistisk återgivning av syntetiska scener i datorgrafik).
— sidan xvii, datorsyn: ett modernt tillvägagångssätt, 2002.
det kan vara till hjälp att zooma in på några av de enklare datorsynsuppgifter som du sannolikt kommer att stöta på eller vara intresserad av att lösa med tanke på det stora antalet offentligt tillgängliga digitala fotografier och videor tillgängliga.
många populära datorsynsapplikationer innebär att man försöker känna igen saker i fotografier; till exempel:
- Objektklassificering: vilken bred kategori av objekt finns i detta fotografi?
- Objektidentifiering: vilken typ av ett givet objekt finns på detta fotografi?
- Objektverifiering: är objektet på fotografiet?
- objektdetektering: var är objekten i fotografiet?
- Object Landmark Detection: vilka är de viktigaste punkterna för objektet på fotografiet?
- Objektsegmentering: vilka pixlar tillhör objektet i bilden?
- objektigenkänning: vilka objekt finns på det här fotot och var är de?
andra vanliga exempel är relaterade till informationssökning; till exempel: hitta bilder som en bild eller bilder som innehåller ett objekt.
Vidare läsning
det här avsnittet ger mer resurser om ämnet om du vill gå djupare.
böcker
- datorseende: modeller, lärande och slutledning, 2012.
- programmering datorseende med Python, 2012.
- geometri med flera vyer i datorseende, 2004.
- datorseende: algoritmer och applikationer, 2010.
- datorsyn: ett modernt tillvägagångssätt, 2002.
artiklar
- datorseende, Wikipedia.
- maskinsyn, Wikipedia.
- Digital bildbehandling, Wikipedia.
sammanfattning
i det här inlägget upptäckte du en mild introduktion till fältet för datorsyn.
specifikt lärde du dig:
- målet för fältet för datorsyn och dess särskiljningsförmåga från bildbehandling.
- Vad gör problemet med datorseende utmanande.
- typiska problem eller uppgifter som bedrivs i datorseende.
har du några frågor?
Ställ dina frågor i kommentarerna nedan och jag kommer att göra mitt bästa för att svara.
utveckla djupa inlärningsmodeller för Vision idag!
utveckla dina egna Visionsmodeller på några minuter
…med bara några rader av python kod
Upptäck hur i min nya Ebook:
Deep Learning för datorseende
det ger självstudier handledning om ämnen som:
klassificering, objektdetektering (yolo och rcnn), ansiktsigenkänning (vggface och facenet), data förberedelse och mycket mer…
ta slutligen djupt lärande till dina Visionsprojekt
hoppa över akademikerna. Bara Resultat.
se vad som finns inuti