УДК 004 Мартынов М.Д., Яблочникова И.О.
Мартынов М.Д.
студент магистратуры, М272201, Московский технический университет связи и информатики
(г. Москва, Россия)
Яблочникова И.О.
к.пед.н., доцент, Московский технический университет связи и информатики
(г. Москва, Россия)
МЕТОДЫ ОБНАРУЖЕНИЯ И КЛАССИФИКАЦИИ ДЛЯ РАЗРАБОТКИ ПРОГРАММНО-АППАРАТНОГО КОМПЛЕКСА ОБНАРУЖЕНИЯ ОЧАГОВ ЛЕСНЫХ ПОЖАРОВ С ПОМОЩЬЮ КОМПЬЮТЕРНОГО ЗРЕНИЯ
Аннотация: лесные пожары представляют серьезную угрозу как для природной среды, так и для общественной безопасности. Обнаружение лесных пожаров имеет ключевое значение для их эффективного тушения, поскольку после достижения определенного размера пожар становится неконтролируемым. В настоящее время возникла растущая потребность в установке быстрой системы реагирования в лесных районах, чтобы обеспечить оперативное вмешательство в случае распространения лесных пожаров на большие территории. В данной статье алгоритм, основанный на YOLO, предназначенный для обнаружения и классификации объектов в реальном времени.
Ключевые слова: лесной пожар, компьютерное зрение, глубокое обучение, авторазметка.
Введение.
Предотвращение пожарных катастроф и защита жизней, а также имущества требует своевременного обнаружения лесных пожаров до того, как они выйдут из-под контроля. Пожары в природе могут возникнуть у кого угодно,
в любом возрасте, в любой среде. Лесные пожары всегда изменяли ландшафт. Большинство пожаров начинаются с небольших искр и быстро распространяются, что делает очень сложной задачу остановить их распространение. Обнаружение лесных пожаров является неотъемлемым элементом в этой борьбе. В последнее время возник интерес в разработке алгоритмов реального времени для обнаружения лесных пожаров с использованием типичных видеосистем наблюдения. Сокращение времени, необходимого для сообщений о пожаре властям, является важным аспектом, который может помочь в предотвращении лесных пожаров. Поэтому будет использован подход глубокого обучения для распознавания лесных пожаров, и накоплен набор данных для точного прогнозирования риска лесных пожаров и помощи в их предотвращении. В данной статье представлен анализ систем обнаружения лесных пожаров с использованием модели глубокого обучения, в том числе YOLOv5 для извлечения и обнаружения огненных объектов на изображениях/кадрах.
Анализ методов в других работах.
Исследования в области обнаружения лесных пожаров представляют собой важную и активную область, привлекающую внимание многих исследователей и специалистов. В последние годы наблюдается значительный прогресс в этой области благодаря применению современных методов машинного обучения, особенно глубокого обучения и нейронных сетей.
Одним из ключевых направлений в этом исследовании является использование сверточных нейронных сетей (CNN), которые показали высокую эффективность в распознавании пожаров на изображениях. В работе Yuanbin W. и его коллег была предложена техника распознавания лесных пожаров на основе CNN. Они обнаружили, что прямое использование сырых признаков CNN может привести к недостаточной точности распознавания, поэтому была разработана стратегия адаптивного пулинга, объединенная с традиционными методами
обработки изображений. Это позволило повысить точность распознавания пламени и избежать проблем нечетких признаков, изучаемых CNN [1].
Другая работа, представленная Hong и др., сосредотачивается на реализации системы реального времени для обнаружения пожаров на основе CNN. Они разработали архитектуру FireCNN, которая сочетает в себе многомасштабные свертки с архитектурой остаточной адаптации. Это позволило им значительно повысить точность обнаружения пожаров по сравнению с традиционными методами порогового значения. Они также провели исследования о влиянии различных архитектур на эффективность моделей нейронных сетей [2].
Дополнительно, Seydi S. и его коллеги представили Fire-Net, глубокую нейронную сеть, обученную на данных Landsat-8 для распознавания активных пожаров и материалов в горящих участках. Они объединили оптические и термальные данные изображений, используя сверточные и разделяемые свертки для извлечения глубоких признаков. Их модель показала высокую точность 97,35% в обнаружении даже малых пламенных очагов [3].
Наконец, работы Xu и др. сосредотачиваются на использовании ансамблевых методов для обнаружения пожаров. Они объединили два отдельных обучаемых алгоритма, Yolov5 и EfficientDet, чтобы улучшить производительность обнаружения. Их подход позволил значительно снизить количество ложных срабатываний на 51,3% без увеличения задержки. Использование различных детекторов объектов в ансамбле в сочетании с глобальным знанием, приобретенным другим обучаемым алгоритмом, дало значительный прирост качества обнаружения [4].
В работе Hoor и др. использовали беспилотные летательные аппараты (БПЛА), чтобы обнаружить потенциальные очаги лесных пожаров. Они представили модель глубокого обучения для обнаружения пожаров на основе YOLOv5. Анализируя видео пиксель за кадром, предложенная система может надежно обнаруживать пожары в реальном времени и отправлять своевременные оповещения соответствующим органам власти. Их метод обеспечивает лучшую
производительность обнаружения, чем текущие системы обнаружения пожаров. Оценка предложенного подхода показала F1-оценку 94,44% на наборах данных FireNet и FLAME [5]. Технологии подобного рода помогут властям постоянно контролировать леса, подверженные пожарам, во всем мире, чтобы ловить возгорания на ранних стадиях, и помогут лесным ведомствам обнаруживать пламя в широко распространенных лесах.
Zhang и др. представляют новую модель алгоритма под названием Swin-YOLOv5. Механизм преобразования Swin был добавлен в сеть YOLOv5 для улучшения области обзора модели и способности извлекать признаки без изменения глубины модели. Метод сплайсинга признаков трех выходных голов сети был изменен для улучшения метода сплайсинга признаков взвешенной конкатенации и способности комбинировать признаки модели [6]. Были внесены изменения в модуль объединения признаков и разработан взвешенный метод сплайсинга признаков, все это для увеличения производительности объединения признаков сети. Согласно экспериментам, эта стратегия улучшает средний уровень точности быстрее, чем стандартный алгоритм. Этот подход повышает скорость распознавания высокоточных целей на 1,8 кадра в секунду и увеличивает точность на 0,7% на том же экспериментальном наборе данных (быстрое переключение пакетов). Улучшенный алгоритм, протестированный на том же экспериментальном наборе данных, лучше способен обнаруживать цели, которые были пропущены исходным алгоритмом или неправильно обнаружены им. Это продемонстрировало гибкость алгоритма в обнаружении реальных сцен и имело важные практические последствия [7].
Zhenyang и др.. показывают, как YOLOv5 можно использовать для создания более эффективного алгоритма для поиска маленьких целей в лесных пожарах. Сначала они улучшили слой YOLOv5 Backbone и заменили модуль SPPF (Spatial Pyramid Pooling-Fast) YOLOv5 на модуль SPPFP (Spatial Pyramid Pooling-Fast-Plus), чтобы больше сосредоточиться на глобальной информации маленьких целей лесных пожаров. Затем они добавили модуль CBAM (Convolutional Block Attention Module CBAM), чтобы облегчить поиск целей в
маленьких лесных пожарах. Во-вторых, в слой Neck YOLOv5 был добавлен слой обнаружения очень маленьких целей, и PANet (Path Aggregation Network) был заменен на BiFPN (Bidirectional Feature Pyramid Network). Поскольку первый набор данных о маленьких целях лесных пожаров является малым, обучение проводилось методом миграционного обучения [8]. Экспериментальные результаты показывают, что модель работает лучше, чем YOLOv5s, что полезно для потенциального использования в обнаружении маленьких целей лесных пожаров.
Mahdi и его коллеги используют модель глубокого обучения YOLOv5 для обучения модели, способной различать события с пожарами и без них в бинарной классификации. Предлагаемая архитектура системы состоит из IoT-устройств, оснащенных камерными датчиками, и набора разработчика NVIDIA Jetson Nano в качестве среды вычислений. На первом уровне используется видеокамера для сбора информации об окружающей среде, получаемой микроконтроллером на среднем уровне, чтобы управлять и обнаруживать потенциальное возгорание в нужной области. Экспериментальные результаты продемонстрировали точность обнаружения пожаров на уровне 98% в видеоряде
[9].
Эти исследования демонстрируют значительные прорывы в области обнаружения лесных пожаров благодаря применению современных методов глубокого обучения и алгоритмов машинного обучения. Они открывают новые перспективы для разработки более точных и эффективных систем обнаружения и мониторинга пожаров. На Рис. 1 приведена сводка по точности распознавания методов.
Mit hod DatEisci Accuracy
CNN - 93.75%'
Fired NN Hiuiawari-B 9990%
FireNet. Coarse
YQLOv5 and EfftcicntDct Their Created dataset 99.70%
YOLQv5 FincNct 93.00%
5winYOLOv5 Fire-(¿moke d Littet 60%
YOLQv5 Forest ftrt S¿ Small target forest fire dalagt ■
YOLGvj WILDFIRE I 98.00%
Рис. 1 Сравнение точности методов.
В соответствии с рис. 1, были перечислены наиболее близкие работы, а также методы и наборы данных, использованные в их рамках, что раскрывает широкий спектр подходов и уровней точности. Исследования, в которых модель YOLO была включена в методологию, представляли значительную часть предшествующей исследовательской литературы. Однако их результаты сильно различались с точки зрения точности, авторы Xu и др. использовали сеть YOLO в сочетании с EfficientDet, что дало наилучшие результаты. В рамках исследования Zhang и др. предложили свои соображения о том, как можно улучшить YOLO, получая самые низкие результаты. Напротив, Mahdi и его коллеги обнаружили, что чистота одного YOLO без каких-либо дополнений дает точность 98. Основываясь на знаниях, все наборы данных, использованные в режиме обучения соответствующих работ, были помечены вручную.
После изучения разных методов можно сделать вывод, что для более точного обнаружения пожаров подходят сверточные нейронные сети и их модификации, но для этого потребуется больше времени на обработку кадра. В то время как YOLOv5 теряя в точности обеспечивает более быструю обработку кадра, а в случае обнаружения лесных пожаров это важно, особенно если речь идет о видеопотоке. Так как речь идет о сложной обширной местности с ограниченной коммуникацией скорость обработки данных и ее последующей передачи является самым важным аспектом.
Методы обнаружения очагов лесных пожаров и обучение нейронной
сети.
В режиме обучения нейросети Yolov5 для обнаружения объектов сначала необходимо провести процесс разметки, определив интересующие области на входном изображении с использованием области интереса (ROI). Задачу ROI можно выполнить вручную, нарисовав прямоугольник вокруг зоны пожара на каждом обучающем изображении в наборе данных. Чтобы автоматически извлечь интересные части входного изображения, можно использовать модифицированную стратегию разметки на основе цвета. Поскольку пожарный
объект не имеет типичной формы, автоматическое обнаружение сложно. Предложенная схема авторазметки использует обнаружение краев и алгоритмы для извлечения объекта пожара из фотографий. Сначала строится маска области пожара FRM, затем используется детектор границ Кэнни для идентификации краев объекта пожара. Это определит верхний и нижние углы формы вывода [10].
Извлечение области интереса (ROI). Для извлечения объекта пожара из входного изображения предложена схема разметки, включающая создание набора правил, которые используют информацию о цвете полученного изображения. Эти правила реализуются на трех цветовых каналах (Красный, Зеленый, Синий) входного изображения, чтобы определить, находится ли конкретный пиксель в области пожара или нет.
Построенные правила объединяются в одну структуру данных, называемую R, путем сравнения максимального значения каждого пикселя. Затем создается маска огня в черно-белом цвете (FRM). Затем применяется обнаружение границ. Реализация обнаружения границ Кэнни, путем снижения шума, нахождения градиента яркости изображения и подавления немаксимумов.
Определение координат ограничивающего прямоугольника. Интересующий нас регион выбирается по координатам верхнего и нижнего углов (Xmin, Ymin, Xmax, Ymax), извлеченных из точек, созданных границей, и используется для отрисовки ограничивающего прямоугольника аннотации. Рисунок 2 (a) показывает процесс определения координат ограничивающего прямоугольника, представленного максимальными и минимальными значениями координат X, Y соответственно.
ft h
Рис.2. Обычная разметка (a) и разметка YOLO (b).
Преобразование в стиль разметки YOLO. На этом этапе необходимо преобразовать из обычной формы в схему YOLO. Рисунок 3 иллюстрирует разницу между обычными и стилями разметки YOLO.
Экспорт файла в стиле YOLO. Наконец, экспортируется txt-файл, содержащий стиль YOLO и имеющий то же имя, что и изображение. Это означает, что каждое изображение будет иметь файл аннотации txt с тем же именем.
Модель обучения. Задача обнаружения лесных пожаров на наборе изображений или видео является примером проблемы обнаружения объектов, которую необходимо решить. Исследователи используют модель обучения YOLOv5 для обнаружения пожаров, поскольку она является наиболее эффективной и быстрой моделью обучения для распознавания и классификации объектов. Возможно использование объектных детекторов на основе CNN, которые обычно применяются в рекомендательных системах, для выполнения обнаружения объектов в реальном времени с меньшим вычислительным перегрузом. Начиная с весов со случайными значениями между [0, 1], мы можем добиться точного обнаружения, используя меньше времени на вычисления. Рисунок 3 показывает основную структуру YOLOv5s.
Рис.3. Архитектура YOLOv5s [9].
Conv Typical Convolution Layer
C3 3 Convolutions Layers architecture Concat Joining of two separate hiyers.
SPPF Layered Pyramidal Spatial Pooling
Detect The Result of the Network
Рис.4. Описание терминов.
Матрица ошибок. С использованием набора данных оценивается эффективность метода обнаружения лесных пожаров. Оценка использует базовый критерий матрицы ошибок [11], который включает четыре основных метрики (TP, TN, FP, FN), чтобы предоставить прозрачный результат симуляции, как показано на рисунке 4. Это позволяет нам оценить эффективность нашей модели, выявить ее недостатки и получить направление для улучшения.
Метрики оценки производительности [12]
Accuracy - количество правильных прогнозов, сделанных моделью для всего тестового набора данных.
Precision - процент ожидаемых предсказаний, которые действительно сбылись.
Recall - представляет собой процент истинных положительных результатов, предсказанных моделью.
TP
Recall =
TP + FN
(3)
F1 Score- равна медиане полноты и точности. 2 * (precision * recall)
(4)
F15 core =
(precision + recall)
a
P сл
f— Ш
о э
о 3
ш s
ее > Ql
ACTUAL VALUES
POSITIVE NEGATIVE
TP FP
FN TN
True Positive (TP)
» The predicted atid actual values ate the same,
• The actual value was positive, as predicted by the model-True Negative (TX)
• The predicted and actual values are the same.
» The model predicted a negative value, but the actual value was nesative. False Positive fFP) - Type 1 error
» The expected value was incorrectly predicted
• he models predicted a positive value, but the actual value was negative.
• Also knowu as the Type 1 error False Negative (FN) - Type 2 error
» The expected value was incorrectly predicted
■ The model predicted a negative vaiue. but the actual value was positive.
• Also known as the Type 2 error
Рис.5. Матрица ошибок [13].
С □ > Wildfire > test > Images
Поиске: images
% Сортировать - Q Просмотреть ■
WEB1O094 WEB10895 WEB10395 WEB103S7 WEB1O093 WEB 10899 WEB10900 WEB10901 WEE10902
L d ittfejt "* - t W И ~
WEB 10335- WEBKB96 WEB10S97 WEB1O093
m. i * i.. •
' . 1. Л . * 8? „¿J
WEB10903 WEBIMUi WEB1Q905 WEB1MQ6 WEB1Q907 WEBtMGS WE 810909 WEBT0910 WEB109T1
I ' ¡HlfcW, r ^ '
llBI ..*
WEB10912 WEB 10913
i m
н& ми
WEB10914 WEB1091S WEB10916 WEB10917 WEB10918 WEB10919 WEB10S2Q
WEB1Q921 WEBTO902 WEB1<»2:3 WEB10924 WEB10925 WEB10K6 WEB10927 WEB1092® WEB10923
WEB1093G WEB1G931 WEB10932 WEB1M3J WEB1Q934 WEB1D935 WEB10936 WEB10937 WEB1093S
Рис.6. WildFire датасет.
Датасет был взят с Kaggle.com и доработан. Результаты процедуры автоматической аннотации схемы показывают, что количество изображений, использованных в процедуре 2749 Общее количество правильно помеченных изображений, составило 2677, а допустимая погрешность - 72, что обеспечивает общую точность 97,4 %. Для анализа одного изображения потребовалось всего несколько миллисекунд.
На рисунке 6 показаны этапы, связанные с процессом автоматического создания схемы аннотаций, которые включают в себя ввод изображения, маску выделения объектов, обнаружение контуров и генерацию аннотаций в стиле YOLO.
Рис.6. Пример автоматического извлечения объектов и разметка.
Рис.7. Результаты экспериментальной фазы обучения YOLOv5.
Было проведено два исследования, чтобы доказать эффективность сети YOLOv5. YOLOv5 с использованием обычной аннотацией. В этом эксперименте было 2199 изображений в обучающем наборе, 550 изображений валидационного набора, 687 изображений тестового набора, размер изображений 224 на 224
пикселя, обучение заняло 2 часа в среде Google Collab, точность составила 98,76% как описано в таблице 1 и на рисунках (7, 8).
Таблица 1. Метрики оценки первого эксперимента.
Accuracy 98.76%
Recall 97.86%
Precision 99.71%
F1 Score 98.77%
Actiiül Vflluts
Positives
¡Л U
TS > в 0-, 685
£ U «-и •а V Д If)
* QD rU г 15 672
Рис.8. Результаты матрицы ошибок YOLOv5 первого эксперимента.
YOLOv5 с автоматическим выделением признаков и аннотированием, реализованном с использованием аннотаций. Было использовано количество изображений и размер как в первом эксперименте, но обучение заняло 55 минут. Кроме того, был разработан оптимальный набор параметров для сети YOLOv5 на основе автоматического аннотирования. Результаты этого эксперимента представлены в таблице 2 и на рисунках (9, 10).
"I Гч П о р, ж г- .£> «Л -п
EPOCHS
О Эч 4 г- *> >Л " "" Э ' - О ^ Ч "1 ''
гюснч
Рис.9. Результаты обучения YOLOv5, основанном на авто-разметке.
Annul Values
Poslllv« Negatives
£ Eft L р>-
SS —1 я > к о 650 37
"в
1 aft ib ^ 1« и г
(J и IS 669
Рис.10. Результаты матрицы ошибок YOLOv5 второго эксперимента.
Таблица 2. Метрики оценки второго эксперимента.
Accuracy 96.00%
Recall 97.31%
Precision 94.61%
F1 Score 95.94%
Хорошо известно, что ручная маркировка процесса аннотирования занимает много времени и усилий. Поэтому, чтобы сократить время, затрачиваемое на обучение, был внедрен процесс маркировки, основанный на автоматической аннотаций. Сравнивая исследования, приведенные на рис.1 с собственными результатами, приведенными в таблице 2, было обнаружено, что предлагаемый метод обладает более высокой точностью обнаружения.
Ссылаясь на таблицу 1 с ручной аннотацией, и таблицу 2, в которой представлено обучение YOLOV5 со автоматической разметкой, а также на время, затрачиваемое на автоматическую разметку, делается вывод, что, хотя время, затрачиваемое на процесс автоматической аннотации, относительно невелико в сравнение ручного аннотирования. Результаты, полученные при обучении сети в рамках набора данных, полученного с помощью автоматического аннотирования, превосходят результаты, полученные при ручной разметке, и разница в точности составляет 2%. Результаты, полученные в этом разделе по схемам автоматической аннотации, показывают, что этот метод эффективен для получения информации о пожаре с небольшими отклонениями в точности и эффективном использовании времени.
Заключение.
Исследование, в котором используется модель глубокого обучения YOLOv5, представляет собой способ выявления лесных пожаров. Результаты тестов показывают, что применение алгоритма УОЬОу5 позволяет обеспечить высокий уровень точности обнаружения. Параметр размера выборки был изменен, главным образом, для получения желаемого результата и более точного обнаружения очагов пожаров. В зависимости от технических характеристик используемого компьютера, операция обучения может занимать различное время и иметь большое разнообразие результатов. Базовая технология, позволяющая использовать функцию автоматического извлечения данных о пожаре из изображения, достаточно легко адаптируется для использования в других сценариях. Дополнительная возможность проведенного исследования
заключается в применении этого метода для выделения характеристик других объектов схожих с огнем, например, источники света и солнца с использованием цветовой гаммы.
СПИСОК ЛИТЕРАТУРЫ:
1. Y. Wang, L. Dang, and J. Ren, "Forest fire image recognition based on convolutional neural network," Journal of Algorithms & Computational Technology, vol. 13, 2019. [Электронный ресурс]: https://doi.org/10.1177/1748302619887689 (дата обращения: 3.04.2023);
2. Z. Hong, Z. Tang, H. Pan, Y. Zhang, Z. Zheng, R. Zhou, Z. Ma, Y. Zhang, Y. Han, J. Wang, and S. Yang, "Active fire detection using a novel convolutional neural network based on himawari-8 satellite images," Frontiers in Environmental Science, vol. 10, 2022. [Электронный ресурс]: https://www.frontiersin.org/articles/10. 3389/fenvs.2022.794028 (дата обращения: 3.04.2023);
3. S. T. Seydi, V. Saeidi, B. Kalantar, N. Ueda, and A. A. Halin, "Fire-net: A deep learning framework for active forest fire detection," hindawi, 2022. [Электронный ресурс]: https://doi.org/10. 1155/2022/8044390 (дата обращения: 3.04.2023);
4. Y. N. Jurn, S. A. Mahmood, and J. A. Aldhaibani, "Anti-drone system based different technologies: Architecture, threats and chal- lenges," in 2021 11th I E E E International Conference on Control System, Computing and Engineering (ICCSCE), 2021, С. 114-119;
5. H. Ul Ain Tahir, A. Waqar, S. Khalid, and S. M. Usman, "Wildfire detection in aerial images using deep learning," С. 1-7, 2022;
6. S. G. Zhang, F. Zhang, Y. Ding, and Y. Li, "Swin-yolov5: Research and application of fire and smoke detection algorithm based on yolov5," Computational Intelligence and Neuroscience, vol. 2022, С. 1-8, 06 2022;
A. S. Mahdi and S. A. Mahmood, "Analysis of deep learning methods for early wildfire detection systems: Review," p. 271-276, 05 2022. [Электронный ресурс]: https://ieeexplore.ieee.org/document/ 9888515 (дата обращения: 3.04.2023);
7. Z. Xue, H. Lin, and F. Wang, "A small target forest fire detection model based on yolov5 improvement," Forests, vol. 13, no. 8, 2022. [Электронный ресурс]: https://www.mdpi.com/1999-4907/13/8/1332 (дата обращения: 3.04.2023);
A. S. Mahdi and S. A. Mahmood, "An edge computing environment for early wildfire detection," Annals of Emerging Technologies in Computing, vol. 6, pp. 56-68, 7 2022. [Электронный ресурс]. - Режим доступа: http://aetic.theiaer.org/archive/v6/v6n3/p5.html (дата обращения: 3.04.2023);
8. R. Reddy, C. Nagaraju, and I. R. S. Reddy, "Canny scale edge detection," IJETT, 1 2016;
9. A. Bhandari, "Everything you should know about confusion matrix for machine learning," 2020. [Электронный ресурс]: https://www.analyticsvidhya.com/blog/2020/04/ confusion-matrix-machine-learning/ (дата обращения: 3.04.2023);
10. M. Hossin and S. M.N, "A review on evaluation metrics for data classification evaluations," International Journal of Data Mining Knowledge Management Process, vol. 5, С. 01-11, 3 2015;
11. S. Narkhede, "Understanding confusion matrix," 2018. [Электронный ресурс]: https://towardsdatascience.com/ understanding-confusion-matrix-a9ad42dcfd62 (дата обращения: 3.04.2023)
Martynov M.D., Yablochnikova I. O.
Martynov M.D.
Moscow Technical University of Communications and Informatics
(Moscow, Russia)
Yablochnikova I.O.
Moscow Technical University of Communications and Informatics
(Moscow, Russia)
DETECTION AND CLASSIFICATION METHODS FOR HARDWARE AND SOFTWARE DEVELOPMENT FOREST FIRE DETECTION COMPLEX USING COMPUTER VISION
Abstract: forestfires pose a serious threat to both the natural environment andpublic safety. The detection offorest fires is key to their effective extinguishing, because after reaching a certain size, the fire becomes uncontrollable. Currently, there is a growing need to install a rapid response system in forest areas to ensure prompt intervention in the event offorest fires spreading over large areas. In this article, a YOLO-based algorithm designed to detect and classify objects in real time.
Keywords: forest fire, computer vision, deep learning, auto-marking.