В этом посте показан выбор и обработка набора данных изображений для использования в приложении на Jetson nano.

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

Перебрав несколько вариантов, мы нашли набор данных, который идеально подходил для проекта. Мы используем набор данных из kaggle. Он содержал 20 300 изображений лего и обычных кирпичей, но мы решили использовать только изображения лего, а также обычные и обрезанные изображения, мы использовали только обрезанные изображения, поскольку это дало бы лучшие результаты для обучения модели.

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

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

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

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

использованная литература

Гарсия, Ф. (2019). Lego против обычного кирпича — Распознавание изображений | Каггль. Получено 22 августа 2019 г. с https://www.kaggle.com/pacogarciam3/lego-vs-generic-brick-image-recognition.

Харрисон. (2019). Учебники по программированию на Python. Получено 22 августа 2019 г. с https://pythonprogramming.net/loading-custom-data-deep-learning-python-tensorflow-keras/