Programmering

Hvad er computersyn? AI til billeder og video

Computersyn identificerer og lokaliserer ofte objekter i digitale billeder og videoer. Siden levende organismer behandler billeder med deres visuelle cortex, har mange forskere taget arkitekturen i den visuelle cortex fra pattedyr som en model for neurale netværk designet til at udføre billedgenkendelse. Den biologiske forskning går tilbage til 1950'erne.

Fremskridt inden for computersyn i de sidste 20 år har været absolut bemærkelsesværdigt. Selvom de endnu ikke er perfekte, opnår nogle computersynssystemer 99% nøjagtighed, og andre kører anstændigt på mobile enheder.

Gennembruddet i det neurale netværksfelt for vision var Yann LeCuns 1998 LeNet-5, et syv-niveau nedviklede neurale netværk til genkendelse af håndskrevne cifre digitaliseret i 32x32 pixelbilleder. For at analysere billeder med højere opløsning skal LeNet-5-netværket udvides til flere neuroner og flere lag.

Dagens bedste billedklassificeringsmodeller kan identificere forskellige kataloger over objekter i HD-opløsning i farve. Ud over rene dybe neurale netværk (DNN'er) bruger folk undertiden hybridvisionsmodeller, som kombinerer dyb læring med klassiske maskinlæringsalgoritmer, der udfører specifikke underopgaver.

Andre synsproblemer udover grundlæggende billedklassificering er blevet løst med dyb læring, herunder billedklassifikation med lokalisering, objektsøgning, objektsegmentering, billedstiloverførsel, billedfarvning, billedrekonstruktion, billed-superopløsning og billedsyntese.

Hvordan fungerer computersyn?

Computersynsalgoritmer er normalt afhængige af nedbrydningsneurale netværk eller CNN'er. CNN'er bruger typisk foldnings-, pooling-, ReLU-, fuldt tilsluttet lag og tab til at simulere en visuel cortex.

Det foldede lag tager grundlæggende integralerne i mange små overlappende regioner. Puljelaget udfører en form for ikke-lineær ned-sampling. ReLU-lag anvender den ikke-mættende aktiveringsfunktion f (x) = maks (0, x).

I et fuldt tilsluttet lag har neuronerne forbindelser til alle aktiveringer i det forrige lag. Et tabslag beregner, hvordan netværkstræningen straffer afvigelsen mellem de forudsagte og sande etiketter ved hjælp af et Softmax- eller kryds-entropitab til klassificering.

Datasæt til træning af computersyn

Der er mange offentlige billedsæt, der er nyttige til træning af visionmodeller. Den enkleste og en af ​​de ældste er MNIST, som indeholder 70.000 håndskrevne cifre i 10 klasser, 60K til træning og 10K til test. MNIST er et let datasæt at modellere, selv ved hjælp af en bærbar computer uden accelerationshardware. CIFAR-10 og Fashion-MNIST er ens 10-klasses datasæt. SVHN (street view husnumre) er et sæt på 600K billeder af reelle husnumre ekstraheret fra Google Street View.

COCO er et større datasæt til detektion, segmentering og billedtekst af objekter med 330K billeder i 80 objektkategorier. ImageNet indeholder ca. 1,5 millioner billeder med afgrænsningsfelter og etiketter, der illustrerer omkring 100.000 sætninger fra WordNet. Åbne billeder indeholder ca. ni millioner webadresser til billeder med ca. 5K etiketter.

Google, Azure og AWS har alle deres egne visionmodeller, der er trænet mod meget store billeddatabaser. Du kan bruge disse som de er, eller køre overførselsindlæring for at tilpasse disse modeller til dine egne billeddatasæt. Du kan også udføre overførselsindlæring ved hjælp af modeller baseret på ImageNet og Open Images. Fordelene ved transferlæring i forhold til at opbygge en model fra bunden er, at den er meget hurtigere (timer i stedet for uger), og at den giver dig en mere præcis model. Du har stadig brug for 1.000 billeder pr. Etiket for at få de bedste resultater, selvom du nogle gange kan komme væk med så få som 10 billeder pr. Etiket.

Computersyn applikationer

Selvom computersyn ikke er perfekt, er det ofte godt nok til at være praktisk. Et godt eksempel er vision i selvkørende biler.

Waymo, tidligere Googles selvkørende bilprojekt, hævder test på syv millioner miles offentlige veje og evnen til at navigere sikkert i daglig trafik. Der har været mindst én ulykke med en Waymo-varevogn; ifølge politiet menes softwaren ikke at være skyld.

Tesla har tre modeller af selvkørende bil. I 2018 var en Tesla SUV i selvkørende tilstand involveret i en dødsulykke. Rapporten om ulykken sagde, at føreren (som blev dræbt) havde hænderne væk fra rattet på trods af flere advarsler fra konsollen, og at hverken føreren eller softwaren forsøgte at bremse for at undgå at ramme betonbarrieren. Softwaren er siden blevet opgraderet til at kræve snarere end at antyde, at førerens hænder skal være på rattet.

Amazon Go-butikker er check-free selvbetjeningsbutikker, hvor computersystemets vision i systemet registrerer, når shoppere afhenter eller returnerer lagervarer; kunder identificeres af og opkræves via en Android- eller iPhone-app. Når Amazon Go-softwaren går glip af en vare, kan shopperen gemme den gratis; når softwaren fejlagtigt registrerer en taget vare, kan shopperen markere varen og få en refusion for dette gebyr.

Inden for sundhedssektoren er der visionapplikationer til klassificering af visse funktioner i patologiske dias, røntgenstråler på brystet og andre medicinske billeddannelsessystemer. Et par af disse har vist værdi sammenlignet med dygtige praktikere, nogle nok til myndighedsgodkendelse. Der er også et system i realtid til estimering af patientens blodtab i et operations- eller fødestue.

Der er nyttige visionapplikationer til landbrug (landbrugsrobotter, afgrøde- og jordovervågning og forudsigende analyse), bankvirksomhed (afsløring af svindel, dokumentgodkendelse og fjernaflejringer) og industriel overvågning (fjernbrønde, stedssikkerhed og arbejdsaktivitet).

Der er også applikationer af computersyn, der er kontroversielle eller endda forældede. Den ene er ansigtsgenkendelse, som når den bruges af regeringen kan være en krænkelse af privatlivets fred, og som ofte har en træningsforstyrrelse, der har en tendens til at fejlagtigt identificere ikke-hvide ansigter. En anden er dyb falsk generation, som er mere end lidt uhyggelig, når den bruges til pornografi eller skabelse af svindel og andre falske billeder.

Computer vision rammer og modeller

De fleste dyb læringsrammer har betydelig understøttelse af computersyn, herunder Python-baserede rammer TensorFlow (det førende valg til produktion), PyTorch (det førende valg til akademisk forskning) og MXNet (Amazons valgramme). OpenCV er et specialiseret bibliotek til computersyn, der læner sig mod vision-applikationer i realtid og udnytter MMX- og SSE-instruktioner, når de er tilgængelige; det har også understøttelse af acceleration ved hjælp af CUDA, OpenCL, OpenGL og Vulkan.

Amazon Rekognition er en billed- og videoanalysetjeneste, der kan identificere objekter, mennesker, tekst, scener og aktiviteter, herunder ansigtsanalyse og brugerdefinerede etiketter. Google Cloud Vision API er en præ-trænet billedanalysetjeneste, der kan registrere objekter og ansigter, læse udskrevet og håndskrevet tekst og opbygge metadata i dit billedkatalog. Google AutoML Vision giver dig mulighed for at træne brugerdefinerede billedmodeller. Både Amazon Rekognition Custom Labels og Google AutoML Vision udfører overførselsindlæring.

Microsoft Computer Vision API kan identificere objekter fra et katalog på 10.000 med etiketter på 25 sprog. Det returnerer også afgrænsningsfelter for identificerede objekter. Azure Face API udfører ansigtsgenkendelse, der opfatter ansigter og attributter i et billede, personidentifikation, der matcher en person i dit private lager på op til en million mennesker og opfattet følelsesgenkendelse. Face API kan køre i skyen eller på kanten i containere.

IBM Watson Visual Recognition kan klassificere billeder fra en foruddannet model, giver dig mulighed for at træne brugerdefinerede billedmodeller med overførselsindlæring, udføre objektdetektering med objekttælling og træne til visuel inspektion. Watson Visual Recognition kan køre i skyen eller på iOS-enheder ved hjælp af Core ML.

Dataanalysepakken Matlab kan udføre billedgenkendelse ved hjælp af maskinindlæring og dyb læring. Den har en valgfri Computer Vision Toolbox og kan integreres med OpenCV.

Computersynsmodeller er kommet langt siden LeNet-5, og de er for det meste CNN'er. Eksempler inkluderer AlexNet (2012), VGG16 / OxfordNet (2014), GoogLeNet / InceptionV1 (2014), Resnet50 (2015), InceptionV3 (2016) og MobileNet (2017-2018). MobileNet-familien af ​​vision neurale netværk blev designet med mobilenheder i tankerne.

[Også på: Kaggle: Hvor dataforskere lærer og konkurrerer]

Apple Vision Framework udfører ansigts- og ansigtsmærkning, tekstregistrering, stregkodegenkendelse, billedregistrering og generel funktionssporing. Vision tillader også brug af brugerdefinerede Core ML-modeller til opgaver som klassificering eller genkendelse af objekter. Det kører på iOS og macOS. Google ML Kit SDK har lignende funktioner og kører på Android- og iOS-enheder. ML Kit understøtter desuden naturlige sprog API'er.

Som vi har set, er computersynssystemer blevet gode nok til at være nyttige og i nogle tilfælde mere nøjagtige end menneskelig syn. Ved hjælp af transferlæring er tilpasning af visionmodeller blevet praktisk for blivende dødelige: computersyn er ikke længere det eksklusive domæne for forskere på ph.d.-niveau.

Læs mere om maskinlæring og dyb læring:

  • Deep learning versus machine learning: Forstå forskellene
  • Hvad er maskinindlæring? Intelligens afledt af data
  • Hvad er dyb læring? Algoritmer, der efterligner den menneskelige hjerne
  • Machine learning algoritmer forklaret
  • Hvad er naturlig sprogbehandling? AI til tale og tekst
  • Automatiseret maskinindlæring eller AutoML forklaret
  • Overvåget læring forklaret
  • Semi-overvåget læring forklaret
  • Uovervåget læring forklaret
  • Forstærket læring forklaret
  • Kaggle: Hvor dataforskere lærer og konkurrerer
  • Hvad er CUDA? Parallel behandling til GPU'er

Læs anmeldelser af maskinlæring og dyb læring:

  • Sådan vælger du en cloud machine learning-platform
  • Deeplearning4j: Deep learning og ETL til JVM
  • Anmeldelse: Amazon SageMaker spiller indhentning
  • TensorFlow 2 anmeldelse: Lettere maskinlæring
  • Anmeldelse: Google Cloud AutoML er virkelig automatiseret maskinindlæring
  • Anmeldelse: MXNet dyb læring skinner med Gluon
  • PyTorch anmeldelse: En dyb læringsramme bygget til hastighed
  • Anmeldelse: Keras sejler gennem dyb læring
$config[zx-auto] not found$config[zx-overlay] not found