07:38
TED2017

Joseph Redmon: How computers learn to recognize objects instantly

ジョセフ・レドモン: コンピューターはいかに物体を即座に認識できるようになったのか

Filmed:

10年前には研究者達はコンピューターで猫と犬を見分けるのはほとんど無理だと思っていました。今日では、コンピュータービジョンシステムにより99%以上の精度で行えるようになっています。どうやってでしょうか? ジョセフ・レドモンはオープンソースの物体検出システム YOLO (You Only Look Once) に取り組んでいて、シマウマから一時停止の標識まで、映像や画像の中の物体を瞬時に識別できるようにしています。この目を見張るようなデモで、レドモンは自動運転車やロボットやガンの検出といった応用に向けた重要なステップを披露しています。

- 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

Ten years ago,
10年前
00:12
computer vision researchers
thought that getting a computer
コンピュータービジョンの研究者は
00:14
to tell the difference
between a cat and a dog
コンピューターで
犬と猫を見分けるのは
00:16
would be almost impossible,
ほとんど無理だと
考えていました
00:19
even with the significant advance
in the state of artificial intelligence.
人工知能の大きな
発展にもかかわらずです
00:21
Now we can do it at a level
greater than 99 percent accuracy.
現在では99%以上の精度で
見分けられるようになっています
00:25
This is called image classification --
これは「画像分類」と
呼ばれる問題で
00:29
give it an image,
put a label to that image --
コンピューターに画像の
ラベル付けをさせるものです
00:31
and computers know
thousands of other categories as well.
コンピューターは何千種もの物を
識別できるようになっています
00:34
I'm a graduate student
at the University of Washington,
私はワシントン大学の大学院生で
00:38
and I work on a project called Darknet,
Darknetというプロジェクトに
取り組んでいます
00:41
which is a neural network framework
コンピュータービジョンのモデルを
トレーニングしテストするための
00:43
for training and testing
computer vision models.
ニューラルネット・フレームワークです
00:45
So let's just see what Darknet thinks
Darknetが
あの犬の画像を
00:48
of this image that we have.
何だと思うか
見てみましょう
00:51
When we run our classifier
あの画像を
00:54
on this image,
私たちの画像分類
プログラムにかけると
00:56
we see we don't just get
a prediction of dog or cat,
犬か猫かだけでなく
00:58
we actually get
specific breed predictions.
具体的な犬種まで
言い当てます
01:00
That's the level
of granularity we have now.
そこまで細かいことが
分かるようになっています
01:02
And it's correct.
そして正しい答えを出しています
[マラミュート犬 37% ハスキー犬 15% エスキモー犬 12%]
01:05
My dog is in fact a malamute.
私の犬は確かにマラミュート犬です
[マラミュート犬 37% ハスキー犬 15% エスキモー犬 12%]
01:06
So we've made amazing strides
in image classification,
画像分類は驚くほど
進歩しましたが
01:09
but what happens
when we run our classifier
こういう複数の物が写った写真を
画像分類にかけたら
01:13
on an image that looks like this?
どうなるのでしょう?
01:15
Well ...
結果は—
01:19
We see that the classifier comes back
with a pretty similar prediction.
前とほぼ同じになっています
[マラミュート犬 7% エスキモー犬 6% ハスキー犬 6%]
01:24
And it's correct,
there is a malamute in the image,
それは正しくて 画像の中には
確かにマラミュート犬がいますが
01:28
but just given this label,
we don't actually know that much
そのラベルだけでは
01:31
about what's going on in the image.
この画像の中で どんなことが
起きているのか あまりわかりません
01:35
We need something more powerful.
もっと強力なものが
ほしいところです
01:37
I work on a problem
called object detection,
私は「物体検出」と呼ばれる
問題に取り組んでいて
01:39
where we look at an image
and try to find all of the objects,
それは画像を見て
その中にある物体をすべて検出し
01:41
put bounding boxes around them
それぞれの物を箱で囲って
01:44
and say what those objects are.
それが何か識別する
という問題です
01:46
So here's what happens
when we run a detector on this image.
この画像を物体検出プログラムにかけると
どうなるか見てみましょう
01:48
Now, with this kind of result,
得られる結果は
こういうもので
01:53
we can do a lot more
with our computer vision algorithms.
色んなことができます
01:55
We see that it knows
that there's a cat and a dog.
猫と犬がいることがわかり
01:58
It knows their relative locations,
相対的な位置や
02:01
their size.
大きさもわかります
02:03
It may even know some extra information.
おまけの情報もあります
02:04
There's a book sitting in the background.
向こうに本があるとか
02:06
And if you want to build a system
on top of computer vision,
コンピュータービジョンを
使ったシステム
02:09
say a self-driving vehicle
or a robotic system,
自動運転車や ロボットを
作ろうとするなら
02:12
this is the kind
of information that you want.
これはまさに
欲しい情報でしょう
02:16
You want something so that
you can interact with the physical world.
周りの世界と作用し合えるように
してくれるものが欲しいのです
02:18
Now, when I started working
on object detection,
私が物体検出に
取り組み始めた頃は
02:22
it took 20 seconds
to process a single image.
1つの画像の処理に
20秒かかっていました
02:25
And to get a feel for why
speed is so important in this domain,
この領域で なぜスピードが重要なのか
分かってもらうため
02:28
here's an example of an object detector
物体検出で画像の処理に
2秒かかると どんな具合か
02:33
that takes two seconds
to process an image.
見ていただきましょう
02:35
So this is 10 times faster
これは画像1つにつき20秒かかる
画像検出プログラムより
02:38
than the 20-seconds-per-image detector,
10倍速いわけですが
02:40
and you can see that by the time
it makes predictions,
プログラムが答えを
出したときには
02:44
the entire state of the world has changed,
状況は既に変わっているため
02:47
and this wouldn't be very useful
あまりアプリケーションの役には
02:49
for an application.
立ちません
02:52
If we speed this up
by another factor of 10,
さらに10倍
高速化してみましょう
02:53
this is a detector running
at five frames per second.
毎秒 5フレーム
処理しています
02:56
This is a lot better,
だいぶマシにはなりましたが
02:59
but for example,
何か大きな動きがあると
03:00
if there's any significant movement,
ズレが出ます
03:02
I wouldn't want a system
like this driving my car.
このようなシステムに
自分の車を運転して欲しくはありません
03:05
This is our detection system
running in real time on my laptop.
これは私たちの物体検出システムで
ノートPC上でリアルタイムで動いています
03:09
So it smoothly tracks me
as I move around the frame,
私が動き回っても
スムーズに追尾します
03:13
and it's robust to a wide variety
of changes in size,
様々な種類の変化にも対応できます
大きさとか
03:16
pose,
ポーズとか
03:21
forward, backward.
前向き 後ろ向き
03:23
This is great.
とてもいいです
03:25
This is what we really need
これこそコンピュータービジョンを
使ったシステムを作ろうというときに
03:26
if we're going to build systems
on top of computer vision.
欲しいものです
03:28
(Applause)
(拍手)
03:31
So in just a few years,
ほんの数年で
03:36
we've gone from 20 seconds per image
1画像あたり20秒から
20ミリ秒へと
03:38
to 20 milliseconds per image,
a thousand times faster.
1000倍 高速化しました
03:41
How did we get there?
どうやって実現したのか?
03:44
Well, in the past,
object detection systems
以前の物体検出システムは
03:46
would take an image like this
このような画像を受け取ると
03:49
and split it into a bunch of regions
沢山の領域に分割し
03:51
and then run a classifier
on each of these regions,
それぞれの領域を
分類プログラムにかけ
03:53
and high scores for that classifier
高いスコアが出たところに
03:56
would be considered
detections in the image.
物体が検出されたと
見なしていました
03:59
But this involved running a classifier
thousands of times over an image,
この方法だと1つの画像に対し
分類プログラムを何千回も走らせ
04:02
thousands of neural network evaluations
to produce detection.
ニューラルネットによる評価が
何千回も必要になります
04:06
Instead, we trained a single network
to do all of detection for us.
そうする代わりに 1つのニューラルネットで
すべての検出を行うようトレーニングしました
04:11
It produces all of the bounding boxes
and class probabilities simultaneously.
境界の箱や 分類の確からしさの確率を
すべて同時に生成するのです
04:15
With our system, instead of looking
at an image thousands of times
我々のシステムでは
物体検出を行うために
04:20
to produce detection,
画像を何千回も見る代わりに
04:24
you only look once,
たった一度しか見ないのです
04:25
and that's why we call it
the YOLO method of object detection.
それがYOLO (You Only Look Once)の
名の所以です
04:26
So with this speed,
we're not just limited to images;
これだけ速いと 画像だけでなく
04:31
we can process video in real time.
映像もリアルタイムで処理できます
04:35
And now, instead of just seeing
that cat and dog,
猫と犬を検出するだけでなく
04:37
we can see them move around
and interact with each other.
それぞれが動き回り
相手に反応しているのが分かります
04:40
This is a detector that we trained
この検出プログラムは
04:46
on 80 different classes
MicrosoftのCOCOデータセットにある
80種の物に対して
04:48
in Microsoft's COCO dataset.
トレーニングしてあります
04:53
It has all sorts of things
like spoon and fork, bowl,
スプーンやフォークといった
04:56
common objects like that.
日常的な物もあれば
04:59
It has a variety of more exotic things:
もっと変わった物もあります
05:02
animals, cars, zebras, giraffes.
動物 車 シマウマ キリン
05:05
And now we're going to do something fun.
ちょっと面白いことをやりましょう
05:08
We're just going to go
out into the audience
客席からどんなものが
検出できるか
05:10
and see what kind of things we can detect.
試してみます
05:12
Does anyone want a stuffed animal?
ぬいぐるみの動物が欲しい人?
05:14
There are some teddy bears out there.
そこかしこに
テディベアがあります
05:18
And we can turn down
our threshold for detection a little bit,
検出器の閾値を少し下げて
05:22
so we can find more of you guys
out in the audience.
客席の皆さんを
検出できるようにしましょう
05:26
Let's see if we can get these stop signs.
「一時停止」の標識を
検出できるでしょうか
05:31
We find some backpacks.
バックパックが
いくつかありますね
05:33
Let's just zoom in a little bit.
もう少しズームしましょう
05:37
And this is great.
素晴らしいです
05:42
And all of the processing
is happening in real time
すべての処理が
ノートPC上で
05:43
on the laptop.
リアルタイムで
実行されています
05:46
And it's important to remember
重要なのはこれが
05:49
that this is a general purpose
object detection system,
汎用物体検出システム
だということで
05:50
so we can train this for any image domain.
どのような領域の画像に対しても
トレーニングできます
05:53
The same code that we use
自動運転車が
06:00
to find stop signs or pedestrians,
一時停止の標識や歩行者や
自転車を検知するのに使うのと
06:02
bicycles in a self-driving vehicle,
同じプログラムを
06:05
can be used to find cancer cells
組織生検でガンを
見つけるためにも
06:07
in a tissue biopsy.
使えるのです
06:10
And there are researchers around the globe
already using this technology
すでに世界中の研究者達が
この技術を使って
06:13
for advances in things
like medicine, robotics.
医学やロボット工学を
前進させています
06:18
This morning, I read a paper
今朝 新聞で読んだんですが
06:21
where they were taking a census
of animals in Nairobi National Park
ナイロビ国立公園では
YOLOを検出システムとして使って
06:23
with YOLO as part
of this detection system.
動物の個体数調査を
しているそうです
06:27
And that's because Darknet is open source
それというのもDarknetはオープンソースで
パブリックドメインなため
06:30
and in the public domain,
free for anyone to use.
誰でも無料で使えるからです
06:33
(Applause)
(拍手)
06:37
But we wanted to make detection
even more accessible and usable,
私たちは物体検出技術をさらに近づきやすく
使いやすいものにしたいと思い
06:43
so through a combination
of model optimization,
モデルの最適化や
ネットワーク・バイナリぜーション
06:48
network binarization and approximation,
近似を組み合わせることで
06:52
we actually have object detection
running on a phone.
スマートフォン上で
動かせるようにしました
06:54
(Applause)
(拍手)
07:04
And I'm really excited because
now we have a pretty powerful solution
私はすごくワクワクしています
07:10
to this low-level computer vision problem,
いまやこの基本的なコンピュータービジョンの
問題に対して とても強力な解があり
07:16
and anyone can take it
and build something with it.
誰でもそれを使って
何か作り出すことができるんです
07:18
So now the rest is up to all of you
あとは皆さんや
07:22
and people around the world
with access to this software,
このソフトウェアを使える
世界中の人々にかかっています
07:25
and I can't wait to see what people
will build with this technology.
この技術を使ってみんなが
どんなものを作ってくれるか楽しみです
07:28
Thank you.
ありがとうございました
07:32
(Applause)
(拍手)
07:33
Translated by Yasushi Aoki
Reviewed by Claire Ghyselen

▲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