Предварительная обработка данных состоит из ряда детерминированных операций, которые нормируют или улучшают желаемые функции данных. Например, можно нормировать данные к фиксированной области значений или изменить размер данных к размеру, требуемому сетевым входным слоем. Предварительная обработка используется для обучения, валидации и тестовых данных.
Предварительная обработка может произойти на двух этапах в рабочем процессе глубокого обучения.
Обычно предварительная обработка происходит как отдельный шаг, который вы завершаете прежде, чем подготовить данные, которые будут питаться сеть. Вы загружаете свои исходные данные, применяете операции предварительной обработки, затем сохраняете результат на диск. Преимущество этого подхода состоит в том, что предварительная обработка наверху только требуется однажды, затем предварительно обработанные изображения легко доступны как стартовое место для всех будущих испытаний обучения сети.
Если вы загружаете свои данные в datastore, то можно также применить предварительную обработку во время обучения при помощи transform
и combine
функции. Для получения дополнительной информации смотрите Хранилища данных для Глубокого обучения (Deep Learning Toolbox). Преобразованные изображения не хранятся в памяти. Этот подход удобен, чтобы не писать вторую копию обучающих данных к диску, если ваши операции предварительной обработки не являются в вычислительном отношении дорогими и заметно не влияют на скорость обучения сети.
Общие операции предварительной обработки изображений включают удаление шума, сглаживание сохранения ребра, преобразование цветового пространства, контрастное улучшение и морфологию. Для примера, который показывает, как создать и применить эти преобразования, смотрите Изображения Приращения для Рабочих процессов Глубокого обучения Используя Image Processing Toolbox.
Увеличение данных состоит из рандомизированных операций, которые применяются к обучающим данным, в то время как сеть является обучением.
Увеличенные данные изображения могут симулировать изменения получения изображений. Общими типами операций увеличения изображений являются рандомизированные геометрические преобразования, такие как вращение и перевод, которые симулируют изменения ориентации камеры относительно сцены. Случайная обрезка симулирует изменения состава сцены. Искусственный шум симулирует искажения, введенные во время получения изображений или восходящих операций обработки данных. Увеличение увеличивает эффективную сумму обучающих данных и помогает сделать сетевой инвариант к общим изменениям и искажению в данных.
Чтобы увеличить обучающие данные, запустите путем загрузки данных в datastore. Для получения дополнительной информации смотрите Хранилища данных для Глубокого обучения (Deep Learning Toolbox). Некоторые встроенные хранилища данных применяют определенный и ограниченный набор увеличения к данным для определенных приложений. Можно также применить собственный набор операций увеличения на данных в datastore при помощи transform
и combine
функции. Во время обучения datastore случайным образом тревожит обучающие данные в течение каждой эпохи, так, чтобы каждая эпоха использовала немного отличающийся набор данных.
Табличные общие типы списков операций предварительной обработки и увеличения применились к данным изображения за применение глубокого обучения.
Обработка типа | Описание | Демонстрационные функции | Демонстрационный Выход |
---|---|---|---|
Измените размер изображений | Измените размер изображений фиксированным масштабным коэффициентом или к целевому размеру |
| |
Деформируйте изображения | Примените случайное отражение, вращение, шкалу, сдвиг и перевод в изображения |
| |
Обрежьте изображения | Обрежьте изображение к целевому размеру от центра или случайного положения |
| |
Цвет дрожания | Случайным образом настройте оттенок изображений, насыщение, яркость или контраст |
| |
Симулируйте шум | Добавьте случайный Гауссов, Пуассон, соль и перец или мультипликативный шум |
| |
Симулируйте размытость | Добавьте Гауссову или направленную размытость изображения движущегося объекта |
|