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

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

Факторы, которые следует учитывать в проблеме компьютерного зрения?

  1. Изменение точки обзора 2. Изменение разрешения 3. Освещение 4. Свойство материала объекта, например коэффициент отражения 5. Сцена 6. Изменение расстояния 7. Шум 8. Окклюзия 9. Размытие в движении

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

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

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

Сбор данных из Интернета

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

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

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

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

Моделирование реальных вариантов

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

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

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

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

Рандомизация домена — это способ использовать изученное пространство в нейронной сети, которая была обучена для другой задачи/среды (междоменной). Задача рандомизации домена состоит в том, чтобы имитировать реальную вариацию независимо от задачи.

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

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

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

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

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

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

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

Ограничивающая среда

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

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

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

Идентификация пограничного случая

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

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

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

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

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

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