Введение
Вы пытаетесь улучшить производительность своей модели, находя ошибки меток и исправляя их?
Вероятно, вы тратите бесчисленное количество часов на отладку наборов данных вручную, чтобы найти данные и пометить ошибки с помощью различных скриптов в блокнотах Jupyter.
Encord Active, новая инфраструктура активного обучения с открытым исходным кодом, позволяет легко находить и исправлять ошибки меток в ваших наборах данных компьютерного зрения. С помощью Encord Active вы можете быстро и легко выявлять ошибки меток в наборах данных и исправлять их всего несколькими щелчками мыши.
Кроме того, благодаря удобному пользовательскому интерфейсу и ряду различных визуализаций для разделения ваших данных Encord Active упрощает исследование и понимание режимов отказа в ваших моделях компьютерного зрения.
В этом руководстве мы покажем вам, как использовать Encord Active для поиска и исправления ошибок меток в наборе данных проверки COCO.
Прежде чем мы начнем, давайте разберемся с тремя основными типами ошибок меток в компьютерном зрении.
Обозначьте ошибки в компьютерном зрении
Неправильные метки в ваших обучающих данных могут существенно повлиять на производительность ваших моделей компьютерного зрения. Хотя в небольших наборах данных можно вручную выявлять ошибки меток, это быстро становится непрактичным при работе с большими наборами данных, содержащими сотни тысяч или миллионы изображений. В общем, это как найти иголку в стоге сена.
Три типа ошибок маркировки в компьютерном зрении:
- Объекты с неверными метками. Образец, к которому привязан неверный класс объектов.
- Отсутствуют метки. Образец, не содержащий метки.
- Неточные метки. Ярлыки слишком тугие, слишком свободные или перекрываются с другими объектами.
Ниже вы видите примеры трех типов ошибок у бенгальского тигра:
Совет! Если вы хотите узнать больше об ошибках меток, рекомендуем вам ознакомиться с разделом Ошибки данных в Computer Vision.
Как найти ошибки меток с помощью предварительно обученной модели
По мере развития вашей деятельности в области компьютерного зрения вы можете использовать обученную модель для выявления ошибок меток в конвейерах аннотирования данных. Вам нужно будет следовать простому 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.