Разработка автоматизированной системы классификации товаров по их изображениям

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



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

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

.3Алгоритм классификации товаров

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

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

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

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

Рис. 4.Схема алгоритма классификации товаров

.4Принцип хранения данных о товарах

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

Для хранения дерева категорий, ссылок на изображения товаров и настроек программы используется реляционная база данных. В качестве СУБД используется MSSQLServer 2008 R2 ExpressSP1.

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

На рисунке ниже приведена структура базы данных.

Рис. 5.Структура базы данных

Приведем описание таблиц, полей и типов данных, использованных в базе данных:

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

setting - хранит название настройки, тип данных varchar.

value - хранит значение настройки, тип данных varchar.

Таблица Imagesхранит данные о изображениях товаров, о том, к какому товару и какой категории принадлежит изображение. Приведем описание полей:

itemId - хранит идентификатор изображения, полученных с веб-ресурса, тип данных bigint.

categoryId - хранит идентификатор категории, к которой относится изображение, тип данных int.

URL - хранит ссылку на изображение, тип данных varchar.

isBig - флаг, определяющий, имеет ли изображение большое разрешение, тип данных bit.

Таблица Categoriesхранит данные о категориях и их структуре. Приведем описание полей:

id - хранит идентификатор категории, полученный с веб-ресурса, тип данных int.

[level] - уровень категории, тип данных int.

name - название категории, тип данных varchar.

url - ссылка на категорию, тип данных varchar.

parentUrl - ссылка на родительскую категорию, тип данных varchar.

Глава 3.Программная реализация. Апробация методики

.1Описание программного обеспечения

интернет аукцион нейронный сеть товар

Для обработки данных разработана программа на языке программирования C# на платформе.NET4.0в среде программирования MicrosoftVisualStudio 2010 UltimateEdition. Хранение данных осуществлено с использованием СУБД MSSQLServer2008 R2 ExpressEditionSP1.

Программа, извлекающая данные с веб-ресурса обрабатывает информацию следующего вида:

1.Страница, с данными о товарах.

2.Идентификатор товара.

.Ссылка на товар

.Категория товара

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

Результатами работы приложения является:

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

Структурированные, сохранённые локально изображения товаров.

Программа, классифицирующая товары обрабатывает информацию следующего вида:

1.Изображения товаров

2.Информация для обучения сетей<