СИСТЕМА МОНИТОРИНГА РЕЖИМОВ ГОРЕНИЯ ТОПЛИВА ПУТЕМ АНАЛИЗА ИЗОБРАЖЕНИЙ ФАКЕЛА ПРИ ПОМОЩИ КЛАССИФИКАТОРА НА ОСНОВЕ СВЁРТОЧНОЙ НЕЙРОННОЙ СЕТИ
FUEL COMBUSTION MODES MONITORING SYSTEM BY MEANS OF TORCH IMAGES ANALYSIS USING CLASSIFIER BASED ON CONVOLUTIONAL NEURAL NETWORK

Изобретение относится к области теплоэнергетики. Изобретение относится к способам прогнозирования и управления факельным сжиганием топлива, в частности, в топочных устройствах в угольных и газовых котлах. Изобретение может найти применение в любой отрасли промышленности, связанной с факельным сжиганием топлива.
На сегодняшний день в промышленных применениях для мониторинга процесса горения и детектирования перехода процесса в неблагоприятный режим используется диагностика процесса факельного сжигания, осуществляемая с использованием видеокамер, газоанализаторов, термопар и ряда других датчиков.
Одним из подходов к мониторингу процесса горения является сопоставление изображения пламени и режима горения, т.е. характерного диапазона параметров, в котором реализуется данный режим, для осуществления которого необходимо решать задачу классификации изображений пламени на основе многомерного вектора признаков.
Для классификации с применением многомерного вектора признаков в качестве входных данных существует широкий ряд способов [Witten I., Frank Е., Hall М., Pal С. Data Mining: Practical Machine Learning Tools and Techniques. San Francisco: Morgan Kaufmann, 2017. 654 p.]: метод опорных векторов, нейронная сеть (например, полносвязная сеть типа многослойный персептрон), градиентный бустинг над линейными моделями или деревьями решений и другие. Эффективность таких способов для решения задач компьютерного зрения во многом зависит от экспертных знаний исследователя по созданию признакового описания изображений.
Известна система мониторинга и контроля параметров процесса горения в топке котла [US 6468069, 22.10.2002, F23N 1/02; F23N 5/08; F23N 001/00; F23N 005/08], включающая сканирующее устройство (видеокамера, ПЗС-камера, устройство сканирования лазерным лучом и соответствующий фотодетектор), генерирующее электрические сигналы, изменяющиеся в зависимости от процесса горения, систему управления сканирующим устройством, датчики контроля различных параметров процесса горения, процессор, соединенный с выходом сканирующего устройства, реализующий обученную реккурентную нейронную сеть, которая обрабатывает сигналы сканирования и генерирует сигналы классификации горения, контроллер нечеткой логики, который получает сигналы классификации горения, анализирует их, определяет и генерирует сигналы управления горением. В составе системы используется нейросетевой классификатор, осуществляющий классификацию сигналов от сканирующего устройства. В описании системы указан классификатор на основе полносвязной нейронной сети.
Применяемый алгоритм нейросетевой обработки изображений обладает низкой эффективностью, по сравнению со сверточной нейронной сетью с настраиваемыми пространственными фильтрами в сверточных слоях.
Сверточные нейронные сети (CNN - Convolutional Neural Network) [Hagan M.Т., Demuth Н.В., Beale М.Н., de Jesus О. Neural Network Design. USA: Martin Hagan, 2014. 800 p.] успешно применяют к широкому классу задач классификации изображений, включая распознавание рукописного ввода и лиц на изображениях.
Базовыми для сверточной нейронной сети являются две выполняющиеся в отдельных слоях операции: свертка и субдискретизация. Сверточный слой многократно сокращает число параметров по сравнению с полносвязным слоем, что позволяет существенно увеличить время и качество обработки изображений,
однако использует больше гиперпараметров, которые должны быть определены до процедуры обучения.
Из области техники известен классификатор со сверточной нейронной сетью [US 20150036920, 2015-02-05, G06K 9/6]. Известное решение является классификатором общего назначения и не учитывает особенности обучения нейронной сети применительно к случаю мониторинга режимов горения. Известное решение не обладает достаточной устойчивостью работы обучаемого классификатора.
Наиболее близким по совокупности признаков и получаемому техническому результату является устройство (датчик изображения / контроллер нейронной сети) для систем контроля горения [Патент US 5249954, 1993-10-05, F23N 5/08], основанный на регистрации изображений хемилюминесценции образующихся в процессе горения радикалов и обработки таких изображений с использованием нейронной сети. В известном техническом решении для обработки изображений используется нейронная сеть, включающая входной слой (inputlayer), выходной слой (outputlayer) и скрытый слой с настраиваемыми весами связей (hiddenlayer).
Такой алгоритм нейросетевой обработки изображений обладает низкой эффективностью, по сравнению со сверточной нейронной сетью с настраиваемыми пространственными фильтрами в сверточных слоях. Это делает устройство малопригодным для мониторинга в режиме реального времени. Также описанное в патенте решение не уточняет способа, на основании которого выполняется обучение и дальнейший анализ изображений.
Задачей настоящего изобретения является разработка системы мониторинга режимов горения топлива путем анализа изображений факела, позволяющей более точно, надежно и практически безынерционно (в момент перехода) диагностировать смену режима горения топлива, то есть изменение параметров сжигания, что будет способствовать повышению эффективности и безопасности сжигания топлива.
Указанная задача решается путем создания системы мониторинга режимов горения топлива путем анализа изображений факела при помощи классификатора на основе обученной сверточной нейронной сети, включающей устройство регистрации изображений хемилюминесценции пламени, образующихся в процессе горения радикалов и изображения вынужденной люминесценции радикалов, вычислительное устройство, реализующее классификатор на основе обученной сверточной нейронной сети, устройство отображения результатов.
Согласно изобретению, устройство регистрации изображений установлено таким образом, чтобы в область наблюдения был включен участок основания пламени, и регистрация изображений пламени при заданной комбинации параметров таких, как диапазон степени закрутки потока, диапазон соотношения топливо/воздух, диапазон выброса компонент летучих, диапазон температур на каком-либо из участков пламени, либо других параметров, характеризующих процесс сжигания топлива.
Согласно изобретению, сверточная нейронная сеть состоит функциональных слоев следующих типов: сверточных, субдискретизирующих, исключающих, выравнивающих, полносвязных, а также функциональных слоев других типов.
Согласно изобретению, сверточная нейронная сеть состоит из произвольного необходимого количества функциональных слоев различных типов, комбинируемых в определенной последовательности так, что субдискретизирующие и исключающие слои расположены после каждого сверточного слоя, либо после пары сверточных слоев в следующем порядке: сверточный слой (либо два сверточных слоя подряд), субдискретизирующий слой, исключающий слой.
Каждый сверточный слой может содержать произвольное необходимое количество и размер пространственных фильтров и соответствующих им карт признаков, заранее подобранных случайным перебором по сетке параметров, с осуществлением максимизации точности классификации на кросс-валидации. Значения величин гиперпараметров классификатора также подобраны путем случайного перебора на сетке параметров.
Согласно изобретению, сверточная нейронная сеть обучена с применением статистической начальной инициализации весов в слоях нейронной сети и аугментации обучающих данных (изображений) на изображениях пламени, заранее зарегистрированных на том же горел очном устройстве, на котором в дальнейшем используется система, маркированных в соответствии с режимом горения.
Согласно изобретению, в качестве комбинации настраиваемых гиперпараметров классификатора в сверточной нейронной сети используют размер сверточного ядра, число ядер в каждом сверточном слое, а также число нейронов в полносвязных слоях.
Система мониторинга режимов горения топлива путем анализа изображений факела при помощи классификатора на основе обученной сверточной нейронной сети схематично изображена на фиг. 1, где: 1 - горелочное устройство; 2 - система мониторинга; 3 - устройство регистрации изображений; 4 - вычислительное устройство, реализующее классификатор на основе сверточной нейронной сети; 5, 6, 7, 8 9 - слои нейронной сети; 5 - входной слой нейронной сети; 6 - сверточный слой нейронной сети; 7 - субдискретизирующий слой нейронной сети; 8 - исключающий слой нейронной сети; 9 - полносвязный выходной слой нейронной сети; 10 - устройство отображения результатов.
Система мониторинга режимов горения включает в себя: устройство регистрации изображений 3 хемилюминесценции пламени, образующихся в процессе горения радикалов и изображения вынужденной люминесценции радикалов, вычислительное устройство 4, реализующее (программным или аппаратным способом) классификатор на основе сверточной нейронной сети, устройство отображения результатов 10.
Устройство регистрации изображений 3 представляет собой цифровую камеру, снабженную оптическим светофильтром или набором светофильтров, предназначенным для выделения диапазона длин волн излучения, соответствующих спектральному диапазону люминесценции пламени.
Вычислительное устройство 4 - компьютер или контроллер, реализует (программным или аппаратным способом) классификатор на основе сверточной нейронной сети, осуществляющий анализ поступающих с устройства регистрации изображений пламени. Задачей сверточной нейронной сети является классификация поступающих на ее вход изображений закрученного пламени с отнесением их к одному из известных классов.
Устройство отображения результатов 10 представляет собой монитор, отдельный индикатор, или набор индикаторов, отображающий результат работы классификатора - информацию о том, к какому из заранее определенных классов относится текущее состояние пламени (режим горения) и/или заранее определенный диапазон параметров, в котором реализуется такой режим.
Сверточная нейронная сеть предназначена для решения задачи классификации изображений пламени, получаемых с видеопотока цифровой камеры. Сверточная нейронная сеть состоит из произвольного необходимого количества сверточных функциональных слоев, в том числе:
- сверточных (convolutional),
- субдискретизирующих (pooling),
- исключающих (dropout),
- выравнивающих (flattening),
- полносвязных (fully-connected),
- функциональные слои других типов.
Сверточная неронная сеть устроена таким образом, что данные передаются последовательно по слоям в направлении от входного слоя 5 к выходному слою 9. Входные данные для каждого слоя являются выходными данными предыдущего слоя.
Пример конфигурации сверточной нейронной сети показан на фиг. 2, где (0) - входной слой, на вход которого подается изображение (цветное либо черно-белое), выход - то же самое изображение. В примере - цветное трехканальное изображение размером 64×64 пике.
(1, 2) - сверточный слой, вход которого - исходное изображение, переданное от входного слоя, выход - набор карт признаков (матриц), выделенных сверточным слоем. В примере - 16 карт признаков размером 64×64 пике.
(3) - субдискретизирующий слой, на вход которого подается набор карт признаков, переданных от сверточного слоя, выход - набор карт признаков меньшего размера (матрица с уменьшенным количеством строк и столбцов). В примере - 16 карт признаков размером 32×32 пике.
(4) - исключающий слой, на вход которого подается набор карт признаков, переданных от исключающего слоя, выход - набор карт признаков того же размера, что и на входе, заданная параметрами слоя часть весов (значений в карте признаков, представленной матрицей) занулена. В примере - 16 карт признаков размером 32×32 пике.
(5, 6) - сверточный слой, на вход которого подается набор карт признаков от исключающего слоя, выход - новый набор карт признаков (матриц), выделенных сверточным слоем. В примере - 8 карт признаков размером 32×32 пике.
(7) - субдискретизирующий слой, на вход которого подается набор карт признаков, переданных от предыдущего сверточного слоя, выход - набор карт признаков меньшего размера (матрица с уменьшенным количеством строк и столбцов). В примере - 8 карт признаков размером 16×16 пике.
(8) - исключающий слой, на вход которого подается набор карт признаков, переданных от исключающего слоя, выход -набор карт признаков того же размера, что и на входе, заданная параметрами слоя часть весов (значений в карте признаков, представленной матрицей) занулена. В примере - 8 карт признаков размером 16×16 пике.
(9) - выравнивающий слой, на вход которого подается набор карт признаков от исключающего слоя, выход - вектор, построенный на основе набора карт признаков. В примере - вектор, содержащий 2048 элементов.
(10) - полносвязный слой, на вход которого подается вектор, переданный от выравнивающего слоя, выход - вектор с меньшим числом элементов. В примере - вектор, содержащий 512 элементов.
(11) - исключающий слой, на вход которого подается вектор, переданный от полносвязного слоя, выход - вектор той же размерности, что и на входе. Часть элементов вектора занулена. В примере - вектор, содержащий 512 элементов.
(12) - полносвязный выходной слой, на вход которого подается вектор, переданный от исключающего слоя, выход - вектор с числом элементов, соответствующим числу определяемых классов. В примере - 13 элементов (определяемых классов).
Сверточные функциональные слои комбинируют в определенной последовательности так, что субдискретизирующие и исключающие слои расположены после каждого сверточного слоя, либо после пары сверточных слоев в следующем порядке: сверточный слой (либо два сверточных слоя подряд), субдискретизирующий слой, сверточный слой (либо два сверточных слоя подряд), субдискретизирующий слой, исключающий слой,
Каждый сверточный слой может содержать произвольное необходимое количество и размер пространственных фильтров, и соответствующих фильтрам карт признаков, причем подбор необходимого количества сверточных слоев, количества и размера карт признаков осуществляют случайным перебором по сетке параметров, при этом максимизируют точность классификации на части набора обучающих изображений.
В качестве комбинации настраиваемых гиперпараметров в сверточной нейронной сети используют: размер сверточного ядра, число ядер в каждом сверточном слое, а также число нейронов в полносвязных слоях. Значения величин гиперпараметров подбирают путем случайного перебора на сетке параметров,
Сверточная нейронная сеть предварительно обучается путем подачи на ее вход наборов изображений пламени, полученных от устройства регистрации на том же горелочном устройстве, на котором система в дальнейшем будет использована для мониторинга, и маркированных в соответствии с режимными параметрами процесса горения. Сверточная нейронная сеть обучается на маркированных данных с использованием статистической инициализации начальных весов с заданной дисперсией значений и применением аугментации обучающих данных.
Перед началом применения системы мониторинга режимов горения топлива проводят подбор архитектуры нейронной сети, настройку гиперпараметров и обучение нейронной сети на различных режимах горения. Для этого предварительно при помощи устройства регистрации регистрируют набор изображений пламени на том же горелочном устройстве, на котором система в дальнейшем используется для мониторинга, и маркированных в соответствии с режимными параметрами процесса горения.
После этого на полученном наборе данных проводят подбор архитектуры, настройку гиперпараметров и обучение нейронной сети на различных режимах горения. В процессе обучения сверточная нейронная сеть, являющаяся частью системы, обучается сопоставлять подаваемые на вход изображения с указываемым режимом горения. После обучения нейронной сети устройство регистрации в потоковом режиме регистрирует изображения факела и передает их на вход сверточной нейронной сети. Сверточная нейронная сеть определяет вероятность принадлежности полученного изображения к одному из «известных» режимов горения и в качестве результата работы предоставляет на выход наименование режима горения которому с наибольшей вероятностью соответствует полученное изображение и/или набор параметров, определяющих режим горения.
Формирование набора исходных данных осуществляют следующим образом. Устройство регистрации изображений (видеокамеру) размещают так, чтобы она наблюдала пламя горелочного устройства во всех определяемых режимах горения и производят регистрацию изображений пламени с одного ракурса. В область наблюдения должен быть включен участок основания пламени. Наборы изображений пламени регистрируют при заданной комбинации параметров (или диапазоне параметров), определяющих «режим» горения. В качестве таких параметров могут быть использованы: диапазон степени закрутки потока, диапазон соотношения топливо/воздух, диапазон выброса компонент летучих, диапазон температур на каком-либо из участков пламени, либо другие параметры, характеризующие процесс сжигания топлива. Для каждого режима регистрируют не менее двух тысяч изображений. Для обработки полученных изображений используют мультипроцессорные вычисления на графическом процессоре. Для обработки используется компьютер на базе производительных CPU, совместимых с архитектурой ×86, с объемом оперативной памяти не менее 4 Гб, оснащенном дискретным графическим процессором, реализующим программно-аппаратную архитектура вычислений CUDA, с объемом оперативной памяти не менее 6 Гб.
Предобработка данных заключается в уменьшении разрешения изображений до необходимого значения. Изображение уменьшается до размера, позволяющего проводить обработку с необходимой скоростью, но не менее чем до размера 64×64 пике.
Подбор архитектуры и оптимизацию гиперпараметров сверточной нейронной сети осуществляют следующим образом. Сверточная нейронная сеть состоит из произвольного необходимого количества функциональных слоев различных типов, включая входной и выходной слой, сверточные слои, субдискретизирующие слои, исключающие слои, выравнивающий слой, полносвязные слои, комбинируемых в определенной последовательности так, что субдискретизирующие и исключающие слои расположены после каждого сверточного слоя, либо после пары сверточных слоев в следующем порядке: сверточный слой (либо два сверточных слоя подряд), субдискретизирующий слой, исключающий слой. На вход подается цветное RGB-изображение либо изображение в градациях серого. Сначала изображение проходит сверточную, либо последовательно две сверточные операции. После этого данные передаются в субдискретизирующий слой. Субдискретизирующие слои реализуют уплотнение карты признаков выбором максимального значения с заданными значениями ядра преобразования и шага (например, ядро преобразования размером 3×3 и шаг 2, что даст на выходе карту признаков размером 0.5 n × 0.5 m, где n и m - размер входной карты признаков). Исключающие слои зануляют случайно выбранные значения в карте признаков, исключая их из дальнейшей обработки в ходе итерации обучения, что позволяет регуляризовать обучаемую модель и предотвратить переобучение нейронной сети. После последовательности блоков [сверточный слой - субдискретизирующий слой - исключающий слой] в нейронной сети располагается выравнивающий слой, преобразующий набор карт признаков в вектор признакового пространства, полносвязный слой, либо последовательность полносвязных слоев (обычно не более трех), выделяющая признаки более высокого уровня. Между полносвязными слоями располагаются исключающие слои, зануляющие случайно выбранные значения в векторе признаков, исключая их из дальнейшей обработки в ходе итерации обучения. Выход последнего полносвязного слоя подается на завершающий слой Softmax, который вычисляет вероятность принадлежности изображения к классу. На начальном этапе устанавливают исходную архитектуру сети, то есть количество слоев каждого типа и их параметры.
Комбинация гиперпараметров модели подбирается случайным перебором по сетке, при этом максимизируется точность классификации на кросс-валидации с использованием сформированного набора данных. Обязателен подбор комбинации гиперпараметров, в наибольшей степени влияющих на качество классификации: размер сверточного ядра, число ядер в каждом сверточном слое, число нейронов в полносвязных слоях. Также для более тонкой настройки могут подбираться другие гиперпараметры: количество обучающих изображений, обрабатываемых за одну итерацию алгоритма градиентного спуска, размер подвыборки в субдискретизирующих слоях, величина вероятности исключения нейрона в исключающем слое. Если необходимая точность классификации не достигается, то изменяют количество блоков [сверточный слой - субдискретизирующий слой - исключающий слой] увеличивают и повторяют процедуру оптимизации.
Перед началом применения проводят обучение сети на различных режимах горения. В ходе обучения в качестве функции потерь используется кросс-энтропийная функция, а в роли метрики качества - доля правильных ответов. Для оптимизации вектора весов нейронной сети используется метод адаптивной инерции. Для обучения полную выборку заранее зарегистрированных изображений разбивают на три непересекающихся подмножества: обучение, валидация, тестовая выборка. При разбиении выборки используется перемешивание с сохранением баланса классов (относительной доли каждого класса) в каждой подвыборке. В процессе обучения на вход сверточной нейронной сети, подаются изображения из обучающей подвыборки и метка (маркер) класса, обозначающая режим горения, при котором изображение было зарегистрировано. При этом нейронная сеть обучается сопоставлять подаваемые на вход изображения пламени сметкой класса. Тестовая подвыборка используется для проверки качества обучения (точности классификации) на каждой итерации (эпохе). Валидационная подвыборка используется для дополнительной проверки качества обучения после его завершения.
Мониторинг режимов горения осуществляют следующим образом. Для мониторинга режимов горения устройство регистрации изображений (видеокамеру) размещают в то же положение, при котором регистрировались изображения для обучающей выборки. Устройство регистрации регистрирует изображения факела в потоковом режиме и передает их на вычислительное устройство, реализующее классификатор на основе обученной нейронной сети. Изображения передаются на вход сверточной нейронной сети. Сверточная нейронная сеть определяет вероятность принадлежности полученного изображения к одному из «известных» режимов(осуществляет классификацию) и в качестве результата работы предоставляет на выход наименование режима горения, которому с наибольшей вероятностью соответствует полученное изображение и/или режимные параметры процесса сжигания, соответствующие этому режиму. Результат классификации отображается на устройстве отображения, представляющем собой монитор, отдельный индикатор, или набор индикаторов.
Отличительной чертой использующейся в составе системы сверточной нейронной сети является ее назначение - решение задачи классификации, и наличие в ее составе сверточных функциональных слоев. Отличительной чертой системы в целом является осуществление мониторинга путем решения задачи классификации и использование в составе системы классификатора на основе сверточной нейронной сети.
Для определения режимов горения использовали обучаемую на маркированных данных сверточную нейронную сеть, а результат ее работы сравнивался с результатами классификации с помощью нескольких линейных моделей.
Сбор изображений пламени проводился на лабораторном газовом горелочном стенде, представляющем собой открытый контур, подключенный к баллонам с горючим газом и магистрали со сжатым воздухом. Наборы изображений пламени регистрировались при заданной комбинации двух параметров, определявших «режим» горения: степени закрутки потока S и отношения топливо/воздух в смеси (коэффициента избытка топлива) Ф. Всего было зарегистрировано 13 различных режимов горения пропановоздушной смеси. Параметры режимов указаны в табл. 1. Съемка производилась цветной камерой с разрешением изображения 2 Мпикс. Для каждого режима регистрировалось порядка 10000 изображений на темном фоне с одного ракурса.
Алгоритмы предобработки данных, классификации и построения модели CNN осуществлялись на языке программирования Python с использованием библиотек NumPy, SciPy, Pandas, Scikit-Learn, OpenCV, Theano, Tensorflow и Keras. Для обработки данных использовались мультипроцессорные вычисления на одном компьютере (в составе вычислительного кластера на базе двух процессоров IntelXeon Е5 v2, 8 х DDR3 16GB).
Полная выборка использовавшихся изображений пламени состояла из 39000 маркированных RGB-изображений размером 1920×1080 пикселей - по 3000 изображений для каждого из 13 режимов. Выборка разбивалась на три непересекающихся подмножества: обучение 56% изображений, валидация 14% и тестовая выборка 30%. При разбиении выборки, как и для линейных методов, использовалось перемешивание с сохранением баланса классов в каждой подвыборке. Разрешение изображений понижалось до 64×64 RGB-пикселей для уменьшения времени обучения сети. Такой размер входных изображений был выбран эмпирически, исходя из компромисса между точностью классификации и временем обучения и прогноза модели. Предложенный метод классификации основывался на классической сверточной нейронной сети, сочетающей сверточные и субдискретизирующие слои.
Комбинация гиперпараметров модели подбиралась случайным перебором по сетке, при этом максимизировалась точность классификации на кросс-валидации, а финальная модель проверялась на отложенной выборке. В числе подбираемых гиперпараметров были: обучающие изображения, обрабатываемые за одну итерацию алгоритма градиентного спуска, итерации обучающего алгоритма по всему обучающему множеству, размер ядра и число ядер в сверточных слоях, размер подвыборки в субдискретизирующих слоях, величина вероятности исключения нейрона в процедуре dropout и число нейронов в полносвязном слое. В результате подбора гиперпараметров точность классификации была повышена на 3,5%.
Сходимость обучения сети при выбранных гиперпараметрах достигалась на 25 эпохах. Время обучения финальной модели составляло 24,2 мин, среднее время классификации одного изображения - 5,1 мс. Процедура подбора гиперпараметров заняла 40,8 часа.
Средняя по всем режимам точность классификации на отложенной выборке составила 97,9%.
На рис. показана матрица ошибок классификации для 13 классов.
В табл.приводится метрика качества классификации изображений с помощью сверточной нейронной сети для отдельных режимов. Представленная матрица ошибок демонстрирует возникновение повышенной ошибки при классификации режимов 0, 7 и режимов 3, 4, 8, которые также классифицировались с ошибкой при использовании линейных методов. Тем не менее, даже для этих режимов качество классификации с помощью CNN значительно превышает среднее качество классификации с использованием линейных методов, а для режимов с высокой вариативностью (1, 11, 12) предложенная модель демонстрирует уверенную классификацию с точностью до 99%.