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