Нарезка и распознавание названия книги и автора из изображения книжной полки

13

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

введите описание изображения здесь

Первым шагом является нарезка изображения на отдельные книги.

Мой алгоритм в Mathematica :

    img = ColorConvert[Import["http://i.stack.imgur.com/IaLQk.jpg"], "GrayScale"]
  • сделать базовое обнаружение края &
  • удали текст и постарайся сохранить длинные строки

    edge = DeleteSmallComponents[EdgeDetect[img, 3],Last[ImageDimensions[img]]/5]
    
  • затем удалите ненужные горизонтальные линии

    lines = Sort[ImageLines[img5] /. {{0., _}, {_, _}} -> Sequence[]]
    Show[img, Graphics[{Thick, Orange, Line /@ lines}]]
    

Результаты, однако, менее чем велики:

введите описание изображения здесь

Мои вопросы:

  1. Как я могу улучшить это, чтобы получить лучшие результаты?
  2. Есть ли более умный способ сделать это?
  3. как дальше я должен обрабатывать изображения для повышения точности на (более поздней) фазе OCR?
  4. Как использовать информацию о цвете для улучшения сегментации?
Орен Пинский
источник
1
@OrenPinsky Я не вижу проблемы с сегментацией: количество «областей ложных книг» невелико (я вижу только одну в предоставленном вами примере), и если вы планируете сделать какое-то распознавание текста в качестве Следующий шаг, которого должно быть достаточно, чтобы провести различие между книгами (в области есть текст) и не-книгами (без текста)
Пенелопа
3
@ OrenPinsky, я бы сказал, что у тебя отличные результаты. :)
Дима

Ответы:

4

Какой метод вы используете для обнаружения линий? Вы пробовали экспериментировать с ЛСД ?

Вот результаты быстрого теста, который я сделал с использованием ЛСД:

0.1heightpic1

Второе изображение - это результаты с тем же ограничением угла, но без учета длины сегментов: pic2

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

ppalasek
источник
6
"Вы пробовали экспериментировать с ЛСД?" Хорошая попытка, ФБР;)
Lorem Ipsum
ImageLine от Mathematica основан на преобразовании Хафа, и теперь я убежден (в основном в отзывах здесь), что он работает довольно хорошо. Однако меня беспокоит, что я теряю релевантные данные при преобразовании в градации серого и что в этом приложении данные о цвете могут (интуитивно) помочь надежному детектору краев. Попробуем LSD и посмотрим, как это будет! (это сработало на удивление хорошо для Стива Джобса! ;-)
Орен Пински
Я видел, как мой друг использовал ЛСД для обнаружения дверей, думаю, что в итоге он остался доволен результатами. Я бы сказал, что это стоит того: D
Пенелопа
1

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

По сравнению с распознаванием краев непосредственно на цветном изображении, оно может дать лучшие результаты.

Naresh
источник
0

Можно найти бумагу из неработающей ссылки, предоставленной isrish. Комбинируя функции изображения и текста: гибридный подход к распознаванию позвоночника в мобильной книге , Proc. 19-я международная конференция ACM по мультимедиа, 2011 год. Также можно ознакомиться с другими статьями David Chen et al. Например, отслеживание недорогих активов с использованием телефонов с определением местоположения , Proc. SPIE 2010.

Дмитрий Подборский
источник