ABOUT THE SPEAKER
Joseph Redmon - Computer scientist
Joseph Redmon works on the YOLO algorithm, which combines the simple face detection of your phone camera with a cloud-based AI -- in real time.

Why you should listen

Computer scientist Joseph Redmon is working on the YOLO (You Only Look Once) algorithm, which has a simple goal: to deliver image recognition and object detection at a speed that would seem science-fictional only a few years ago. The algorithm looks like the simple face detection of a camera app but with the level complexity of systems like Google's Deep Mind Cloud Vision, using Convolutional Deep Neural Networks to crunch object detection in realtime. It's the kind of technology that will be embedded on all smartphones in the next few years.

Redmon is also internet-famous for his resume.

More profile about the speaker
Joseph Redmon | Speaker | TED.com
TED2017

Joseph Redmon: How computers learn to recognize objects instantly

Joseph Redmon: Wie ein Computer lernt, Objekte in Echtzeit zu erkennen

Filmed:
2,471,805 views

Vor zehn Jahren dachten Forscher, es wäre fast unmöglich, einen Computer dazu zu bringen, den Unterschied zwischen einer Katze und einem Hund zu begreifen. Heute erkennen die Systeme des Maschinellen Sehens diesen Unterschied mit einer Genauigkeit von mehr als 99%. Wie geht das? Joseph Redmon arbeitet an YOLO (You Only Look Once), einem Open-Source-System zur Objekterkennung. YOLO kann blitzschnell Objekte in Bildern und Videos identifizieren - vom Zebra bis zum Stoppschild. In einer bemerkenswerten Live-Demonstration zeigt Redmon, welch großer Schritt gemacht wurde in Richtung von Anwendungen wie selbstfahrenden Autos, Robotik und sogar der Erkennung von Krebs.
- Computer scientist
Joseph Redmon works on the YOLO algorithm, which combines the simple face detection of your phone camera with a cloud-based AI -- in real time. Full bio

Double-click the English transcript below to play the video.

00:12
TenZehn yearsJahre agovor,
0
825
1151
Vor zehn Jahren
gingen Forscher für
Maschinelles Sehen davon aus,
00:14
computerComputer visionVision researchersForscher
thought that gettingbekommen a computerComputer
1
2000
2776
dass es für einen Computer
kaum möglich sei,
00:16
to tell the differenceUnterschied
betweenzwischen a catKatze and a dogHund
2
4800
2696
eine Katze von einem Hund
zu unterscheiden,
00:19
would be almostfast impossibleunmöglich,
3
7520
1976
trotz großer Fortschritte
auf dem Feld der Künstlichen Intelligenz.
00:21
even with the significantsignifikant advanceVoraus
in the stateBundesland of artificialkünstlich intelligenceIntelligenz.
4
9520
3696
00:25
Now we can do it at a levelEbene
greatergrößer than 99 percentProzent accuracyGenauigkeit.
5
13240
3560
Mittlerweile ist das zu über 99% möglich.
Man nennt diese Aufgabe
"Bildklassifikation".
00:29
This is callednamens imageBild classificationKlassifizierung --
6
17680
1856
00:31
give it an imageBild,
put a labelEtikette to that imageBild --
7
19560
3096
Sie geben dem Computer ein Bild
mit einer expliziten Bezeichnung,
00:34
and computersComputer know
thousandsTausende of other categoriesKategorien as well.
8
22680
3040
und der Computer kennt zusätzlich
tausende weiterer Kategorien dafür.
00:38
I'm a graduateAbsolvent studentSchüler
at the UniversityUniversität of WashingtonWashington,
9
26680
2896
Ich studiere an der Universität
von Washington
und arbeite an einem
Projekt namens "Darknet",
00:41
and I work on a projectProjekt callednamens DarknetDarknet,
10
29600
1896
00:43
whichwelche is a neuralneuronale networkNetzwerk frameworkRahmen
11
31520
1696
einem Framework für neurale Netzwerke,
00:45
for trainingAusbildung and testingtesten
computerComputer visionVision modelsModelle.
12
33240
2816
mit dem Modelle zur Bilderkennung
trainiert und getestet werden.
00:48
So let's just see what DarknetDarknet thinksdenkt
13
36080
2976
Sehen wir mal, was Darknet
00:51
of this imageBild that we have.
14
39080
1760
über das Bild denkt, das wir hier haben.
00:54
When we runLauf our classifierSichter
15
42520
2336
Wenn wir unseren Klassifikator
auf dieses Bild loslassen,
00:56
on this imageBild,
16
44880
1216
sehen wir, dass nicht nur
"Hund" oder "Katze" vorausgesagt wird,
00:58
we see we don't just get
a predictionPrognose of dogHund or catKatze,
17
46120
2456
01:00
we actuallytatsächlich get
specificspezifisch breedRasse predictionsVorhersagen.
18
48600
2336
er gibt sogar eine Aussage
über die konkrete Rasse.
01:02
That's the levelEbene
of granularityGranularität we have now.
19
50960
2176
Dieser Genauigkeitsgrad
ist im Moment möglich.
01:05
And it's correctrichtig.
20
53160
1616
Und es stimmt --
01:06
My dogHund is in factTatsache a malamuteMalamute.
21
54800
1840
es handelt sich tatsächlich
um einen Alaskan Malamute.
01:09
So we'vewir haben madegemacht amazingtolle stridesFortschritte
in imageBild classificationKlassifizierung,
22
57040
4336
Wir haben beachtliche Fortschritte
in der Bildklassifikation gemacht.
Was aber passiert,
wenn wir unserem Klassifikator
01:13
but what happensdas passiert
when we runLauf our classifierSichter
23
61400
2000
01:15
on an imageBild that lookssieht aus like this?
24
63424
1960
ein solches Bild vorlegen?
01:19
Well ...
25
67080
1200
Nun ...
01:24
We see that the classifierSichter comeskommt back
with a prettyziemlich similarähnlich predictionPrognose.
26
72640
3896
Wir sehen, dass der Klassifikator
so ziemlich das gleiche Ergebnis liefert.
01:28
And it's correctrichtig,
there is a malamuteMalamute in the imageBild,
27
76560
3096
Und es stimmt wieder --
da ist ein Malamute abgebildet.
01:31
but just givengegeben this labelEtikette,
we don't actuallytatsächlich know that much
28
79680
3696
Doch mit dieser Aussage allein
wissen wir noch nicht viel darüber,
was sich genau in dem Bild abspielt.
01:35
about what's going on in the imageBild.
29
83400
1667
01:37
We need something more powerfulmächtig.
30
85091
1560
Wir brauchen etwas Leisungsfähigeres.
01:39
I work on a problemProblem
callednamens objectObjekt detectionErkennung,
31
87240
2616
Ich arbeite an einer Aufgabe
namens "Objekterkennung".
01:41
where we look at an imageBild
and try to find all of the objectsObjekte,
32
89880
2936
Hier versuchen wir,
alle Objekte in einem Bild zu erkennen.
01:44
put boundingBegrenzungsrahmen boxesKästen around them
33
92840
1456
Wir ziehen um jedes Objekt
eine Markierungsbox
01:46
and say what those objectsObjekte are.
34
94320
1520
und versehen sie mit einer Bezeichnung.
01:48
So here'shier ist what happensdas passiert
when we runLauf a detectorDetektor on this imageBild.
35
96400
3280
Jetzt sehen wir, was der Erkenner
über das Bild sagt.
01:53
Now, with this kindArt of resultErgebnis,
36
101240
2256
Mit dieser Art Ergebnis können wir
viel mehr mit den Algorithmen
des Maschinellen Sehens anfangen.
01:55
we can do a lot more
with our computerComputer visionVision algorithmsAlgorithmen.
37
103520
2696
01:58
We see that it knowsweiß
that there's a catKatze and a dogHund.
38
106240
2976
Wir sehen, dass eine Katze
und ein Hund erkannt wird.
Der Erkenner liefert ihre
relativen Positionen im Bild,
02:01
It knowsweiß theirihr relativerelativ locationsStandorte,
39
109240
2256
02:03
theirihr sizeGröße.
40
111520
1216
ihre Größe,
02:04
It maykann even know some extraextra informationInformation.
41
112760
1936
und vielleicht sogar noch mehr:
02:06
There's a bookBuch sittingSitzung in the backgroundHintergrund.
42
114720
1960
Im Hintergrund ist ein Buch zu sehen.
02:09
And if you want to buildbauen a systemSystem
on topoben of computerComputer visionVision,
43
117280
3256
Wenn man das Maschinelle Sehen
in einem größeren System nutzen will,
etwa in einem selbstfahrenden Fahrzeug
oder einem Robotsystem,
02:12
say a self-drivingselbstfahrender vehicleFahrzeug
or a roboticRoboter systemSystem,
44
120560
3456
02:16
this is the kindArt
of informationInformation that you want.
45
124040
2456
braucht man genau solche Informationen,
02:18
You want something so that
you can interactinteragieren with the physicalphysisch worldWelt.
46
126520
3239
auf deren Basis man mit
der physischen Welt interagieren kann.
Als ich damit anfing,
in der Objekterkennung zu arbeiten,
02:22
Now, when I startedhat angefangen workingArbeiten
on objectObjekt detectionErkennung,
47
130759
2257
02:25
it tookdauerte 20 secondsSekunden
to processverarbeiten a singleSingle imageBild.
48
133040
3296
dauerte die Verarbeitung
zwanzig Sekunden für jedes einzelne Bild.
02:28
And to get a feel for why
speedGeschwindigkeit is so importantwichtig in this domainDomain,
49
136360
3880
Um ein Gefühl dafür zu bekommen,
warum Geschwindigkeit hier so wichtig ist,
02:33
here'shier ist an exampleBeispiel of an objectObjekt detectorDetektor
50
141120
2536
zeige ich Ihnen einen Objekterkenner,
der zwei Sekunden braucht,
um ein Einzelbild zu verarbeiten --
02:35
that takes two secondsSekunden
to processverarbeiten an imageBild.
51
143680
2416
02:38
So this is 10 timesmal fasterschneller
52
146120
2616
was bereits zehnmal schneller ist
02:40
than the 20-seconds-per-image-Sekunden-pro-Bild detectorDetektor,
53
148760
3536
als der Zwanzig-Sekunden-Klassifikator.
Bis dieser Erkenner
seine Voraussagen bekannt gibt,
02:44
and you can see that by the time
it makesmacht predictionsVorhersagen,
54
152320
2656
02:47
the entireganz stateBundesland of the worldWelt has changedgeändert,
55
155000
2040
hat sich der Zustand der Welt
bereits völlig verändert.
02:49
and this wouldn'twürde nicht be very usefulsinnvoll
56
157880
2416
Das wäre für die praktische Anwendung
02:52
for an applicationAnwendung.
57
160320
1416
völlig ungeeignet.
02:53
If we speedGeschwindigkeit this up
by anotherein anderer factorFaktor of 10,
58
161760
2496
Wenn wir ihn noch einmal
zehnmal schneller machen,
02:56
this is a detectorDetektor runningLaufen
at fivefünf framesRahmen perpro secondzweite.
59
164280
2816
verarbeitet der Erkenner
fünf Bilder pro Sekunde.
02:59
This is a lot better,
60
167120
1536
Das ist deutlich besser.
03:00
but for exampleBeispiel,
61
168680
1976
Wenn jedoch beispielsweise
03:02
if there's any significantsignifikant movementBewegung,
62
170680
2296
eine nennenswerte Bewegung stattfindet --
03:05
I wouldn'twürde nicht want a systemSystem
like this drivingFahren my carAuto.
63
173000
2560
Ich würde nicht wollen, dass
ein solches System mein Auto steuert.
03:09
This is our detectionErkennung systemSystem
runningLaufen in realecht time on my laptopLaptop.
64
177120
3240
Das ist unser Erkennungssystem.
Es läuft in Echtzeit auf meinem Laptop.
03:13
So it smoothlyglatt tracksSpuren me
as I moveBewegung around the frameRahmen,
65
181000
3136
Es verfolgt mich flüssig,
während ich mich im Bildbereich bewege,
03:16
and it's robustrobust to a widebreit varietyVielfalt
of changesÄnderungen in sizeGröße,
66
184160
3720
ist robust gegenüber
Veränderungen der Größe,
03:21
posePose,
67
189440
1200
der Stellung,
03:23
forwardVorwärts-, backwardrückwärts.
68
191280
1856
Vorder- oder Rückseite.
03:25
This is great.
69
193160
1216
Das ist großartig.
03:26
This is what we really need
70
194400
1736
So etwas brauchen wir,
03:28
if we're going to buildbauen systemsSysteme
on topoben of computerComputer visionVision.
71
196160
2896
wenn wir das Maschinelle Sehen
in Systeme einbauen wollen.
03:31
(ApplauseApplaus)
72
199080
4000
(Applaus)
03:36
So in just a fewwenige yearsJahre,
73
204280
2176
In nur ein paar Jahren
03:38
we'vewir haben goneWeg from 20 secondsSekunden perpro imageBild
74
206480
2656
haben wir es von zwanzig Sekunden pro Bild
03:41
to 20 millisecondsMillisekunden perpro imageBild,
a thousandtausend timesmal fasterschneller.
75
209160
3536
zu zwanzig Millisekunden pro Bild
geschafft. Eintausendmal schneller.
03:44
How did we get there?
76
212720
1416
Wie haben wir das gemacht?
03:46
Well, in the pastVergangenheit,
objectObjekt detectionErkennung systemsSysteme
77
214160
3016
Nun, in der Vergangenheit
nahmen Objekterkenner
03:49
would take an imageBild like this
78
217200
1936
ein solches Bild
03:51
and splitTeilt it into a bunchBündel of regionsRegionen
79
219160
2456
und teilten es in viele
kleinere Bereiche ein.
03:53
and then runLauf a classifierSichter
on eachjede einzelne of these regionsRegionen,
80
221640
3256
Der Klassifikator verarbeitete
jeden einzelnen dieser Bereiche.
03:56
and highhoch scoresNoten for that classifierSichter
81
224920
2536
Erreichte etwas
einen hohen Score im Klassifikator,
03:59
would be consideredberücksichtigt
detectionsErkennungen in the imageBild.
82
227480
3136
wurde es als erkanntes Objekt gewertet.
04:02
But this involvedbeteiligt runningLaufen a classifierSichter
thousandsTausende of timesmal over an imageBild,
83
230640
4056
Dies bedeutete aber, den Klassifikator
tausende Male für ein Bild anzuwenden.
04:06
thousandsTausende of neuralneuronale networkNetzwerk evaluationsBewertungen
to produceproduzieren detectionErkennung.
84
234720
2920
Tausende von Auswertungen
neuraler Netzwerke für die Erkennung.
04:11
InsteadStattdessen, we trainedausgebildet a singleSingle networkNetzwerk
to do all of detectionErkennung for us.
85
239240
4536
Wir haben stattdessen ein einzelnes
neurales Netzwerk trainiert,
04:15
It producesproduziert all of the boundingBegrenzungsrahmen boxesKästen
and classKlasse probabilitiesWahrscheinlichkeiten simultaneouslygleichzeitig.
86
243800
4280
das alle Markierungsboxen und
Wahrscheinlichkeiten simultan berechnet.
04:20
With our systemSystem, insteadstattdessen of looking
at an imageBild thousandsTausende of timesmal
87
248680
3496
Unser System ermöglicht es,
statt tausende Male ein Bild anzusehen,
um die Objekte darin zu erkennen,
04:24
to produceproduzieren detectionErkennung,
88
252200
1456
04:25
you only look onceEinmal,
89
253680
1256
das Bild nur ein einziges Mal anzusehen.
04:26
and that's why we call it
the YOLOYOLO methodMethode of objectObjekt detectionErkennung.
90
254960
2920
Deswegen nennen wir unsere
Methode der Objekterkennung "YOLO".
04:31
So with this speedGeschwindigkeit,
we're not just limitedbegrenzt to imagesBilder;
91
259360
3976
Mit einer solchen Geschwindigkeit
sind wir nicht auf Bilder beschränkt --
04:35
we can processverarbeiten videoVideo in realecht time.
92
263360
2416
wir können ganze Videos
in Echtzeit verarbeiten.
04:37
And now, insteadstattdessen of just seeingSehen
that catKatze and dogHund,
93
265800
3096
Statt nur eine Katze
und einen Hund zu sehen,
04:40
we can see them moveBewegung around
and interactinteragieren with eachjede einzelne other.
94
268920
2960
können wir beobachten, wie sie
sich bewegen und interagieren.
04:46
This is a detectorDetektor that we trainedausgebildet
95
274560
2056
Diesen Erkenner haben wir
04:48
on 80 differentanders classesKlassen
96
276640
4376
auf 80 verschiedene Klassen
04:53
in Microsoft'sMicrosofts COCOCOCO datasetDataset.
97
281040
3256
aus Microsofts COCO-Daten trainiert.
04:56
It has all sortssortiert of things
like spoonLöffel and forkGabel, bowlSchüssel,
98
284320
3336
Er kennt alle möglichen Objekte
wie Löffel, Gabel, Schüssel --
04:59
commonverbreitet objectsObjekte like that.
99
287680
1800
alltägliche Gegenstände,
05:02
It has a varietyVielfalt of more exoticexotische things:
100
290360
3096
aber auch exotischere:
05:05
animalsTiere, carsAutos, zebrasZebras, giraffesGiraffen.
101
293480
3256
Tiere, Autos, Zebras, Giraffen.
05:08
And now we're going to do something funSpaß.
102
296760
1936
Jetzt machen wir etwas Lustiges.
05:10
We're just going to go
out into the audiencePublikum
103
298720
2096
Wir richten die Kamera auf das Publikum
05:12
and see what kindArt of things we can detecterkennen.
104
300840
2016
und sehen, was wir erkennen können.
05:14
Does anyonejemand want a stuffedausgestopft animalTier?
105
302880
1620
Möchte jemand ein Plüschtier?
05:18
There are some teddyTeddy bearsBären out there.
106
306000
1762
Hier sind ein paar Teddybären.
05:22
And we can turnWende down
our thresholdSchwelle for detectionErkennung a little bitBit,
107
310040
4536
Wir können die Empfindlichkeit
des Erkenners ein wenig senken,
05:26
so we can find more of you guys
out in the audiencePublikum.
108
314600
3400
um mehr einzelne Personen
im Publikum zu erkennen.
Lassen Sie uns sehen,
ob wir diese Stoppschilder bekommen.
05:31
Let's see if we can get these stop signsSchilder.
109
319560
2336
05:33
We find some backpacksRucksäcke.
110
321920
1880
Wir sehen einige Rucksäcke ...
05:37
Let's just zoomZoomen in a little bitBit.
111
325880
1840
Wir zoomen etwas hinein ...
05:42
And this is great.
112
330320
1256
Das ist großartig.
05:43
And all of the processingwird bearbeitet
is happeningHappening in realecht time
113
331600
3176
Die gesamte Verarbeitung
passiert in Echtzeit
05:46
on the laptopLaptop.
114
334800
1200
auf dem Laptop.
05:49
And it's importantwichtig to remembermerken
115
337080
1456
Man darf nicht vergessen,
05:50
that this is a generalGeneral purposeZweck
objectObjekt detectionErkennung systemSystem,
116
338560
3216
dass das ein ganz allgemeines
Objekterkennungssystem ist.
05:53
so we can trainZug this for any imageBild domainDomain.
117
341800
5000
Wir können es also
für jede Art von Bildern trainieren.
Denselben Code, den wir benutzen,
06:00
The samegleich codeCode that we use
118
348320
2536
damit ein selbstfahrendes Fahrzeug
Stoppschilder, Fußgänger
06:02
to find stop signsSchilder or pedestriansFußgänger,
119
350880
2456
06:05
bicyclesFahrräder in a self-drivingselbstfahrender vehicleFahrzeug,
120
353360
1976
oder Fahrräder erkennen kann,
06:07
can be used to find cancerKrebs cellsZellen
121
355360
2856
kann man auch nutzen, um Krebszellen
06:10
in a tissueGewebe biopsyBiopsie.
122
358240
3016
in einer Gewebeprobe ausfindig zu machen.
06:13
And there are researchersForscher around the globeGlobus
alreadybereits usingmit this technologyTechnologie
123
361280
4040
Forscher auf der ganzen Welt
nutzen diese Technologie bereits,
06:18
for advancesFortschritte in things
like medicineMedizin, roboticsRobotik.
124
366240
3416
um Fortschritte auf Gebieten
wie Medizin oder Robotik zu erzielen.
Heute morgen habe ich
einen Fachartikel gelesen:
06:21
This morningMorgen, I readlesen a paperPapier-
125
369680
1376
06:23
where they were takingunter a censusVolkszählung
of animalsTiere in NairobiNairobi NationalNationalen ParkPark
126
371080
4576
Im Nationalpark von Nairobi
wurde eine Zählung der Tiere vorgenommen,
06:27
with YOLOYOLO as partTeil
of this detectionErkennung systemSystem.
127
375680
3136
mit YOLO als Teil des Erkennungssystems.
06:30
And that's because DarknetDarknet is openöffnen sourceQuelle
128
378840
3096
Das ist möglich, weil Darknet quelloffen,
frei zugänglich
und für alle verwendbar ist.
06:33
and in the publicÖffentlichkeit domainDomain,
freefrei for anyonejemand to use.
129
381960
2520
06:37
(ApplauseApplaus)
130
385600
5696
(Applaus)
06:43
But we wanted to make detectionErkennung
even more accessiblezugänglich and usablenutzbare,
131
391320
4936
Aber wir wollten Bilderkennung
sogar noch leichter nutzbar machen.
06:48
so throughdurch a combinationKombination
of modelModell- optimizationOptimierung,
132
396280
4056
Daher haben wir durch Modelloptimierung,
Binarisierung des neuralen Netzes
und Approximation erreicht,
06:52
networkNetzwerk binarizationBinarisierung and approximationAnnäherung,
133
400360
2296
06:54
we actuallytatsächlich have objectObjekt detectionErkennung
runningLaufen on a phoneTelefon.
134
402680
3920
dass die Objekterkennung
sogar auf einem Mobiltelefon läuft.
07:04
(ApplauseApplaus)
135
412800
5320
(Applaus)
07:10
And I'm really excitedaufgeregt because
now we have a prettyziemlich powerfulmächtig solutionLösung
136
418960
5056
Das ist aufregend, weil wir
damit eine ziemlich mächtige Lösung
für dieses grundlegende Problem
des Maschinellen Sehens haben.
07:16
to this low-levelLow-Level- computerComputer visionVision problemProblem,
137
424040
2296
07:18
and anyonejemand can take it
and buildbauen something with it.
138
426360
3856
Jeder kann sie nutzen
und etwas damit bauen.
07:22
So now the restsich ausruhen is up to all of you
139
430240
3176
Nun liegt es bei Ihnen
07:25
and people around the worldWelt
with accessZugriff to this softwareSoftware,
140
433440
2936
und allen Menschen auf der Welt
mit Zugang zu dieser Software.
07:28
and I can't wait to see what people
will buildbauen with this technologyTechnologie.
141
436400
3656
Ich bin gespannt zu sehen, welche Ideen
sie mit dieser Technologie umsetzen.
07:32
Thank you.
142
440080
1216
Vielen Dank.
07:33
(ApplauseApplaus)
143
441320
3440
(Applaus)
Translated by Janine Drotschmann
Reviewed by Sonja Maria Neef

▲Back to top

ABOUT THE SPEAKER
Joseph Redmon - Computer scientist
Joseph Redmon works on the YOLO algorithm, which combines the simple face detection of your phone camera with a cloud-based AI -- in real time.

Why you should listen

Computer scientist Joseph Redmon is working on the YOLO (You Only Look Once) algorithm, which has a simple goal: to deliver image recognition and object detection at a speed that would seem science-fictional only a few years ago. The algorithm looks like the simple face detection of a camera app but with the level complexity of systems like Google's Deep Mind Cloud Vision, using Convolutional Deep Neural Networks to crunch object detection in realtime. It's the kind of technology that will be embedded on all smartphones in the next few years.

Redmon is also internet-famous for his resume.

More profile about the speaker
Joseph Redmon | Speaker | TED.com