Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Евгений КозловНаучный руководитель:с.н.с. ИАиЭ СО РАН, к.т.н. Косых В.П.1
 Многие мобильные устройства снабженывстроенными фотокамерами. Считывание штрих-кодов можетпозволить:• сравнивать цены т...
Цель работы – разработать алгоритм распознавания штрих-кода EAN-13, устойчивый к искажениям, возникающимпри съемке.Решенны...
Искажения:4• дефокусировка,• низкая частотадискретизации,• наклон камеры,• изгиб поверхности,• неравномернаяосвещенность,•...
1. S.Wachenfeld, S.Terlunen, X.Jiang. Robust Recognition of 1-D Barcodes Using CameraPhones. International Conference of P...
[1] [2] [3] [4] [5] [6]ШумыСлабая дефокусировка (ρ < s)Сильная дефокусировка (s < ρ < 2s)Надежность оценки ρ – – – –Искаже...
1) Предварительная обработка.2) Первая попытка распознавания сиспользованием алгоритма [6],устойчивого к геометрическимиск...
1. Выделение окна2. Усреднение по оси OY(снижение уровня шума)3. Начальная оценкаграниц штрих-кодаxL и xR4. Начальная оцен...
9
• ρ – параметр ФРТ• a, b – контраст и яркость• pk – неизвестные позиции границ полос• xL – левая граница штрих-кода• s – ш...
Расчет автокорреляции производной:Автокорреляция производной Зависимость позиции первоголокального минимума от ρ/s11
Минимизация функционалаДля минимизации на каждом шаге итерацийиспользуется разложение J в ряд Тейлора вокрестности текущих...
• Алгоритм реализован на языке Java• Основные оптимизации:– Ускорение вычисления функции erf(x) спомощью предварительного ...
Набор снимков реальных штрих-кодов:• Всего снимков – 164• Распознано правильно – 98 (≈ 60%)• Не распознано – 63• Распознан...
15
Набор “Clean”, всего 44(слабые искажения)160121917230 35DataSymbolDTK[5]*6+ (Авторскаяреализация)*6+ (Нашареализация)Наш а...
Время распознаванияHTC Legend (OS Android)Qualcomm MSM 7227 600MHzPC (OS Windows)Athlon 3500+ 2.21GHz17
• Среди рассмотренных алгоритмов не нашлосьтакого, который бы полностью удовлетворилтребованиям.• Предложен новый алгоритм...
19
20
21
22
1. Локализация штрих-кода на изображении2. Одна сканирующая линия3. Поиск границ штрих-кода4. Сегментирование5. Сопоставле...
1-й шаг:2-й шаг:24
7-й шаг:Функционал J стремится к минимуму:25
До «исправления»:После «исправления»:26
Upcoming SlideShare
Loading in …5
×

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

3,030 views

Published on

Цель работы заключалась в разработке алгоритма, эффективно распознавающего штрих-коды EAN-13 с возможностью дефокусировки и яркостно-геометрических искажений. Анализ ряда существующих алгоритмов показал, что все они не в полной мере отвечают представленным требованиям. Алгоритм, описанный в http://users.soe.ucsc.edu/~orazio/barcodes.html, дает впечатляющие результаты как в плане эффективности, так и в плане производительности, но он не способен распознавать сильно дефокусированные штрих-коды.

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

Суть алгоритма заключается в минимизации функционала вида J = sum(h_i - g_i(P))^2, где h_i - измерения сигнала, P - вектор оцениваемых неизвестных параметров, g_i(P) - модель дискретного сигнала. Для минимизации J используется итеративная процедура оценивания. В первой итерации модель сигнала использует положения границ штрихов, полученных с помощью алгоритма http://users.soe.ucsc.edu/~orazio/barcodes.html. После минимизации в случае успешного декодирования выдается результат, в противном случае выводится сообщение о невозможности распознавания.

Испытания показали, что реализованный алгоритм способен быстро и эффективно распознавать штрих-коды на сильно дефокусированных изображениях с высоким уровнем шума и различными яркостно-геометрическими искажениями при количестве пикселей области штрих-кода от 200 и более. Среднее время распознавания на смартфоне HTC Legend составило приблизительно 1 секунду, что позволяет в случае неуспеха быстро повторить попытку распознавания.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Евгений КозловНаучный руководитель:с.н.с. ИАиЭ СО РАН, к.т.н. Косых В.П.1
  2. 2.  Многие мобильные устройства снабженывстроенными фотокамерами. Считывание штрих-кодов можетпозволить:• сравнивать цены товаров,• получать полную характеристику продукта,• смотреть обзоры и отзывы другихпокупателей,• проверять продукт на ингредиенты-аллергены. Проблема – камера вносит искажения присъемке штрих-кода2
  3. 3. Цель работы – разработать алгоритм распознавания штрих-кода EAN-13, устойчивый к искажениям, возникающимпри съемке.Решенные задачи:1. Анализ специфики задачи распознавания иформулировка требований к алгоритмам.2. Анализ существующих алгоритмов распознаванияискаженных штрих-кодов.3. Разработка алгоритма распознавания искаженногоштрих-кода.4. Реализация и оптимизация алгоритма.5. Исследование эффективности алгоритма на реальныхизображениях и сравнение с существующими.3
  4. 4. Искажения:4• дефокусировка,• низкая частотадискретизации,• наклон камеры,• изгиб поверхности,• неравномернаяосвещенность,• шумы.Алгоритм распознавания должен бытьдостаточно стойким к вышеописаннымискажениям. Процесс распознавания должензанимать не более 2 секунд в среднем.
  5. 5. 1. S.Wachenfeld, S.Terlunen, X.Jiang. Robust Recognition of 1-D Barcodes Using CameraPhones. International Conference of Pattern Recognition, 2008.2. R.Adelmann, M.Langheinrich, C.Florkemeier. Toolkit for Bar Code Recognition andResolving on Camera Phones - Jump Starting the Internet of Things. Workshop on Mobileand Embedded Interactive Systems (MEIS06) at Informatik, GI LNI, 2006.3. E.Joseph, T.Pavlidis. Bar Code Waveform Recognition Using Peak Locations. IEEETransactions 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 BinaryConstraint. International Conference on Computer Science and SoftwareEngineering, 2008.5. E.Tekin, J.Coughlan. A Bayesian algorithm for reading 1D barcodes. Sixth CanadianConference on Computer and Robot Vision, 2009.6. O.Gallo, R.Manduchi. Reading 1-D Barcodes with Mobile Phones Using DeformableTemplates, 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 byDigital Cameras, 2005.9. S.Kresic-Juric, D.Madej, F.Santosa. Applications of hidden Markov models in bar codedecoding, 2006.10. R.Muniz, L.Junco, A.Otero. A Robust Software Barcode Reader Using The HoughTransform. Information Intelligence and Systems, 1999.5
  6. 6. [1] [2] [3] [4] [5] [6]ШумыСлабая дефокусировка (ρ < s)Сильная дефокусировка (s < ρ < 2s)Надежность оценки ρ – – – –Искаженная геометрияЯркостные искаженияМалая частота дискретизацииВысокая скорость работыНет ограничений на тип штрих-кода EAN EAN EAN UPC** – можно обобщить для EAN-136
  7. 7. 1) Предварительная обработка.2) Первая попытка распознавания сиспользованием алгоритма [6],устойчивого к геометрическимискажениям.3) Вторая попытка распознавания сиспользованием нового алгоритмавосстановления дефокусированногоштрих-кода (в случае неудачногозавершения второго этапа).7
  8. 8. 1. Выделение окна2. Усреднение по оси OY(снижение уровня шума)3. Начальная оценкаграниц штрих-кодаxL и xR4. Начальная оценкаширины единичногоштриха s5. Масштабирование(уменьшение количестваотсчетов)8
  9. 9. 9
  10. 10. • ρ – параметр ФРТ• a, b – контраст и яркость• pk – неизвестные позиции границ полос• xL – левая граница штрих-кода• s – ширина единичного штрихаЗная pk, можно произвести декодирование10
  11. 11. Расчет автокорреляции производной:Автокорреляция производной Зависимость позиции первоголокального минимума от ρ/s11
  12. 12. Минимизация функционалаДля минимизации на каждом шаге итерацийиспользуется разложение J в ряд Тейлора вокрестности текущих оценок.12Пример восстановленного штрих-кодаРезультат: 0 054881 008594
  13. 13. • Алгоритм реализован на языке Java• Основные оптимизации:– Ускорение вычисления функции erf(x) спомощью предварительного подсчетазначений функции в узловых точках ипоследующей интерполяции– Использование float вместо double– Считывание лишь части изображения высотой15 пикселей вместо считывания всегоизображения– Модифицированная библиотека JAMA дляработы с матрицами13
  14. 14. Набор снимков реальных штрих-кодов:• Всего снимков – 164• Распознано правильно – 98 (≈ 60%)• Не распознано – 63• Распознано неправильно – 3 (≈ 2%)Разрешение 226 px Разрешение 1130 pxМоделирование:1464Алгоритм[6]34Нашалгоритм
  15. 15. 15
  16. 16. Набор “Clean”, всего 44(слабые искажения)160121917230 35DataSymbolDTK[5]*6+ (Авторскаяреализация)*6+ (Нашареализация)Наш алгоритм(включая *6+)3943424339400 44DataSymbolDTK[5]*6+ (Авторскаяреализация)*6+ (Нашареализация)Наш алгоритм(включая *6+)Набор “Hard”, всего 35(сильные искажения)
  17. 17. Время распознаванияHTC Legend (OS Android)Qualcomm MSM 7227 600MHzPC (OS Windows)Athlon 3500+ 2.21GHz17
  18. 18. • Среди рассмотренных алгоритмов не нашлосьтакого, который бы полностью удовлетворилтребованиям.• Предложен новый алгоритм, способный работать вусловиях достаточно сильных искажений(дефокусировка, малая частотадискретизации, яркостно-геометрическиеискажения, шумы)• Алгоритм реализован и оптимизирован длявозможности работы на мобильных устройствах.• Экспериментально показано, что новый алгоритмдает наилучшие результаты по сравнению сисследованными аналогами.• Реализовано мобильное приложение длясканирования штрих-кода EAN-13.18
  19. 19. 19
  20. 20. 20
  21. 21. 21
  22. 22. 22
  23. 23. 1. Локализация штрих-кода на изображении2. Одна сканирующая линия3. Поиск границ штрих-кода4. Сегментирование5. Сопоставление сегментов с моделью:23
  24. 24. 1-й шаг:2-й шаг:24
  25. 25. 7-й шаг:Функционал J стремится к минимуму:25
  26. 26. До «исправления»:После «исправления»:26

×