МЕТОД ОПРЕДЕЛЕНИЯ ЭРИТРОЦИТОВ НА ИЗОБРАЖЕНИИ
METHOD FOR DETERMINING RED BLOOD CELLS IN THE IMAGE
УДК-004
Доктор Артём Алексеевич
студент, Московский государственный технический университет имени Н. Э. Баумана Россия, г. Москва Doktor Artyom Alekseevich artyomd2009@yandex.ru
Аннотация
Целью работы является определение эритроцитов на изображении. В данной работе проанализированы существующие решения задачи поиска объектов на изображении. Разобрана архитектура каскада Хаара и спроектирован метод на его основе. Для обучения модели были размечены биомедицинские снимки. Была выбрана конфигурация каскада и проведено обучение каскада. Разработано программное обеспечение для получения набора областей с эритроцитами на основе загруженного снимка.
Annotation
The purpose of this work is to determine the red blood cells in the image. This paper analyzes the existing solutions to the problem of searching for objects in the image. The architecture of the Haar cascade is analyzed and the method based on it is designed. Biomedical images were marked up to train the model. The cascade configuration was selected and the cascade training was performed. The software for obtaining a set of areas with red blood cells based on the downloaded image is developed.
Анализ размеров и формы эритроцитов лежит в основе исследования воздействия низкоинтенсивного оптического излучения(НОИ) на мембраны клеток. Радикальное изменение мембраны приводит к разрушению эритроцита. При этом положительное воздействие на эластичность мембраны составляет один из главных механизмов фототерапии и позволяет лечить
обширный круг заболеваний, носящих преимущественно системный характер и в силу этого плохо поддающихся лечению традиционными способами [1].
В данном направлении ведётся большое число исследований [2, 3, 4, 5], но особый интерес представляет разработка метода определения неразрушающей дозы облучения эритроцитов [6], где для определения интенсивности эритроцит со снимка заносится на трёхмерную сцену.
Для выделения эритроцитов на изображении, медику предлагается самостоятельно выделить интересуемые объекты. Основным недостатком такого подхода является то, что ручное выделение сотен эритроцитов требует значительных временных и трудовых затрат, а также ведёт к появлению ошибок, связанных с человеческим фактором.
Целью работы является разработка и реализация метода определения эритроцитов на снимке. Обзор существующих методов
Задача определения объектов на изображении заключается в поиске области интереса, в котором находится искомый объект. Обнаружение объектов происходит с помощью сегментации - выделения областей, однородных на основе яркостной, градиентной или текстурной информации изображения. Поиск кровяных клеток на биомедицинских изображениях является объектом исследований многих научных работ [7-26]. Предложенные методы можно разбить на следующие группы:
- методы пороговых значений;
- методы выделения и анализа контуров;
- методы наращивания областей;
- методы сопоставления с шаблоном;
- методы на основе кластеризации.
В контексте поиска эритроцитов на микроскопическом снимке эффективность работы алгоритма можно оценить следующими факторами:
- устойчивость к смене освещения;
- устойчивость к шумам;
- устойчивость к изменению масштаба клеток;
- устойчивость к росту кучности объектов.
Методы, основанные на пороговых значениях [7-13], требуют дополнительной предобработки для устранения шумов, поскольку в чистом виде пороговые алгоритмы являются крайне чувствительными к шумам. Также их характерной особенностью является высокая точность работы при любом освещении, однако для этого необходимо вручную задать параметры минимальной и максимальной яркости.
Алгоритмы анализа контуров [24-26] не применимы, если изображение состоит из множества мелких деталей, например, когда снимок содержит концентрированную группу эритроцитов малого размера.
Методы наращивания [14-19] показывают плохие результаты поиска на изображениях с высокой детализацией, насыщенностью и глубиной цвета, необходимо проводить дополнительную предобработку. К преимуществам данного семейства методов относят эффективную работу с зашумленными снимками.
Методы сопоставления с шаблоном [23] ищут точные совпадения точек шаблона с точками изображения. Если изображение повернуто или масштабировано относительно параметра шаблона, то количество обнаружений данных методов существенно снижается. Методы на основе кластеризации [20-22] используются только на классах объектов, вошедших в обучаемые выборки. При этом сам процесс обучения системы является трудоёмким.
Для выполнения приведенных выше условий, было решено использовать каскад Хаара, реализация которого объединяет методы нескольких классов алгоритмов. Он устойчив к смене освещения благодаря примитивам Хаара, представляющих из себя простейший полосовой фильтр [27]. Так как он базируется на принципе сканирующего окна [28], то он также устойчив к изменению масштаба. Для устранения шумов использует тот же алгоритм, что и оператор Кэнни [29].
Его главными недостатками является низкая скорость работы и рост процента ложных обнаружений при увеличении плотности объектов. Однако при правильном обучении, оптимальном выборе конфигурации и использовании наиболее рациональных параметров использования можно добиться увеличения точности и скорости работы данного метода. Каскад Хаара
Каскад Хаара представляет из себя набор "слабых" классификаторов, вместе образующий один "сильный". «Слабым» называется классификатор, точность работы которого уступает «сильному». Принцип создания сильного классификатора на основе слабых носит название AdaBoost. Для его работы необходимо подготовить набор размеченных фотографий и комплект слабых классификаторов. Слабым классификатором называют функцию, принимающую на вход значение X и возвращающую ноль или единицу.
Требуется построить классифицирующую функцию F: X ^ Y, на основе семейства простых классифицирующих функций Н, где X - пространство всех изображений, Y - пространство меток классов:
ь.(х) = {1,Й№)<^ (1)
где: Ь^ £ Н - простой классификатор; 0i - пороговое значение; pi - направление знака неравенства;
^(х) - результат вычисления значения соответствующего признака Хаара для изображения x.
Пусть в распоряжении имеется обучающая выборка (х1,у1),..., (хп, уп), где xi £ X - изображение, а yi £ Y - метка класса, к которому принадлежит xi, i £ N. Будем рассматривать задачу с двумя классами, то есть Y = {0,1}: _ Г1, объект присутствует на изображении xi (2)
= " (3)
Также для каждого входного изображение вводится параметр - вес, посчитанный i раз. Чем больше итераций будет проведено, тем точнее и «тяжелее» будет вычисляемое значение. Первоначальный вес определяется по формуле, представленной ниже.
(1 л I —, если у1 = 1
&1 = | 1
-г—, иначе V 2т
где: 1 - количество положительных примеров;
т - количество отрицательных примеров.
На каждой итерации, алгоритм строит всевозможные слабые классификаторы, передавая им текущие веса, при этом получая от них обновленные значения. Под «всевозможными» имеется в виду перестановки п заданных признаков Хаара на все доступные участки сканирующего окна и изменение масштаба от минимального 24 на 24 до максимального, равному окну сканирующего окна. На основе результатов работы слабых классификаторов формируются веса для следующей итераций. Для этого все веса нормализируются:
где п - количество элементов обучающей выборке.
Необходимо принять решение о том, какой из классификаторов выбрать в качестве опорного. Для этого для каждого классификатора вычисляется ошибка ^:
= Ь(Хк) — Ук|,
где ^ е Н.
Опорным становится тот классификатор, который имеет минимальное значение ошибки. Запишем эту ошибку в виде коэффициента Pi:
Предположим, что задана двумерная плоскость и £ = 0.5 для всех ^ е Н, то есть каждый слабый классификатор допускает ошибку 50%. На рисунке 1 синим показаны положительные примеры, красным - отрицательные.
Рисунок 1. Положительные и отрицательные примеры на плоскости
Неверно классифицированные объекты получают больший вес на следующей итерации. С каждой итерацией точность разбиения улучшается, что проиллюстрировано на рисунке 2.
° о О - &&
О "б
.. - с °
первая итерация
О • О
вторая итерация
\\ о °
сЛ° °
третья итерация
Рисунок 0. Разбиение плоскости на первых трёх итерациях
На каждой итерации веса всех примеров обучающей выборки обновляются:
^ = Р;1-1^-^ (7)
И итоговый классификатор можно представить в виде, записанном ниже.
Научно-образовательный журнал для студентов и преподавателей №9/2020
t=l «=1 0, иначе
где T - количество итераций, необходимое классификатору F для достижения заданной точности.
Для сканирующего окна размером 24 на 24 пикселя, число возможных классификаторов составляет 160000. Работать с таким множеством классификаторов нецелесообразно, поэтому перед AdaBoost стоят две главные задачи.
Убрать из цепочки как можно больше классификаторов и тем самым сократить время обработки одного изображения.
При движении окна сканирования, проверять окно как можно меньше раз, не потеряв при этом в точности.
Для уменьшения проверок, классификаторы выстраиваются в каскад. При переборе всех возможных вариаций подокон в сканирующем окне, простые классификаторы отсекают многие негативные результаты и обнаруживают большинство положительных. Если первый классификатор определяет подокно, как положительное, то отправляет его на проверку второму, а тот третьему и так далее. Отрицательный результат приводит к отстранению рассматриваемого подокна от дальнейшего рассмотрения. Процесс работы продемонстрирован на рисунке 3.
Рисунок 3. Поиск эритроцита в изображении Описанный выше метод позволяет уменьшить количество классификаторов, необходимых для проверки одного подокна. Однако не менее важным шагом является уменьшение суммарного количества подокон. Для этого вводятся дополнительные ограничения:
• minSize - минимально возможный размер подокна;
• maxSize - максимально возможный размер подокна;
• scalefactor - шаг изменения масштаба подокна при переборе всех возможных вариаций масштабов в заданных границах;
• minNeighbors - минимальное количество подокон в одном окне, необходимых, для признания наличия искомого объекта в данном подокне;
Точность и скорость работы каскада Хаара оценивается минимальным процентом обнаружения или же частотой обнаружения(minHitRate) и максимальным уровнем ложной тревоги(maxFalseAlarmRate). Частота обнаружения характеризует количество элементов положительной выборки, которые могут быть классифицированы ошибочно. А уровень ложной тревоги определяет количество ложных срабатываний - случаев, когда элементы отрицательной выборки классифицируются как положительные
Частота обнаружения и процент ложных срабатываний каскада Хаара определяется перемножением соответствующих характеристик каждого отдельного этапа. Так, для определения объекта в 90% случаев при ошибке ложного срабатывания 10-6. Необходимо задать 10-и уровневый каскад с частотой определения 0.99 и допустимой ошибкой 0.3.
Подготовка обучающей выборки
Для обучения каскада Хаара необходимо подготовить файлы положительной и отрицательной выборки. Отрицательный пример содержит список относительных путей к изображениям. Структура файла, содержащего положительные данные состоит из списка строк, содержащий относительный путь, количество найденных объектов и координаты фрагментов, где были зафиксированы объекты.
В целях автоматизации подготовки изображений, было принято решение использовать алгоритм поиска контуров Suzuki [35], основанный на детекторе Кэнни. Данный метод работает с бинарными изображениями, поэтому необходимо предварительно проводить бинаризацию изображений. Для этого было решено использовать многоуровневое пороговое преобразование с двойным ограничением: нижнего порога tt и верхнего t2
Поскольку выбранный алгоритм основан на детекторе Кэнни, то побочным эффектом его применения является утоньшение контуров объектов. Передний план изображения занимает набор эритроцитов - эллипсов тёмного цвета на белом фоне. Для устранения деформации размеров контуров, необходимо применить морфологическую операцию наращивания.
Для ее проведения необходимо выбрать размер ядра s и количество наложений фильтра i. Для устранения ложных срабатываний проводят постобработку полученных результатов, основанную на анализе формы и размера объектов.
Эритроцит на плоскости можно аппроксимировать как эллипс. За счёт большого количества клеток на изображении, можно судить о корректности их распознавания на основе среднего размера обнаруженных областей. Таким образом вводятся ограничения на минимальный и максимальный размер
объекта, его отклонение от среднего размера и отклонение соотношения полуосей эллипса от единицы. Обучение каскада
Перед использованием размеченных данных, необходимо привести их к единому формату. При этом требуется определить размер элемента обучающей выборки, представляемого в виде двух чисел - высоты и ширины. Соотношение высоты к ширине должно совпадать с аналогичным соотношением объекта поиска, но при этом сами значения высоты и широты не обязаны совпадать, поскольку каскад Хаара использует пирамиду изображения [35].
Следующим шагом является выбор конфигурации каскада. Необходимо определить количество уровней - число итераций прохода сканирующего окна по изображению, частоту обнаружения, уровень ложной тревоги, количество элементов в положительной и отрицательной выборках, размер элемента и требование использовать все признаки Хаара.
Число уровней как правило берётся в интервале от 16 до 23, повышение этого параметра значительно увеличивает длительность обучения и может приводить к сбою обучения при некорректно заданном уровню ложной тревоги, который отвечает за переход на новый уровень.
Количество отрицательных изображений указывается в соответствие с размером отрицательной выборки. Количество положительных изображений устанавливается с учетом частоты обнаружения, характеризующей процент элементов положительной выборки, которые могут быть ошибочно классифицированы.
Применение обученного классификатора
Процесс применения каскада Хаара состоит из двух этапов: загрузки обученной модели и запуска поиска объектов на изображении с выбором подходящих параметров: минимального и максимального размера объекта, масштабируемости и количества соседей.
Подокно сканирующего окна будет искать объекты на изображении масштабом начиная с минимального и заканчивая максимальным с шагом, заданным масштабируемостью. Так, при значении масштабируемости 1.1, подокно будет на каждой итерации увеличить свой размер на 10 процентов. При указании большого шага, промежуточные объекты могут быть не найдены, однако, чем ближе он к единице, тем дольше выполняется процесс поиска, поэтому наиболее оптимальным значением считается 1.05.
Количество соседей можно определить по плотности эритроцитов на изображении. Если эритроциты находятся в отдалении друг от друга, то
следует указывать это значение равным нулю. Если эритроциты перекрывают друг друга, то это значение следует повысить до среднего количества наложений, однако при большом количестве соседствующих эритроцитов малое значение этого параметра будет существенно увеличивать длительность работы алгоритма, поэтому рекомендуется завышать число соседей в целях увеличения производительности поиска Заключение
Таким образом, был разработан метод определения эритроцитов на изображении, а также проведена оценка времени обучения модели от количества элементов обучающей выборки и конфигурации каскада. Метод позволяет определять эритроциты на снимках с плохим освещением, большими скоплениями клеток и наличием шумов. Медикам, использующим разработанное программное обеспечение, не требуется знания алгоритмов машинного зрения или других навыков, не свойственных их профессии. Для улучшения результатов поиска, можно указать минимальный и максимальный размер эритроцитов, а также плотность их распределения на снимке.
Literature
A. I. Abdrakhmanova, N. B. Amirov Modern ideas about the mechanisms of laser exposure, Bulletin of modern clinical medicine, vol. 8, issue 5, p. 7-12, UDC 615.849.19, 2015
A. A. Stenko, I. V. Kumova, I. G. Zhuk Application of low-intensity laser radiation in the treatment of surgical pathology, grsmu Journal 2006 no. 1, UDC: 615.849.19
A. doctor, Yu. Stroganov, L. Zhorina, G. Zmievskaya method for determining the dose of non-destructive irradiation of red blood cells in low-intensity optical effects on blood, conference: Ural Symposium on biomedical engineering, Radioelectronics and information technologies (USBEREIT) 2019, Pp. 40-43, DOI: 10.1109/USBEREIT. 2019.8736571 [Electronic resource] - access Mode https://ieeexplore.ieee.org/document/8736571/ (accessed: 15.08.2019)