Введение

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

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

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

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

В этом руководстве мы покажем вам, как использовать Encord Active для поиска и исправления ошибок меток в наборе данных проверки COCO.

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

Обозначьте ошибки в компьютерном зрении

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

Три типа ошибок маркировки в компьютерном зрении:

  • Объекты с неверными метками. Образец, к которому привязан неверный класс объектов.
  • Отсутствуют метки. Образец, не содержащий метки.
  • Неточные метки. Ярлыки слишком тугие, слишком свободные или перекрываются с другими объектами.

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

Совет! Если вы хотите узнать больше об ошибках меток, рекомендуем вам ознакомиться с разделом Ошибки данных в Computer Vision.

Как найти ошибки меток с помощью предварительно обученной модели

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

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

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

Как исправить ошибки этикетки с помощью Encord Active

Пример набора данных COCO

В этом примере мы будем использовать набор данных проверки COCO в сочетании с прогнозами модели из предварительно обученной модели MASK R-CNN RESNET50 FPN V2. Набор данных песочницы с метками и прогнозами можно загрузить непосредственно с Encord Active.

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

Сначала мы устанавливаем Encord Active с помощью pip:

$ pip install encord-active

После этого мы загружаем набор данных песочницы:

$ encord-active download
Loading prebuilt projects ...
[?] Choose a project: [open-source][validation]-coco-2017-dataset (1145.2 mb)
 > [open-source][validation]-coco-2017-dataset (1145.2 mb)
   [open-source]-covid-19-segmentations (55.6 mb)
   [open-source][validation]-bdd-dataset (229.8 mb)
   quickstart (48.2 mb)

Downloading sandbox project: 100%|################################################| 1.15G/1.15G [00:22<00:00, 50.0MB/s]
Unpacking zip file. May take a bit.
╭───────────────────────────── 🌟 Success 🌟 ─────────────────────────────╮
│                                                                         │
│     Successfully downloaded sandbox dataset. To view the data, run:     │
│                                                                         │
│  cd "C:/path/to/[open-source][validation]-coco-2017-dataset"            │
│  encord-active visualise                                                │
│                                                                         │
╰─────────────────────────────────────────────────────────────────────────╯

Наконец, мы визуализируем Encord Active:

cd "[open-source][validation]-coco-2017-dataset" 
$ encord-active visualise

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

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

Затем мы выбираем показатель «Доверие модели» и фильтруем прогнозы с достоверностью >75%.

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

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

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

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

Используя редактор меток Encord, мы можем быстро исправить метку.

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

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

Заключение

  • Поиск и исправление ошибок этикеток — это утомительный ручной процесс, который может занять бессчетное количество часов. Часто это делается вручную путем переключения по одному изображению за раз или написания одноразовых сценариев в блокнотах Jupyter.
  • Три разных типа ошибок этикеток: 1) отсутствующие этикетки, 2) неправильные этикетки и 3) неточные этикетки.
  • Самый простой способ найти и исправить ошибки меток и отсутствующие метки — это использовать обученную модель для выявления ошибок меток в наборе обучающих данных путем запуска модели.

Хотите протестировать свои модели?

Я хочу начать прямо сейчас — вы можете найти Encord Active на Github здесь.

"Можете ли вы сначала показать мне пример?" – посмотрите этот блокнот Colab.

Я новичок, и мне нужно пошаговое руководство — попробуйте руководство по началу работы.

Если вы хотите поддержать проект, вы можете помочь нам, поставив звезду на GitHub ⭐️

  • Подпишитесь на нас в Twitter и Linkedin, чтобы узнать больше о компьютерном зрении, обучающих данных и активном обучении.
  • Присоединяйтесь к сообществу Slack, чтобы общаться и общаться.

Первоначально опубликовано на https://encord.com.