34

В настоящее время я пытаюсь сделать программу, чтобы дифференцировать гнилые апельсины и съедобные апельсины исключительно на основе их внешнего вида. Для этого я планирую использовать свернутую нейронную сеть для тренировки с гнилыми апельсинами и нормальными апельсинами. После некоторых поисков я мог найти только одну базу данных ок. 150 гнилых апельсинов и 150 нормальных апельсинов на черном фоне (http://www.cofilab.com/downloads/). Очевидно, что для модели машинного обучения потребуется не менее нескольких тысяч апельсинов для достижения точности более 90 процентов. Однако могу ли я изменить эти 150 апельсинов каким-то образом, чтобы создать больше фотографий апельсинов? По alter, я имею в виду добавление различных оттенков апельсина на цитрусовые, чтобы сделать «другой апельсин». Будет ли это эффективным методом обучения нейронной сети?Изменение обучаемых изображений для тренировки нейронной сети

ответ

7

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

Предполагая, что вы будете обучать его изображениям, здесь находится очень хороший репозиторий github, который предоставляет средства для использования этих методов. Эта библиотека python помогает вам дополнять изображения для ваших проектов машинного обучения. Он преобразует набор входных изображений в новый, гораздо больший набор слегка измененных изображений. Ссылка: https://github.com/aleju/imgaug

Особенности:

  • Большинство стандартных методов дополнения доступны.

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

  • Определите гибкие стохастические диапазоны для каждого увеличения, например. «повернуть каждое изображение на значение от -45 до 45 градусов» или «повернуть каждое изображение по значению, выбранному из нормального распределения N (0, 5,0)».

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

enter image description here

2

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

3

Увеличение данных - это то, что вы ищете. В вас случае вы можете делать разные вещи:

  1. Применить фильтры, чтобы получить немного другое изображение, как уже было сказано вы можете использовать Gaussian Blur.

  2. Вырезать апельсин и положить его в разные цвета.

  3. Масштабировать апельсины с различными коэффициентами весов.

  4. Поверните изображения.

  5. создать синтетические гнилые апельсины.

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

я сделал что-то подобное с набором данных 12.000 изображений, и я могу создать 630.000 образцы

0

увеличение данных действительно хороший способ повысить подготовку набора, но все еще не достаточно, чтобы обучить глубокий конец сети до конца по себе, учитывая возможность того, что она будет overfit. Вы должны посмотреть на адаптацию домена, где вы берете предварительно подготовленную модель, такую ​​как начальная, которая обучается на наборе данных imagenet и заканчивает ее для вашей проблемы. Поскольку вам необходимо изучить только параметры, необходимые для классификации вашего варианта использования, можно добиться хорошей точности с относительно небольшими доступными данными для обучения. Я провел демо-классификацию с помощью этой техники here. Попробуйте с вашим набором данных и посмотрите, помогает ли это. Демонстрационный пример заботится о предварительной модели, а также о расширении данных для набора данных, который вы будете загружать.

 Смежные вопросы

  • Нет связанных вопросов^_^