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

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

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

Важливо

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

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

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

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

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

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

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

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

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

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

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

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

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

Ід.

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

Коментарі

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 із декількома вибраними записами подібних облич для встановлення для них мітки імені Аґнес

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

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

Примітка

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

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

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

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

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

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

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

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

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

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

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

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

Окрім встановлення міток для автоматично виявлених зображень облич, ви можете додати область обличчя вручну:

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

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

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

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

    Примітка

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

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

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

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

    Примітка

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

Розпізнавання облич

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

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

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

Примітка

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

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

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

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

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

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

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

Примітка

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

Як працює розпізнавання

Важливо

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

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

  • Приклад 1. Для зображення обличчя спереду буде встановлено відповідність обличчям, повернутим трохи вбік. Для зображень облич, повернутих трохи вбік, буде встановлено відповідність обличчями, повернутими переважно вбік. Для облич, повернених переважно вбік, буде встановлено відповідність обличчями в повний профіль.

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

Точність розпізнавання стане дуже високою, якщо ви зберете і навчите вашу бібліотеку.

Важливо

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

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

Вкладка місць пошуку

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

  • Для виявлення digiKam виконає сканування вибраних у фільтрі для облич зображень.

  • Для розпізнавання digiKam спробує встановити відповідність міток облич Невідомі і Непідтверджені на зображеннях, які включено до фільтра, із усіма підтвердженими мітками облич.

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

Вкладка параметрів

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

Примітка

Починаючи з digiKam 8.5.0, рекомендованою моделлю виявлення облич є YuNet, а моделлю розпізнавання облич є SFace.

Параметри виявлення облич

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

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

  • Точність: менші значення точності можуть дати змогу виявити більше облич на зображенні, але це також призведе до збільшення кількості областей, неправильно визначених як обличчя (хибні спрацьовування). Рекомендуємо стандартне значення 7 для звичайного використання.

  • Модель: у digiKam передбачено підтримку 3 різних моделей для виявлення облич. Рекомендованою моделлю виявлення є YuNet. Ця модель є швидшою та гнучкішою у налаштуваннях, ніж YOLO v3 і SSD.

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

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

Для розпізнавання облич передбачено 2 параметри, які користувач може змінити для керування тим, як digiKam встановлює відповідність між зображеннями з категорії Невідомі та підтвердженими зображеннями облич.

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

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

  • Модель: SFace є рекомендованою моделлю розпізнавання. Ця модель набагато точніша за OpenFace. Зміна однієї моделі розпізнавання на іншу потребує повторного навчання бібліотеки облич, що може потребувати багато часу.

Використовувати всі ядра процесора

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

Порада

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

Особливі випадки

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

  • Великі групові фотографії: у вас можуть бути зображення великих груп людей, і буде потреба створити мітку обличчя для кожної людини на зображенні. Якщо використано модель виявлення YuNet, Точність виявлення 1 і Розмір обличчя Надзвичайно малий, має бути виявлено більшість облич, якщо не всі обличчя на зображенні. Це також призведе до неправильно позначення більшої кількості областей зображення як облич (помилкових спрацьовувань).

  • Портрети: під час зйомки портретів вгору від рівня плечей, особливо за допомогою сучасних камер із високою роздільною здатністю понад 40 мегапікселів, функція розпізнавання обличчя може не розпізнати обличчя або може позначити кілька ділянок одного обличчя. Якщо використано модель виявлення YuNet, Точність виявлення 8 і Розмір обличчя Дуже великий, можна досягти виявлення облич і усунути хибні позначені міткою області.