Студенты программы «Прикладной анализ данных» рассказали о работе над проектом, который выиграл 1С:Стипендию
Студенты программы «Прикладной анализ данных» ежегодно работают над индивидуальными и групповыми проектами. Мы попросили рассказать о своем проекте студентов третьего курса Камиля Алякаева и Стаса Ушакова. Выполненный на втором курсе проект принес Камилю и Стасу 1С:Стипендию.
Как вы выбирали тему и напарника?
Стас Ушаков
Камиль Алякаев
О чем ваш проект?
Стас: Основная тема проекта — исследование алгоритмов восстановления освещённости документов. Наша задача — изучить существующие алгоритмы удаления теней, бликов и засветов с фотографий документов. По факту, мы должны найти метод, который бы смог привести фотографию документа на телефон к приемлемому виду.
Камиль: Это значит, что если вдруг на документах присутствуют блики или тени, рассматриваемый метод должен уметь заменять эти труднораспознаваемые участки на области с чётко различимым текстом.
Стас: Может показаться, что это сделать легко, но есть много подводных камней и у нас не было опыта работы с такими задачами. Очень помогало то, что на каждом этапе были понятные цели: в этом немалая заслуга Камиля. Мы разделили обязанности: практика — мне, теория — Камилю. В итоге почти так и было, но Камиль еще собирал тестовые и тренировочные данные для методов на основе нейросетей. В результате получилась не только неплохая аналитика по доступным open-source методам, но и относительно большие датасеты для тренировки и тестирования моделей.
Как вы организовали работу над проектом?
Камиль: Не могу сказать, что работа над проектом начиналась гладко. Мы даже не знали точно, где начать: была только формальная формулировка задачи. Большую часть времени до середины зимы мы искали теорию, информацию и, собственно, методы, которые оказалось совсем не просто найти. После этого появились какие-то конкретные задачи. Примерно здесь мы договорились со Стасом, что за мной стоит теоретическая часть проекта и постановка целей, а за ним — непосредственно практическая, то есть, запуск найденных методов и отчёт о том, насколько плохо они работают.
Методов, созданных конкретно для нашей цели, не существовало, но были те, которые постановкой своей цели подходили нам. Их мы и использовали, в итоге прибегая к весьма специфическим тренировкам этих моделей решения.
Для специфических тренировок требовался не менее специфический набор данных — датасет, которого также в природе не существовало до нашего проекта. Примерно неделю мы кропотливо фотографировали печатный текст на бумаге при разном фоне и освещении, в двух экземплярах — с тенью и без. Собрав примерно 1200 пар таких фотографий, мы подвергли датасет обработке, создавая третий вид фотографий — теневые карты. Они указывают на местонахождение световой аномалии, которое интерпретировалось моделью для последующего удаления. Таким способом мы смогли натренировать по крайней мере одну нейронную сеть для стабильной работы с подобными фотографиями.
Каков результат работы над проектом?
Камиль: Конечным результатом нашей работы мы считаем составление оценок методов и рекомендаций по работе с ними, а также сам датасет. Предполагалось, что мы имплементируем собственный метод, но нам не хватило времени и знаний для создания удобного пользовательского приложения. На тему практического применения, опять-таки, мы оставили после себя датасет и список рекомендаций, которые определённо облегчат работу тем, кто поставит перед собой аналогичные или смежные цели.
Сложно ли было выиграть стипендию?
Камиль: Наш руководитель посчитал, что проект достоин внимания и, по крайней мере, участия в конкурсе на стипендию. Мы не знали, с какими конкретно работами мы конкурируем и по каким критериям будет вестись отбор, поэтому о сложности сказать ничего не могу.
Стас: Мы просто передали проект на стипендиальный конкурс без особой надежды. Максимум, на который рассчитывали — плюс в портфолио за участие. Но проект мы делали с полной самоотдачей, нигде не халтурили. Так что в моей картине мира, эта стипендия — наша «удача — награда за смелость», как пелось в одной старой песне.
1С:Стипендия назначается за успехи по итогам выполнения командных проектов, курсовых работ, программных проектов и выпускных квалификационных работ, темы которые предоставлены компанией 1С. Подробнее об 1С:Стипендии.
Старичков Никита Юрьевич