Компьютерное зрение и, в частности, задачи обработки изображений и распознавания образов в настоящее время получают широкое распространение в различных сферах деятельности. Методы из этой области знаний находят применение в решении самых разнообразных задач.
Повсеместно используются системы видеонаблюдения, способные отслеживать движущиеся объекты; автоматические системы обработки видеопотока осуществляют контроль качества на производствах; необходимость в методах обработки изображений возникает и в криминалистике, и в информационном поиске, и при разработке автономных автомобилей.
Несмотря на широкое распространение компьютерного зрения, существует довольно много нерешенных или имеющих потенциал для лучшего решения задач в этой области. Ярким примером стал DARPA Shredder Challenge, в котором всем желающим было предложено написать программу, позволяющую максимально восстановить документы из фрагментов, извлеченных из уничтожителей бумаг разного уровня безопасности. Соревнование, получив широкую огласку, привлекло большое число исследователей и энтузиастов. В результате, конкурсантам удалось решить задачу с достаточно высокой точностью, позволяющей извлечь достаточно большое количество информации из документов.
В настоящее время задачи восстановления изображения из фрагментов не получают достаточно широкого распространения. Большинство работ решают довольно узкую задачу восстановления цифрового изображения, разделенного на одинаковые прямоугольные(а чаще всего даже квадратные) фрагменты[1],[4],[5]. Но при такой постановке задачи авторы этих работ не сталкиваются с многими аспектами, как например: извлечение необходимых фрагментов из изображения, содержащего эти фрагменты; решение проблем с помехами и зашумленностью изображения; различие в размерах и форме фрагментов; искажение формы фрагментов; влияние освещения на изображения и многие другие. Такой вариант постановки задачи практически неприменим к реальным проблемам восстановления изображений, поскольку не принимает во внимание указанные выше аспекты, которые всегда в той или иной степени будут присутствовать.
В процессе изучения данного вопроса, была замечена работа[2], авторы которой пытались собрать паззл, полученный из цифрового изображения, но по результатам тестов признали свой метод имеющим крайне низкую точность. По прежнему, им не приходилось иметь дело с описанными выше аспектами, за исключением различия формы фрагментов.
В данной работе рассматривается алгоритм сборки паззла, исходные изображения которого получены при помощи устройств захвата изображений, таких как сканер или фотоаппарат. Рассматриваемый алгоритм является комплексным решением, включающим в себя полный цикл действий от разбора исходных изображений до формирования итогового изображения.
Разработанный алгоритм показал хорошую точность работы в случаях, когда фрагменты паззла имеют четко различимую на исходных изображениях границу и способен произвести сборку с минимальным вмешательством в процесс или вовсе без вмешательства. В противном случае, алгоритм показывает удовлетворительные промежуточные результаты, но неспособен завершить сборку без дополнительной информации о границах.
[1]: Gallagher A.C. Jigsaw Puzzles with Pieces of Unknown Orientation / IEEE
CVPR, 2012, P. 382-389;
[2]: Liang L. A Jigsaw Puzzle Solving Guide on Mobile Devices / Liang Liang,
Zhongkai Liu // In EE368 Projects, 2010;
[3]: Kosiba D.A. An Automatic Jigsaw Puzzle Solver / David A. Kosiba, Pierre M.
Devaux, Sanjay Balasubramanian, Tarak L. Gandhi, Rangachar Kasturi // 12th
IAPR International Conference, 1994, vol. 1, P. 616-618
[4]: Sholomon D. A Genetic Algorithm-Based Solver for Very Large Jigsaw
Puzzles / Dror Sholomon, Omid David, Nathan S. Netanyahu // IEEE CVPR,
2013, P. 1767-1774;
[5]: Taeg Sang Cho. A probabilistic image jigsaw puzzle solver / Taeg Sang Cho,
Shai Avidan, William T. Freeman // IEEE CVPR, 2010, P. 183-190;
[6]: Bradski G. Learning OpenCV / Gary Bradski, Adrian Kaehler – O’Reilly
Media Inc., 2008/ - 576 p., ISBN: 978-0-5965-1613-0;
[7]: Dawson-Howe K. A Practical Introduction to Computer Vision with OpenCV /
Kenneth Dawson-Howe – Wiley, 2014 – 234 p., ISBN: 978-1-1188-4845-6;
[8]: Forsyth D.A. Computer Vision: A Modern Approach, 2nd Edition / David A.
Forsyth, Jean Ponce – 2nd Edition – Pearson, 2011. – 792 p., ISBN: 978-0-1360-
8592-8;
[9]: Nixon M.S. Feature Extraction and Image Processing / Nixon M.S., Aguado
A.S. – Replika Press Pvt Ltd, 2002. – 360 p., ISBN: 0-7506-5078-8;
[10]: Ritter G.X. Handbook of Computer Vision Algorithms in Image Algebra /
Gerhard X. Ritter, Joseph N. Wilson – 2nd Edition – CRC Press LLC, 2001. – 448
p., ISBN: 978-0-8493-0075-2, 978-1-4200-4238-2;
[11]: Shapiro L.G. Computer Vision / Linda G. Shapiro, George C. Stockman –
Pearson, 2001. – 608 p., ISBN: 978-0-1303-0796-5;
[12]: Ложные границы, создаваемые билатеральным фильтром:
http://people.csail.mit.edu/sparis/bf_course/slides/09_limitations.pdf
5758
[13]: Инвертирование цветов билатеральным фильтром:
http://research.microsoft.com/en-us/um/people/kahe/eccv10/eccv10ppt.pdf
[14]: Обзор методов нахождения характерных точек:
http://www.racurs.ru/wiki/index.php/Обзор_методов_обнаружения_характерны
х_точек
[15]: Исходный код тестового приложения:
https://github.com/Chillintano/puzzle-algo
[16]: Библиотека OpenCV: http://opencv.org/
[17]: Библиотека Qt5; http://www.qt.io/
[18]: Библиотека GTEngine: https://www.geometrictools.com/
[19]: Материалы по OpenCV: http://robocraft.ru/page/opencv/
[20]: Фурман Я.А. Введение в контурный анализ; приложения к обработке
изображений и сигналов / Фурман Я.А., Кревецкий В.А., Передреев А.К.,
Роженцов А.А. и др. – Под ред. Фурмана Я.А. – 2-е изд., испр. –
М.:ФИЗМАТЛИТ, 2003. – 592 с. – ISBN 5-9221-0374-1;
[21]: Сборка OpenCV для использования с Qt:
http://recog.ru/blog/opencv/4.html