Системи з самоорганізацією та самонавчанням
Лабораторна робота №7

Розпізнавання зображень

Мета роботи. Ознайомитися з популярними сервісами розпізнавання та пошуку зображень. Провести низку експериментів щодо різних підходів до пошуку: за ключовим словом, за існуючим зображенням, комбінація тексту та зображення. Проаналізувати можливості інтелектуальних сервісів щодо розпізнавання вмісту зображень.

Одним з популярних способів використання Інтернету є пошук зображень для різних цілей: використати для оздоблення сайту, блогу або профілю соціальних мереж тощо. В Інтернеті є багато варіантів пошуку зображень, від загальних пошукових систем з функцією пошуку зображень до спеціалізованих пошукових систем для перегляду і індексування зображень.

Загальний пошук зображень в Google

Google залишається джерелом інформації не лише через свою велику базу даних, а й через низку ефективних фільтрів для пошуку та можливості шукати зображення за пошуковим чи голосовим запитом.

Використовуючи розширені параметри пошуку, можна фільтрувати зображення за розміром, кольором, типом розміщеного об'єкта та багато іншого (рис.1).

Рис.1. Застосування фільтрів для обмеження результатів пошуку зображень

Зображення відображаються у вигляді мініатюр, на тепер прибрано кнопку «Відкрити в повному розмірі», що зроблено через збереження авторських прав. Після кліку на зображенні відбувається перехід до сторінки, на якій розміщено картинку. Також, ускладнено опцію пошуку по картинці: прибрано кнопку «Пошук за картинкою», яка надавала можливість відшукати подібні зображення в іншому розмірі та якості. Метою такого підходу було обмежити спроби пошуку авторських зображень без водяних знаків.

Зворотній пошук зображень Google

Сервіс для пошуку зображень використовує алгоритми аналізу і класифікації даних, а для пошуку зображень за візуальним змістом застосовуються технології комп'ютерного зору та опису змісту зображень. Дані технології перетворюють завантажену картинку в набір «візуальних слів». Після цього система серед мільярдів картинок, які містяться в її базі даних вибирає зображення, які мають схожі «візуальні слова» і видає їх користувачеві. При цьому пошук займе не більше хвилини.

Завдання, які вирішує технологія комп'ютерного зору:

  • Класифікація зображень.
  • Пошук дублікатів і схожих зображень.
  • Розпізнавання тексту.
  • Розуміння сцени і розпізнавання об'єктів на зображеннях.

В такому сервісі є кілька сценаріїв використання:

  • Пошук такої ж картинки, але з певними змінами: вищої якості, більшого розміру, без водяного знакe або, навпаки, фотожаби з нею.
  • Дізнатися, хто перебуває на зображенні, тобто визначити зображення людини за текстовими описами на сайтах.
  • Відображати не картинки, а сайти, де вони розміщені. Наприклад, за фотографією дизайнерського стільця, дізнатися, де його можна купити.

Google Lens

Першим призначенням Google Lens було визначення об'єктів через об'єктив камери мобільного пристрою. Алгоритм Google Lens звіряє те, що бачить камера, з тисячами зображень пошукових запитів і видає правильну відповідь. Додаток використовує машинне навчання, алгоритми комп'ютерного зору і TensorFlow, щоб розпізнати об'єкт і знайти відповідність.

Система штучного інтелекту в режимі реального часу розпізнає об'єкт на фотографії і надає наявні по ньому в інтернеті відомості. Технологія обробки фото Google Lens аналізує знімок на пристрої, використовуючи алгоритми комп'ютерного зору, ідентифікує різні об'єкти, які опинилися під прицілом камери девайса, після чого виводить на екран відповідну інформацію. Так, функція буде корисна багатьом користувачам і варіантів її застосування чимало:

  • Пошук інформації про об'єкти (заклади, визначні пам'ятки).
  • Визначення видів рослин і тварин (назви квітів, породи собак тощо).
  • Пошук вподобаних предметів (аналогічних або схожих без необхідності їх опису).
  • Пошук відомостей про товари шляхом розпізнавання їх штрих-кодів.
  • Додавання візитки. Збереження контактних даних (телефону, адреси).
  • Робота з текстом (переклад на іншу мову, копіювання).

Починаючи з 2022 року Google Lens доступний й в Chrome. Скористатися сервісом можна двома способами.

Клікнути правою кнопкою мишки будь-яке зображення на веб-сторінці, і обрати опцію «Шукати зображення за допомогою Google Lens». На панелі з правого боку веб-сторінки з’являється додаткова інформація про фотографію. Там відображаються інші веб-сторінки, які містять те саме зображення. Можна перекласти текст на зображенні або скористатися Об’єктивом, щоб допомогти вам визначити, що на фото.

Скористатися полем пошуку, попередньо обравши опцію пошуку по зображеннях.

Майбутній розвиток Google Lens розробники пов'язують з розвитком нейронних мереж: «Камера з нейронною мережею зможе помістити відповіді прямо туди, де знаходяться питання - показуючи потрібний напрямок напрямок на вулиці, допомагаючи знайти потрібні продукти на полицях магазинів або миттєво переводячи будь-яке слово перед нами в чужому місті. Ми зможемо дізнаватися більше про все, що нас оточує, просто відкривши камеру».

Сервіси зворотного пошуку зображень

Зворотний пошук зображень – це коли за існуючим зображенням шукають інформацію, наприклад, за фотографією квітки – її назву. Цей метод пошуку стає популярним, оскільки є корисним для веб-розробників та авторів контенту.

Причини застосування зворотного пошуку зображення:

  • Перевірка джерела зображення. При зворотному пошуку зображень можна знайти початкове джерело зображення і як картинка змінилася з часом. Це особливо ефективно для аутентифікації профілів людей, новин і зображень подій.
  • Відстеження зображень, захищених авторськими правами. Фотографи та автори контенту можуть використовувати зворотний пошук зображень, щоб дізнатися як їх контент використовується в Інтернеті. Це допоможе відстежити, хто використовує авторські зображення без відповідних прав.
  • Пошук схожих зображень. Зворотний пошук зображення допоможе знайти найкращі знімки або варіанти зображення.

TinEye

TinEye - пошукова система, що спеціалізується на пошуку схожих зображень в Інтернеті. Сервіс аналізує колірну гамму, відтінки, розпізнає зображення і знаходить схожі картинки. Особливістю сервісу є те, що пошук зображень проводиться тільки за картинкою-зразком.

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

Рис. 8. Сторінка результатів зворотного пошуку зображень у TinEye

MulticolorEngine. Визначення домінуючих кольорів у завантаженому зображенні

Color extraction Аналіз кольорів для MulticolorEngine

Multicolr Search. Можливість сервісу TinEye для пошуку зображень за колірною гамою. На палітрі можна підібрати і налаштувати бажану комбінацію кольорів, відповідно до якої TinEye здійснить пошук серед мільйонів зображень в сховищі Flikr (рис.9).

Рис. 9. Сторінка результатів пошуку зображень за визначеними пропорціями кольорів

Візуальний пошук Bing

Корпорація Майкрософт розробила системи машинного навчання, які впроваджують у сервіс пошуку зображень. Ці системи використовують великі дані, що отримані від мільярдів пошукових запитів і інформацію, що міститься в зображеннях.

Використовуючи API пошуку зображень Bing, можна використовувати можливості пошуку зображень Bing у своїх програмах, надіславши пошуковий запит до Bing і отримавши список відповідних зображень. Результати містять мініатюри, повні URL-адреси зображень, інформацію про веб-сайт публікації, метадані зображення тощо. Метадані зображень містять пов’язані пошуки зображень, підписи, авторські права, візуально подібні зображення тощо.

Наявна низка фільтрів, що надає можливість звузити результати пошуку відповідно до макета, типу зображення, ліцензії чи актуальності.

Для пошуку подібних зображень у правому нижньому куті піна є іконка камери. При натисканні на неї з’являється обмежуюча рамка на фотографії, що дозволяє обмежити той об’єкт, за яким здійснюватиметься пошук.

Візуальний пошук Pinterest

Pinterest миттево шукає зображення за пошуковим словом. Для використання потрібно зареєструватися на сервісі. Як тільки користувач натискає кнопку пошуку зображення, результати відображаються майже відразу (рис.10).

Рис. 10. Результати за пошуковим словом у сервісі Pinterest

Для пошуку подібних зображень у правому нижньому куті піна є іконка камери. При натисканні на неї з’являється обмежуюча рамка на фотографії, що дозволяє обмежити той об’єкт, за яким здійснюватиметься пошук.

Cloud Vision API

Cloud Vision API - сервіс від Google для роботи з зображеннями. Програма дає детальний і детальний аналіз картинок за допомогою механізму машинного навчання. Після завантаження зображення сервіс надає звіт про те, як його бачить штучний інтелект (рис.11).

Рис. 11. Фотографія-оригінал для аналізу зображення

Вкладка Faces (Обличчя): показує, видно чи особа людини, наскільки він щасливий, які взагалі відчуває емоції, чи є на ньому головний убір, як щодо простору нахилена його голова (рис.12).

Рис.12. Розпізнавання емоцій на обличчі людини

Вкладка Objects (Об'єкти) зазначає, що конкретно зображено на картинці. На цьому зображенні, машина зрозуміла, штани з ймовірністю в 94%, людина - 89%, тварина - 63%, майка - 57% (рис.13).

Рис.13. Розпізнавання загальних об'єктів на фотографії

Вкладка Labels (Мітки): тут показується, що ще зображено на картинці, крім людини (якщо він є). Прописуються деталі і контекстуальні аспекти зображення. На цьому зображенні - хребетна тварина, ссавець, бичача морда тощо (рис.14).

Рис.14. Розпізнавання деталей об'єктів на фотографії

Вкладка Text (Текст) - розпізнається текст, що знайдений на фотографії (рис.15).

Рис. 15. Розпізнаний текст на фотографії.

Вкладка Properties (Властивості) - відображаються основні кольори, які присутні на картинці та виявлені об'єкти, окрім людини (рис.16).

Рис.16. Визначення домінуючих кольорів

Вкладка Safe Search (Безпечний пошук) показує, наскільки зображення безпечно для перегляду, чи немає на ньому чогось забороненого (елементи порнографії, жорстокості, містифікації і расизму) (рис.17).

Рис. 17. Визначення безпечності фотографії для перегляду
Сервіс має можливість розпізнати відомі географічні чи архітектурні об’єкти, чиї зображення протеговані і містяться у базах пошукової системи Google/

Image Recognize

Визначення об’єктів на зображенні за допомогою технології розпізнавання об’єктів.

Сервіс визначення віку людини

Подібні сервіси застосовують широкий комплекс спостережень, що допоможуть швидко оцінити вік:

  • Лобові зморшки людини зазвичай стають помітні з 20 років. У 30 років вони вже добре виражені (особливо у людей, які не стежать особливо за собою). До 50-ти років зморшки на лобі стають дуже вираженими.
  • Після 35 років з'являються невеликі складки в кутах рота. У 50 стають дуже вираженими.
  • Зморшки під очима з'являються після 30 років.
  • Міжбровні зморшки стають помітними у віці 50-55 років.
  • Носогубні складки стають яскраво вираженими в 40-45 років тощо.

How old do you look?

Сервіс розпізнавання обличчя на фотографії. Користувач завантажує фотографію, сервіс її аналізує і протягом пари секунд надає результат: виділяється обличчя та зазначається ймовірний вік (рис 18).

Рис. 18. Визначення віку особи на фотографії
  • Якість фотографії: чим вище, тим точніше буде визначено вік.
  • Колір. Кольорова фотографія показує кращі результати: вік визначається точніше. Хоча, якщо фото чорно-біле в хорошій якості - то сервіс працює досить добре.
  • Фото, що відредаговані в Adobe Photoshop (і інших редакторах) можуть визначатися неправильно.

Detect age by photo

Сервіс, за допомогою якого можна визначити біологічний вік людини за фотографією. Використовує алгоритми машинного навчання для визначення віку.

Face Age Calculator

Безкоштовне онлайн визначення віку обличчя. Калькулятор за обличчям зможе визначити вік. Вік обличчя та реальний вік кожного матимуть певні особливості і відмінності, але цікаво дізнатися як оточуючі сприймають конкретну особу.

Pictriev

Сервіс спроможний визначити стать, вік і схожість до відомих людей (Рис.20). Цей сервіс більш примхливий до якості фото: потрібні тільки якісні фотографії, на яких чітко видно обличчя.

Рис. 20 Результат розпізнавання особи

Інші сервіси комп'ютерного зору

  • ImageNet. Велика візуальна база даних, що призначена для використання в нейронних мережах для розпізнавання візуальних об'єктів.
  • What-Dog.net. Сервіс від Microsoft, що вміє визначати породу собак по фотографії.
  • Люди, яких не існує. Генерація обличь людей.
  • Коти, яких не існує. Генерація портретів котів.

Відео лабораторної роботи

Контрольні запитання

  1. Коротко перелічити особливості, що притаманні людському зору у сприйнятті реальності.
  2. Перелічити сервіси, що надають пошук зображень. Здійснити коротке порівняння.
  3. Які підходи до пошуку зображень використовує Google?
  4. Перелічити корисні фільтри в Google, що сприяють пошуку зображень.
  5. Яким чином відбувається зворотний пошук зображень. Перелічити популярні сервіси.
  6. Які проблеми вирішуються при зворотному пошуку зображень?
  7. Коротко описати сервіс Cloud Vision API. Які завдання він спроможний вирішити.
  8. Навести приклади сервісів, що спроможні здійснювати інтелектуальні завдання щодо зображень.
  9. Яким чином здійснюється пошук схожих зображень за простими ознаками?
  10. Назвіть підходи для пошук схожих зображень за складними обчисленнями.

Лабораторне завдання

  1. Ознайомитися з теоретичними відомостями стосовно комп'ютерного зору, розпізнавання зображень та основними підходами.
  2. Здійснити прямий та зворотній пошук зображень в різних пошукових системах та сервісах. Зауважити на відмінності в результатах, релевантності знайдених зображень.
  3. Завантажити на смартфон додатки, що розпізнають об'єкти чи сканують текст і здійснити відповідні дії. Зазначити особливості використаних додатків, їх доступність, сумісність та перспективи розвитку.
  4. Скористатися сервісом Cloud Vision API. Завантажити зображення, що містить цікаві об'єкти і перевірити спроможність штучного інтелекту розпізнавати вміст зображення.
  5. Проаналізувати отримані результати і зробити висновки.
  6. Під час захисту лабораторної роботи вільно володіти теоретичним матеріалом: підходи щодо розпізнавання зображень, усталені терміни, інтелектуальні підходи та використання нейронних мереж.

Зміст звіту

  1. Назва та мета виконання лабораторної роботи.
  2. Скіншоти виконання різних варіантів пошуку зображень з порівнянням результатів за різними показниками.
  3. У висновку оцінити особливості сервісів, що спроможні до розпізнавання образів, зручність їх використання та підходи до покращення якості результатів.