Десять років тому дослідники комп'ютерного зору вважали, що навчити комп'ютер визначити різницю між котом і собакою — майже неможливо, навіть зі значним розвитком в галузі штучного інтелекту. Зараз ми вміємо це робити з точністю понад 99%. Це називається класифікація зображень — маючи зображення, назвати це зображення — і комп'ютери знають тисячі таких категорій. Я аспірант Університету Вашингтона, і я працюю над проектом під назвою Даркнет, це фреймворк для нейронної сітки, який навчає і тестує моделі комп'ютерного зору. Дізнаймося, що думає Даркнет про це наше зображення. Коли ми запускаємо класифікатор для цього зображення, ми отримуємо не просто прогноз щодо кішки чи собаки, насправді ми отримуємо визначення породи. Ось такий рівень точності ми маємо зараз. І це так. Мій собака насправді маламут. Тож ми досягли відчутного успіху у класифікації зображень, але що станеться, якщо запустити класифікатор на отакому зображенні? Ну... Ми бачимо, що він повертається з дуже подібним передбаченням. І це правда, на зображенні є маламут, але через саму цю назву ми небагато дізналися про те, що саме відбувається на зображенні. Нам потрібно щось потужніше. І я працюю над проблемою під назвою визначення об'єктів, ми дивимося на зображення і намагаємося знайти усі об'єкти, визначивши їхні межі і підписавши, що це таке. Ось що трапиться, якщо запустити детектор для цього зображення. З таким результатом ми можемо зробити більше з нашими алгоритмами комп'ютерного зору. Ми бачимо, що він знає, що це кіт і собака. Він знає їхні приблизні локації, їхній розмір. Він може навіть знати деяку додаткову інформацію. Ось там на фоні книжка. І якщо ви хочете побудувати систему на основі комп'ютерного зору, наприклад, машину на автопілоті чи роботизовану систему, ви потребуватимете саме такої інформації. Ви хочете чогось, що дозволить взаємодіяти з матеріальним світом. Коли я почав працювати над визначенням об'єктітв, обробка зображення займала 20 секунд. І щоб зрозуміти, чому швидкість настільки важлива в цій галузі, ось приклад детектора об'єктів, що потребує 2 секунди на обробку зображення. Тож він у десять разів швидший за той 20-секундний детектор, але видно, що коли він робить свій прогноз, стан навколишнього світу вже змінився. Тож це не дуже корисно для додатку. Якщо ми прискоримо це ще вдесятеро, ось детектор, що працює на швидкості 5 кадрів на секунду. Це набагато краще, але наприклад, якщо відбувається помітний рух, я б не хотів, щоб така система керувала моєю автівкою. Це наша система визначення, що працює наживо на моєму лептопі. Вона послідовно визначає моє місце, поки я рухаюсь коло меж, і вона стійка до різноманітних змін розміру, пози, руху вперед і назад. Це чудово. Саме це нам і потрібно, якщо ми хочемо будувати системи на основі комп'ютерного зору. (Оплески) Тож лише за кілька років ми пройшли від 20 секунд на зображення до 20 мілісекунд на зображення, у тисячу разів швидше. Як ми цього досягли? У минулому система визначення об'єктів взяла б подібне зображення і поділила на безліч регіонів, а потім запустила б класифікатор для кожного регіону, і високі бали для такого класифікатора вважалися б за визначення зображення. Але це потребувало б запуску класифікатора тисячі разів, тисячі перевірок нейронної мережі, щоб зробити визначення. Натомість ми натренували єдину мережу робити усі визначення для нас. Вона створює усі рамки й сортує ймовірності одночасно. З нашою системою, замість того щоб тисячі разів дивитися на зображення для визначення, ми дивимося один раз: "you only look once". і ми назвали наш метод визначення об'єктів YOLO. Тож з такою швидкістю ми не обмежені зображеннями, ми можемо обробляти відео наживо. І тепер, замість того щоб бачити тих кота і собаку, ми можемо бачити, як вони рухаються і взаємодіють. Цей детектор ми тренували на 80 різних класах з набору даних Microsoft СОСО. Там були усі типи речей: ложка і виделка, миска, подібні звичні речі. Там була й безліч незвичніших речей: тварини, авто, зебри, жирафи. І зараз ми зробимо дещо цікаве. Ми просто підемо у залу і побачимо, які речі зможемо визначити. Хтось хоче м'яку іграшку? Тут є іграшкові ведмеді. І ми можемо трошки знизити поріг розпізнавання, щоб знайти більше вас в аудиторії. Побачимо, чи ми визначаємо знаки "стоп". Ми знайшли наплечники. Тепер наблизьмо трошки. І це чудово. І уся обробка відбувається в реальному часі на лептопі. І важливо пам'ятати, що це система визначення загального призначення, тож ми можемо натренувати її для будь-якого типу зображень. Той самий код, що використовується, щоб знаходити знаки "стоп", пішоходів, велосипеди для машини на автопілоті, можна використати, щоб знаходити ракові клітини у біопсії тканини. І дослідники по всьому світу вже використовують цю технологію, щоб розвивати медицину чи робототехніку. Цього ранку я прочитав статтю про те, як підраховували тварин в Національному парку Найробі, використовуючи YOLO як частину системи розпізнавання. А це тому, що Даркнет — проект з вікритим кодом у публічному доступі, безкоштовний для використання. (Оплески) Але ми хочемо зробити визначення навіть доступнішим і зручнішим, тож завдяки оптимізації, апроксимації та бінаризації мережі наше визначення зображень працює на телефоні. (Оплески) І я дуже схвильований, бо зараз у нас є досить потужне розв'язання для низькорівневого комп'ютерного зору, і кожен може взяти його і щоб з цим побудувати. Тож решта залежить від вас усіх, від людей по всьому світу, які мають доступ до цієї програми, і я із нетерпінням чекаю на речі, які люди створять із цією технологією. Дякую. (Оплески)