РБК Компании

Для каких бизнес-задач подходит классификация в компьютерном зрении

Эксперт Илья Фомичев об основных задачах классификации в области компьютерного зрения и этапах работы, а также о сложностях и возможных решениях
Для каких бизнес-задач подходит классификация в компьютерном зрении
Источник изображения: Freepik.com
Илья Фомичев
Илья Фомичев
Руководитель направления ИИ ИТ-компании SimbirSoft

Опыт в ИТ — более 5 лет, руководитель направления искусственного интеллекта и RPA, presale направления, спикер, автор статей и постов про ИТ

Подробнее про эксперта

В предыдущей статье мой коллега из SimbirSoft уже рассказывал о некоторых задачах для бизнеса, где можно использовать компьютерное зрение (Computer vision, CV) и машинное обучение (Machine learning, ML). С точки зрения практического применения CV направлено на автоматизацию действий, которые выполняет человеческая зрительная система. Существует много типовых задач, которые можно решать с помощью компьютерного зрения, из них три наиболее популярные — классификация, детекция и сегментация. 

Для каких бизнес-задач подходит классификация в компьютерном зрении

Как правило, одну и ту же задачу можно решить всеми вышеперечисленными способами и у каждого способа будут свои преимущества и недостатки. Между тем, выбор решения будет зависеть от целей, для которых планируется использовать модель. Например, при диагностике заболевания по снимку компьютерной томографии:

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

Архитектуры для задач детектирования и сегментации также основываются на классификаторах, которые играют ключевую роль в этих моделях. В этой статье подробнее расскажем о базовой задаче CV — классификации. Вы узнаете, из каких этапов состоит, с какими сложностями можно столкнуться на каждом из них, как их решать, а главное — для каких бизнес-задач лучше подходит. 

Материал будет полезен тем, кто хочет применять компьютерное зрение для повышения эффективности процессов в компании, но не знает, с какой стороны подойти к этому вопросу и как оценить необходимые ресурсы для такого внедрения.  

Какие задачи помогает решить классификация

Классификация объекта на изображении по его характеристикам и признакам является базовой задачей во многих сферах. Рассмотрим наиболее популярные области применения.

Робототехника и беспилотные автомобили

Развитие беспилотных автомобилей тесно связано с использованием технологий компьютерного зрения, которые позволяют автомобилям воспринимать и интерпретировать окружающую среду.

Распознавать объекты и оценивать дорожную обстановку помогают установленные на них камеры. Классификация здесь играет очень важную роль, так как дорожные знаки, особенно в плохих погодных условиях, трудно различимы даже для человека. Чем точнее обучен классификатор, тем безопасней движется автомобиль.

Для решения подобных задач требуется большой датасет, который будет содержать изображения дорожных знаков как хорошего качества, так и сделанных в плохих погодных условиях. 

Медицинская диагностика 

Развитие медицинской диагностики с использованием технологий компьютерного зрения открывает новые горизонты в здравоохранении, повышая точность и скорость постановки диагнозов. 

Для каких бизнес-задач подходит классификация в компьютерном зрении

В качестве примеров задач по классификации можно привести:

  • Оценку результатов КТ и МРТ для диагностики онкологии по изображению. Решение этой задачи позволяет провести бинарную классификацию и определить наличие признаков рака. Способность системы выявлять аномалии в снимках улучшает диагностический процесс и повышает шанс на успешный исход различных болезней.
  • Классификацию заболевания глаза на основе изображения глазного дна. При помощи фундус-камеры медработник делает фото глазного дна пациента. Классификатор, обученный на определение болезни, «выносит вердикт» и выделяет области изображения, которые привели его к этому выводу. 
  • Оценку вероятности болезни Паркинсона. По рисунку спирали, нарисованному пациентом, программа может определить наличие болезни и оценить стадию.


Но еще раз отмечу, что ИИ — это инструмент, и инструмент хороший, но он не является заменой врачу. 

Соблюдение техники безопасности на предприятии

Системы компьютерного зрения способны распознавать наличие защитной одежды, касок, сигнальных жилетов и других элементов экипировки, а также выявлять присутствие посторонних лиц и потенциальные нарушения. 

Задачу техники безопасности можно решать двумя способами:

  • поиск конкретных элементов (защитной формы, каски, маски), но при плохом качестве съемки такой алгоритм может совершать ошибки. 
  • поиск человека на изображении и классификация. Для этих целей можно использовать бинарный классификатор, чтобы определить наличие нарушения, или классификатор, который оценит, какого элемента не хватает. 

Для такого классификатора важно разнообразие изображений людей, сбор такого датасета занимает немало времени, но дает лучшую точность. Такой классификатор можно использовать для создания автоматизированной проходной для пропуска сотрудников. 

Классификация как типовая задача компьютерного зрения также активно используется в следующих областях:

  • Розничная торговля. Например, для классификации целевой аудитории при покупке товара, за счет чего можно построить рекомендательную систему, на каких полках лучше поставить товар.
  • Сельское хозяйство и производство продуктов питания. Например, для классификации продукции по качеству и определенным характеристикам или отбраковки визуально некачественного товара.
  • Металлургия. Например, для классификации дефектов изделий/заготовок или наблюдения за работой конвейера и различными этапами производственного процесса.
Для каких бизнес-задач подходит классификация в компьютерном зрении

Если на каком-либо этапе работы требуется человек, который должен визуально оценивать те или иные характеристики процесса и это занимает значительное количество времени, камера и алгоритмы компьютерного зрения могут стать хорошей альтернативой: модель реагирует на визуальные триггеры быстрее, чем человек, не отвлекается и не устает.

Классификация: типовой алгоритм решения задач

Типовой алгоритм работы над задачей классификации изображений можно разделить на несколько основных этапов. 

Этап 1. Сбор данных

Для задачи классификации требуется набор данных, где каждое изображение размечено, т.е. имеет метку (класс). В зависимости от сложности задачи и методов решения, которые будут применяться, минимальное количество фотографий может быть разным. Но даже для самых простых задач, которые можно решить классическими методами компьютерного зрения (без применения нейронных сетей), нужно собрать несколько примеров на каждый класс. 

От того, насколько близки собранные изображения к тем, которые будут поступать на вход в систему, будет зависеть качество выполненной задачи. Сложность и стоимость сбора и разметки данных может сильно различаться при решении разных задач.

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

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

Только после сбора первичного датасета опытный специалист по компьютерному зрению сможет оценить сложность поставленной задачи и приблизительное количество размеченных данных, необходимых для ее решения.

Этап 2. Предобработка данных

В зависимости от характеристик изображений, условий, в которых они сделаны, и применяемого оборудования могут понадобиться разные способы для увеличения датасета и разнообразия данных. 

Этап предобработки может потребовать дополнительных ресурсов, если:

  • объем собранного датасета большой
  • данные собраны в разных форматах и требуют унификации
  • качество изображений плохое или на них присутствует шум. 

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

Также советуем хранить изображения плохого качества отдельно от основного датасета, чтобы точность модели при дообучении не снизилась. А затем под контролем специалиста добавлять их в процесс обучения для поддержки большего числа вариантов использования модели.

Этап 3. Выбор и обучение моделей

Выбор модели (или моделей) для решения задачи производится, исходя из многих факторов. Основные из них: 

  • объем имеющихся данных
  • требования к скорости работы и точности 
  • имеющиеся вычислительные ресурсы

Как правило, сначала строится простая базовая модель, а затем, если требуемое качество не достигнуто, она модифицируется или обучаются более сложные модели. 

Решение задачи классификации выбирается в зависимости от:

  • сложности объекта, который надо классифицировать или локализовать
  • устройства, на котором модель будет работать

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

Например, в задаче поиска, классификации и подсчета однотипных объектов на конвейере, занимающих всю ширину ленты, нам удалось найти решение не используя нейросети — за счет математики и работы с цветом и фильтрами. 

Для каких бизнес-задач подходит классификация в компьютерном зрении

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

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

Этап 4. Тестирование и оценка модели

Существуют разные метрики для оценки моделей, выбор которой зависит от постановки задачи. 

Чаще всего задачу классификации оценивают по точности и полноте или их комбинации с определенным коэффициентом в зависимости от того, что в конкретном случае важнее. 

  • Точность — то, насколько модель уверена в своих ответах: сколько из отнесенных к определенному классу объектов действительно относятся к нему. 
  • Полнота — доля правильно найденных классификатором изображений данного класса, из тех, которые он должен был найти.

Чтобы выбрать соотношение важности точности и полноты в решаемой задаче, оценивается «стоимость» ошибок первого и второго рода. Что будет критичнее, ошибочно отнести изображение другого класса к целевому или отнести изображение целевого класса к другому? В случае скрининга на наличие заболевания, ложные срабатывания, конечно, неприятны, но вероятность отправить на дополнительное исследование здорового человека предпочтительнее, чем вероятность пропустить признаки заболевания. 

На этапе тестирования и оценки многое зависит от заказчика. Постоянный диалог с ним влияет на то, как разработчик выберет метрики. Клиент глубже погружен в задачу, а значит благодаря его опыту в процессе диалога можно прийти к выбору метрик и правильной интерпретации работы модели. 

Этап 5. Оптимизация и деплой

На этом этапе модель оптимизируется под рабочее устройство (сервер, мобильное устройство и т.п) и интегрируется в конечную систему или приложение. При необходимости можно предусмотреть обновление модели, например, через обратную связь от пользователя приложения. Но для этого потребуются дополнительные ресурсы, в том числе разработчики, которые смогут добавить в приложение возможность исправления предсказаний модели. 

Если желаемое качество работы модели не достигнуто, сбор обратной связи от пользователей и дообучение со временем может помочь его достичь.

На этапе запуска модели на мощностях заказчика команда может столкнуться с тем, что тяжеловесные классификаторы будут работать медленно, не оправдывая прироста точности. Для решения данной проблемы можно использовать ансамбль легковесных классификаторов или облегчить саму модель.

Резюме

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

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

Источники изображений:

freepik.com, habrastorage

Интересное:

Новости отрасли:

Все новости:

Профиль

Дата регистрации
22 февраля 2001
Уставной капитал
30 000,00 ₽
Юридический адрес
обл. Ульяновская, г. Ульяновск, пр-кт Нариманова, д. 1, стр. 2
ОГРН
1027301167563
ИНН
7325029206
КПП
732501001

Социальные сети

ГлавноеЭкспертыДобавить
новость
КейсыМероприятия