В последнее время мы в группе распознавания компании ABBYY всё больше применяем нейронные сети в различных задачах. Очень хорошо они зарекомендовали себя в первую очередь для сложных видов письменности. В прошлых постах мы рассказывали о том, как мы используем нейронные сети для распознавания японской, китайской и корейской письменности.
Пост про распознавания японских и китайских иероглифов
Пост про распознавание корейских символов
В обоих случаях мы использовали нейронные сети с целью полной замены метода классификации отдельного символа. Во всех подходах фигурировало множество различных сетей, и в задачи некоторых из них входила необходимость адекватно работать на изображениях, которые не являются символами. Модель в этих ситуациях должна как-то сигнализировать о том, что перед нами не символ. Сегодня мы как раз расскажем о том, зачем это в принципе может быть нужно, и о подходах, с помощью которых можно добиться желаемого эффекта.
Мотивация
А в чём вообще проблема? Зачем нужно работать на изображениях, которые не являются отдельными символами? Казалось бы, можно разделить фрагмент строки на символы, классифицировать их все и собрать из этого результат, как, например, на картинке ниже.
Да, конкретно в данном случае так действительно можно сделать. Но, увы, реальный мир устроен куда более сложно, и на практике при распознавании приходится иметь дело с геометрическими искажениями, смазом, пятнами кофе и прочими трудностями.
Читать полностью »