Зачем это нужно?
К концу второй декады XXI века оцифровка музейных коллекций позволила создать датасеты из десятков, а то и сотен тысяч картин различных авторов и эпох. Доступность их цифровых копий позволяет переосмыслить работу искусствоведов, попытаться автоматизировать некоторые задачи, а также автоматически обогатить метаданные (что мы и сделали) — например, снабдить датой те картины, у которых она не указана.
Автоматический определитель возраста или стиля изображений будет интересен не только искусствоведам или пользователям, которых интересует конкретная картина. Он поможет и в изучении тенденций современного искусства и выявлении закономерностей и стилистических приемов. Например, мы можем понять к стилю какой из эпох более всего склонен какой-нибудь современный автор.
В чем сложность?
Сама по себе задача классификации изображения (в данном случае картины) по каким-то другим изображениям (картин с известной датой) — стандартная для сверточных нейронных сетей. Это делает нашу задачу в первом приближении весьма простой. Тем не менее финальная модель не обошлась без включения в нее нескольких дополнительных эвристик (о которых будет сказано позднее), которые улучшили точность классификации.
Какие есть стратегии?
Ключевая фигура в решении задачи — сверточная нейронная сеть для выделения признаков на изображениях. Рассматривались архитектуры ResNet18 и VGG-19. В итоге VGG-19 дала лучшие результаты.
Если не углубляться в теоретические основы глубокого обучения, то сверточные сети можно описать как алгоритм последовательного сжатия изображений, который способен выделять их ключевые особенности на разных уровнях абстракции (подробнее можете почитать, например, тут).
![](https://sysblok.ru/wp-content/uploads/2021/02/image7-1.jpg)
Сразу за применением сверточной сети с обрезанными полносвязными слоями следует вычисление матрицы Грама и классификация или регрессия, в нашем случае в роли модели классификатора выступает SVM.
Матрица Грама является специальным представлением изображения — это матрица попарных скалярных произведения численного значения пикселей. Её использование позволяет конвертировать преобразованную сверточной сетью картину в формат, удобный для определения стиля: матрица Грама сглаживает пространственную структуру, позволяя получить больше информации о текстуре изображения, чем о присутствующих на ней конкретных объектах (по этому же принципу работают некоторые алгоритмы style transfer).
![](https://sysblok.ru/wp-content/uploads/2021/02/image5-1024x367.jpg)
После всех этапов проектирования и обучения стало понятно, что наименьшую ошибку (mean squared error, MSE) даёт VGG-19, но при этом лучшее значение F1-меры (гармоническое среднее точности и полноты классификации) достигается той же сетью с батч-нормализацией.
Использовать F1-меру в этой задаче нужно из-за отсутствия баланса классов. Каждый класс представлял собой временной промежуток в 50 лет в выбранном датасете. В разные годы было написано разное число картин:
![](https://sysblok.ru/wp-content/uploads/2021/02/image1.jpg)
Результаты и их интерпретация
Использование матрицы Грама действительно позволило существенно (почти в два раза) улучшить качество моделей на представленном датасете. Для многих классов ошибочных классификаций совсем немного. Это видно по матрице ошибок: большинство картин оказывается датировано своим годом:
![](https://sysblok.ru/wp-content/uploads/2021/02/results.jpg)
Однако использование информации о стиле для определения временного отрезка гарантированно работает только для эпохи премодерна, которой характерно последовательное совершенствование техник изобразительного искусства.
![](https://sysblok.ru/wp-content/uploads/2021/02/image4-2-1024x448.png)
Перспективы и заключение
Наш небольшой эксперимент показал, что задача определения возраста картины может быть решена стандартными инструментами компьютерного зрения с добавлением некоторых эвристик. Следующим этап — увеличение количества данных, усложнение модели, масштабирование задачи на XX и XXI века, а также более дробное деление временных промежутков.
Особая благодарность Кафедре инженерной кибернетики НИТУ “МИСиС”, организаторам хакатона по “Digital Humanities” школы “Слон”, а также Анатолию Овчаренко и Александру Харламову.
Ссылка на веб-приложение с моделью.