МЕТОД ДЛЯ ВЫДЕЛЕНИЯ И КЛАССИФИКАЦИИ ТИПОВ КЛЕТОК КРОВИ С ПОМОЩЬЮ ГЛУБОКИХ СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ
METHOD FOR ISOLATING AND CLASSIFYING BLOOD CELL TYPES USING DEEP CONVOLUTION NEURAL NETWORKS

ОБЛАСТЬ ТЕХНИКИ
Данное техническое решение, в общем, относится к области вычислительной техники и медицины, а в частности к способу выделения и классификации типов клеток крови с помощью глубоких сверточных нейронных сетей.
УРОВЕНЬ ТЕХНИКИ
В настоящее время интенсивно развиваются интеллектуальные системы, предназначенные для автоматической обработки медицинских изображений. Автоматизированная обработка и анализ медицинских изображений являются универсальным инструментом медицинской диагностики.
Классификация клеток крови на микроскопическом изображении представляет собой, в терминах компьютерного зрения, задачу распознавания объектов.
Кровь - сложная функциональная система, обеспечивающая своевременную доставку кислорода и питательных веществ клеткам тканей и удаление продуктов метаболизма из органов и интерстициальных пространств. Система крови тонко реагирует на воздействия факторов среды набором специфических и неспецифических компонентов. Важная характеристика физиологии и патологии системы крови - количественный и качественный состав эритроцитарной популяции.
Визуальная оценка морфологических характеристик клеток крови является неотъемлемой частью анализа крови человека. Определение количества форменных элементов крови разного типа, их соотношения является важным и наиболее частым тестом клинической лабораторной диагностики.
Исторически идентификация и счет клеток крови производились с использованием микроскопа в «ручном» режиме, при этом исследуемый образец крови находился в статическом состоянии. В последние годы интенсивно развивается иной подход к идентификации и счету форменных элементов крови - метод цифровой микроскопии.
В настоящее время это перспективное направление находится в стадии проработки, поиска соответствующих оптимальных алгоритмов и программ для минимизации ошибок при счете форменных элементов крови.
Из уровня техники известны решения: CN 103745210 В «Method and device for classifying white blood cells», патентообладатель AVE SCIENCE & TECHNOLOGY CO., LTD, дата публикации 06.02.2018; US 20180322327 A1 «Machine learning classification and training for digital microscopy cytology images», патентообладатель TECHCYTE INC., дата публикации 08.11.2018; KR 101927852 B1 «Method and Apparatus for Identifying Cell Species Using 3D Refractive Index Tomography and Machine Learning Algorithm», дата публикации 13.12.2018, в которых раскрыты способы автоматической дифференцировки клеток периферической крови.
Кроме того, на текущем уровне техники известно решение от компаний CellaVision (http://www.cellavision.com/en/) и VisionHema (http://visionhemaultimate.ru/), которое представляет собой аппарат с программным обеспечением, в который загружается кассета со слайдами, и система автоматически выполняет подсчет лейкоцитарной формулы и анализ морфологии эритроцитов.
Однако известные из уровня техники решения, предназначенные для автоматической дифференцировки клеток крови, имеют ограниченную функциональность, а именно, в данных решениях отсутствует этап детекции клеток. Кроме того, все вышеперечисленные решения решают только задачу классификации самых простых клеток крови (5 типов).
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Технической проблемой, на решение которой направлено заявленное техническое решение, является создание компьютерно-реализуемого способа выделения и классификации типов клеток крови с помощью глубоких сверточных нейронных сетей, который охарактеризован в независимом пункте формулы. Дополнительные варианты реализации настоящего изобретения представлены в зависимых пунктах изобретения.
Данное техническое решение направлено на устранение недостатков, присущих существующим решениям, известным из уровня техники.
Технический результат заключается в автоматическом детектировании и классификации типов клеток крови с помощью глубоких сверточных нейронных сетей.
Указанный технический результат достигается благодаря осуществлению компьютерно-реализуемого способа выделения и классификации типов клеток крови с помощью глубоких сверточных нейронных сетей, заключающийся в выполнении этапов, на которых:
получают изображение, содержащее клетки крови;
осуществляют детектирование, на полученном изображении, клеток крови;
различают граничные клетки крови;
выделяют клетки крови и вырезают их из изображения, а граничные клетки крови исключают из дальнейшего анализа;
после чего осуществляют классификацию клеток крови по типам, при этом:
получают для каждого изображения вырезанной клетки крови с применением метода аугментации набор изображений;
анализируют полученный для каждой клетки набор изображений и по данному набору классифицируют каждую клетку крови по типу.
В частном варианте детектирование клеток крови определяется координатами верхнего левого угла, шириной и высотой клетки.
В другом частном варианте выделяют клетки крови координатами ограничивающего прямоугольника.
В другом частном варианте предварительно обучают глубокую сверточную нейронную сеть на основе двух датасетах: ImageNet 22k и Place 365.
В другом частном варианте для обнаружения клеток крови на изображении применяют однокаскадный детектор семейства RetinaNet.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Реализация изобретения будет описана в дальнейшем в соответствии с прилагаемыми чертежами, которые представлены для пояснения сути изобретения и никоим образом не ограничивают область изобретения. К заявке прилагаются следующие чертежи:
Фиг. 1 иллюстрирует компьютерно-реализуемый способ выделения и классификации типов клеток крови с помощью глубоких сверточных нейронных сетей;
Фиг. 2 иллюстрирует блок-схему заявленного решения;
Фиг. 3 иллюстрирует детальное описание архитектуры детектора;
Фиг. 4 иллюстрирует пример построения FPN;
Фиг. 5 иллюстрирует пример генерации якорей;
Фиг. 6 иллюстрирует пример визуализации работы метода аугментации;
Фиг. 7 иллюстрирует пример общей схемы компьютерного устройства.
ДЕТАЛЬНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
В приведенном ниже подробном описании реализации изобретения приведены многочисленные детали реализации, призванные обеспечить отчетливое понимание настоящего изобретения. Однако квалифицированному в предметной области специалисту, будет очевидно, каким образом можно использовать настоящее изобретение, как с данными деталями реализации, так и без них. В других случаях хорошо известные методы, процедуры и компоненты не были описаны подробно, чтобы не затруднять понимание особенностей настоящего изобретения.
Данное техническое решение может быть реализовано на компьютере, в виде автоматизированной системы (АС) или машиночитаемого носителя, содержащего инструкции для выполнения вышеупомянутого способа.
Техническое решение может быть реализовано в виде распределенной компьютерной системы.
Кроме того, из приведенного изложения будет ясно, что изобретение не ограничивается приведенной реализацией. Многочисленные возможные модификации, изменения, вариации и замены, сохраняющие суть и форму настоящего изобретения, будут очевидными для квалифицированных в предметной области специалистов.
Введем ряд определений и понятий, которые будут использоваться при описании осуществления заявленного решения.
Сверточная нейронная сеть (convolutional neural network, CNN) - специальная архитектура искусственных нейронных сетей, нацеленная на эффективное распознавание изображений, и входящая в состав технологий глубокого обучения (deep learning).
Глубокое обучение характеризуется, как класс алгоритмов машинного обучения, который:
• использует многослойную систему нелинейных фильтров для извлечения признаков с преобразованиями. Каждый последующий слой получает на входе выходные данные предыдущего слоя. Система глубокого обучения может сочетать алгоритмы обучения с учителем и без учителя, при этом поиск клеток и их дальнейшая классификация - обучение с учителем;
• обладает несколькими слоями выявления признаков или параметров представления данных. При этом признаки организованы иерархически, признаки более высокого уровня являются производными от признаков более низкого уровня;
• является частью более широкой области машинного обучения изучения представлений данных;
• формирует в процессе обучения слои на нескольких уровнях представлений, которые соответствуют различным уровням абстракции; слои образуют иерархию понятий.
Глубокие нейронные сети в настоящее время становятся одним из самых популярных методов машинного обучения. Они показывают лучшие результаты по сравнению с альтернативными методами в таких областях, как распознавание речи, обработка естественного языка, компьютерное зрение, медицинская информатика и др. Одна из причин успешного применения глубоких нейронных сетей заключается в том, что сеть автоматически выделяет из данных важные признаки, необходимые для решения задачи.
Аугментация (Test time augmentation - ТТА) - трансформация изображений: повороты, сжатие, добавление шума, увеличение, приумножение данных, изменение размера, изменения цветовой гаммы, изменение масштаба, обрезка. Это способ увеличить качество классификатора за счет усреднения предсказаний для изображения и аугментаций данного изображения.
Клетки крови, или кровяные клетки, - клетки, входящие в состав крови и образующиеся в красном костном мозге в ходе гемопоэза. Существует три основных типа клеток крови: эритроциты (красные кровяные клетки), лейкоциты (белые кровяные клетки) и тромбоциты (кровяные пластинки).
Диагностика играет в медицине важнейшую роль. Своевременно поставленный точный диагноз облегчает выбор метода лечения и значительно повышает вероятность выздоровления больного. Применение нейронных сетей является одним из способов повышения эффективности медицинской диагностики.
Настоящее изобретение направлено на обеспечение компьютерно-реализуемого способа выделения и классификации типов клеток крови с помощью глубоких сверточных нейронных сетей.
В заявленном решении распознавание патологических клеток можно разделить на два этапа - детекция (обнаружение) клеток и классификация клеток.
Как представлено на Фиг. 1, заявленный компьютерно-реализуемый способ выделения и классификации типов клеток крови с помощью глубоких сверточных нейронных сетей (100) реализован следующим образом:
На этапе (101) получают изображение, содержащее клетки крови.
Далее на этапе (102) осуществляют детектирование, на полученном изображении, клеток крови. При этом детектирование каждой клетки крови характеризуется четырьмя цифрами, а именно, координатами верхнего левого угла, шириной и высотой клетки. И все считается в пикселях.
На этапе детектирования клеток крови используется архитектура глубокой сверточной нейронной сети, построенной с использованием RetinaNet (фиг. 3).
Основой данной сети является сеть MobileNet-128 (архитектура сети MobileNet-128 описана в статье «MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications)) https://arxiv.org/abs/1704.04861), поскольку данная сеть имеет более отличающуюся структуру, что позволяет получать с помощью нее выходные файлы обученной сети меньшего размера.
RetinaNet является единой унифицированной сетью, состоящей из основной нейросетевой структуры (НС), для извлечения признаков, и двух вспомогательных для конкретных задач (пример архитектуры RetinaNet приведен в статье «Focal Loss for Dense Object Detection» https://arxiv.org/abs/1708.02002). Основная НС отвечает за вычисление карты признаков объектов по всему входному изображению и является самостоятельной сетью свертки.
Первая вспомогательная НС (НС локализации) выполняет классификацию на выходе основной НС; вторая вспомогательная НС (НС классификации) выполняет регрессионную свертку для ограничивающего блока.
Для формирования карт пространственных признаков используется архитектура сети признаков пирамиды (FeaturePyramideNet (FPN)). В качестве функции потерь применяется функция потери ошибок (Focal Loss), описанная в статье «Focal Loss for Dense Object Detection» https://arxiv.org/abs/1708.02002).
В заявленном решении для детекции клеток крови используется однокаскадный (one-stage) детектор семейства RetinaNet. Детектированием объекта является вывод четырех координат прямоугольника, в которые вписан объект интереса.
Архитектура однокаскадного (one-stage) детектора RetinaNet представлена на фиг. 3.
В качестве основы (backbone) используются пирамида признаков (Features Pyramid Netrowk, FPN), построенная на архитектуре MobileNet-128. Использование MobileNet-128 дало прирост по скорости работы, позволив при этом не ухудшить результаты метрик. К выходу FPN присоединяется две подсети, первая отвечающая за классификацию якорей, вторая за их регрессию.
FPN
3
4
5
6
7
3
4
5
3
4
5
5
5
4
4
5
3
4
4
6
5
7
6
FPN (сеть, состоящая из пирамиды признаков) строится поверх сверточной глубокой сети Mobilenet-128. Пирамида состоит из 5 уровней - Р, Р, P, Р, P. Первые 3 уровня подсоединяются к С, С, С через сверточный слой с 256 фильтрам размера 1×1. С, С, Ссоответствуют картам признаков сети Mobilenet-128, после 3, 4 и 5 слоя субдискретизации, каждый из которых уменьшает входное изображение в 8, 16 и 32 раза. P получается применения сверточного слоя с 256 фильтрами размера 1×1 к С. Р получается поэлементым сложением результата применения сверточного слоя с 256 фильтрами размера 1×1 к C и результатом увеличения в два раза P с последующим применением сверточного слоя с 256 фильтрами размера 3×3 и шагом свертки 1. Р получается аналогичным способом только соединяется он с Р и С (фиг. 4). Р получается применением сверточного слоя с 256 фильтрами размера 3×3 и шагом свертки 2 к P. P получается применением функции активации ReLU с последующим применением сверточного слоя с 256 фильтрами размера 3×3 и шагом свертки 2 к Р.
На фигуре 5 приведен пример генерации якорей. Каждая ячейка - пиксель в выходной карте признаков, для каждого пикселя генерируется предопределенный набор якорей. В данном примере генерируется 4 якоря на один пиксель.
2
2
2
2
2
3
4
5
6
7
Генерация якорей. Так как RetinaNet является однокаскадным детектором в отличие от Faster R-CNN, где, гипотезы генерируются отдельной нейронной сетью RPN, каждому пикселю карты признаков, полученных после FPN (всего 5 карт), ставится в соответствие некоторое заранее предопределенное множество якорей. Якоря имеют размер 32, 64, 128, 256, 512 на уровнях Р, Р, P, Р, P соответственно. Используется 3 отношения сторон якорей - {1:1, 1:2, 2:1}, и 3 коэффициента масштаба -  Таким образом, всего генерируется 9 якорей для каждого пикселя в карте признаков, размер якорей зависит от уровня пирамиды. Каждый якорь ассоциируется с вектором длины 4 - задача регрессии, и вектором длины K, где K количество классов, - задача классификации. Якорь соотносится с эталонными прямоугольниками на основании критерия IOU (отношение пересечения к объединению), если IOU больше чем 0.5, то считается, что якорь совпал с эталонным прямоугольником, если IOU меньше 0.4, то якорь относится к фону, иначе якорь игнорируется.
Сеть классификации. Данная сеть состоит из 4 последовательных сверточных слоев с 256 фильтрами размерами 3X3, после каждого слоя следует слой активации ReLU, последний слой является сверточным слоем с K * А количеством фильтров, где А - количество генерируемых якорей на каждый пиксель, а K - количество классов.
Сеть регрессии. Данная сеть состоит из 4 последовательных сверточных слоев с 256 фильтрами размерами 3×3, после каждого слоя следует слой активации ReLU ReLU = max(0, х) - функция активации нейрона), последний слой является сверточным слоем с 4 * А количеством фильтров, где А - количество генерируемых якорей на каждый пиксель, а коэффициент 4 означает, что для каждого якоря нужно предсказать 4 значения, координаты верхнего левого угла, ширину и высоту.
Focal loss. Представим, что входное изображение размером 1024×1024 пикселя, тогда для него будет сгенерировано 5 карт размером 128×128, 64×64, 32×32, 16×16, 8×8, а для каждого пикселя полученных карт еще сгенерируется 9 якорей. 196416 якорей будет всего сгенерировано, причем якорей, соотносящихся с эталоном будет около 0.1 процента от этого числа. Для борьбы с таким дисбалансом используется focal loss:
Таким образом, чем уверенней детектор в правильном классе, тем меньшее значение будет у ошибки.
На этапе (103) различают граничные клетки крови. Граничная клетка - клетка, находящаяся на границе изображения, может быть видна только половина или треть данной клетки. Данные граничные клетки невозможно классифицировать.
На этапе (104) выделяют клетки крови и вырезают их из изображения, а граничные клетки крови исключают из дальнейшего анализа. При этом выделяют клетки крови координатами ограничивающего прямоугольника.
На этапе (105) осуществляют классификацию клеток крови по типам.
Получают для каждого изображения вырезанной клетки крови с применением метода аугментации набор изображений. Использование подхода Test time augmentation или ТТА - классификация не просто одного изображения, а набора изображений, полученных из одного, путем поворотов, отображений и вырезаний части изображения, из исходного (см. фиг. 6).
Анализируют каждое изображение в полученном наборе изображений для каждой клетки и по данному набору классифицируют каждую клетку крови по типу.
Примеры типов клеток крови и костного мозга, которые могут быть проклассифицированы в заявленном решении с помощью глубоких сверточных нейронных сетей представлены ниже в таблице 1.
В заявленном решении для классификации используют собственную сеть на основе подхода, который используется в сетях семейства ResNet - «Deep Residual Learning for Image Recognition)) https://arxiv.org/abs/1512.03385.
Используемая архитектура - это усреднение архитектур Resnet-50 и Resnet-101. В ней 71 слой, в дальнейшем - Resnet-71.
Архитектура:
1 слой - 64 свертки, размеров 7 на 7, применяемые с шагом 2. BatchNormalization - слой для нормализации весов, функция активации Relu, max pooling, размером 3 на 3, применяемый с шагом 2. Max-pooling - операция для уменьшения размерности и объединения признаков.
2 слой - последовательность сверток - 64 свертки, размером 1 на 1, 64 свертки, размером 3 на 3, 256 сверток, размером 1 на 1, данная последовательность повторяется 3 раза.
3 слой - последовательность сверток - 128 свертки, размером 1 на 1, 128 свертки, размером 3 на 3, 512 сверток, размером 1 на 1, данная последовательность повторяется 4 раза. В первой из четырех последовательностей, у свертки, с размером 3 на 3, шаг - 2.
4 слой - последовательность сверток - 256 свертки, размером 1 на 1, 256 свертки, размером 3 на 3, 1024 сверток, размером 1 на 1, данная последовательность повторяется 12 раз. В первой из 12 последовательностей, у свертки, с размером 3 на 3, шаг - 2.
5 слой - последовательность сверток - 512 свертки, размером 1 на 1, 512 свертки, размером 3 на 3, 1024 сверток, размером 1 на 1, данная последовательность повторяется 3 раза. В первой из трех последовательностей, у свертки, с размером 3 на 3, шаг - 2.
На слоях 2, 3, 4 и 5 перед каждой сверткой применяется BatchNormalization и функция активация Relu.
6 слой - BatchNormalization, функция активации Relu, затем применяется average pooling, операция похожа max-pooling, с размером 7 на 7.
7 слой - полносвязный слой, с количеством элементов равным количеству клеток крови.
Данная нейронная сеть сначала обучается на двух наборах изображений - наборы данных ImageNet 22k (http://image-net.org/) и набор данных Р1асе365 - ImageNet 22k и Р1асе365 (http://places2.csail.mit.edu/download.html).
Также для улучшения точности работы классификатора сети используется метод аугментации ТТА - test time augmentation - классификация не просто одного изображения, а набора изображений, полученных из одного, путем поворотов, отображений и вырезаний части изображения, из исходного. Схематичная визуализация работы которого представлена на фигуре 6.
Детальное описание работы метода аугментации (ТТА).
К каждой клетки крови применяется следующий набор преобразований - 23 поворота с шагом 15 градусов (15 * 23=345, 24 поворот вернет клетку в исходное состояние), для всех 24 изображений делается отображение, а также делается небольшое вырезание изображения - случайным образом выбирается новая высота и ширина изображения и изображение такого размера вырезается из оригинального изображения. Новая высота и новая ширина составляют 95-100 процентов оригинальной высоты и ширины, точное значение процента выбирается случайным образом. Таким образом, из изображения одной клетки получается - 47 изображений - 23 поворота * 2 (так как применяется отображение) + 1 (отображение исходного изображения), итого выполняется классификация 48 изображений, относящихся к одной клетки. После этого результаты классификации аккумулируются и на основе среднего гармонического выбирается итоговый ответ.
Быстрая и точная диагностика обеспечивает более быстрое и эффективное лечение. Хорошо известно, что в этой области не так много квалифицированных специалистов.
Фотографии крови, которые должны быть отправлены в медицинские организации, где работают эксперты. Все это требует времени и увеличивает нагрузку на экспертов. Возможность получения предварительного анализа с помощью нейронных сетей позволяют сократить время и работу. Мнение экспертов будет необходимо только в сложных и неопределенных случаях.
В результате все это повысит качество медицинской помощи, займет меньше времени у врачей и даст больше информации для решения о лечении.
Аспекты настоящего изобретения могут быть также реализованы с помощью устройства обработки данных, являющимся вычислительной машиной или системой (или таких средств, как центральный/графический процессор или микропроцессор), которая считывает и исполняет программу, записанную на запоминающее устройство, чтобы выполнять функции вышеописанного варианта(ов) осуществления, и способа, показанного на Фиг. 1, этапы которого выполняются вычислительной машиной или устройством путем, например, считывания и исполнения программы, записанной на запоминающем устройстве, чтобы исполнять функции вышеописанного варианта(ов) осуществления. С этой целью программа записывается на вычислительную машину, например, через сеть или со среды для записи различных типов, служащей в качестве запоминающего устройства (например, машиночитаемой среды).
На Фиг. 7 далее будет представлена общая схема компьютерного устройства (700), с помощью которого могут быть реализованы аспекты настоящего изобретения.
В общем случае устройство (700) содержит объединенные с помощью универсальной шины (710) такие компоненты, как: по меньшей мере один процессоров (701), по меньшей мере одну память (702), средство хранения данных (703), интерфейсы ввода/вывода (704), средство В/В (705), средства сетевого взаимодействия (706).
Процессор (701) выполняет все основные вычислительные операции, необходимые для функционирования устройства (700) или функциональности одного или более его компонентов. Процессор (701) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (702).
Память (702), как правило, может представлять одно или более устройств различного типа, таких как: ОЗУ, ПЗУ или их сочетания и одержит необходимую программную логику, обеспечивающую требуемый функционал, и операционную систему, организующую интерфейс взаимодействия и протоколы обработки данных. В качестве ПЗУ может использоваться HDD, SSD диски, флэш-память и т.п.
Средство хранения данных (703) может выполняться в виде HDD, SSD дисков, рейд массива, сетевого хранилища, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средство (703) позволяет выполнять долгосрочное хранение различного вида информации, например, вышеупомянутых файлов с наборами данных пользователей, базы данных, содержащих записи измеренных для каждого пользователя временных интервалов, идентификаторов пользователей и т.п.
Интерфейсы (704) представляют собой стандартные средства для подключения и работы с компьютерным устройством, например, USB, RS232, RJ45, LPT, COM, HDMI, PS/2, Lightning, FireWire и т.п.
Выбор интерфейсов (704) зависит от конкретного исполнения устройства (700), которое может представлять собой персональный компьютер, мейнфрейм, серверный кластер, тонкий клиент, смартфон, ноутбук, быть частью банковского терминала, банкомата и т.п.
В качестве средств В/В данных (705) в любом воплощении системы, реализующей описываемый способ, должна использоваться мышь. Аппаратное исполнение мыши может быть любым известным. Подключение мыши к компьютеру может быть, как проводным, при котором соединительный кабель мыши подключен к порту PS/2 или USB, расположенному на системном блоке настольного компьютера, так и беспроводным, при котором мышь осуществляет обмен данными по каналу беспроводной связи, например, радиоканалу, с базовой станцией, которая, в свою очередь, непосредственно подключена к системному блоку, например, к одному из USB-портов. Помимо мыши, в составе средств В/В данных также может использоваться: джойстик, дисплей (сенсорный дисплей), проектор, тачпад, клавиатура, трекбол, световое перо, динамики, микрофон и т.п.
Средства сетевого взаимодействия (706) выбираются из устройства, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID) модуль, GSM модем (2G, 3G, 4G, 5G) и т.п. С помощью средств (705) обеспечивается организация обмена данными по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.
В настоящих материалах заявки было представлено предпочтительное раскрытие осуществление заявленного технического решения, которое не должно использоваться как ограничивающее иные, частные воплощения его реализации, которые не выходят за рамки испрашиваемого объема правовой охраны и являются очевидными для специалистов в соответствующей области техники.