УжгородУжгород // 2010-08-15

Розпізнавання фотографій

Колись давно я розглядав прив’язку фотографій до географічних координат. GPS приймача в мене вже немає але я все одно вручну розкладаю фото на мапі в Lightroom (хоча б приблизно). Телефон робить це автоматично зі своїми фотками а Google Photos показує це в зручному вигляді.

Схожим завданням є опис зображеного на фото та пошук за ним. Можна описувати фотки вручну, що я і робив багато років, але це має певні недоліки:

  • кожна людина описує зображене по своєму, навіть в межах однієї мови можна використовувати синоніми або по різному виділяти найголовніше («собака на пляжі», «пес біля океану», «Сірко на відпочинку», «улюбленець біля води»)
  • це займає багато часу та нерідко зводиться до занадто простих слів, що повторюються («будинок», «будинок», «вулиця», «перехід»)
  • складно називати екзотичні рослини та тварини. Опис фотографій із зоопарку схожий на роботу 10-ти річного («пташка», «тварина», «квітка»)
  • підтримка кількох мов ускладнює це все на порядок

В моїй галереї пошук працював по альбому, фото та місцеположенню. Якщо слово знаходилось в назві альбому то показувалися усі фотографії звідти. Потім я перестав називати окремі фотки та прибрав підписи в новій версії галереї — все одно вони малоінформативні (див вище).

Але як бути з пошуком? Він потрібний в першу чергу мені для пошуку по публічному архіву.

Надворі 2020 рік, крім пандемії ідіотизму має ж бути якийсь прогрес? Виявилося, що вже є багато сервісів, що допомагають генерувати теґи до зображень за допомогою машинного навчання. Для прикладу, Imagga.

Imagga має безкоштовний план, що дозволяє обробку 2,000 фоток щомісяця. Крім списку теґів цей сервіс надає їх автоматичний переклад багатьма мовами (включаючи українську) та відсоток «впевненості».

Розпізнавання не ідеальне — погано розуміє нетипові реалії за межами США (без поняття, що таке підземний перехід, розмальований графіті), плутає тварин (білку з лисицею), не знає деякі базові поняття (вертоліт краще знаходиться за ротором). Добре працює в багатьох простих випадках (коала, слон, бейсболіст). Для персонального сайту результат цілком пристойний. З іншого боку процес покращення розрізнавання навряд зупиниться і можна час від часу заново обробляти старі фотки (можливо вони навіть будуть тренувати модель на погано розпізнаних фотках).

Навряд я буду сканувати оффлайн фотки лише для можливості пошуку по ним, але для онлайн фоток це просте та ефективне рішення.