А що якби пазли можна було б скласти за допомогою програми за лічені секунди? У цьому пересвідчились на воркшопі з  Computer Vision, який відбувся 13 вересня в ЛНУ ім. І. Франка на факультеті прикладної математики та інформатики. Ми спільно з факультетом та Наталією Новосад, випускницею цьогорічного Abto Summer Camp з Computer Vision&AI, організували для студентів 2-4 курсів інтенсивний воркшоп, в рамках якого ми розбирали код, який допомагає зібрати пазли в цілісну картинку.

Воркшоп складався з 7 етапів:

  • Puzzle Cropper – вирізаємо пазли із зображення і зберігаємо кожен з них як окремий об’єкт
  • Locks Searcher – знаходимо дефекти опуклості пазлів, тобто внутрішні та зовнішні замочки
  • Puzzle Aligner – визначаємо контур пазла без замочків, тобто апроксимуємо його до прямокутника, щоб обернути пазл в “правильну” орієнтацію
  • Puzzle Rotator – зберігаємо  множину копій кожного пазла, які відрізняються лише кутом повороту – адже ми не знаємо, як необхідно буде повернути пазл, для того щоб скласти картинку на фінальному етапі
  • Puzzle Joiner – перша спроба скласти кінцеву картинку – підбираємо пазли за ознакою їх геометрії, тобто перевіряємо замочки на найкраще співпадіння
  • Color Descriptor –  додаємо перевірку пазлів по кольору, щоб удосконалити алгоритм, який на попередньому кроці допускав достатньо багато помилок
  • Animation – “бонусний” етап алгоритму, який дозволяє побудувати фінальну матрицю трансформації пазлів із їхньої початкової позиції на вхідному зображенні в позицію на зібраному пазлі.

Ольга Копач, Антон Громов та Микола Баранов з R&D відділу на воркшопі детально розповіли студентам про всі етапи та тонкощі  алгоритму, а також продемонстували як це працює на практиці. А учасники воркшопу долучилися до обговорення ідей щодо покращення програми, найактивніших ми нагородили подарунками.