Соответствие изображения номерного знака

Я хотел бы сопоставить два изображения автомобильных номеров, примеры изображений приведены ниже

Номерной знак 1
 Номерной знак 2

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

Какой лучший алгоритм для этого?


person Community    schedule 13.12.2013    source источник
comment
Возможно, OCR поможет. Это сработает для вас?   -  person GilLevi    schedule 15.12.2013
comment
В большинстве случаев я получаю неверные результаты во время сегментации, в таких случаях я не получаю правильные результаты в OCR.   -  person    schedule 06.02.2014


Ответы (2)


Я бы посоветовал вам использовать функции openCV из Features2D Framework и Homography для решения проблемы масштабирования и поворота. В частности, в Features2D есть классы, которые могут быть полезны для обнаружения письмо, извлеките их и сопоставьте два ваших шаблона после извлечения.

person lennon310    schedule 13.12.2013
comment
Какие все функции, которые я могу использовать в Features2D, для обнаружения и извлечения букв - person ; 02.02.2014
comment
Используйте масштабно-инвариантное преобразование функции, чтобы извлекать линии с разной ориентацией для каждой буквы. Кроме того, может помочь извлечение характерных точек, хотя оно используется в задаче OCR, которая кажется намного более сложной, чем проблема сопоставления. По сути, вы можете исследовать возможные окрестности пикселей: ccs.neu.edu/home/feneric /charrec.html - person lennon310; 02.02.2014
comment
Спасибо за ваш ответ - person ; 03.02.2014

Честно говоря, это нетривиальный вопрос.

Просто чтобы перечислить некоторые очевидные варианты:

  • Внедрите одно из многочисленных программ распознавания символов и получите строку символов, а затем выполните поиск подстроки в другой строке.
  • Для изображений почти без разницы в уровне масштабирования используйте фильтры обнаружения краев, такие как точное обнаружение краев, для улучшения изображения, затем используйте ICP (Iterative Closest Point), позволяя каждому краевому пикселю предоставить вектор для ближайшего краевого пикселя в другом изображении. , с аналогичным значением. это обычно выравнивает изображения, если они достаточно похожи. Итоговая оценка показывает, насколько они похожи.
  • Для очень больших уровней масштабирования используйте гипотезу множественного вращения и масштабирования, и для каждого из них масштабируйте изображения и выполняйте взаимную корреляцию двух изображений. выберите гипотезу, которая обеспечивает наилучшую корреляцию координат, и используйте точку корреляции в качестве смещения по осям x и y. Значение корреляции говорит о том, насколько хорошо вы подходите.

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

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

person Henrik    schedule 13.12.2013