SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Евгений Козлов
Научный руководитель:
с.н.с. ИАиЭ СО РАН, к.т.н. Косых В.П.
1
 Многие мобильные устройства снабжены
встроенными фотокамерами.
 Считывание штрих-кодов может
позволить:
• сравнивать цены товаров,
• получать полную характеристику продукта,
• смотреть обзоры и отзывы других
покупателей,
• проверять продукт на ингредиенты-
аллергены.
 Проблема – камера вносит искажения при
съемке штрих-кода
2
Цель работы – разработать алгоритм распознавания штрих-
кода EAN-13, устойчивый к искажениям, возникающим
при съемке.
Решенные задачи:
1. Анализ специфики задачи распознавания и
формулировка требований к алгоритмам.
2. Анализ существующих алгоритмов распознавания
искаженных штрих-кодов.
3. Разработка алгоритма распознавания искаженного
штрих-кода.
4. Реализация и оптимизация алгоритма.
5. Исследование эффективности алгоритма на реальных
изображениях и сравнение с существующими.
3
Искажения:
4
• дефокусировка,
• низкая частота
дискретизации,
• наклон камеры,
• изгиб поверхности,
• неравномерная
освещенность,
• шумы.
Алгоритм распознавания должен быть
достаточно стойким к вышеописанным
искажениям. Процесс распознавания должен
занимать не более 2 секунд в среднем.
1. S.Wachenfeld, S.Terlunen, X.Jiang. Robust Recognition of 1-D Barcodes Using Camera
Phones. International Conference of Pattern Recognition, 2008.
2. R.Adelmann, M.Langheinrich, C.Florkemeier. Toolkit for Bar Code Recognition and
Resolving on Camera Phones - Jump Starting the Internet of Things. Workshop on Mobile
and Embedded Interactive Systems (MEIS'06) at Informatik, GI LNI, 2006.
3. E.Joseph, T.Pavlidis. Bar Code Waveform Recognition Using Peak Locations. IEEE
Transactions On Pattern Analysis And Machine Intelligence, Vol. 16, No. 6, June 1994.
4. N.Liu, H.Sun. Deconvolution of The Two-Dimensional Bar Code Based on Binary
Constraint. International Conference on Computer Science and Software
Engineering, 2008.
5. E.Tekin, J.Coughlan. A Bayesian algorithm for reading 1D barcodes. Sixth Canadian
Conference on Computer and Robot Vision, 2009.
6. O.Gallo, R.Manduchi. Reading 1-D Barcodes with Mobile Phones Using Deformable
Templates, 2010.
7. K.Wang, Y.Zou, H.Wang. 1-D Bar Code Reading On Camera Phones.
8. D.Chai, F.Hock. Locating and Decoding EAN-13 Barcodes From Images Captured by
Digital Cameras, 2005.
9. S.Kresic-Juric, D.Madej, F.Santosa. Applications of hidden Markov models in bar code
decoding, 2006.
10. R.Muniz, L.Junco, A.Otero. A Robust Software Barcode Reader Using The Hough
Transform. Information Intelligence and Systems, 1999.
5
[1] [2] [3] [4] [5] [6]
Шумы
Слабая дефокусировка (ρ < s)
Сильная дефокусировка (s < ρ < 2s)
Надежность оценки ρ – – – –
Искаженная геометрия
Яркостные искажения
Малая частота дискретизации
Высокая скорость работы
Нет ограничений на тип штрих-кода EAN EAN EAN UPC*
* – можно обобщить для EAN-13
6
1) Предварительная обработка.
2) Первая попытка распознавания с
использованием алгоритма [6],
устойчивого к геометрическим
искажениям.
3) Вторая попытка распознавания с
использованием нового алгоритма
восстановления дефокусированного
штрих-кода (в случае неудачного
завершения второго этапа).
7
1. Выделение окна
2. Усреднение по оси OY
(снижение уровня шума)
3. Начальная оценка
границ штрих-кода
xL и xR
4. Начальная оценка
ширины единичного
штриха s
5. Масштабирование
(уменьшение количества
отсчетов)
8
9
• ρ – параметр ФРТ
• a, b – контраст и яркость
• pk – неизвестные позиции границ полос
• xL – левая граница штрих-кода
• s – ширина единичного штриха
Зная pk, можно произвести декодирование
10
Расчет автокорреляции производной:
Автокорреляция производной Зависимость позиции первого
локального минимума от ρ/s
11
Минимизация функционала
Для минимизации на каждом шаге итераций
используется разложение J в ряд Тейлора в
окрестности текущих оценок.
12
Пример восстановленного штрих-кода
Результат: 0 054881 008594
• Алгоритм реализован на языке Java
• Основные оптимизации:
– Ускорение вычисления функции erf(x) с
помощью предварительного подсчета
значений функции в узловых точках и
последующей интерполяции
– Использование float вместо double
– Считывание лишь части изображения высотой
15 пикселей вместо считывания всего
изображения
– Модифицированная библиотека JAMA для
работы с матрицами
13
Набор снимков реальных штрих-кодов:
• Всего снимков – 164
• Распознано правильно – 98 (≈ 60%)
• Не распознано – 63
• Распознано неправильно – 3 (≈ 2%)
Разрешение 226 px Разрешение 1130 px
Моделирование:
14
64
Алгоритм
[6]
34
Наш
алгоритм
15
Набор “Clean”, всего 44
(слабые искажения)
16
0
1
2
19
17
23
0 35
DataSymbol
DTK
[5]
*6+ (Авторская
реализация)
*6+ (Наша
реализация)
Наш алгоритм
(включая *6+)
39
43
42
43
39
40
0 44
DataSymbol
DTK
[5]
*6+ (Авторская
реализация)
*6+ (Наша
реализация)
Наш алгоритм
(включая *6+)
Набор “Hard”, всего 35
(сильные искажения)
Время распознавания
HTC Legend (OS Android)
Qualcomm MSM 7227 600MHz
PC (OS Windows)
Athlon 3500+ 2.21GHz
17
• Среди рассмотренных алгоритмов не нашлось
такого, который бы полностью удовлетворил
требованиям.
• Предложен новый алгоритм, способный работать в
условиях достаточно сильных искажений
(дефокусировка, малая частота
дискретизации, яркостно-геометрические
искажения, шумы)
• Алгоритм реализован и оптимизирован для
возможности работы на мобильных устройствах.
• Экспериментально показано, что новый алгоритм
дает наилучшие результаты по сравнению с
исследованными аналогами.
• Реализовано мобильное приложение для
сканирования штрих-кода EAN-13.
18
19
20
21
22
1. Локализация штрих-кода на изображении
2. Одна сканирующая линия
3. Поиск границ штрих-кода
4. Сегментирование
5. Сопоставление сегментов с моделью:
23
1-й шаг:
2-й шаг:
24
7-й шаг:
Функционал J стремится к минимуму:
25
До «исправления»:
После «исправления»:
26

Weitere ähnliche Inhalte

Ähnlich wie Устойчивый к искажениям алгоритм распознавания штрих-кода EAN-13

МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVPavel Tsukanov
 
Нейросетевые системы автоматического распознавания морских объектов
Нейросетевые системы автоматического распознавания морских объектовНейросетевые системы автоматического распознавания морских объектов
Нейросетевые системы автоматического распознавания морских объектовNatalia Polkovnikova
 
Развертывание алгоритмов на ПЛИС
Развертывание алгоритмов на ПЛИСРазвертывание алгоритмов на ПЛИС
Развертывание алгоритмов на ПЛИСMATLAB
 
Разработка системы "Попутчик". Технология распознавания дорожных знаков в реа...
Разработка системы "Попутчик". Технология распознавания дорожных знаков в реа...Разработка системы "Попутчик". Технология распознавания дорожных знаков в реа...
Разработка системы "Попутчик". Технология распознавания дорожных знаков в реа...RSATU-UMNIK
 
Разработка системы контроля доступом на основании системы распознавания номер...
Разработка системы контроля доступом на основании системы распознавания номер...Разработка системы контроля доступом на основании системы распознавания номер...
Разработка системы контроля доступом на основании системы распознавания номер...Anatoly Simkin
 
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
 “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt) “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)Alina Vilk
 
Intellectual character recognition system1
Intellectual character recognition system1Intellectual character recognition system1
Intellectual character recognition system1Alex Airborner
 
Программный комплекс "НейроКС"
Программный комплекс "НейроКС"Программный комплекс "НейроКС"
Программный комплекс "НейроКС"kulibin
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
 
Дополненная реальность через веб камеру
Дополненная реальность через веб камеруДополненная реальность через веб камеру
Дополненная реальность через веб камеруМихаил Кокорев
 
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...Iosif Itkin
 
Андрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибокАндрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибокSQALab
 
Дополненная реальность через веб камеру
Дополненная реальность через веб камеруДополненная реальность через веб камеру
Дополненная реальность через веб камеруmiiihus
 
Дополненная реальность через веб камеру
Дополненная реальность через веб камеруДополненная реальность через веб камеру
Дополненная реальность через веб камеруМихаил Кокорев
 
Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all SoftServe
 
2010 Gucaluk diplom presentation
2010 Gucaluk diplom presentation2010 Gucaluk diplom presentation
2010 Gucaluk diplom presentationRF-Lab
 
Бинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективыБинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективыd_olex
 
Рабочая учебная программа кас пэвм
Рабочая учебная программа кас пэвмРабочая учебная программа кас пэвм
Рабочая учебная программа кас пэвмRauan Ibraikhan
 

Ähnlich wie Устойчивый к искажениям алгоритм распознавания штрих-кода EAN-13 (20)

МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCVМАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
МАШИННОЕ ЗРЕНИЕ С ИСПОЛЬЗОВАНИЕ OPENCV
 
Нейросетевые системы автоматического распознавания морских объектов
Нейросетевые системы автоматического распознавания морских объектовНейросетевые системы автоматического распознавания морских объектов
Нейросетевые системы автоматического распознавания морских объектов
 
Развертывание алгоритмов на ПЛИС
Развертывание алгоритмов на ПЛИСРазвертывание алгоритмов на ПЛИС
Развертывание алгоритмов на ПЛИС
 
Разработка системы "Попутчик". Технология распознавания дорожных знаков в реа...
Разработка системы "Попутчик". Технология распознавания дорожных знаков в реа...Разработка системы "Попутчик". Технология распознавания дорожных знаков в реа...
Разработка системы "Попутчик". Технология распознавания дорожных знаков в реа...
 
Разработка системы контроля доступом на основании системы распознавания номер...
Разработка системы контроля доступом на основании системы распознавания номер...Разработка системы контроля доступом на основании системы распознавания номер...
Разработка системы контроля доступом на основании системы распознавания номер...
 
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
 “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt) “ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
“ComputerVision(Ruby && OpenCV)”, Людмила Дежкина ( Senior Ruby, DataArt)
 
Intellectual character recognition system1
Intellectual character recognition system1Intellectual character recognition system1
Intellectual character recognition system1
 
Программный комплекс "НейроКС"
Программный комплекс "НейроКС"Программный комплекс "НейроКС"
Программный комплекс "НейроКС"
 
STALKER RP Game engine
STALKER RP Game engineSTALKER RP Game engine
STALKER RP Game engine
 
ASphere
ASphereASphere
ASphere
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
 
Дополненная реальность через веб камеру
Дополненная реальность через веб камеруДополненная реальность через веб камеру
Дополненная реальность через веб камеру
 
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
 
Андрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибокАндрей Уразов - Методы раннего обнаружения ошибок
Андрей Уразов - Методы раннего обнаружения ошибок
 
Дополненная реальность через веб камеру
Дополненная реальность через веб камеруДополненная реальность через веб камеру
Дополненная реальность через веб камеру
 
Дополненная реальность через веб камеру
Дополненная реальность через веб камеруДополненная реальность через веб камеру
Дополненная реальность через веб камеру
 
Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all Go Mobile! Windows Phone 7 for all
Go Mobile! Windows Phone 7 for all
 
2010 Gucaluk diplom presentation
2010 Gucaluk diplom presentation2010 Gucaluk diplom presentation
2010 Gucaluk diplom presentation
 
Бинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективыБинарные уязвимости и эксплойты: технологии и перспективы
Бинарные уязвимости и эксплойты: технологии и перспективы
 
Рабочая учебная программа кас пэвм
Рабочая учебная программа кас пэвмРабочая учебная программа кас пэвм
Рабочая учебная программа кас пэвм
 

Mehr von Zheka Kozlov

Модули в Java
Модули в JavaМодули в Java
Модули в JavaZheka Kozlov
 
Вещи в Java, о которых вы (возможно) не знали
Вещи в Java, о которых вы (возможно) не зналиВещи в Java, о которых вы (возможно) не знали
Вещи в Java, о которых вы (возможно) не зналиZheka Kozlov
 
Java 9 модули
Java 9 модулиJava 9 модули
Java 9 модулиZheka Kozlov
 
Интерпретирование языков с помощью Free-монад
Интерпретирование языков с помощью Free-монадИнтерпретирование языков с помощью Free-монад
Интерпретирование языков с помощью Free-монадZheka Kozlov
 
Введение в Akka
Введение в AkkaВведение в Akka
Введение в AkkaZheka Kozlov
 
Сервис MobiBarC
Сервис MobiBarCСервис MobiBarC
Сервис MobiBarCZheka Kozlov
 

Mehr von Zheka Kozlov (7)

Модули в Java
Модули в JavaМодули в Java
Модули в Java
 
Вещи в Java, о которых вы (возможно) не знали
Вещи в Java, о которых вы (возможно) не зналиВещи в Java, о которых вы (возможно) не знали
Вещи в Java, о которых вы (возможно) не знали
 
Java 9 модули
Java 9 модулиJava 9 модули
Java 9 модули
 
Интерпретирование языков с помощью Free-монад
Интерпретирование языков с помощью Free-монадИнтерпретирование языков с помощью Free-монад
Интерпретирование языков с помощью Free-монад
 
Введение в Akka
Введение в AkkaВведение в Akka
Введение в Akka
 
Xtend
XtendXtend
Xtend
 
Сервис MobiBarC
Сервис MobiBarCСервис MobiBarC
Сервис MobiBarC
 

Устойчивый к искажениям алгоритм распознавания штрих-кода EAN-13

  • 1. Евгений Козлов Научный руководитель: с.н.с. ИАиЭ СО РАН, к.т.н. Косых В.П. 1
  • 2.  Многие мобильные устройства снабжены встроенными фотокамерами.  Считывание штрих-кодов может позволить: • сравнивать цены товаров, • получать полную характеристику продукта, • смотреть обзоры и отзывы других покупателей, • проверять продукт на ингредиенты- аллергены.  Проблема – камера вносит искажения при съемке штрих-кода 2
  • 3. Цель работы – разработать алгоритм распознавания штрих- кода EAN-13, устойчивый к искажениям, возникающим при съемке. Решенные задачи: 1. Анализ специфики задачи распознавания и формулировка требований к алгоритмам. 2. Анализ существующих алгоритмов распознавания искаженных штрих-кодов. 3. Разработка алгоритма распознавания искаженного штрих-кода. 4. Реализация и оптимизация алгоритма. 5. Исследование эффективности алгоритма на реальных изображениях и сравнение с существующими. 3
  • 4. Искажения: 4 • дефокусировка, • низкая частота дискретизации, • наклон камеры, • изгиб поверхности, • неравномерная освещенность, • шумы. Алгоритм распознавания должен быть достаточно стойким к вышеописанным искажениям. Процесс распознавания должен занимать не более 2 секунд в среднем.
  • 5. 1. S.Wachenfeld, S.Terlunen, X.Jiang. Robust Recognition of 1-D Barcodes Using Camera Phones. International Conference of Pattern Recognition, 2008. 2. R.Adelmann, M.Langheinrich, C.Florkemeier. Toolkit for Bar Code Recognition and Resolving on Camera Phones - Jump Starting the Internet of Things. Workshop on Mobile and Embedded Interactive Systems (MEIS'06) at Informatik, GI LNI, 2006. 3. E.Joseph, T.Pavlidis. Bar Code Waveform Recognition Using Peak Locations. IEEE Transactions On Pattern Analysis And Machine Intelligence, Vol. 16, No. 6, June 1994. 4. N.Liu, H.Sun. Deconvolution of The Two-Dimensional Bar Code Based on Binary Constraint. International Conference on Computer Science and Software Engineering, 2008. 5. E.Tekin, J.Coughlan. A Bayesian algorithm for reading 1D barcodes. Sixth Canadian Conference on Computer and Robot Vision, 2009. 6. O.Gallo, R.Manduchi. Reading 1-D Barcodes with Mobile Phones Using Deformable Templates, 2010. 7. K.Wang, Y.Zou, H.Wang. 1-D Bar Code Reading On Camera Phones. 8. D.Chai, F.Hock. Locating and Decoding EAN-13 Barcodes From Images Captured by Digital Cameras, 2005. 9. S.Kresic-Juric, D.Madej, F.Santosa. Applications of hidden Markov models in bar code decoding, 2006. 10. R.Muniz, L.Junco, A.Otero. A Robust Software Barcode Reader Using The Hough Transform. Information Intelligence and Systems, 1999. 5
  • 6. [1] [2] [3] [4] [5] [6] Шумы Слабая дефокусировка (ρ < s) Сильная дефокусировка (s < ρ < 2s) Надежность оценки ρ – – – – Искаженная геометрия Яркостные искажения Малая частота дискретизации Высокая скорость работы Нет ограничений на тип штрих-кода EAN EAN EAN UPC* * – можно обобщить для EAN-13 6
  • 7. 1) Предварительная обработка. 2) Первая попытка распознавания с использованием алгоритма [6], устойчивого к геометрическим искажениям. 3) Вторая попытка распознавания с использованием нового алгоритма восстановления дефокусированного штрих-кода (в случае неудачного завершения второго этапа). 7
  • 8. 1. Выделение окна 2. Усреднение по оси OY (снижение уровня шума) 3. Начальная оценка границ штрих-кода xL и xR 4. Начальная оценка ширины единичного штриха s 5. Масштабирование (уменьшение количества отсчетов) 8
  • 9. 9
  • 10. • ρ – параметр ФРТ • a, b – контраст и яркость • pk – неизвестные позиции границ полос • xL – левая граница штрих-кода • s – ширина единичного штриха Зная pk, можно произвести декодирование 10
  • 11. Расчет автокорреляции производной: Автокорреляция производной Зависимость позиции первого локального минимума от ρ/s 11
  • 12. Минимизация функционала Для минимизации на каждом шаге итераций используется разложение J в ряд Тейлора в окрестности текущих оценок. 12 Пример восстановленного штрих-кода Результат: 0 054881 008594
  • 13. • Алгоритм реализован на языке Java • Основные оптимизации: – Ускорение вычисления функции erf(x) с помощью предварительного подсчета значений функции в узловых точках и последующей интерполяции – Использование float вместо double – Считывание лишь части изображения высотой 15 пикселей вместо считывания всего изображения – Модифицированная библиотека JAMA для работы с матрицами 13
  • 14. Набор снимков реальных штрих-кодов: • Всего снимков – 164 • Распознано правильно – 98 (≈ 60%) • Не распознано – 63 • Распознано неправильно – 3 (≈ 2%) Разрешение 226 px Разрешение 1130 px Моделирование: 14 64 Алгоритм [6] 34 Наш алгоритм
  • 15. 15
  • 16. Набор “Clean”, всего 44 (слабые искажения) 16 0 1 2 19 17 23 0 35 DataSymbol DTK [5] *6+ (Авторская реализация) *6+ (Наша реализация) Наш алгоритм (включая *6+) 39 43 42 43 39 40 0 44 DataSymbol DTK [5] *6+ (Авторская реализация) *6+ (Наша реализация) Наш алгоритм (включая *6+) Набор “Hard”, всего 35 (сильные искажения)
  • 17. Время распознавания HTC Legend (OS Android) Qualcomm MSM 7227 600MHz PC (OS Windows) Athlon 3500+ 2.21GHz 17
  • 18. • Среди рассмотренных алгоритмов не нашлось такого, который бы полностью удовлетворил требованиям. • Предложен новый алгоритм, способный работать в условиях достаточно сильных искажений (дефокусировка, малая частота дискретизации, яркостно-геометрические искажения, шумы) • Алгоритм реализован и оптимизирован для возможности работы на мобильных устройствах. • Экспериментально показано, что новый алгоритм дает наилучшие результаты по сравнению с исследованными аналогами. • Реализовано мобильное приложение для сканирования штрих-кода EAN-13. 18
  • 19. 19
  • 20. 20
  • 21. 21
  • 22. 22
  • 23. 1. Локализация штрих-кода на изображении 2. Одна сканирующая линия 3. Поиск границ штрих-кода 4. Сегментирование 5. Сопоставление сегментов с моделью: 23
  • 25. 7-й шаг: Функционал J стремится к минимуму: 25

Hinweis der Redaktion

  1. В последнее время появился интерес в использовании мобильных устройств со встроенными камерами в качестве сканеров штрих-кодов. Уже сейчас существуют мобильные приложения, благодаря которымпокупатели, не выходя из магазина, могут получать полезную информацию о продукте, такую как сравнение цен с другими магазинами или отзывы других покупателей.Однако искажения, вносимые камерами мобильных устройств, могут серьезно усложнить задачу распознавания штрих-кода.
  2. Тем не менее, был выделен алгоритм [6], который обеспечивает хорошее распознавание штрих-кодов с яркостно-геометрическими искажениями, и использован в качестве одного из этапов работы нового алгоритма.
  3. Разработанный алгоритм состоит из 3 этапов: сначала идет предварительная обработка изображения, затем происходит первая попытка распознавания с использованием вышеупомянутого алгоритма [6], и если попытка распознавания оказывается неудачной, что проверяется с помощью контрольной цифры штрих-кода, то происходит вторая попытка распознавания с использованием нового алгоритма восстановления дефокусированного штрих-кода.
  4. Предварительная обработка сигнала состоит из следующих этапов. Сначала выделяется окно высотой 15 пикселей на середине высоты, которое затем усредняется по оси OY для снижения уровня шума. После этого выполняется поиск границ штрих-кода, и оценивается ширина единичного штриха s с использованием того факта, что в любом штрих-кодеEAN-13 имеется 95 штрихов. На последнем этапе предобработкипроизводится масштабирование, в результате которого уменьшается количество отсчетов штрих-кода, что приводит к значительному ускорению дальнейшего распознавания
  5. Работа алгоритма заключается в оценке набора параметров, перечисленныхданном слайде. После завершения оценки значения вектора pk используются для декодирования цифр штрих-кода.
  6. Разработанный алгоритм был реализован на языке Java. Для того, чтобы алгоритм был способен быстро работать на мобильных устройствах, был выполнен ряд оптимизаций, нацеленных как на повышение скорости работы алгоритма, так и на экономию памяти.
  7. На данном слайде изображены примеры штрих-кодов, которые корректно распознались алгоритмом.
  8. Также было произведено тестирование производительности разработанного алгоритма. На данном слайде изображены гистограммы времени распознавания штрих-кодов на примере смартфона HTC Legend и персонального компьютера с процессором Athlon 3500+. Видно, что ограничение на скорость работы алгоритма выполнено: среднее время распознавания на смартфоне составляет приблизительно 1 секунду.
  9. Таким образом:Среди рассмотренных алгоритмов не нашлось такого, который бы полностью удовлетворил требованиям.Предложен новый алгоритм, способный работать в условиях достаточно сильных искажений (дефокусировка, малая частота, яркостно-геометрические искажения, шумы)Алгоритм реализован и оптимизирован для возможности работы на мобильных устройствах.Экспериментально показано, что новый алгоритм дает наилучшие результаты по сравнению с исследованными аналогами.Реализовано мобильное приложение для сканирования штрих-кода EAN-13.Спасибо за внимание. Готов ответить на ваши вопросы.(конец)