Ten years ago, 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. This is called image classification -- give it an image, put a label to that image -- and computers know thousands of other categories as well.
Mười năm trước, các nghiên cứu thị giác máy tính cho rằng để máy tính nhận biết được sự khác nhau giữa chó và mèo gần như là bất khả thi cho dù với những tiến bộ đáng kể về trí tuệ nhân tạo. Giờ đây, chúng ta có thể thực hiện được điều đó với hơn 99% độ chính xác. Đây được gọi là Phân lớp hình ảnh tức là cho một hình ảnh, dán nhãn cho hình ảnh đó và máy tính sẽ nhận diện hàng ngàn loại hình ảnh như vậy.
I'm a graduate student at the University of Washington, and I work on a project called Darknet, which is a neural network framework for training and testing computer vision models. So let's just see what Darknet thinks 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. My dog is in fact a malamute.
Tôi là cử nhân của Đại học Washington, và đang làm việc cho dự án Darknet nó là một khung mạng lưới nơ-ron dùng để điều chỉnh và kiểm tra các mô hình thị giác máy tính Vậy cùng xem Darknet thấy gì về bức ảnh mà chúng ta có ở đây. Khi ta khởi động bộ phân lớp cho hình ảnh này ta thấy rằng ta không chỉ nhận được dự đoán về chó hay mèo mà thực sự còn có dự đoán về loài cụ thể. Đây là mức độ chi tiết chúng ta hiện có Và nó hoàn toàn chính xác. Con chó của tôi đúng là một con Malamute.
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. 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.
Vậy chúng ta đã tạo ra một bước tiến vượt bậc trong phân lớp hình ảnh, nhưng điều gì xảy ra khi khởi động bộ phân lớp trên một hình ảnh như thế này? Ừm ... Ta thấy rằng bộ phân lớp sẽ phản hồi với dự đoán tương tự như vậy. Và nó hoàn toàn chính xác, đúng là có một con malamute trong bức ảnh, nhưng nếu chỉ với thông tin này, chúng ta không thực sự hiểu rõ về điều gì đang diễn ra trong bức ảnh đó. Chúng ta cần thứ gì đó mạnh mẽ hơn. Tôi nghiên cứu về một vấn đề được gọi là Nhận diện vật thể nghĩa là chúng ta nhìn vào bức ảnh và cố tìm ra tất cả các đồ vật, đặt các hộp giới hạn xung quanh chúng và chỉ ra những vật đó là gì Sau đây là những gì sẽ xảy ra khi chúng ta nhận diện bức ảnh này.
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. And to get a feel for why speed is so important in this domain, here's an example of an object detector that takes two seconds to process an image. So this is 10 times faster than the 20-seconds-per-image detector, 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.
Với kết quả này, chúng ta có thể làm được nhiều điều hơn với những thuật toán thị giác máy tính. Nó nhận ra trong ảnh có một con chó và một con mèo Nó biết vị trí của chúng, kích thước của chúng. Thậm chí nó có thể biết thêm nhiều thông tin nữa. ví dụ như có quyển sách ở phía sau Và nếu bạn muốn xây dựng một hệ thống dựa vào thị giác máy tính, như xe hơi tự lái hay hệ thống robot, đây chính là thông tin mà bạn cần. Bạn muốn thứ gì đó để bạn có thể tương tác với thế giới thực. Giờ, khi tôi bắt đầu khởi động nhận diện vật thể, sẽ mất 20 giây để xử lý một hình ảnh. Và để hiểu tại sao tốc độ lại quan trọng đến thế, đây sẽ là ví dụ: một bộ nhận diện vật thể mất 2 giây để xử lý tấm ảnh. Vì thế nó nhanh gấp 10 lần so với bộ nhận diện 20 giây/ảnh và bạn có thể nhận ra rằng, vào lúc nó đưa ra dự đoán xong thì tất cả các trạng thái đã thay đổi, và vì thế nó sẽ không còn thực sự có ích cho một ứng dụng.
If we speed this up by another factor of 10, this is a detector running at five frames per second. 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.
Nếu chúng ta tăng tốc nó lên theo hệ số 10 nó sẽ nhận diện 5 ảnh/giây. Nó thực sự vượt trội hơn nhiều, nhưng ví dụ, nếu có bất kì chuyển động đáng kể nào, tôi sẽ không muốn một hệ thống như này điều khiển chiếc xe của mình.
This is our detection system running in real time on my laptop. 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.
Đây là hệ thống nhận diện theo thời gian thực đang chạy trên laptop của tôi Vì vậy nó dễ dàng theo dõi tôi khi tôi di chuyển xung quanh khung hình, và nó rất nhanh nhạy với các thay đổi về kích thước, tư thế, về phía trước, phía sau. Điều này thật tuyệt. Đây chính xác là gì chúng ta cần nếu ta định xây dựng một hệ thống dựa trên thị giác máy tính.
(Applause)
(Tiếng vỗ tay)
So in just a few years, we've gone from 20 seconds per image to 20 milliseconds per image, a thousand times faster. 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, thousands of neural network evaluations to produce detection. Instead, we trained a single network to do all of detection for us. 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. 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.
Vì vậy chỉ trong vài năm, chúng ta chuyển từ 20 giây/ảnh sang 20 phần nghìn giây/ảnh, nhanh gấp nghìn lần. Chúng ta đã tiến tới đó bằng cách nào? Trong quá khứ, các hệ thống nhận diện vật thể sẽ xử lí một hình ảnh như này, và chia nó thành các vùng, sau đó chạy bộ nhận diện trên từng vùng, điểm nổi trội nhất trong vùng nhận diện sẽ được tính là kết quả. Nhưng điều này cũng đồng nghĩa với hàng nghìn lần nhận diện trên một hình, hàng nghìn đánh giá của mạng lưới nơ-rôn để đi đến được kết quả. Thay vào đó, chúng ta có một mạng lưới duy nhất tiến hành tất cả các nhận diện, tạo ra đồng thời tất cả các hộp giới hạn và các khả năng Với hệ thống của chúng tôi, thay vì "nhìn" bức ảnh hàng ngàn lần để đưa ra nhận diện, You Only Look Once (Chỉ nhìn một lần) Phương pháp YOLO để nhận diện vật thể. Tốc độ này khiến ta không bị giới hạn chỉ trong Ảnh mà còn nhận diện trong Video theo thời gian thực. Giờ, thay vì chỉ thấy chó và mèo, ta còn thấy chúng di chuyển và đùa giỡn.
This is a detector that we trained on 80 different classes 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 on the laptop.
Đây là bộ nhận diện được phát triển với 80 hạng mục khác nhau thuộc COCO dataset của Microsoft. Có đủ thứ hết, như muỗng, nĩa, tô,... những vật dụng thông thường như vậy. Và có những mục thú vị: động vật, xe hơi, ngựa vằn, hươu cao cổ. Giờ đến trò vui nè Tôi sẽ đến chỗ khán giả và xem nó nhận diện được những thứ gì nhé. Ai muốn thú nhồi bông nào? Gấu bông nè. Mở rộng khu vực nhận diện ra một chút để thấy được nhiều người hơn. Để xem, biển cấm này Tìm được vài cái balo Phóng to một tí Thật tuyệt. Tất cả các quá trình đang diễn ra trong thời gian thực trên 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 with YOLO as part of this detection system. And that's because Darknet is open source and in the public domain, free for anyone to use.
Điều quan trọng cần nhớ, đây là hệ thống nhận diện cho-mọi-mục-đích nên có thể áp dụng cho mọi ứng dụng khác. Cùng một đoạn code này có thể tìm biển cấm, người đi bộ, xe đạp,...nếu áp dụng cho xe tự lái; có thể dùng để tìm tế bào ung thư trong một sinh thiết mô. Khắp thế giới đã có những nhà nghiên cứu áp dụng công nghệ này để phát triển trong ngành dược, chế tạo robot. Sáng nay tôi đọc được tin người ta điều tra số lượng cá thể động vật ở Công viên Quốc gia Nairobi với sự đóng góp của YOLO trong hệ thống nhận dạng. Và bởi vì Darknet là nguồn mở thuộc miền công cộng và miễn phí cho tất cả mọi người
(Applause)
(Tiếng vỗ tay)
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.
Nhưng chúng tôi muốn việc nhận diện trở nên dễ tiếp cận và dễ sử dụng hơn nữa nên qua sự kết hợp của mô hình tối ưu hóa nhị phân hóa hệ thống và phép xấp xỉ. chúng ta thực sự đã có thể nhận diện vật thể bằng điện thoại.
(Applause)
(Tiếng vỗ tay)
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.
Và tôi thực sự hào hứng vì giờ chúng ta đã có một giải pháp hữu hiệu cho vấn đề thị giác máy tính kém, ai cũng có thể sở hữu và từ nó tạo nên những thứ khác nữa. Vậy nên từ giờ phần còn lại phụ thuộc vào các bạn và mọi người trên thế giới qua việc truy cập vào phần mềm này tôi rất háo hức mong đợi những gì sẽ được tạo ra từ công nghệ này.
Thank you.
Xin cảm ơn.
(Applause)
(Tiếng vỗ tay)