Рубрика:
Наука и технологии
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ГОРОХОВА-аЛЕКСЕЕВА А.В., бакалавр, Национальный исследовательский университет «Высшая школа экономики», ngoral@304.ru
КОРОЛЕВ Д.А., доцент, кандидат технических наук, Национальный исследовательский университет «Высшая школа экономики», dkorolev@hse.ru
Подход к автоматизации проверки заданий в области компьютерной графики
В статье рассматривается подход к автоматической проверке заданий студентов онлайн-курса «Компьютерная графика» и очного курса «Видеотехнологии» на примере проведения курса на онлайн-платформе Stepic и создания собственной платформы проверки графических задач, позволяющей в автоматическом режиме проверять задания, связанные с обработкой, кодированием и оформлением видео. Рассмотренный подход может быть использован для проверки задач разной степени формализованности
Введение
Одним из неизменных результатов непрекращающихся реформ системы образования является выраженная в разных формах оптимизация расходов, в частности укрупнение потоков в очных курсах и выведение части очной нагрузки вонлайн-формат обучения. Преподаватель очного курса в таких условиях оказывается в схожих условиях с преподавателем массового онлайн-курса: вдумчиво проверить работу каждого студента, а тем более побеседовать с ним ипосоветовать варианты решения, вернуться к исправленной работе – все это уходит в прошлое, а для общения студента с преподавателем остается все меньше места. Становится актуальной задача уменьшения объема рутинной работы попроверке заданий студентов, и здесь есть как минимум два решения, так или иначе получившие распространение в основном в онлайн-обучении: это пиринг и автоматическая проверка заданий.
Пиринговая проверка используется в синхронном формате изучения курсов в достаточно крупных потоках. Студенты проверяют по несколько работ своих сокурсников, оценка рассчитывается с учетом весового коэффициента проверяющих, способ расчета весов зависит от предпочтений преподавателя или платформы, на которой проводится курс. Практика показывает, что для ряда задач пиринговая проверка отражает вполне близкие к экспертной оценке результаты, но часто проводить такие работы затруднительно и в них отсутствует важная составляющая – детальная обратная связь.
Известно утверждение «экзамен – это форма обучения». Автоматизация проверки работ позволяет дать студенту столько возможностей делать ошибки и исправлять их, столько обратной связи по введенным ответам, сколько он сам пожелает, если платформа нацелена на обучение, а не на аттестацию. Но большинство учебных курсов с автоматической проверкой ответов студентов ограничивается «закрытым» форматом заданий – выбор из списка, сортировка и такдалее. Автоматическая проверка заданий по программированию уже является распространенной практикой и никого не удивляет. Нельзя сказать такого о заданиях на работу с графикой: сама по себе область компьютерной графики достаточно обширна, а задания, возникающие в ходе обучения, весьма различны (в отличие от заданий на программирование, которые в целом сводятся к заданию написания кода, который затем может быть оценен статически идинамически через запуск). Тем не менее опубликован ряд работ, в которых рассматривается возможность автоматической проверки разнообразных графических заданий [1, 2]. Однако эти работы не описывают универсальных методов исредств автоматической проверки заданий с графическим ответом, а скорее подтверждают тот факт, что пока автоматическая проверка ответов к таким заданиям заставляет преподавателей применять смекалку при выборе и реализации средств. Далее мы рассмотрим эволюцию проверки графических заданий в курсах «Компьютерная графика» и «Видеотехнологии».
В 2014 году для читаемого в МИЭМ НИУ ВШЭ курса «Компьютерная графика», попавшего под укрупнение потока, была создана онлайн-версия. Сначала это были только лекции на платформе ВШЭ, позже – полный курс на платформе Stepic. При разработке заданий для студентов открытого онлайн-курса остро встала проблема проверки ответов на «открытые» вопросы. Это касалось как чисто текстовых ответов, так и присылаемых команд для консольных редакторов. Вэтом курсе все практические задачи выполнялись в FFMPEG и ImageMagick – консольных видео- и графическом редакторах. В течение двух запусков курса были произведены сначала попытки проверки только команд, выполняемых студентами, затем проверки только результатов, а в конце комбинированной проверки команд и результатов с использованием терминалов с Linux. Подробнее данный этап работы описан в [3].
Задачи, решенные в ходе реализации проверок для МООК, отчасти были схожи с задачами, появляющимися при проверке лабораторных работ студентов курса «Видеотехнологии». Помимо этого, работа с платформой Stepic.org показала ограничения производительности, которые явно препятствовали реализации сложных задач, задействующих работу с видео и графикой: сами задания (введенные студентами команды) выполнялись очень долго, проверки не успевали выполняться в отведенное платформой время, работа проверяющих средств платформы становилась нестабильной в те моменты, когда большое количество студентов начинало выполнять задания одновременно. Так, конвертация изображения из RAW-файла в формат PNG занимала около двух минут, в течение которых студенту приходилось бы наблюдать «зависшую» консоль.
В конечном итоге была поставлена задача реализации системы автоматической проверки заданий лабораторных практикумов студентов, которая была бы способна справиться с отправкой заданий большим количеством студентов одновременно и могла бы проверять нестрого поставленные задачи, такие как, например, задача с графическим оформлением видео (наложить логотип и плашку с произвольным тестом). Система должна выполнять проверки без участия преподавателя и быть доступна студентам вне аудиторий. Система должна предоставлять полный и наглядный отчет об ошибках, допущенных студентом, а результаты должны быть доступны преподавателю в удобном формате.
Ход работы
В связи с предъявленными к системе требованиями было решено реализовывать ее на отдельном сервере, а доступ студентов к ней организовать с помощью разработки интерфейса сайта. Создание системы на собственном сервере позволяет уйти от ограничений сторонних платформ, таких как производительность (на сторонних платформах обычно ограничена несколькими сотнями мегабайт оперативной памяти), ограничение времени на выполнение скрипта, кроме того, позволяет загружать необходимые файлы и устанавливать сторонние программы, которые требуются для реализации проверок, а также редактировать списки студентов, для которых проводятся проверки. Кроме того, это позволяет организовать обратную связь со студентами любым желаемым образом и выбрать подходящий способ проверки.
В первую очередь на платформе был спроектирован и реализован интерфейс идентификации студента. Важным условием являлось то, что работа каждым студентом должна быть отправлена только один раз, никто, кроме студентов, обозначенных в списках групп, не должен иметь права на отправку работы (в противном случае студенты могут регистрироваться под несуществующими именами и отправлять работы столько раз, сколько необходимо, чтобы исправить все ошибки) и никто не должен иметь возможности отправлять работу за другого студента. Алгоритм регистрации реализован следующим образом.
Проверка работ
Принцип проверки был разработан еще во время реализации проверок на платформе Stepic.org. На ранних стадиях работы студентов просят ввести текст команды, выполняющей определенные функции. Затем команда досконально проверяется скриптом, а студенту отправляется отчет о том, какие ошибки были найдены в тексте команды. Позже, когда студенты освоились с синтаксисом программ, с которыми они работают, интерес для проверки представляют уже некоманды, а полученные результаты. В таком случае процесс проверки значительно усложняется.
Студента все так же просят ввести команды в форме. Для этого студенту предоставляются четкие имена файлов, с которыми ему предстоит работать: на сервере лежат заранее заготовленные файлы, по которым будет производиться суждение о том, верно ли выполнено задание. Однако если на первом этапе команды сразу отправлялись в систему, на данном этапе производится их предварительная проверка перед отправкой. Это обусловлено следующими причинами:
- Команды будут выполняться на сервере, поэтому необходимо обезопасить его, проверив, что в качестве ответа прислана именно команда для указанной программы и она не содержит никаких спецсимволов, которые бы позволили совершить «несанкционированные» действия и встроить в команду выполнение сторонних программ.
- Как показывает опыт проведения двух итераций онлайн-курса и курса «Видеотехнологии» весной 2014/2015 учебного года, студенты не всегда замечают в задании такие тонкости, как необходимость задавать конкретные имена файлов, с которыми они работают. У каждого есть только одна попытка на отправку ответа, которая может быть «испорчена» из-за ввода неверного имени файла, поэтому в команде предварительно проверяется, что все имена файлов указаны верно. Считается, что оценку за внимательность и умение отмечать тонкости задания студент получил на первом этапе проверки.
- При копировании команд из текстовых редакторов в поле для ответа могут быть вставлены непечатные символы, которые тем не менее будут интерпретированы консольной программой как неверное окончание строки, неверное имя файла и т.п. Проверка для этого пункта мотивирована тем же, чем и предыдущий пункт.
Таким образом, ответ студента перед отправкой проходит предварительную проверку, и в случае выявления каких-либо несоответствий под полем, в котором допущена ошибка, выводится сообщение об ошибке. Если все ответы прошли проверку, решение студента записывается в базу данных и отправляется на проверку.
Перед проверкой для каждого студента заводится отдельная папка, в которую помещаются необходимые файлы: видео, которое необходимо закодировать, аудиодорожки, которые студенту нужно будет прикрепить к видео, файл шрифта, которым необходимо нанести надпись на видео, и другие. В эту папку также сохраняются все файлы, полученные студентом, и промежуточные результаты графической проверки.
В ходе проверки одна за другой выполняются команды, присланные студентом, например кодируется видео с указанными параметрами. Далее, например в случае задания с видеографическим оформлением кадра, производится сравнение видео, полученного после выполнения команды студента, с ожидаемым, которое было закодировано заранее: в ключевых точках производится попиксельное вычитание кадров двух видео. Совпавшие пиксели окрашиваются в черный цвет, различающиеся – в белый, далее кадр уменьшается до размеров одного пикселя. Если пиксель полностью черный – видео было закодировано без ошибок, если же пиксель носит другую окраску, это говорит о том, что элементы оформления были наложены не так, как ожидается. В таком случае кадр, полученный в результате вычитания, сохраняется, а впоследствии прикрепляется к письму с отчетом, отправляемому на почту студента (см. рис. 1). Кроме того, такой способ проверки позволяет проверить и параметры кодирования (видеокодек, битрейт).
Рисунок 1. Пример письма-отчета с приложенными файлами-разницами
После этого сверяются все необходимые метаданные видео, а отчет о проверке включается в текст письма, направляемого студенту.
В отличие от проверок на онлайн-платформах при реализации собственной платформы существует возможность установки удобных преподавателю критериев и системы оценки. В данной ситуации при наличии ошибки проверка неостанавливается, а продолжается после того, как в отчет о проверке с комментарием по заданию будет добавлена еще одна подстрока, описывающая, в чем заключается ошибка. Система оценивания основывается на том, что за каждую ошибку со студента снимается определенное число баллов из заранее оговоренного количества, которое можно получить за задание. Все критерии заранее известны студентам и выдаются вместе с заданием на лабораторную работу.
Ввиду того, что такие проверки являются достаточно ресурсоемкими, а запуск нескольких проверок одновременно может привести к сбою в работе программ и непредвиденным результатам работы, ответы студентов после отправки ставятся в очередь, и проверки запускаются по одной друг за другом.
Вместо выполнения команд студентов на сервере существует более простая и безопасная альтернатива: принимать от студентов уже закодированные файлы. Однако такой подход не удовлетворит условиям, так как результаты кодирования видео с одинаковыми параметрами на разных машинах могут быть непредсказуемыми, таким образом, используемая для проверки логика сравнения метаданных и покадрового вычитания будет неуместна.
Заключение
В ходе работы был разработан прототип платформы, производящей полностью автоматическую проверку лабораторных работ студентов дисциплины «Видеотехнологии». Студентам предоставлен доступ к системе через интерфейс сайта. (Сайт реализован с помощью фреймворка Ruby on rails, серверная часть проверок написана на языке Ruby.) Отчеты предоставляются студентам в формате электронных писем, содержащих подробную информацию о допущенных ошибках иоценках за каждое задание. Для того чтобы прототип перешел в статус полноценной платформы, необходимо подробнее продумать вопросы безопасности при регистрации студентов и выполнении заданий, а также преподавательский функционал.
Кроме прочего, выбранный метод позволит в дальнейшем реализовать проверку менее формализованных заданий: часть информации (например, конкретный текст для наложения на видео или его координаты), которая не будет указана взадании, сможет быть получена непосредственно из присланной студентом команды, после чего будет закодировано «эталонное» видео с такими параметрами и реализована проверка, описанная выше.
В целом реализация прототипа проверяющей системы занимает достаточно много времени (больше, чем при ручной проверке заданий), однако в долгосрочной перспективе (две-три итерации курса) оправдывает затраченное время.
Сейчас платформа используется только для итоговой проверки работ, но в некотором развитии она может стать и обучающим инструментом, позволяющим студенту многократно сдавать на проверку разные версии решений и получать детальный ответ с разбором ошибок и рекомендациями по их исправлению. Такой подход так или иначе применяется в платформах, обучающих программированию, но для графических заданий его можно назвать новым.
Развитие сервиса может включать его интеллектуализацию. Если в настоящее время используется только сравнение (вычитание кадров и оценка разницы в заданном фрагменте изображения), то использование распознавания изображений идругих инструментов искусственного интеллекта позволит повысить уровень абстракции проверяемых задач. Например, оценка композиции кадра, динамики съемки и других характеристик операторской работы может открыть такой системе выход в обучение фотографии и видеооператорскому делу. Заключение электронной проверочной системы вряд ли сможет отличить гениальный кадр от посредственного, но это как раз было и останется задачей человека, а машина может и должна делать рутинную работу: заметить заваленный горизонт или проверить исполнение правила третей ей вполне под силу.
- H.Q. Jiang, L. Zhang, and W.Q. Ye. The Automatic Evaluation Strategies and Methods of Multimedia Work Assigments. – Proc. Int’l Conf. Computational Intelligence and Software Eng., pp. 1-5, 2009.
- Sanna, F. Lamberti. Automatic Assessment of 3D Modeling Exams. – IEEE TRANSACTIONS ON LEARNING TECHNOLOGIES, VOL. 5, NO. 1, JANUARY-MARCH 2012.
- Горохова-Алексеева А.В. Исследование возможности автоматизации проверки лабораторных практикумов на примере проведения онлайн-курса // Современные тенденции развития науки и производства: сборник материалов Международной научно-практической конференции (21-22 января 2016 года), том II. – Кемерово: ЗапСибНЦ, 2016. – 430 с., ISВN 978-5-9907781-1-5, с. 284-286.
Ключевые слова: МООК, компьютерная графика, видеотехнологии, автоматизация проверки, высшее образование.
Approach to automation of assignments in the field of computer graphics
A. Gorokhova-Alekseeva, Bachellor of sciences, National Research University «Higher School of Economics», Moscow, ngoral@304.ru
D. Korolev, Associate professor, National Research University «Higher School of Economics», Moscow, dkorolev@hse.ru
Summary: This article describes an approach to assessment of assignments in online course «Computer Graphics» and in-class course «Video Technologies» held on MOOC platform Stepic and self-made platform for evaluation of graphical assignments for editing, encoding and composing video. This approach is suitable for assignments of various formalization.
Keywords: MOOC, computer graphics, video technologies, automation of assessment, higher education.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|