v1.0 Fra sensorer og pixels til machine learning og A.I. Thomas Jakobsen Embedded Everywhere 2016, IDA 24. november 2016
Oversigt Kameraet som sensor Grazper Use cases State of the art Eksempel: ID af bilmodeller Klassiske løsningsmetoder og deep learning Grazper s streaming A.I. pipeline Perspektiver
Kameraet som sensor Kameraet er en fantastisk sensor: Billig. Kompakt. Fleksibel. Enorm båndbredde. Udvidelser: 360 grader; stereokamera; kombination med struktureret lys; andre bølgelængder; radar/lidar. Men hvordan tolker man effektivt og præcist, hvad der er på billedet?
Grazper - streaming A.I. Grazper udvikler avanceret, realtids video A.I. Optimeret, hardwarenær implementering. Teamet har en stærk baggrund indenfor bl.a.: Machine learning Distribueret systemudvikling 3D, real-time grafik Interaktiv fysiksimulering Matematisk modellering Finansieret af Secure Capital (Q3 2016). Vi søger p.t. folk med erfaring indenfor machine learning, A.I., hurtig kode og FPGA.
Use cases Proceskontrol og kvalitetssikring Ansigtslokalisering og -genkendelse Navigation (selvkørende biler, droner) Overvågning Medicinsk diagnostik Billedsøgning Sociale medier: Tagging, faceswap etc. Avancerede brugerinterfaces Augmented reality (HoloLens etc.) Sport, indkøb osv.
State of the art ILSVRC (ImageNet Large Scale Visual Recognition Challenge) 2011: 25% fejlrate Menneskelig fejlrate: 5.1% 2012: 15.32% (Hinton) 2013: 5.98% (Baidu) 2015: 4.8% (Google) 2016: 2.99% (Trimps-Soushen) ImageNet: >10 mio. billed-url er håndannoteret med kategorier. >1 mio. af billederne har bounding boxe. WordNet-kategorier + 120 hunderacer.
Grazper-eksempel: ID af bilmodeller Identificering af bilmodeller: Bilmodel, årgang, antal døre, udstyrspakke, facelift etc. Udfordringer: Meget små forskelle mellem visse af kategorierne. Ukendte optagelsesbetingelser (ukendt kamera, position og vinkel). Hønen og ægget-problematik: Hvis man ved, hvordan bilen ser ud, så kan man finde den. Hvis man ved, hvor bilen er, så ved man hvordan den ser ud. Løst til >99% præcision vha. egenudviklet A.I. og klassisk computer vision.
Løsningsmetoder Hvordan fortolker man kameraets 2D billedrepræsentation? Hvordan forvandler et array af tal til en meningsfyldt kategori? Klassisk computer vision Machine learning og deep learning
Klassisk computer vision Præprocessering Feature-detektorer Resampling, støjreduktion, kontrastforbedring Linjer, kanter, hjørner, blobs Morfologi, filtre, Fourieranalyse etc. Segmentering, konturmodeller Statistiske metoder, eigenfaces Kamerakalibrering Populært open source bibliotek: OpenCV Men: Ofte begrænset til skræddersyede løsninger
Machine learning Lær vha. eksempler på kendte data. Generaliser til ukendte data. 80 erne og 90 erne: Neurale netværk. Nåede en mur. I princippet bare en fleksibel funktionsapproksimator. Nyere metoder: Support vector machines, random forrests o.a.
Deep learning I princippet bare dybere neurale netværk. Muliggjort af nye algoritmer, hardwareacceleration og langt større datasæt. Algoritmer: Restricted Boltzmann machines Convolutional networks Dropout learning, adversarial learning, representation learning, unsupervised learning etc. Hardware: GPU-baseret implementering, FPGA. Datasæt: MNIST, CIFAR, Google House Numbers, ImageNet, Flickr Data, Kaggle etc.
GPU performance Source: www.michaelgalloy.com
Grazper DeepCar Identify regions of interest Baseret på pretraining via ImageNet
Deep learning - hvordan? På trods af flere frameworks og api er stadig et ret utilgængeligt område, som kræver stor ekspertviden. Open source frameworks: TensorFlow, Theano, Caffe, MXnet, Keras m.fl. Online API er fra Microsoft, Google og andre.
Grazper s staged real-time video A.I. pipeline Novelty detection Pixel stream video input Segmentation Unsupervised learning Supervised learning Karate guy approaching Tekstuel/kategoriseret fortolkning
Grazper s A.I. platform Let tilgængelig online platform Adjustable-thickness client Real-time stream upload og data access Træning og visualisering af performance/præcision Online annoteringseditor Local, embedded or FPGA implementation Cloud-based processing Under development
Perspektiver Intelligente kameraer til embeddede projekter. Perception Real-time 3D streaming sensor med tekstoutput. Decideret verdensforståelse Planning Modellering/indlæring af dynamik og interaktioner mellem objekter, fysik osv. Når perception er på plads: Planning & execution. Reinforcement learning. Future work: Generel A.I. Execution 3D simulation
Spørgsmål? Kontakt: thomas@grazper.com P.S.: Vi ansætter p.t. :-)