ведущий научный сотрудник и академический руководитель магистратуры «Искусственный интеллект и компьютерное зрение» Высшей школы экономики

«Очень перспективным выглядит развитие робототехники и автономных систем: компьютерное зрение становится основой для управления промышленными роботами, обеспечивая точное позиционирование и манипулирование объектами»
Как происходит различение объектов в системах машинного зрения? Какие нейросети для этого используются? Как проходит анализ изображения? За счет чего достигается точность?
В основе различения объектов в компьютерном зрении лежит глубокое обучение — подраздел машинного обучения, использующий нейронные сети. Искусственные нейронные сети состоят из множества слоев «нейронов», которые последовательно обрабатывают различные аспекты изображений. На первых слоях выделяются более простые характеристики (например, границы и углы объектов, текстура и т.п.), а на последних слоях – составные части сложных объектов (например, колеса автомобиля) и сами объекты.
Существует несколько классических задач компьютерного зрения. Например, в задаче классификации (распознавания) на изображении находится ровно один объект, и требуется определить его тип (класс), например, по изображению животного понять, собака это или кошка. Для ее решения используются либо классические вычислительно эффективные архитектуры сверточных нейронных сетей (например, ResNet и EfficientNet), либо более современные визуальные трансформеры (например, различные модификации ViT, visual transformer или Swin Transformer), которые разделяют изображение на небольшие части и с помощью специального механизма внимания (attention) анализируют связи между этими частями.
Более сложная задача – детектирование объектов, когда на одном изображении может быть несколько различных объектов, и надо определить их положение и тип, то есть нужно найти, на какой части исходного изображения находятся объекты, и для каждого из них выполнить классификацию. Для решения задачи существует множество специализированных архитектур нейросетей. Например, двухступенчатые детекторы Faster R-CNN, в которых на первой стадии обнаруживаются места потенциального положения объектов, а на втором шаге для каждой потенциальной локации осуществляется распознавание. Или одноступенчатые, например, YOLO, который делит картинку на сетку и в каждой ячейке сетки сразу предсказывает классы и координаты объектов, что обеспечивает высокую скорость и позволяет работать в реальном времени, но может быть менее точным, особенно для небольших объектов. Обычно оба вида детекторов включают в себя нейросети, используемые для классификации. При этом постоянно появляются новые архитектуры детекторов – DETR, EfficientDet, VitR, FIBER-B и т.п.
Высокая точность достигается, прежде всего, за счет использования при обучении больших размеченных наборов изображений с известными положениями объектов и их классами. Основное преимущество современных глубоких нейросетей – чем больше различных изображений можно собрать для их обучения, тем точнее получаются их результаты. Кроме того, конечно, важным фактором является прогресс в исследованиях новых архитектур нейросетей и алгоритмов их обучения. Наконец, на практике важны и подготовка данных (устранение шумов, нормализация освещения, повышение контрастности), постобработка (например, фильтрация ложных срабатываний детектора с помощью анализа нескольких видеокадров) и подготовка условий съемки (лучше, чтобы данные для обучения и последующего использования собирались в одном месте с помощью идентичных видеокамер, при этом критически важным может оказаться хорошее освещение).
Сейчас основное направление использования машинного зрения в промышленности — это мониторинг в различных вариациях. Какие еще области применения можно назвать перспективными?
Действительно, мониторинг состояния объектов и действий персонала – наиболее очевидное применение современных алгоритмов компьютерного зрения. Например, моя группа в Высшей школе экономики в течение более пяти лет ведет проекты с одной крупной китайской компанией для разработки быстрых алгоритмов низкоуровневой обработки изображений для систем поиска дефектов экранов мобильных устройств на производстве. Кроме того, несколько лет назад я консультировал один американский стартап, который с помощью машинного зрения мониторил состояние и процесс питания крупного рогатого скота на фермах.
При этом мониторинг рассматривается сейчас в очень широком смысле. Это и автоматизация процесса упаковки и сборки (системы на конвейерах автоматизируют подсчёт и проверку упаковок — распознают неправильные или бракованные таблетки, отсутствующие детали). Отдельно можно отметить и системы безопасности и контроля труда: видеокамеры в цехах могут отслеживать соблюдение техники безопасности (наличие касок и спецодежды у рабочих), сигнализировать о посторонних объектах на линии и т.д.
Помимо традиционного мониторинга и инспекции качества компьютерное зрение на производстве обещает многое в других сферах. Перспективными можно считать предиктивное обслуживание – анализ визуальных признаков износа оборудования (трещин, коррозии, деформаций) до появления поломок для прогнозирования отказов оборудования и планирования техобслуживания. Кроме того, современные технологии позволяют считывать штрихкоды и маркировки с помощью алгоритмов OCR (optical character recognition, распознавания текстов на изображениях) на деталях и документах, полностью цифровизируя логистику на заводе. В свое время я консультировал французскую компанию, которая осуществляла оцифровку больших объемов схем P&ID (Piping and Instrumentation Diagram) различных деталей трубопроводов, при этом схемы в составе технической документации были подготовлены более 20 лет назад, и требовалось реализовать чрезвычайно сложный процесс их цифровизации.
Очень перспективным выглядит развитие робототехники и автономных систем: компьютерное зрение становится основой для управления промышленными роботами, обеспечивая точное позиционирование и манипулирование объектами. Здесь перспективны 3D-системы машинного зрения с несколькими камерами или LiDAR: они помогают роботам ориентироваться в пространстве и собирать сложные детали, обрабатывая трёхмерную форму объектов.
Кроме того, конечно, в каждой области есть свои собственные задачи. Например, в фармацевтической промышленности важен контроль качества лекарственных препаратов, проверка упаковки и маркировки. А с помощью 3D-моделирования и виртуальной реальности можно создавать цифровые двойники производственных объектов для оптимизации процессов.
Наконец, есть задачи, кроме понимания изображений и видео. Сейчас нейросети наиболее известны тем, что создают изображения котиков, небольшие видеоролики и мультипликации, но ряд коллективов (в том числе и в России) работают над приложениями в области генеративного проектирования в строительстве и промышленности, которые будут способны автоматически по заданному запросу выполнить дизайн квартиры, спроектировать дом или специализированные детали.
Какие задачи стоят сейчас перед разработчиками машинного зрения в области его усовершенствования? Какие проблемы нужно решать?
Разработчики машинного зрения сегодня сталкиваются с рядом важных вызовов. Во-первых, требуется обработка больших объёмов данных в реальном времени с ограниченными ресурсами. Современные нейронные сети тяжеловесны, и их внедрение в встраиваемые устройства (роботы, камеры на линиях) требует оптимизации нейросетевой модели или мощного вычислительного устройства. Во-вторых, надёжность в неблагоприятных условиях: изменение освещения, сильные тени, запотевшие/грязные линзы – всё это снижает качество распознавания. Разработчикам нужно создавать алгоритмы, устойчивые к таким искажениям, и обучаться на разнообразных датасетах. Третья задача — качество и репрезентативность данных. Хорошие размеченные наборы данных найти и подготовить крайне сложно и дорого: это упоминается как ключевая проблема (некорректные метки, предвзятость данных). В индустриальном секторе часто возникают узкоспециальные сценарии (например, внутренняя структура детали), где стандартных датасетов нет, поэтому требуются методики «few-shot» (обучение по нескольким примерам) или самообучения (без разметки или на основе синтетических данных). Четвёртый вызов – расширение возможностей ИИ: системам компьютерного зрения нужно решать всё более сложные задачи (генерация синтетических изображений, глубокая сегментация, 3D-реконструкция). В-пятых, зачастую необходимо выполнить обнаружение малых объектов и дефектов на изображениях высокого разрешения, что требует высокоточных алгоритмов, которые еще и должны достаточно быстро работать. Наконец, актуальны вопросы интерпретируемости и безопасности: нужно понимать, как сеть приняла решение, и защищать систему от «обмана» (намеренных искажений изображения).
Насколько конкурентоспособны отечественные разработки в сфере машинного зрения? Востребованы ли они за рубежом, если да, то где? Есть ли российские системы, не имеющие аналогов? Есть ли в отечественных разработках проблемные места, если да, то какие?
Для меня это сложный вопрос, я занимаюсь научными исследованиями компьютерного зрения и не являюсь специалистом в маркетинговом анализе рынков сбыта. Разработка любой системы основывается на научных результатах, обычно публикуемых на ведущих мировых конференциях типа CVPR, но при этом всегда требует существенных усилий по доводке известных алгоритмов для их практического применения в сложных условиях.
В целом, российские разработки конкурентоспособны в нишевых промышленных задачах, но глобально уступают мировым лидерам. Тем не менее, у нас на высоком уровне проводятся разработки и больших фундаментальных моделей (например, GigaChat Сбера не только работает с тестовыми диалогами, но и умеет понимать изображения, видео и аудио). Известны успехи VisionLabs на мировых конкурсах по распознаванию лиц.
К проблемным местам можно отнести, прежде всего, зависимость от зарубежного железа (почти все обучение нейросетей осуществляется на графических процессорах компании NVIDIA). Кроме того, рынки сбыта являются достаточно ограниченными: для масштабного применения и окупаемости требуется внедрение технологий в продукцию, продаваемую в мире. Наконец, есть сложности с коммерциализацией научных разработок: разрыв между научными разработками и их внедрением в промышленность остается существенным.
Фото: личный архив эксперта