Панель перегляду людей

Якщо ви не знімаєте лише машини, зірки або щось подібне, вас зацікавить можливість обробки облич на знімках (навіть у машині може бути водій). У digiKam реалізовано двоскладову обробку: виявлення облич і розпізнавання облич.

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

Важливо

Для належної роботи засобу керування записами облич потрібно отримати моделі глибокого навчання під час першого запуску digiKam. Докладніше про це можна дізнатися з розділу початкових зауважень.

Виявлення облич

На першому кроці digiKam має знайти зображення із обличчями, навіть не знаючи, чиє це обличчя. Щоб приготуватися до цієї процедури, вам слід відкрити вкладку Люди на лівій бічній панелі. У нижній частині вікна ви можете скористатися панеллю параметрів зі спадним меню, з якого ви можете вибрати такі варіанти:

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

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

  • Вилучити непідтверджені результати і виконати пересканування: вилучити усі зареєстровані у базі даних обличчя без імені і повторно виконати аналіз.

  • Вилучити усі попередні результати і виконати пересканування: вилучити усі раніше зареєстровані у базі даних обличчя і повторно виконати аналіз.

Перегляд процедури розпізнавання облич digiKam

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

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

Примітка

За допомогою вкладки Параметри ви також можете визначити, хочете ви виконати виявлення облич чи розпізнавання облич.

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

Панель перегляду пошуку розпізнавання облич digiKam

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

Перегляд параметрів розпізнавання облич digiKam

Примітка

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

Порада

Через технічні обмеження у Windows підтримка роботи на декількох ядрах з базою даних Mysql/MariaDB не надає достатньої швидкодії. Ми рекомендуємо користуватися у цьому середовищі базою даних SQlite.

Для потрібного нам завдання вам, звичайно ж, слід позначити пункт Виявити обличчя. Оскільки виявлення облич є доволі тривалою справою, не слід одразу натискати кнопку Шукати. Скористайтеся, будь ласка, пунктом Параметри. У відповідь програма розгорне додаткову панель, яку поділено між трьома вкладками. На вкладці Шукати у ви можете обмежити пошук певними альбомами або мітками. На вкладці Параметри ви можете скоригувати значення Точності обличчя, обравши щось відповідне між Чутливістю і Специфічністю. Вище значення специфічності вказує на вищу точність, втім, це призводить до звуження набору результатів. На вкладці Додатково ви знайдете два поля для позначок. Пояснення щодо першого наведено над ним. Друге призначено для розпізнавання облич, див. наступний розділ.

Щойно буде визначено усі параметри пошуку, ви можете натиснути кнопку Шукати. За деякий час, який залежить від області пошуку, результати буде представлено у області зображень. У списку «Мітки» на лівій бічній панелі ви побачите гілку «Люди» із ієрархією міток. Ви побачите результати усього сканування, лише якщо вибрано мітку верхнього рівня «Люди». У ієрархії буде показано нову віртуальну мітку із назвою «Невідомо», під якою буде показано усіх зображення, де було виявлено обличчя, які ще не пов’язано із конкретною особою. Якщо сканування виконувалося вперше, під цією міткою буде показано усі результати виявлення облич.

Відео процесу виявлення облич у digiKam, запуск для збірок і заповнення бази даних

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

Якщо міток не видно, натисніть кнопку «Люди» icon_showfacetags у верхньому лівому куті зображення попереднього перегляду. Якщо на зображенні декілька міток облич, його буде представлено декількома мініатюрами. Саме так представлено у режимі попереднього перегляду зображення на знімку вікна вище.

Редагування міток облич на панелі перегляду піктограм digiKam

Якщо було виявлено справжнє обличчя, слід скористатися полем «Хто це?». Ви можете або ввести ім’я для наявної мітки особи у вашій ієрархії міток, або скористатися спадним списком міток і вибрати мітку з нього. За допомогою кнопки Підтвердити результат можна зберегти у базі даних. Якщо це була остання мітка обличчя на фотографії, пункт фотографії зникне зі списку Невідомо і з’явиться у списку мітки Люди або однієї із міток, які було пов’язано із обличчями на фотографії.

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

Ід.

Зразки виявлених облич

Коментарі

01

Недоекспоноване обличчя

02

Затулене собакою обличчя

03

Розмите дитяче обличчя

04

Нелюдське обличчя

05

Дуже розмите та частково зображене обличчя

06

Обернуте обличчя

07

Обличчя, яке закрито капюшоном

08

Обличчя збоку

09

Недоекспоноване і частково видиме обличчя

10

Помилкове виявлення обличчя

11

Рот цуценяти

12

Обличчя, яке перекрито ракеткою

Знімки 02 і 11 було вибрано, оскільки на них показано одну важливу особливість: алгоритм здатен виявляти морди тварин, і це не помилка, якщо, звичайно, ви хочете бачити у своїй збірці лише обличчя людей.

На знімку 10 наведено ще один приклад важливої проблеми: алгоритм виявляє на знімку області, які нагадують обличчя, але насправді ними не є. Ось для чого у нас є кнопка Вилучити. Ця кнопка надає змогу вилучити мітку обличчя з фотографії. Якщо ця мітка була останньою на фотографії, фотографія зникне зі списку результатів сканування.

Знімки 01, 03, 05, 08, 09 і 12 можна вважати знімками, на яких немає облич. Запобігти їхній появі можна зменшенням значення Точності виявлення на панелі Параметри засобу керування записами облич. Але ці приклади підтверджують здатність алгоритму виявляти обличчя навіть за дуже поганих умов знімання.

Знімки 04 і 10 є прикладом явного помилкового виявлення результатів.

У контекстному меню попереднього перегляду зображення передбачено ще два пункти пов’язані із мітками облич: Додати мітку обличчя і Вилучити всі прив’язки до облич на цьому зображенні.

Виявлення облич

Пов’язування міток людей до міток облич є важливою попередньою умовою для розпізнавання облич Очевидно, що digiKam може розпізнавати обличчя, лише якщо матиме щось для порівняння. Отже, вам доведеться дати якусь інформацію програмі digiKam: це — Люда, це — Іван, це — Петро тощо. Для цього вам слід після виявлення облич, яке описано у попередньому розділі, вибрати мітку Невідомо на лівій бічній панелі, натиснути мініатюру і, якщо треба, натиснути кнопку «Показати мітки облич» icon_showfacetags.

Перегляд піктограм засобу керування записами облич digiKam із декількома вибраними записами подібних облич для встановлення для них мітки імені Аґнес

Після цього ви побачите мітки облич на фотографії. Для тих, на яких мітки людей (або інші) вже призначено, просто буде показано назву відповідної мітки. Для інших, де є невідомі обличчя, буде показано поле і дві кнопки, як на знімку вікна у попередньому розділі. У полі з міткою Хто це? ви можете або ввести ім’я особи із міткою у вашій ієрархії «Люди» або скористатися спадним списком вашої ієрархії міток і вибрати мітку. За допомогою кнопки Підтвердити ви можете зберегти введені дані до бази даних.

Перегляд піктограм засобу керування записами облич digiKam із підтвердженим набором 12 облич з використанням імені Аґнес

Примітка

Якщо ви скористаєтеся пунктом контекстного меню Призначити мітку замість описаної вище процедури, мітку обличчя не буде призначено. Буде призначено звичайну мітку до усього зображення.

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

Щойно вами буде призначено мітки до декількох фотографій, ви зможете наказати digiKam шукати інші фотографії з тим самим обличчям**. Для приготування цього процесу натисніть Шукати обличчя у збірці, але цього разу вам слід вибрати варіант Розпізнати обличчя.

Важливо

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

Щоб розпочати розпізнавання облич, натисніть кнопку «Шукати у збірці обличчя». Програма позначить усі розпізнані обличчя міткою особи з ієрархії «Люди», а відповідна мініатюра зникне зі списку мініатюр із міткою Невідомо.

Перегляд піктограм засобу керування записами облич digiKam із новими розпізнаними автоматично обличчями для імені Аґнес

Розпізнавання облич є дією, яка швидша за виявлення облич, але попри це краще спочатку натиснути кнопку Параметри і обмежити пошук певними альбомами і/або мітками за допомогою вкладки Альбоми, наприклад, визначити використати лише мітку Невідомо. За допомогою вкладки Параметри ви можете спробувати знайти баланс між швидкістю і точністю, який відповідатиме вашим потребам та скористатися двома іншими пунктами. Перший пояснено у тексті, який йому передує.

Примітка

Розпізнавання облич добре працює лише з обличчями, які було автоматично виявлено digiKam, а не з намальованими вручну прямокутниками зображень облич або зображеннями облич, які виявлено іншими програмами.

Якщо результати виявляться незадовільними, варто скористатися пунктом Вилучити і повторно створити всі тренувальні дані. Однією з причин може бути те, що з особою пов’язано надто багато міток облич, що ускладнює роботу алгоритму пошуку. Наприклад, одне обличчя змінено протисонячними окулярами, розмиттям, незвичними кольорами, гримом, темними ділянками на обличчі, різним віком особи на фотографіях… Ще однією причиною використання цього варіанта може бути помилкове розпізнавання облич через неналежне значення параметра точності на вкладці Параметри.

Перегляд піктограм засобу керування записами облич digiKam із новими розпізнаними обличчями для імені Аґнес для підтвердження

Щоб завершити процедуру розпізнавання, вам слід Підтвердити нові розпізнані обличчя. Після застосування властивостей нові записи облич буде пересунуто до відповідного списку мітки обличчя.

Результати розпізнавання облич буде показано у формі категорії «Непідтверджені». Із фотографіями буде пов’язано мітку Непідтверджені, а також мітку особи, яка може бути на знімку. Якщо ви наведете вказівник миші на пункт обличчя з міткою «Непідтверджені», програма покаже вам панель із декількома варіантами дій:

  • Скористайтеся кнопкою Підтвердити, щоб підтвердити пропозицію. Після натискання цієї кнопки програма пов’яже запропоноване ім’я із обличчям.

  • Скористайтеся кнопкою Відкинути, якщо пропозиція є помилковою**. Після натискання цієї кнопки зображення обличчя буде повернуто до категорії Невідомі.

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

Про категоризація і упорядкування облич. Типово, зображення облич буде категоризовано за іменем``. Ви можете змінити це за допомогою пункту меню Перегляд -> Окремі записи. Зауважте, що використання іншого порядку категоризації призведе до того, що зображення із мітками «Підтверджені» і «Непідтверджені» буде перемішано. Позбутися перемішування можна змінивши упорядкування у кожній з категорій за допомогою пункту меню Перегляд ‣ Впорядкування зображень ‣ За типом облич.

Щоб удосконалити результати розпізнавання облич, окрім використання параметрів, про які ми згадували вище, результати розпізнавання можна поліпшити перебудовою еталонних даних`. Зробити це можна за допомогою пункту меню Інструменти ‣ Супровід ‣ Виявити і розпізнати обличчя ‣ Вилучити і повторно створити всі тренувальні дані.

Визначення міток облич вручну

У digiKam передбачено можливість визначення міток зображень вручну.

Щоб дізнатися більш про автоматичне виявлення облич, яке використовується для автоматичного встановлення міток у digiKam, ознайомтеся із попереднім розділом цього підручника.

Ви можете позначити записи людей мітками вручну в інший спосіб:

  • У режимі попереднього перегляду: натисніть піктограму Додати мітку обличчя або виберіть відповідний пункт у контекстному меню, як це показано на наведеному нижче знімку.

    Встановлення міток облич digiKam вручну за допомогою контекстного меню

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

    Редагування міток облич digiKam вручну

    Примітка

    Замість натискання піктограми Додати мітку обличчя, ви можете просто намалювати область обличчя на знімку утримуючи натиснутою клавішу Ctrl.

    У контекстному меню режиму попереднього перегляду є ще два пункти, якими можна скористатися під час встановлення міток облич вручну:

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

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

  • За допомогою вкладки Люди лівої бічної панелі: скористайтеся перетягуванням зі скиданням з панелі перегляду піктограм на список міток облич. Позначте записи із міткою Невідомі, з якими ви хочете пов’язати мітку обличчя. Перетягніть список записів за допомогою вказівника миші на відповідний пункт ієрархічного списку Люди. У відповідь буде показано контекстне меню для підтвердження призначення обличчя.

    Відео призначення мітки обличчя вручну за допомогою перетягування зі скиданням

  • За допомогою клавіатурного скорочення: ви можете пов’язати з міткою обличчя певну комбінацію клавіш і швидко призначати мітку обличчя для позначених записів за допомогою клавіатури.

    Вікно властивостей мітки обличчя digiKam з призначеним клавіатурним скороченням

  • За допомогою мітки Невідомі на панелі перегляду Люди: щоб ідентифікувати обличчя вручну, наведіть вказівник миші на будь-який пункт обличчя у категорії «Невідомі» і скористайтеся полем для введення тексту, щоб ввести ім’я. Після введення імені буде створено мітку обличчя, якщо запису відповідної особи ще не було у базі даних. Щоб покращити результати, виконайте ідентифікацію принаймні 4 зображень облич для кожної особи, знімки з якою слід згодом розпізнати.

    Відео позначення облич вручну за допомогою панелі перегляду піктограм

    Примітка

    На сторінці Різне/Поведінка діалогового вікна налаштовування можна позначити пункт заповнення ієрархічного списку міток мітками облич, які пов’язано із записами облич, лише коли ви введете ім’я.

Якщо ви хочете, щоб програма не розпізнавала якесь обличчя, ви можете позначити його як ігнороване.Таке позначення призведе до створення мітки Ігноровані. Якщо пізніше це зображення вам знадобиться, ви можете зняти з нього позначку ігнорування.

Обличчя, яке позначено як Ігнороване на панелі перегляду піктограм