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

Содержание

Узнайте об ограничивающих прямоугольниках при обработке изображений


Хотите автоматизировать ручные процессы? Попробуйте Nanonets бесплатно. Создавайте собственные рабочие процессы для автоматизации ручных процессов за 15 минут. Кредитная карта не требуется.

Начните бесплатную пробную версию


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

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

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

Давайте углубимся.


Что такое обработка изображений?

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

Основные этапы обработки изображения включают:

  • Использование инструментов получения изображения для загрузки изображения
  • Анализ и интерпретация изображения
  • Генерация модифицированного изображения в виде вывода или отчета на основе анализа изображения

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

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

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

Любые данные, которые подвергаются цифровой обработке изображений, должны пройти три этапа:

  • Предварительная обработка
  • Улучшение и отображение
  • Извлечение информации

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


Хотите извлечь данные из документов PDF, преобразовать PDF в XML или автоматизировать извлечение таблиц? Воспользуйтесь парсером PDF или парсером PDF от Nanonets, чтобы преобразовать PDF-файлы в записи базы данных!

Попробуйте Nanonets бесплатно


Ограничивающие рамки в обработке изображений

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

Что такое ограничивающие рамки?

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

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

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

Итак, обработка изображений так же проста, как рисование прямоугольников или узоров вокруг объектов? Нет. При этом, что делают ограничивающие рамки?

Давайте разбираться.

Как ограничивающие рамки работают при обработке изображений?

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

Итак, как это помогает аннотаторам данных? Что ж, профессионалы используют идею ограничивающих рамок для рисования воображаемых прямоугольников поверх изображений. Они создают контуры рассматриваемых объектов на каждом изображении и определяют его координаты X и Y. Это упрощает работу алгоритмов машинного обучения, помогая им находить пути столкновений и тому подобное, тем самым экономя вычислительные ресурсы.

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

Источник: keymakr

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

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

Параметры, определяющие ограничивающую рамку

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

  • Класс: Обозначает объект внутри ограничивающей рамки — например, автомобили, дома, здания и т. д.
  • (X1, Y1): Это относится к координатам X и Y верхней части левый угол прямоугольника.
  • (X2, Y2): относится к координатам X и Y нижнего правого угла прямоугольника.
  • (Xc, Yc): относится к координатам X и Y центра ограничивающей рамки.
  • Ширина. Указывает ширину ограничивающей рамки.
  • Высота: обозначает высоту ограничивающей рамки.
  • Уверенность: Это представляет возможность того, что объект находится в коробке. Скажем, достоверность равна 0,9. Это означает, что существует 90% вероятность того, что объект действительно будет находиться внутри коробки.

Условные обозначения, определяющие ограничивающую рамку

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

  • Координаты X и Y верхней левой и нижней правой точек прямоугольника.
  • Координаты X и Y центра ограничивающей рамки, а также ее ширина и высота.

Проиллюстрируем это на примере автомобиля.

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

Источник: AnalyticsVidhya

b. Что касается второго соглашения, ограничивающая рамка описывается в соответствии с координатами центра, шириной и высотой.

Источник: AnalyticsVidhya

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

  • Xc = (X1 + X2)/2
  • Yc = (Y1 + Y2)/2
  • Ширина = (X2 — X1)
  • Высота = (Y2 — Y1)

Граничные рамки Объяснение ed с кодом программирования

Давайте рассмотрим еще один пример расположения или положения объекта с помощью фрагментов кода.

Источник: d2i

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

Источник: d2i

Источник: d2i

Возьмем x и y в качестве координат верхнего левого и нижнего правого углов ограничивающей рамки. Скажем, (x1,y1) и (x2,y2). Точно так же давайте рассмотрим координаты оси (x, y) для центра ограничивающей рамки, а также ее ширину и высоту.

Затем мы определяем две функции для преобразования этих форм: box_corner_to_center преобразует представление с двумя углами в представление с высотой центра и шириной, а box_center_to_corner делает это наоборот.

Поля входного аргумента должны быть двумерным тензором формы (n,4), где n — количество ограничивающих прямоугольников.

Источник: d2i

Далее определим ограничивающие рамки собаки и кошки на изображении на основе данных координат.

Источник: d2i

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

Источник: d2i

Источник: d2i

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

Источник: d2i

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

Источник: d2i

Источник: d2i


Хотите автоматизировать повторяющиеся ручные задачи? Ознакомьтесь с нашим программным обеспечением для обработки документов Nanonets, основанным на рабочих процессах. Извлекайте данные из счетов-фактур, удостоверений личности или любого документа на автопилоте!

Попробуйте Nanonets бесплатно


Общие случаи использования ограничительных рамок

Локализация объектов беспилотных транспортных средств

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

Изображения робототехники

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

Маркировка изображений для электронной коммерции и розничной торговли

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

  • Неправильные результаты поиска

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

  • Неорганизованные цепочки поставок

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

  • Непрерывная оцифровка

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

Обнаружение потери автомобиля для страховых случаев

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

Источник: Superannotate

Обнаружение предметов в помещении

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

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

Выявление болезней и роста растений в сельском хозяйстве

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

Обрабатывающая промышленность

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

Медицинская визуализация

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

Автоматические камеры видеонаблюдения

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

Распознавание и обнаружение лиц

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


Хотите использовать роботизированную автоматизацию процессов? Ознакомьтесь с программным обеспечением для обработки документов на основе рабочего процесса Nanonets. Нет кода. Платформа без проблем.

Попробуйте Nanonets бесплатно


Граничные рамки для распознавания символов

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

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

Чтобы пометить изображение, выполните следующие действия:

  • Выберите набор данных, который вы хотите обучить и протестировать. Сделайте из него папку.
  • Давайте возьмем в качестве примера проект по обнаружению лиц, такой как: BTS, Avenger и т. д.
  • Создать данные имени папки.
  • В Google Диске создайте папку с названием FaceDetection.
  • В папке FaceDetection создайте папку изображения.
  • В папке изображения создайте папки тестового изображения, тестового XML, обучающего изображения и обучающего XML.

Источник: indusmic

Теперь в папке с изображением поезда загрузите и загрузите 10-15 изображений BTS и Мстителей в формате JPEG. Точно так же в папке с тестовыми изображениями сделайте то же самое для 5-6 изображений. Для получения точных результатов рекомендуется иметь больше изображений в наборе данных.

Источник: indusmic

Источник: indusmic

Затем сгенерируйте файл XML для каждого изображения тестового изображения и обучите папки изображений

Загрузите и щелкните Windows v_1.8.0. Нажмите на файл .exe из GitHub и нажмите «Выполнить».

Затем щелкните открытый каталог, чтобы выбрать папку с изображением. Вы увидите изображение, которое нужно пометить. Чтобы пометить, нажмите W на клавиатуре, щелкните правой кнопкой мыши и перетащите курсор, чтобы нарисовать рамку вокруг объекта. Дайте ему имя и нажмите ОК.

Источник: indusmic

Затем сохраните изображение для создания XML-файла изображения в папке изображения, как показано ниже.

Источник: indusmic

Откройте файл XML, чтобы увидеть координаты.

Источник: indusmic

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


Если вы работаете со счетами и квитанциями или беспокоитесь о подтверждении личности, проверьте Nanonets онлайн OCR или Экстрактор текста PDF для извлечения текста из документов PDF бесплатно . Нажмите ниже, чтобы узнать больше о Решение для автоматизации предприятий Nanonets .

Попробуйте Nanonets бесплатно


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

По сути, ограничивающий прямоугольник имеет 4 точки на осях (x,y), представляющих углы:

Верхний левый: (x_min, y_min)

Вверху справа: (x_max, y_min)

Внизу слева: (x_min, y_max)

Внизу справа: (x_max, y_max)

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

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

а. Альбументации

Они используют четыре значения для представления ограничивающей рамки — [x_min, y_min, x_max, y_max] — которые нормализуются путем деления координат в пикселях по оси x на ширину и по оси y на высоту изображение.

Допустим, координаты ограничивающей рамки: x1 = 678, y1 = 24; x2 = 543, y2= 213.

Пусть ширина = 870, высота = 789

Тогда [678/870, 24/789, 543/870, 213/789] = [0,779310, 0,030418, 0,62413 7, 0,269961]

Albumentations использует и интерпретирует эти значения внутри с помощью ограничивающих рамок и улучшает их.

б. COCO

Это формат, используемый набором данных Common Objects in Context COCO. В формате COCO ограничивающая рамка представлена ​​четырьмя значениями: (x_min, y_min, ширина, высота). По сути, они относятся к верхнему левому углу, а также к ширине и высоте ограничивающей рамки.

в. YOLO

В этом формате ограничивающая рамка представлена ​​четырьмя значениями: (x_center, y_center, ширина, высота). Здесь x_center и y_center обозначают нормализованные координаты x и y центра ограничивающей рамки. Чтобы нормализовать координату x центра по ширине изображения и координату y центра по высоте изображения. Значения ширины и высоты также нормализуются.

д. PASCAL

В формате Pascal ограничивающая рамка представлена ​​верхней левой и нижней правой координатами. Итак, значения, закодированные в пикселях: [x_min, y_min, x_max, y_max]. Здесь [x_min, y_min] соответствует верхнему левому углу, а [x_max, y_max] обозначает нижний правый угол ограничивающей рамки.


Хотите автоматизировать повторяющиеся ручные задачи? Экономьте время, усилия и деньги, повышая эффективность!

Попробуйте Nanonets бесплатно


Меры предосторожности и рекомендации по использованию ограничивающих рамок

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

Варианты размера рамки

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

Pixel-Perfect Tightness

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

Диагональные элементы, помещенные в ограничивающие рамки

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

Уменьшить перекрытие рамок

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

Вывод

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

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

Предлагаемые ресурсы:

https://www. kdnuggets.com/2022/07/bounding-box-deep-learning-future-video-annotation.html#:~:text=A%20bounding%20box%20is%20a,location%2C %20размер%2C%20и%20ориентация.

https://www.v7labs.com/blog/bounding-box-annotation

https://towardsdatascience.com/image-data-labeling-and-annotation-everything-you-need-to-know-86ede6c684b1


Nanonets Online OCR и OCR API имеют много интересных вариантов использования t Это может оптимизировать эффективность вашего бизнеса, сократить расходы и ускорить рост. Узнайте, как варианты использования Nanonets могут применяться к вашему продукту.


Распознавание людей на фотографиях с помощью частного машинного обучения на устройстве

тип контента статья | опубликовано в июле 2021 г.

Приложение «Фото» (на iOS, iPad OS и Mac OS) – это неотъемлемый способ просматривать, искать и переживать моменты жизни вместе со своими друзьями и семьей. В программе «Фото» используется ряд алгоритмов машинного обучения, работающих в частном порядке на устройстве, которые помогают выбирать и упорядочивать изображения, Live Photos и видео. Алгоритм, лежащий в основе этой цели, распознает людей по их внешнему виду.

Фотографии используют идентификационную информацию несколькими способами. Как показано на рис. 1А, пользователь может прокрутить изображение вверх, нажать на кружок, представляющий человека, который был распознан на этом изображении, а затем повернуться, чтобы просмотреть свою библиотеку и просмотреть изображения, содержащие этого человека. Пользователь также может получить прямой доступ к альбому «Люди», показанному на рисунке 1B, для просмотра изображений и подтверждения того, что на их изображениях отмечен правильный человек. Затем пользователь может вручную добавить имена людей на свои фотографии и найти кого-то, введя имя человека в строке поиска, как показано на рисунке 1C.

Фотографии также могут учиться на основе идентификационной информации для построения частного графа знаний на устройстве, который выявляет интересные закономерности в библиотеке пользователя, такие как важные группы людей, часто посещаемые места, прошлые поездки, события, последний раз, когда пользователь образ определенного человека и многое другое. Граф знаний поддерживает любимую функцию «Воспоминания» в «Фото», которая создает увлекательные видео-виньетки, посвященные различным темам в библиотеке пользователя. Воспоминания используют популярные темы, основанные на важных людях в жизни пользователя, такие как воспоминание о «Вместе», как показано на рисунке 1D.

Рисунок 1: A) Изображение, показывающее идентифицированных людей в левом нижнем углу. Б) Народный альбом. C) Поиск по запросу составных лиц. D) Панель воспоминаний, показывающая воспоминания конкретного человека.

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

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

Распознавание людей в коллекциях изображений

Распознавание людей в библиотеках состоит из двух взаимосвязанных этапов. Один этап включает в себя постепенное создание галереи известных людей по мере развития библиотеки. Второй этап состоит из назначения наблюдения за новым человеком либо известному человеку в галерее, либо объявлению наблюдения как неизвестного человека. Алгоритмы на обоих этих этапах работают с векторами признаков, также называемыми вложениями, которые представляют наблюдение человека.

Рисунок 2: Распознавание людей в коллекциях изображений.

Извлечение вложений

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

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

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

Создание галереи

Галерея — это собрание часто встречающихся людей в библиотеке фотографий пользователя. Чтобы построить галерею без присмотра, Photos использует методы кластеризации для формирования групп или кластеров векторов признаков лица и верхней части тела, которые соответствуют людям, обнаруженным в библиотеке. В Photos мы разработали новый алгоритм агломеративной кластеризации, который обеспечивает эффективное добавочное обновление существующих кластеров и может масштабироваться до больших библиотек. Чтобы построить эти кластеры, мы начинаем с алгоритма кластеризации, который использует комбинацию вложений лица и верхней части тела для каждого наблюдения. Этот шаг довольно консервативен, потому что когда он объединяет два экземпляра, они постоянно связаны. Мы настраиваем алгоритм таким образом, чтобы каждый кластер первого прохода группировал только очень близкие совпадения, обеспечивая высокую точность, но множество меньших кластеров. Каждый кластер представлен скользящим средним значением его вложений по мере добавления экземпляров.

Со временем встраивания верхней части тела становятся менее надежными, чем встраивания лица, потому что они основаны на временном внешнем виде человека, например, на его одежде в определенный день. Соответственно, во время этого первого прохода мы стараемся сравнивать встраивания верхней части тела только в один и тот же момент. Момент связывает набор ресурсов на основе метаданных, таких как время и местоположение. В активах данного момента мы ожидаем, что верхняя часть тела человека будет иметь постоянный внешний вид. Например, человек, скорее всего, носит одинаковую одежду. Есть много способов приблизиться к полезным комбинациям наблюдений, например, научиться объединять вложения лица и верхней части тела в один вектор или создать конкатенацию двух вложений. Решение, на котором мы остановились, использует расстояния, вычисляемые в каждом пространстве вложения отдельно по формуле :\alpha \cdot F_{ij}\: +α⋅Fij​+ β⋅Tij)\beta \cdot T_{ij})β⋅Tij​) где DijD_{ij}Dij​ — расстояние между двумя наблюдениями, FFF представляет собой расстояние погружения лица, а TTT представляет расстояние погружения верхней части тела. Когда в наблюдении доступно только вложение лиц, мы сравниваем его со средним вложением лиц идентифицированных кластеров. Если вложение верхней части тела также доступно и его расстояние до существующего кластера в тот же момент полезно, мы используем линейную комбинацию расстояния лица и верхней части тела. Наконец, если присутствует только вложение верхней части тела, мы просто используем расстояние верхней части тела. Мы тщательно настроили набор пороговых значений расстояния до лица и верхней части тела, чтобы получить максимальную отдачу от встраивания верхней части тела без негативного влияния на общую точность.

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

На рис. 3 представлена ​​линейная диаграмма, где ось X — это номер итерации, а ось Y — время обработки в секундах. На линейной диаграмме показано, как время обработки нашего подхода почти постоянно, в то время как количество итераций растет, в то время как типичное среднее время обработки подхода кластеризации связей растет линейно. Например, когда итерация равна 5, время обработки нашего подхода составляет 0,4 секунды, а для типичного среднего подхода кластеризации связей — 0,9 секунды; когда итерация равна 35, время обработки нашего подхода составляет 2,4 секунды, а для типичного среднего подхода кластеризации связей — 69 секунд..2 секунды; когда итерация равна 65, время обработки нашего подхода составляет 3,5 секунды, а для типичного подхода кластеризации средней связи — 205,8 секунды. Рисунок 3: Время обработки на итерацию для типичной кластеризации средней связи по сравнению с нашим подходом (чем меньше, тем лучше).

Этот алгоритм кластеризации запускается периодически, обычно ночью во время зарядки устройства, и назначает каждый наблюдаемый экземпляр человека в кластер. Если вложения лица и верхней части тела хорошо обучены, набор крупнейших кластеров ККК, вероятно, будет соответствовать разным людям ККК в библиотеке. Используя ряд эвристик, основанных на распределении размеров кластеров, расстояниях между кластерами и внутри кластеров, а также явном вводе данных пользователем через приложение, Photos определяет, какой набор кластеров вместе составляет галерею известных лиц для данной библиотеки. 2\; +xmin​∣∣y−D⋅x∣∣22​+ λ⋅∣∣x∣∣1\lambda \cdot ||x||_1λ⋅∣∣x∣∣1​.

Окончательное присвоение yyy производится кластеру, соответствующему максимальной общей «энергии» разреженного кода, xxx. Это обобщение по сравнению с классификацией ближайших соседей обеспечивает лучшую точность, особенно в двух режимах: когда размер каждого кластера относительно мал, и когда более одного кластера в галерее могут принадлежать одному и тому же идентификатору. Фото использует эту технику, чтобы быстро идентифицировать людей, когда кто-то делает фотографии. Это позволяет фотографиям более динамично адаптироваться к пользовательским библиотекам по мере появления новых наблюдений.

Фильтрация нечетких лиц

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

Рисунок 4: Примеры ложноположительных и нечетких лиц.

Равномерность при создании вложений лиц

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

Данные и дополнения

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

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

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

Проектирование сети

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

Рисунок 5: Сетевая архитектура встраивания лиц.

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

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

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

Обучение модели

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

Рисунок 6: Процедура обучения модели и распределение вложений лиц до и после обучения.

Мы сравниваем встраивание лица, полученное глубокой сверточной нейронной сетью, описанной ранее, с набором якорей. Первым шагом является вычисление скалярного произведения между нормализованным вложением и каждым якорем, чтобы получить их косинусное сходство. Эти привязки представляют собой обученный набор параметров, которые можно интерпретировать как центр вложений лиц, представляющих каждого человека в нашем обучающем наборе данных. Результатом является матрица размера N×IN \times IN×I, где III — количество тождеств, а NNN соответствует размеру встраивания лица. Косинусное сходство для положительной привязки cos⁡(θyi)\cos(\theta_{y_i})cos(θyi​) затем модифицируется путем добавления штрафа за угловой запас mmm для увеличения расстояния между разными классами. Этот аддитивный запас значительно улучшает дискриминационную способность нашего встраивания. Наконец, мы масштабируем полученные функции с помощью sss и используем их в качестве логита для вычисления кросс-энтропийных потерь softmax на основе приведенного ниже уравнения. 9{s\,f(\cos\theta_{j})}}}Li​=−logescos(θyi​+m)+∑j=yi​K​esf(cosθj​)escos(θyi​+m )​

Мы интегрируем концепцию майнинга в кросс-энтропийную потерю softmax, применяя стратегию, аналогичную Softmax с опорным вектором, и адаптивную потерю обучения, представленную в CurricularFace. Это позволяет нам недооценивать простые примеры и придавать большее значение сложным непосредственно в проигрыше. Мы используем функцию повторного взвешивания fff, чтобы модулировать сходство cos⁡(θj)\cos(\theta_j)cos(θj​) для отрицательных якорей пропорционально их сложности. Этот подход softmax с маржинальным майнингом оказывает значительное влияние на точность окончательной модели, предотвращая перегрузку потерь большим количеством простых примеров. Аддитивные потери углового запаса могут создавать проблемы сходимости с современными небольшими сетями и часто могут использоваться только на этапе точной настройки. Эта проблема не возникает при использовании нашего подхода, и модель легко сходится при обучении на основе случайной инициализации.

На рис. 7 представлена ​​вертикальная гистограмма, показывающая влияние процедуры обучения на точность модели. Для подхода Softmax «Без увеличения с большим запасом» наихудшая точность подмножества составляет 0,23, а наилучшая точность подмножества — 0,66. Для подхода «Без увеличения маржинального майнинга Softmax» наихудшая точность подмножества составляет 0,68, а наилучшая точность подмножества — 0,84. Для подхода «Augmentations Margin-mining Softmax» наихудшая точность подмножества составляет 0,86, а наилучшая точность подмножества — 0,96. Рисунок 7: Влияние процедуры обучения на точность модели.

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

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

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

Производительность на устройстве

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

Чтобы добиться наилучшей производительности и задержки логического вывода при минимальном объеме памяти и энергопотреблении, наша модель полностью работает на платформе Apple Neural Engine (ANE). На новейшем оборудовании iOS генерация встраивания лица завершается менее чем за 4 мс. Это дает 8-кратное улучшение по сравнению с эквивалентной моделью, работающей на графическом процессоре, что делает ее доступной для сценариев использования в реальном времени.

Визуализация результатов

Это последнее усовершенствование, доступное в программе «Фото» под управлением iOS 15, значительно улучшает распознавание людей. Как показано на рис. 8, используя частное машинное обучение на устройстве, мы можем правильно распознавать людей с экстремальными позами, аксессуарами или даже закрытыми лицами и использовать комбинацию лица и верхней части тела, чтобы сопоставлять людей, лица которых вообще не видны. Это значительно улучшает работу с Фото, определяя наиболее важных для нас людей в ситуациях, где раньше это было невозможно.

Рисунок 8: Распознавание людей с использованием новой архитектуры в Фото.

Благодарности

Многие люди внесли свой вклад в это исследование, в том числе Флорис Чаберт, Цзинвен Чжу, Бретт Китинг и Винай Шарма.

Ссылки

Адам Коутс, Эндрю Ю. Нг. Представления признаков обучения с помощью K-средних. В Neural Networks: Tricks of the Trade, 2012. [ссылка].

Эндрю Ховард, Марк Сэндлер, Грейс Чу, Лян-Чие Чен, Бо Чен, Минсин Тан, Вэйцзюнь Ван, Юкунь Чжу, Руоминг Панг, Виджай Васудеван, Куок В. Ле, Хартвиг ​​Адам. Поиск MobileNetV3. arXiv:1905.02244, май 2019 г. [ссылка].

Илья Лощилов, Фрэнк Хаттер. Раздельная регуляризация затухания веса. arXiv:1711.05101, ноябрь 2017 г. [ссылка].

Цзянькан Дэн, Цзя Го, Няннан Сюэ, Стефанос Зафейриу. ArcFace: аддитивные угловые потери для глубокого распознавания лиц. arXiv:1801.07698, январь 2018 г. [ссылка].

Цзе Ху, Ли Шен, Сэмюэл Олбани, Ган Сун, Энхуа Ву. Сети сжатия и возбуждения. arXiv:1709. 01507, сентябрь 2017 г. [ссылка].

Лесли Н. Смит. Дисциплинированный подход к гиперпараметрам нейронной сети. архив: 1803.09820, март 2018 г. [ссылка].

Шэн Чен, Ян Лю, Сян Гао, Чжэнь Хань. MobileFaceNets: эффективные CNN для точной проверки лиц в режиме реального времени на мобильных устройствах. arXiv:1804.07573, апрель 2018 г. [ссылка].

Терренс ДеВриз, Грэм В. Тейлор. Улучшенная регуляризация сверточных нейронных сетей с вырезом. arXiv:1708.04552, ноябрь 2017 г. [ссылка].

Югэ Хуан, Юхан Ван, Ин Тай, Сяомин Лю, Пэнчэн Шэнь, Шаоксин Ли, Цзилинь Ли, Фейюэ Хуан. CurricularFace: адаптивная учебная потеря для глубокого распознавания лиц. arXiv:2004.00288, апрель 2020 г. [ссылка].

Сяньян Ли, Фэн Ван, Цинхао Ху, Конг Ленг. AirFace: легкая и эффективная модель для распознавания лиц. arXiv:1907.12256, июль 2019 г. [ссылка].

Сяобо Ван, Шуо Ван, Шифэн Чжан, Тяньюй Фу, Хайлинь Ши, Тао Мэй. Поддержка потери данных Softmax с векторным управлением для распознавания лиц. arXiv:1812.11317, декабрь 2018 г. [ссылка].

Связанные чтения и обновления.

Анализ сцен — это неотъемлемая базовая технология, которая поддерживает множество функций и функций в экосистеме Apple. От поиска визуального контента до ярких воспоминаний, отмечающих особые события в жизни, выходные данные (или «сигналы»), создаваемые анализом сцены, имеют решающее значение для того, как пользователи взаимодействуют с фотографиями на своих устройствах. Развертывание выделенных моделей для каждой из этих отдельных функций неэффективно, поскольку многие из этих моделей могут выиграть от совместного использования ресурсов. Мы представляем, как мы разработали Apple Neural Scene Analyzer (ANSA), унифицированную основу для создания и поддержки рабочих процессов анализа сцен в производстве. Это был важный шаг на пути к тому, чтобы Apple стала одной из первых в отрасли, внедривших в 2016 году полный анализ сцен на стороне клиента9.0008 Подробнее о статье

Камера (в iOS и iPadOS) использует широкий спектр технологий понимания сцены для обработки изображений.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *