0:00:00.825,0:00:01.976 Десять років тому 0:00:02.000,0:00:04.776 дослідники комп'ютерного зору[br]вважали, що навчити комп'ютер 0:00:04.800,0:00:07.496 визначити різницю[br]між котом і собакою — 0:00:07.520,0:00:09.496 майже неможливо, 0:00:09.520,0:00:13.216 навіть зі значним розвитком[br]в галузі штучного інтелекту. 0:00:13.240,0:00:16.800 Зараз ми вміємо це робити[br]з точністю понад 99%. 0:00:17.680,0:00:19.536 Це називається класифікація [br]зображень — 0:00:19.560,0:00:22.656 маючи зображення, [br]назвати це зображення — 0:00:22.680,0:00:25.720 і комп'ютери знають[br]тисячі таких категорій. 0:00:26.680,0:00:29.576 Я аспірант[br]Університету Вашингтона, 0:00:29.600,0:00:31.636 і я працюю над проектом[br]під назвою Даркнет, 0:00:31.636,0:00:33.216 це фреймворк для нейронної сітки, 0:00:33.240,0:00:36.056 який навчає і тестує[br]моделі комп'ютерного зору. 0:00:36.080,0:00:39.056 Дізнаймося, що думає Даркнет 0:00:39.080,0:00:40.840 про це наше зображення. 0:00:42.520,0:00:44.856 Коли ми запускаємо класифікатор 0:00:44.880,0:00:46.096 для цього зображення, 0:00:46.120,0:00:48.656 ми отримуємо не просто прогноз [br]щодо кішки чи собаки, 0:00:48.656,0:00:50.936 насправді ми отримуємо[br]визначення породи. 0:00:50.960,0:00:53.136 Ось такий рівень точності[br]ми маємо зараз. 0:00:53.160,0:00:54.776 І це так. 0:00:54.800,0:00:56.640 Мій собака насправді маламут. 0:00:57.040,0:01:01.376 Тож ми досягли відчутного успіху[br]у класифікації зображень, 0:01:01.400,0:01:03.550 але що станеться, якщо запустити[br]класифікатор 0:01:03.550,0:01:05.384 на отакому зображенні? 0:01:07.080,0:01:08.280 Ну... 0:01:12.640,0:01:16.536 Ми бачимо, що він повертається[br]з дуже подібним передбаченням. 0:01:16.560,0:01:19.656 І це правда, на зображенні[br]є маламут, 0:01:19.680,0:01:23.376 але через саму цю назву[br]ми небагато дізналися про те, 0:01:23.400,0:01:25.067 що саме відбувається на зображенні. 0:01:25.091,0:01:26.651 Нам потрібно щось потужніше. 0:01:27.240,0:01:29.856 І я працюю над проблемою[br]під назвою визначення об'єктів, 0:01:29.880,0:01:32.816 ми дивимося на зображення[br]і намагаємося знайти усі об'єкти, 0:01:32.840,0:01:34.296 визначивши їхні межі 0:01:34.320,0:01:35.840 і підписавши, що це таке. 0:01:36.400,0:01:39.680 Ось що трапиться, якщо запустити детектор[br]для цього зображення. 0:01:41.240,0:01:43.496 З таким результатом ми можемо 0:01:43.520,0:01:46.216 зробити більше з нашими алгоритмами [br]комп'ютерного зору. 0:01:46.240,0:01:49.216 Ми бачимо, що він знає, [br]що це кіт і собака. 0:01:49.240,0:01:51.496 Він знає їхні приблизні локації, 0:01:51.520,0:01:52.736 їхній розмір. 0:01:52.760,0:01:55.216 Він може навіть знати деяку [br]додаткову інформацію. 0:01:55.216,0:01:56.680 Ось там на фоні книжка. 0:01:57.280,0:02:00.536 І якщо ви хочете побудувати систему[br]на основі комп'ютерного зору, 0:02:00.560,0:02:04.016 наприклад, машину на автопілоті[br]чи роботизовану систему, 0:02:04.040,0:02:06.496 ви потребуватимете[br]саме такої інформації. 0:02:06.520,0:02:09.759 Ви хочете чогось, що дозволить[br]взаємодіяти з матеріальним світом. 0:02:10.579,0:02:13.016 Коли я почав працювати над[br]визначенням об'єктітв, 0:02:13.040,0:02:16.336 обробка зображення займала[br]20 секунд. 0:02:16.360,0:02:20.240 І щоб зрозуміти, чому швидкість [br]настільки важлива в цій галузі, 0:02:21.120,0:02:23.656 ось приклад детектора об'єктів, 0:02:23.680,0:02:26.096 що потребує 2 секунди[br]на обробку зображення. 0:02:26.120,0:02:28.736 Тож він у десять разів швидший 0:02:28.760,0:02:32.296 за той 20-секундний детектор, 0:02:32.320,0:02:34.976 але видно, що коли він робить[br]свій прогноз, 0:02:35.000,0:02:37.040 стан навколишнього світу[br]вже змінився. 0:02:37.880,0:02:40.296 Тож це не дуже корисно 0:02:40.320,0:02:41.736 для додатку. 0:02:41.760,0:02:44.256 Якщо ми прискоримо це[br]ще вдесятеро, 0:02:44.280,0:02:47.096 ось детектор, що працює[br]на швидкості 5 кадрів на секунду. 0:02:47.120,0:02:48.656 Це набагато краще, 0:02:48.680,0:02:50.656 але наприклад, 0:02:50.680,0:02:52.976 якщо відбувається помітний рух, 0:02:53.000,0:02:55.560 я б не хотів, щоб така система[br]керувала моєю автівкою. 0:02:57.120,0:03:00.360 Це наша система визначення, [br]що працює наживо на моєму лептопі. 0:03:01.000,0:03:04.136 Вона послідовно визначає моє місце, [br]поки я рухаюсь коло меж, 0:03:04.160,0:03:07.880 і вона стійка до різноманітних[br]змін розміру, 0:03:09.440,0:03:10.640 пози, 0:03:11.280,0:03:13.136 руху вперед і назад. 0:03:13.160,0:03:14.376 Це чудово. 0:03:14.400,0:03:16.136 Саме це нам і потрібно, 0:03:16.160,0:03:19.056 якщо ми хочемо будувати системи[br]на основі комп'ютерного зору. 0:03:19.080,0:03:23.080 (Оплески) 0:03:24.280,0:03:26.456 Тож лише за кілька років 0:03:26.480,0:03:29.136 ми пройшли від 20 секунд [br]на зображення 0:03:29.160,0:03:32.696 до 20 мілісекунд на зображення, [br]у тисячу разів швидше. 0:03:32.720,0:03:34.136 Як ми цього досягли? 0:03:34.160,0:03:37.176 У минулому система визначення об'єктів 0:03:37.200,0:03:39.136 взяла б подібне зображення 0:03:39.160,0:03:41.616 і поділила на безліч регіонів, 0:03:41.640,0:03:44.896 а потім запустила б класифікатор[br]для кожного регіону, 0:03:44.920,0:03:47.456 і високі бали для такого класифікатора 0:03:47.480,0:03:50.616 вважалися б[br]за визначення зображення. 0:03:50.640,0:03:54.696 Але це потребувало б запуску[br]класифікатора тисячі разів, 0:03:54.720,0:03:57.640 тисячі перевірок нейронної мережі, [br]щоб зробити визначення. 0:03:59.240,0:04:03.776 Натомість ми натренували єдину мережу[br]робити усі визначення для нас. 0:04:03.800,0:04:08.080 Вона створює усі рамки[br]й сортує ймовірності одночасно. 0:04:08.420,0:04:11.980 З нашою системою, замість того [br]щоб тисячі разів дивитися на зображення 0:04:11.980,0:04:13.806 для визначення, [br]ми дивимося один раз: 0:04:13.806,0:04:14.936 "you only look once". 0:04:14.960,0:04:17.900 і ми назвали наш метод [br]визначення об'єктів YOLO. 0:04:19.360,0:04:23.336 Тож з такою швидкістю[br]ми не обмежені зображеннями, 0:04:23.360,0:04:25.776 ми можемо обробляти відео наживо. 0:04:25.800,0:04:28.896 І тепер, замість того щоб бачити[br]тих кота і собаку, 0:04:28.920,0:04:31.880 ми можемо бачити, як вони[br]рухаються і взаємодіють. 0:04:34.560,0:04:36.616 Цей детектор ми тренували 0:04:36.640,0:04:41.016 на 80 різних класах 0:04:41.040,0:04:44.296 з набору даних Microsoft СОСО. 0:04:44.320,0:04:47.656 Там були усі типи речей: [br]ложка і виделка, миска, 0:04:47.680,0:04:49.480 подібні звичні речі. 0:04:50.360,0:04:53.456 Там була й безліч незвичніших речей: 0:04:53.480,0:04:56.736 тварини, авто, зебри, жирафи. 0:04:56.760,0:04:58.696 І зараз ми зробимо дещо цікаве. 0:04:58.720,0:05:00.816 Ми просто підемо у залу 0:05:00.840,0:05:02.856 і побачимо, які речі зможемо[br]визначити. 0:05:02.880,0:05:04.500 Хтось хоче м'яку іграшку? 0:05:06.000,0:05:07.762 Тут є іграшкові ведмеді. 0:05:10.040,0:05:14.576 І ми можемо трошки знизити [br]поріг розпізнавання, 0:05:14.600,0:05:18.000 щоб знайти більше вас [br]в аудиторії. 0:05:19.560,0:05:21.896 Побачимо, чи ми визначаємо знаки "стоп". 0:05:21.920,0:05:23.800 Ми знайшли наплечники. 0:05:25.880,0:05:27.720 Тепер наблизьмо трошки. 0:05:30.320,0:05:31.576 І це чудово. 0:05:31.600,0:05:34.776 І уся обробка відбувається[br]в реальному часі 0:05:34.800,0:05:36.000 на лептопі. 0:05:37.080,0:05:38.536 І важливо пам'ятати, 0:05:38.560,0:05:41.776 що це система визначення[br]загального призначення, 0:05:41.800,0:05:46.800 тож ми можемо натренувати її[br]для будь-якого типу зображень. 0:05:48.320,0:05:50.856 Той самий код, що використовується, 0:05:50.880,0:05:53.336 щоб знаходити знаки "стоп", пішоходів, 0:05:53.360,0:05:55.336 велосипеди для машини на автопілоті, 0:05:55.360,0:05:58.216 можна використати, щоб знаходити[br]ракові клітини 0:05:58.240,0:06:01.256 у біопсії тканини. 0:06:01.280,0:06:05.320 І дослідники по всьому світу[br]вже використовують цю технологію, 0:06:06.240,0:06:09.490 щоб розвивати медицину[br]чи робототехніку. 0:06:09.490,0:06:11.056 Цього ранку я прочитав статтю 0:06:11.080,0:06:15.656 про те, як підраховували тварин[br]в Національному парку Найробі, 0:06:15.680,0:06:18.816 використовуючи YOLO [br]як частину системи розпізнавання. 0:06:18.840,0:06:21.936 А це тому, що Даркнет — проект з вікритим[br]кодом 0:06:21.960,0:06:24.480 у публічному доступі, [br]безкоштовний для використання. 0:06:25.600,0:06:31.296 (Оплески) 0:06:31.320,0:06:36.256 Але ми хочемо зробити визначення[br]навіть доступнішим і зручнішим, 0:06:36.280,0:06:40.336 тож завдяки оптимізації, 0:06:40.360,0:06:42.656 апроксимації та бінаризації мережі 0:06:42.680,0:06:46.600 наше визначення зображень[br]працює на телефоні. 0:06:52.800,0:06:58.120 (Оплески) 0:06:58.960,0:07:04.016 І я дуже схвильований, бо[br]зараз у нас є досить потужне розв'язання 0:07:04.040,0:07:06.336 для низькорівневого комп'ютерного зору, 0:07:06.360,0:07:10.216 і кожен може взяти його[br]і щоб з цим побудувати. 0:07:10.240,0:07:13.416 Тож решта залежить від вас усіх, 0:07:13.440,0:07:16.376 від людей по всьому світу, [br]які мають доступ до цієї програми, 0:07:16.400,0:07:20.056 і я із нетерпінням чекаю на речі, [br]які люди створять із цією технологією. 0:07:20.080,0:07:21.296 Дякую. 0:07:21.320,0:07:24.760 (Оплески)