1. Введение 3
1.1. Определение позы 3
1.2. Скетч рисунок 3
1.3. Методы глубокого обучения 5
2. Постановка задачи 7
3. Обзор литературы 8
3.1. Определение позы 8
3.2. Трансферное обучение 9
4. Генерация данных 11
4.1. Существующие наборы данных 11
4.2. Датасет Mixamo 13
4.3. Blender 14
4.4. Рендеринг 15
4.5. Создание синтетического набора данных 17
5. Обучение 19
5.1. Deep High-Resolution Net 19
5.2. Основные модели 20
5.3. Трансферное обучение 23
6. Результаты 26
6.1. Выбор гиперпараметра: вес ошибки дискриминатора .... 26
6.2. Выбор архитектуры дискриминатора 27
6.3. Численные результаты 28
6.4. Выводы и дальнейшее развитие 31
7. Заключение 35
8. Благодарность 36
Список литературы 37
1.1. Определение позы
Определение позы - это классическая задача компьютерного зрения, суть которой состоит в нахождении нескольких ключевых точек, так называемого скелета, на изображении. Определение позы имеет множество практических применений в самых разных областях, начиная от занятий спортом и заканчивая кинематографом.
Значительный прогресс в решении этой задачи и в целом в области компьютерного зрения случился с приходом глубокого обучения и нейронных сетей. За последние десятилетия накопилось множество крупномасштабных наборов данных с размеченными фотографиями и видео из реального мира - что является основой любого метода глубокого обучения. Объём и разнообразие датасета сильно коррелирует с точностью модели - чем больше набор данных, тем лучше модель обобщается, и, соответственно, тем лучше производительность на практике. Обучаясь на датасетах с миллионами самых разных цветных изображений, нейронная сеть способна крайне точно выделить нужные признаки и на реальных фотографиях современные нейронные сети показывают очень высокие результаты.
1.2. Скетч рисунок
Однако часто аналогичные задачи возникают для нестандартных данных. Одним из таких примеров является определение положения по скетч рисунку. Скетч, то есть набросок рисунка, сильно отличается от реальной фотографии. Как правило, скетч - это чёрно-белый рисунок карандашом на белой бумаге, который состоит лишь из силуэта персонажа. То есть по своей сути - это набор нескольких чёрных линий на белом фоне. С точки зрения компьютера - это несравнимо малое количество информации по сравнению с цветной фотографией в высоком разрешении. Персонажи мультфильмов часто имеют нереалистичные или сильно искажённые пропорции. Сами художники также могут нарушать пропорции конечностей в зависимости от своего стиля рисования или просто из-за неточностей рисунка[1, 2, 3]. Помимо этого, художники часто используют нелинейную перспективу[4] в своих рисунках, которая не соотносится с перспективой, получаемой фото или видео камерой. Поэтому обучения на фотографиях из реального мира становится недостаточно. Реальные фотографии не покрывают то многообразие форм и конфигураций, которые могут нарисовать художники. Для данной задачи нужны более специфичные алгоритмы глубокого обучения, нестандартные подходы и подходящий обучающий набор данных.
При этом определение положения по скетч рисунку - это очень распространённая задача при создании анимации, например, для компьютерных игр, кинофильмов и мультфильмов, приложений для телефона и так далее. До создания анимации художник рисует эскиз персонажа, который впоследствии служит референсом для создания 3D модели на компьютере. Создание этой модели происходит вручную и занимает очень много времени. Кроме того, эта работа требует от художника дополнительной квалификации и часто не является его рабочим интересом, забирая на себя много ресурсов и сил и отвлекая его от более творческих занятий. Именно поэтому автоматизация данного процесса является очень востребованной на практике задачей. Получение готовой модели лишь по скетч рисунку повышает эффективность работы художника и избавляет его от монотонной деятельности, а также ускоряет процесс создания анимации.
В генерации модели по скетч рисунку есть несколько подзадач. Например, можно восстанавливать 2D или 3D скелет, то есть находить положение нескольких ключевых точек, взаимосвязанных между собой, в двумерном или трёхмерном пространстве соответственно. Более трудной задачей является восстановление всей 3D модели, то есть получение множества вершин в трёхмерном пространстве, сгрупированных в геометрические примитивы (например, в треугольники), и приближенно описывающих поверхность объекта. Один из подходов к решению этой подзадачи и её усложнениям предлагает наука фотограмметрия, которая занимается трёхмерной реконструкцией по фотографиям. Но алгоритмам фотограмметрии требуется набор из нескольких фотографий с разных ракурсов. Эти алгоритмы не предназначены для восстановления модели лишь по одной фотографии (или одному скетч рисунку)....
В работе исследовалась задача определения положения персонажа по скетч рисунку художника.
Был сгенерирован синтетический набор данных со скетч рисунками. На полученном датасете было обучено и протестировано несколько классических моделей задачи определения положения. Для улучшения результата были применены методы трансферного обучения, в результате чего классические модели были расширены дополнительным классификатором, были изменены функции обучения и валидации.
В ходе работы был проведён ряд эксперементов: обучение происходило с разными гиперпараметрами моделей, использовались разные архитектуры классификатора для трансферного обучения. Полученный набор моделей был протестирован. Модели были сравнены по разным метрикам, а также по полученным изображениям с предсказаниями.
Обучение на синтетических данных дало прирост в качестве по сравнению с обучением на классическом датасете, что доказало применимость данного метода в задаче определения положения и целесообразность дальнейших исследований.
Методы трансферного обучения позволили ещё сильнее увеличить качество предсказаний нейронной сети. В результате чего была получена модель, предсказывающая двумерный скелет персонажа по одному скетч рисунку, с отличным качеством, которое сильно выше качества классических моделей. Более того, качество полученной модели можно легко увеличивать, не тратя ресурсов на разметку реальных скетчей.
В завершение, были обсуждены возможные способы применения обученных моделей и дальнейшие пути улучшений и исследований.
[1] Walt Stanchfield, Leo Brodie: Gesture Drawing for Animation. Independently published, 1 редакция, 2020, ISBN 979-8694892155.
[2] Hogarth, Burne: Dynamic Figure Drawing. Watson-Guptill, 1996.
[3] Thomas, Frank и Ollie Johnston: The Illusion of Life: Disney Animation. Disney Editions, New York, N.Y., 1st hyperi редакция, 1981, ISBN 0-7868-6070-7.
[4] Singh, Karan: A Fresh Perspective. В Proceedings of the Graphics Interface 2002 Conference, May 27-29, 2002, Calgary, Alberta, Canada, страницы 17-24, May 2002. http://graphicsinterface.org/wp-content/ uploads/gi2002-3.pdf.
[5] Specht, Donald F.: A general regression neural network. IEEE Trans. Neural Networks, 2(6):568-576, 1991. https://doi.org/10.1109/72.97934.
[6] Lee, Ching-Pei и Chih-Jen Lin: A Study on L2-Loss (Squared HingeLoss) Multiclass SVM. Neural Comput., 25(5):1302-1323, 2013. https: //doi.org/10.1162/NECO_a_00434.
[7] He, Kaiming, Xiangyu Zhang, Shaoqing Ren, и Jian Sun: Delving
Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification. В 2015 IEEE International Conference on Computer
Vision, ICCV 2015, Santiago, Chile, December 7-13, 2015, страницы 1026-1034. IEEE Computer Society, 2015. https://doi.org/10.1109/ ICCV.2015.123.
[8] Simonyan, Karen и Andrew Zisserman: Very Deep Convolutional Networks for Large-Scale Image Recognition. В Bengio, Yoshua и Yann LeCun (редакторы): 3rd International Conference on Learning Representations, ICLR 2015, San Diego, CA, USA, May 7-9, 2015, Conference Track Proceedings, 2015. http://arxiv.org/abs/1409.1556.
[9] Toshev, Alexander и Christian Szegedy: DeepPose: Human Pose Estimation via Deep Neural Networks. В 2014 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2014, Columbus, OH, USA, June 23-28, 2014, страницы 1653-1660. IEEE Computer Society, 2014. https://doi.org/ 10.1109/CVPR.2014.214.
[10] Chu, Xiao, Wanli Ouyang, Hongsheng Li, и Xiaogang Wang: Structured Feature Learning for Pose Estimation. В 2016 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2016, Las Vegas, NV, USA, June 2730, 2016, страницы 4715-4723. IEEE Computer Society, 2016. https: //doi.org/10.1109/CVPR.2016.510.
[11] Ronneberger, Olaf, Philipp Fischer, и Thomas Brox: U-Net: Convolutional Networks for Biomedical Image Segmentation. В Navab, Nassir, Joachim Hornegger, William M. Wells, и Alejandro F. Frangi (редакторы): Medical Image Computing and Computer-Assisted Intervention - MICCAI 2015, страницы 234-241, Cham, 2015. Springer International Publishing, ISBN 978-3-319-24574-4.
[12] Newell, Alejandro, Kaiyu Yang, и Jia Deng: Stacked Hourglass Networks for Human Pose Estimation. В Leibe, Bastian, Jiri Matas, Nicu Sebe, и Max Welling (редакторы): Computer Vision - ECCV 2016 - 14th European Conference, Amsterdam, The Netherlands, October 11-14, 2016, Proceedings, Part VIII, том 9912 из Lecture Notes in Computer Science, страницы 483-499. Springer, 2016. https://doi.org/10.1007/978-3-319-46484- 8_29.
[13] Sun, Ke, Bin Xiao, Dong Liu, и Jingdong Wang: Deep High-Resolution Representation Learning for Human Pose Estimation. В CVPR, 2019.
[14] Gong, Boqing, Kristen Grauman, и Fei Sha: Connecting the Dots with Landmarks: Discriminatively Learning Domain-Invariant Features for Unsupervised Domain Adaptation. В Proceedings of the 30th International Conference on Machine Learning, ICML 2013, Atlanta, GA, USA, 16-21 June 2013, том 28 из JMLR Workshop and Conference Proceedings, страницы 222-230. JMLR.org, 2013. http://proceedings.mlr.press/v28/ gong13.html.
[15] Baktashmotlagh, Mahsa, Mehrtash T. Harandi, Brian C. Lovell, и Mathieu Salzmann: Unsupervised Domain Adaptation by Domain Invariant Projection. В 2013 IEEE International Conference on Computer Vision, страницы 769-776, 2013....28