Очі - неповторний інструмент. Принаймні, так я думав, поки не поринув у секрети машинного зору. То як працює роботизований зір? Ви були б здивовані, що дуже схоже на наше.
Я вирішив уважніше розглянути цю проблему і написати про неї коротку серію із двох частин. Прочитайте першу частину, де я розтлумачу вам, у чому схожість людських і машинних очей:
Нещодавно я мав можливість познайомитися з Яном Жишкою, засновником та генеральним директором Photoneo. Його 3D-камера допомагає машинам краще бачити і є унікальною у світі. Однак Джон, як і я, є великим шанувальником передових технологій, робототехніки та наукової фантастики. Тому я дуже зацікавився його роботою. Як офтальмолог, особливо, наскільки роботизовані очі схожі на наші, людські.
3D-технологія для нас не нова
Джон розповів мені цікаву річ під час нашої розмови. Як фахівець та ентузіаст технологій, він був дуже захоплений появою у кінотеатрах тривимірних фільмів, але він був здивований, що його друзі не особливо захоплювались цим. Тоді він зрозумів, що тривимірне бачення для людини не є нічим новим. У кінотеатрі у вас є окуляри, в яких проектуються два різні зображення з двох камер. Кожне око подорожує різними відчуттями. Працює і людське око.
Як працює 3D-бачення?
3D-зір людини працює за принципом так званої тріангуляції, тобто з’єднує різні зображення від обох очей разом в одній точці. Це також дозволяє нам розрізняти відстані. Чим ближче об’єкти, тим точніше наша оцінка. Це можна пояснити на простому прикладі. Уявіть, що ви дивитесь на річ, яка стоїть за 2 метри перед вами. Наприклад, на шафі. З кожного вашого ока виходять дві уявні лінії, тобто два різні зображення, що перетинаються в точці, де стоїть спостережуваний об’єкт. Вони створюють трикутник. Оскільки шафа знаходиться на відстані 2 метрів від вас, є також точка, де зображення зустрічаються, щоб сформувати остаточну 3D-сенсацію за два метри. Для мозку це не надто багато, щоб більш-менш визначити, наскільки точно знаходиться об’єкт.
По-іншому дивиться, наприклад, на предмет, що стоїть за 100 метрів від вас. Тут мозок починає мати проблеми. Уявіть, як ви йдете прямою вулицею з машиною, припаркованою в кінці. Біля нього стоїть чоловік. Тоді трикутник настільки довгий, що у вас немає шансу здогадатися, чи транспортний засіб чи людина трохи ближче до вас. З вашої точки зору, вони знаходяться поруч.
Таким чином наш зір працює своїм корінням в еволюції. Наприклад, печерним людям вже потрібно було оцінити ближчу дистанцію більше, наприклад, коли полюють на здобич або реагують на безпосередню небезпеку.
Тріангуляція на практиці
Перевірити принцип тріангуляції можна простим експериментом. Витріть один палець перед собою і по черзі закривайте і відкривайте правий і лівий очі. Оскільки кожен з них сприймає різний образ, тобі здається, що палець завжди в іншому місці. На невеликій відстані від пальця до очей ви побачите відносно значний зсув. Але чим далі ви рухаєте рукою, тим довше трикутник подовжується і тим менше здається пальцем рухається.
Що спільного у камери та наших очей?
Я згадав, що людське та роботизоване бачення працюють дуже подібним чином. Подібно до того, як ми маємо мозок та очі, які пов’язані між собою, машина має проектор та камеру. Загальний принцип захоплення зображення або спосіб обробки цього сприйняття в нашому мозку має три основні фази.
Сканування
Зіницю, через яку в око потрапляють промені світла, можна порівняти з екраном у камері. Оскільки сітківка, яка вловлює це світло, перетворює його на певні нервові імпульси в мозку і створює конкретне зображення, камера використовує чіп. Тож склад наших очей і камери дуже схожий.
Обробка
Наші очі насправді лічильник. Після захоплення світла на сітківку ока створюється зображення, і очі підраховують кількість фотонів в окремих колбочках і паличках. Більш бліді об'єкти містять менше фотонів, темніші більше. Так ми сприймаємо окремі кольори. Також створюється кольорова фотографія. У кожному пікселі записано значення, яке представляє кількість фотонів і створює певний відтінок.
Інтерпретація
Ця фаза є популярною темою багатьох науково-фантастичних історій, а також найбільш проблемною частиною машинного зору. Звичайно, у промисловому машинному баченні ми не заглиблюємось у роздуми про свідомість штучного інтелекту або, як це називав письменник Ісаак Азімов, про "дух у машині". Але правда полягає в тому, що те, як ми сприймаємо реальність, і те, як машини сприймають її, не настільки різне. У людини, як і у роботизованому зорі, подразник потрапляє в мозок або нейрони від ока чи камери і створює інформацію. Однак наш розум відрізняється головним чином здатністю розпізнавати те, на що ми дивимось. Для нас це не проблема. Трирічна дитина розуміє, що бачить перед собою маму.
Машини використовуються для обробки інформації так званими нейронними мережами, штучно створеними будівельними блоками в процесорах на основі кремнію, що імітують наш мозок. Однак вони все-таки набагато примітивніші. Мозок використовує від 50 до 500 мільярдів нейронних зв’язків для сприйняття реальності. Процесорів у роботах приблизно від 5 до 6 мільярдів. Це можна порівняти з мозком акваріумних рибок. Тож вони бачать машини, але я не розумію. Вони все ще сліпі в цьому плані. Вони можуть розпізнавати предмети, але на відміну від нас, вони не розуміють контексту.
Наукова фантастика не повинна бути такою далеко
Роботи можуть не знати, що зараз відбувається навколо них, але вони, швидше за все, будуть там. У 2008 році персональний комп’ютер зміг обробити приблизно 10 мільярдів інструкцій в секунду. Але за підрахунками футурологів, до 2040 року мозок машини може обробити 100 трильйонів інструкцій в секунду. Це вже можна порівняти з мозком людини.
Технологія 3D допомагає роботам зрозуміти світ
Машини можуть навчитися. Фахівці називають цю здатність машинним навчанням. Розумний робот вдосконалений таким досвідом, як і ми. Наприклад, як тільки ви "скажете" йому, що він дивиться на міст, наступного разу він зможе його розпізнати автоматично, без того, щоб хтось знову програмував цю інформацію. Машинне навчання особливо корисне при розпізнаванні облич чи предметів на малюнку, але воно також тісно пов’язане з технологією Яна Жишки. 3D-камера Photoneo унікальна тим, що вирішує велику проблему в галузі виробничих машин. Це пов’язано з тим, що як тільки робот із 2D-камерою запрограмований на передачу одного об’єкта, наприклад пляшки, він не може перенести попільничку сам по собі. Перепрограмування займе кілька місяців. Однак завдяки 3D-камері Photonea машина може «навчитися» розпізнавати різні форми набагато ефективніше.
Чому технологія 3D допомагає роботам краще зрозуміти, що вони "бачать"? З тієї ж причини, чому це покращує третю фазу зору, обидві інтерпретації, для нас обох. Наприклад, якщо ви дивитесь на 2D-план квартири, ви приблизно уявляєте її форму або кількість кімнат. Але якби ви побачили тривимірну візуалізацію і могли б гуляти по квартирі, наприклад у віртуальній реальності, ви раптом отримали б набагато точнішу інформацію про космос. Ви можете сприймати планування квартири або розміри кімнат. Точно те саме стосується 2D та 3D машинного зору. Якщо ви зробите спершу двосантиметрову фотографію в одній кімнаті, а потім покажете класичний стілець і фотографії машині з 2D-зором, вона не зможе правильно оцінити розташування простору і не розпізнає різницю. 3D-зір запропонує роботові більше інформації. Таким чином, машина може прийти до висновку, що щось диспозиційно відрізняється.