Создание автономной ИИ-модели для обнаружения стадий диабетической ретинопатии с Edge Impulse
Портативное медицинское устройство, способное точно идентифицировать стадии диабетической ретинопатии без интернет-соединения, может драматически снизить слепоту во всем мире. С встроенным машинным обучением алгоритмы, запускающиеся напрямую на батарейно-питанаем железе, теперь жизнеспособны. Эта статья проводит через шаги обучения такой модели с использованием платформы Edge Impulse.
Диабетическая ретинопатия повреждает кровеносные сосуды в задней части глаза, часто прогрессируя к слепоте, если не лечится. Более двух из пяти американцев с диабетом имеют форму заболевания, делая раннее обнаружение критическим. В сельских районах, где офтальмологическая помощь редка, даже легкие случаи часто пропускаются до того, как они станут тяжелыми.
Для решения этой проблемы мы использовали публично доступный датасет для обучения модели, которая может оценивать тяжесть DR из изображений ретинальной камеры. Датасет разделен на пять классов:
- Нет DR
- Легкий DR
- Умеренный DR
- Тяжелый DR
- Пролиферативный DR
id_code и диагностический скор от 0 (Нет DR) до 5 (Пролиферативный DR). Ссылка на датасет.

Поскольку изображения хранились в плоской структуре, я написал VBA-скрипт для чтения Excel-списка значений id_code, нахождения каждого изображения и перемещения его в соответствующую папку класса. Скрипт доступен здесь. Если вы предпочитаете Python или другой язык, подобная автоматизация проста.

Edge Impulse упрощает прием данных через свой интерфейс загрузки. Я выполнил пять отдельных загрузок — по одной на класс — с соответствующей маркировкой каждой папки. Платформа также предлагает облачную интеграцию с бакетами и сбор с устройств, но ручная загрузка лучше всего подошла для нашего датасета.

Edge Impulse автоматически разделяет данные 80/20 на обучающую и тестовую выборки, но я добавил ~500 изображений вручную в тестовую выборку для лучшего баланса классов.
Для модели я выбрал блок изображения и применил архитектуру переноса обучения для классификации пяти стадий DR. Первоначальное обучение дало лучшую точность около 74%, что уважаемо, но подсвечивает ошибочные классификации — особенно между тяжелым и легким DR. Матрица путаницы (показана ниже) иллюстрирует эту проблему.

В реальном развертывании портативная ретинальная камера захватит изображение, запустит модель локально и сразу уведомит клинициста, требует ли пациент последующего наблюдения. Приоритет — обнаружить все стадии DR, поэтому текущая точность приемлема для скринингового инструмента.
Возможные улучшения включают:
- Приобретение больше размеченных данных для снижения дисперсии.
- Объединение соседних классов (например, легкий-умеренный, тяжелый-пролиферативный) для упрощения границы решения.
- Тонкая настройка числа слоев нейросети и коэффициентов dropout.

Финальная модель занимает 306 КБ флеш и 236 КБ RAM. На Cortex-M4 на 80 МГц время вывода варьируется от 0.8 с до 6 с, в то время как Cortex-M7 на 216 МГц быстрее — делая его подходящим для портативных устройств, захватывающих изображения на лету.
Подводя итог, мы продемонстрировали, что открытый датасет может обучить эффективную периферийную модель для обнаружения диабетической ретинопатии. Развертывание таких моделей на встроенных микроконтроллерах или легких Linux-устройствах может принести надежный скрининг в удаленные или недостаточно обслуживаемые сообщества, преодолевая барьеры связи.

Дальнейшие детали и будущая работа доступны здесь.
Встроенный
- Титан: от открытия в XVIII веке до современных высокопроизводительных применений
- Облачная революция: как облачные вычисления трансформируют IT, безопасность и карьеры
- ИИ-улучшенные рабочие места движут устойчивость американского производства
- Предотвращение частых поломок спецтехники: ключевые советы по обслуживанию
- Пористость в сварке: причины, обнаружение и методы предотвращения
- Полное руководство по ржавлению: причины, последствия и способы предотвращения
- Выявление ключевых причин отказа станков и стратегий предотвращения простоев
- Интероперабельность: как вашей компании достичь бесшовной интеграции
- Как избежать ошибок при защите станков: советы по безопасности и стратегии профилактики
- Эффективное детектирование и устранение утечек в промышленных пневмосистемах