- •Глава 1 Обзор штрихкодов как способов кодирования информации 9
- •Глава 2 Разработка, тестирование и отладка программного средства распознавания штрихкодов на основе каскадов Хаара 42
- •Глава 3 Экспериментальная проверка программного средства распознавания штрихкодов на основе каскадов Хаара 66
- •Введение
- •Обзор штрихкодов как способов кодирования информации
- •Характеристика ооо «k2it»
- •Структура ооо "к2Айти"
- •Обзор существующих видов штрихкодов.
- •Способы кодирования информации
- •Особенности штрихкода AztecCode
- •Использование штрихкода AztecCode
- •Особенности штрихкода DataMatrix
- •Печать 2d штрихкодов
- •Регулирование и стандартизация
- •Типы сканеров
- •Устройства для считывания двухмерных штрихкодов
- •Программное обеспечение для чтения штрихкодов
- •Постановка задачи дипломного проектирования
- •Математические методы решения задачи
- •Интегральное представление изображений
- •Признаки Хаара
- •Обучение классификатора в методе Виолы-Джонса
- •Применяемый в алгоритме бустинг и разработка AdaBoost
- •Каскадная модель разрабатываемого алгоритма
- •Выводы по главе
- •Разработка, тестирование и отладка программного средства распознавания штрихкодов на основе каскадов Хаара
- •Обоснование выбора аппаратных и программных средств разработки программного обеспечения
- •Операционная система Microsoft Windows
- •Интегрированная среда разработки Microsoft Visual Studio
- •Язык программирования Visual c#
- •Платформа .Net framework
- •Библиотека компьютерного зрения Opencv
- •Библиотека генерации и чтения штрихкодов zXing
- •Алгоритм обучения каскада Хаара для задачи распознавания штрихкодов товаров.
- •Состав и структура программного обеспечения
- •Описание процесса тестирования и отладки программного обеспечения
- •Инструкция пользователю
- •Выводы по главе
- •Экспериментальная проверка программного средства распознавания штрихкодов на основе каскадов Хаара
- •Описание результатов испытаний
- •Оценивание характеристик качества программного средства распознавания штрихкодов товаров
- •Обоснование экономической эффективности программного средства распознавания штрихкодов товаров на основе каскадов Хаара.
- •Выводы по главе
- •Заключение
- •Список литературы
- •Приложение Исходный код пс
Каскадная модель разрабатываемого алгоритма
Алгоритм бустинга для поиска штрихкода можно описать так: - Определение слабых классификаторов по прямоугольным признакам;
- Для каждого перемещения сканирующего окна вычисление прямоугольного признака на каждом примере;
- Выбор наиболее подходящего порога для каждого признака;
- Отбор лучших признаков и лучшего подходящего порога;
- Перевзвешивание выборки.
Каскадная модель сильных классификаторов – это аналогичная дереву принятия решений модель, где каждый узел дерева построен таким образом, чтобы детектировать почти все интересующие образы и отклонять регионы, не являющиеся образами. Помимо этого, узлы дерева размещены таким образом, что чем ближе узел находится к корню дерева, тем из меньшего количества примитивов он состоит и тем самым требует меньшего времени на принятие решения. Данный вид каскадной модели хорошо подходит для обработки изображений, на которых общее количество детектируемых образов мало.
В этом случае метод может быстрее принять решение о том, что данный регион не содержит образ, и перейти к следующему. Пример каскадной модели сильных классификаторов (рисунок 1.22):
Рисунок 1.22. Пример каскадной модели сильных классификаторов
Сложность обучения таких каскадов равна
,
где применяется
этапов,
примеров и
признаков.
Далее, каскад применяется
к изображению:
- Работа с «простыми» классификаторами – при этом отбрасывается часть «отрицательных» окон;
- Положительное значение первого классификатора запускает второй, более приспособленный и так далее;
- Отрицательное значение классификатора на любом этапе приводит к немедленному переходу к следующему сканирующему окну, старое окно отбрасывается;
- Цепочка классификаторов становится более сложной, поэтому ошибок становится намного меньше.
Для тренировки такого каскада потребуются следующие действия:
- Задаются значения уровня ошибок для каждого этапа– они называются detection и false positive rates – необходимо, чтобы уровень detection был высок, а уровень false positive rates низок;
- Добавляются признаки до тех пор, пока параметры вычисляемого этапа не достигнут поставленного уровня, тут возможны такие вспомогательные этапы, как тестирование дополнительного маленького тренировочного набора и понижения порога AdaBoost с целью нахождения большего количества объектов (в связи с этим возможно большее число неточных определений объектов);
- При высоком false positive rates, добавление следующего этапа или слоя;
- Использование ложных обнаружений в текущем этапе как отрицательных уже на следующем слое или этапе.
Выводы по главе
В главе был выполнен анализ предметной области задачи дипломного проектирования – распознавания штрихкодов товаров. Предоставлена характеристика предприятия ООО «K2IT», указаны виды его деятельности, описана и проиллюстрирована организационная структура компании. Также был отмечен характер проводимых работ во время прохождения практики.
В отчете выполнен обзор существующих штрих кодов, а также устройств и программного обеспечения для их считывания. Соответственно, был сделан вывод о необходимости создания программного обеспечения для распознавания штрихкодов на основе каскадов Хаара.
Кроме того, рассмотрен метод Виолы-Джонса, лежащий в основе применения каскадов Хаара, и его основные составляющие - определены используемые термины, объяснено понятие каскадной модели и ее применение.
Таким образом, в главе поставлена задача дипломного проектирования, заключающаяся в разработке программного обеспечения распознавания штрихкодов, и описан математический аппарат для решения поставленной задачи.
