- •Глава 1 Обзор штрихкодов как способов кодирования информации 9
- •Глава 2 Разработка, тестирование и отладка программного средства распознавания штрихкодов на основе каскадов Хаара 42
- •Глава 3 Экспериментальная проверка программного средства распознавания штрихкодов на основе каскадов Хаара 66
- •Введение
- •Обзор штрихкодов как способов кодирования информации
- •Характеристика ооо «k2it»
- •Структура ооо "к2Айти"
- •Обзор существующих видов штрихкодов.
- •Способы кодирования информации
- •Особенности штрихкода AztecCode
- •Использование штрихкода AztecCode
- •Особенности штрихкода DataMatrix
- •Печать 2d штрихкодов
- •Регулирование и стандартизация
- •Типы сканеров
- •Устройства для считывания двухмерных штрихкодов
- •Программное обеспечение для чтения штрихкодов
- •Постановка задачи дипломного проектирования
- •Математические методы решения задачи
- •Интегральное представление изображений
- •Признаки Хаара
- •Обучение классификатора в методе Виолы-Джонса
- •Применяемый в алгоритме бустинг и разработка AdaBoost
- •Каскадная модель разрабатываемого алгоритма
- •Выводы по главе
- •Разработка, тестирование и отладка программного средства распознавания штрихкодов на основе каскадов Хаара
- •Обоснование выбора аппаратных и программных средств разработки программного обеспечения
- •Операционная система Microsoft Windows
- •Интегрированная среда разработки Microsoft Visual Studio
- •Язык программирования Visual c#
- •Платформа .Net framework
- •Библиотека компьютерного зрения Opencv
- •Библиотека генерации и чтения штрихкодов zXing
- •Алгоритм обучения каскада Хаара для задачи распознавания штрихкодов товаров.
- •Состав и структура программного обеспечения
- •Описание процесса тестирования и отладки программного обеспечения
- •Инструкция пользователю
- •Выводы по главе
- •Экспериментальная проверка программного средства распознавания штрихкодов на основе каскадов Хаара
- •Описание результатов испытаний
- •Оценивание характеристик качества программного средства распознавания штрихкодов товаров
- •Обоснование экономической эффективности программного средства распознавания штрихкодов товаров на основе каскадов Хаара.
- •Выводы по главе
- •Заключение
- •Список литературы
- •Приложение Исходный код пс
Интегральное представление изображений
Для того, чтобы производить какие-либо действия с данными, используется интегральное представление изображений [6] в методе Виолы-Джонса. Такое представление используется часто и в других методах, к примеру, в вейвлет-преобразованиях, SURF и многих других разобранных алгоритмах. Интегральное представление позволяет быстро рассчитывать суммарную яркость произвольного прямоугольника на данном изображении, причем какой бы прямоугольник не был, время расчета неизменно. Интегральное представление изображения – это матрица, совпадающая по размерам с исходным изображением. В каждом элементе ее хранится сумма интенсивностей всех пикселей, находящихся левее и выше данного элемента. Элементы матрицы рассчитываются по следующей формуле:
, (1.1)
где
— яркость пикселя исходного изображения.
Каждый элемент матрицы
представляет собой сумму пикселей в
прямоугольнике от
до
,
т.е. значение каждого пикселя
равно сумме значений всех пикселов
левее и выше данного пикселя
.
Расчет матрицы занимает линейное время,
пропорциональное числу пикселей в
изображении, поэтому интегральное
изображение просчитывается за один
проход.
Расчет матрицы возможен по формуле 1.2:
(1.2)
По такой интегральной матрице можно очень быстро вычислить сумму пикселей произвольного прямоугольника, произвольной площади. Пусть в прямоугольнике ABCD есть интересующий нас объект .
Сумму внутри прямоугольника можно выразить через суммы и разности смежных прямоугольников по следующей формуле:
(1.3)
Признаки Хаара
Признак
это отображение
,
где
— множество допустимых значений
признака. Если заданы признаки
,
то вектор признаков
называется признаковым описанием
объекта
.
Признаковые описания допустимо
отождествлять с самими объектами. При
этом множество
называют признаковым пространством
[16].
Признаки делятся на следующие
типы в зависимости от множества
:
- бинарный признак,
;
- номинальный признак: — конечное множество;
- порядковый признак: — конечное упорядоченное множество;
- количественный признак: — множество действительных чисел.
Естественно, бывают прикладные задачи с разнотипными признаками, для их решения подходят далеко не все методы. В стандартном методе Виолы – Джонса используются прямоугольные признаки, изображенные на рисунке 1.20,называются примитивами Хаара:
Рисунок 1.20. Примитивы Хаара.
Используемая в алгоритме модель машинного обучения
Обучение машины — это процесс получения модулем новых знаний. Есть признанное определение данному процессу:
«Машинное обучение — это наука, изучающая компьютерные алгоритмы, автоматически улучшающиеся во время работы» [11]
Схематичный процесс обучения машины показан на рисунке 1.21:
Рисунок 1.21. Схема процесса обучения машины.
Данный процесс входит в концепцию и технологию под названием Datamining (извлечение информации и интеллектуальный анализ данных), куда входят помимо Машинного обучения такие дисциплины, как Теория баз данных, Искусственный интеллект, Алгоритмизация, Распознавание образов и прочие. Машинное обучение в методе Виолы-Джонса решает такую задачу как классификация.
