Pull to refresh
28
0
Send message
Там два порога: порог контрастирования, который мы уточняем, двигаясь по масштабам вверх, и шумовой порог, который является константой, зависящей от уровня шума в изображении. Обычно на реальных деталях изображений разница между локальным максимумом и минимумом составляет 0.3-0.7, а шум — не более 0.1. Поэтому происходит как раз то, что вы описали, порог уточняется для различных участков изображения до тех пор, пока там есть детали все более мелкого масштаба, превосходящие по контрасту шум.
Как подсказывает нам история, многие прототипы из мира науки так и не увидели свет по экономическим соображениям. «ComputerWorld» по сравнению с оригинальной статьей — на мой взгляд желтая, как, впрочем, и данный чат.
Там не все так хорошо на самом деле, как это описывает желтая пресса. Вот ссылка на оригинал статьи: Redo-Sanchez, A. et al. Terahertz time-gated spectral imaging for content extraction through layered structures. Nat. Commun. 7:12665 doi: 10.1038/ncomms12665 (2016). Если обложка из прессованного картона — пиши пропало.
Отчасти правильно, можно попробовать и другие алгоритмы контрастирования, но нужно еще как-то «обрезать» лишние поля в изображении.
Отличий нет. Выбран vanishing point, чтобы дать ссылку на соответствующий раздел wiki. Литература по исходной задаче как правило англоязычная.
При множестве существующих подходов напрашивается идея генератора и оценщика гипотез сегментации. В качестве генератора гипотез может использоваться один алгоритм, а для оценки гипотез — другой. С помощью такой связки можно попробовать подбирать параметры «на лету», если, конечно, такое выражение применимо. Сколько времени в среднем строится диаграмма Вороного для газетного листа?
Весь этот алгоритм обрабатывает 1 фотографию в среднем за 70 миллисекунд.
Борьбой с наклоном строк, в том числе переменным, занимается алгоритм разгибания строк. О нем мы расскажем в одной из следующих публикаций. Определение направления — это всего лишь попытка ответить на вопрос, какое оно: преимущественно горизонтальное или преимущественно вертикальное?
Задача мобильного приложения сделать все необходимые подсказки пользователю и облегчить работу используемым алгоритмам. Линия с надписью есть, но это уже не алгоритм, а часть продукта.
Предлагаемый метод предназначается для фотографий с мобильных устройств, а не сканов. В этом случае тень — более частое явление. По нашей базе получается, что в 85-90% случаев тень есть.
Помимо визуального контроля за результатом работы фильтра, его параметры подбирались так, чтобы минимизировать количество ошибочных разрезов на обучающей выборке.
Задача определения пропорций прямоугольного документа по координатам его углов имеет точное аналитическое решение. По ссылке можно найти статьи, формулы, пояснения и даже исходный код.
Однако, на практике я бы не рекомендовал пользоваться этим безоговорочно, поскольку очень часто можно оказаться близко к особой точке, и тогда решение будет неустойчивым (очень чувствительным к точному определению координат углов).
Можно повысить устойчивость решения, если фокусное расстояние до объекта известно (желательно в тех же единицах, что и геометрические размеры объекта, т.е. в пикселях). Для определенного типа мобильных устройств без оптического и цифрового зума фокусное расстояние до объекта (выраженное в пикселях) является константой.
По поводу постобработок фотографий (для нас они предобработки, кстати). Вы предлагаете проверять несколько гипотез (пусть всего 2-3) до конца, вместо того, чтобы сделать предобработки более интеллектуальными, т.е. проводить некоторый анализ изображения перед их применением. Проверять эффект обработок «полным циклом», т.е. анализ + распознавание получается очень дорого, вы пишете о том, что даже сейчас не нравится скорость файна.
Разумеется, предлагаемые в пунктах 1), 2), 3), и многие другие варианты уже проверялись на большом наборе изображений, и среди них были выбраны наилучшие. Но для каких-то конкретных, специфичных ситуаций этот выбор может оказаться другим. Приведенный пример с испорченной студентами книгой, вообще говоря, как минимум нехарактерен для продукта, ориентированного на различные рынки. Обычно в книгах рисовать не принято, тем более после этого пытаться что-то распознать именно из испорченного экземпляра. Типичные искажения на фотографиях документов другие: неравномерность освещения (блики, тени), цифровой шум, смаз, расфокусировка, надрывы, сгибы, стершаяся краска, выцветшая бумага, пятна от кофе, и т.д. Или вы предлагаете сделать специальную кнопку в русской версии для нерадивых студентов? Это возможно, и совсем несложно, но следуя этой логике можно превратить продукт в графический редактор для фотографий с кучей кнопок в интерфейсе, поскольку предлагаемые решения неуниверсальны, для большинства случаев они оказываются вредными хотя бы потому, что необоснованно замедлят работу (или испортят результат, если отбросить проверку всех гипотез в конце).
Оценка дисперсии (второго момента) может производиться самыми разными способами. Можно попробовать разбить изображение на квадратные области заданного размера, скажем 32х32 пикселей, посчитать для каждого значения первого и второго моментов (среднего и дисперсии), и выбрать несколько с минимальной дисперсией из различных диапазонов среднего, т.е. яркости (их может быть порядка 10). Крайние диапазоны по яркости ненадежны, т.к. сигнал уходит в насыщение (тень или засветка), и измерения в них недостоверны. А вот по остальным можно даже получить зависимость дисперсии от яркости. Для большей надежности можно квадратные области делать пересекающимися или искать минимум для каждого диапазона яркости в скользящем окне (для всех диапазонов за один проход, конечно).
Можно даже собрать статистику для различных камер и их настроек (ISO, шумодав). Порог для шума следует выбирать пропорционально полученным значениям дисперсии, обычно коэффициент для порога лежит в диапазоне от 3 до 5 «сигм» для различных «типов» шума.
Это недостаток алгоритма, в этом месте немного не хватило коэффицента контрастирования, а делать его более высоким всегда — опасно. В цветном пятна не видно, т.к. вся область содержит насыщенный цвет и для неё мы снижаем коэффициент контрастирования практически до 0, в результате цвет выравнивается. Вообще, задача бинаризации документов со сложной версткой до сих пор не имеет однозначного решения для всех случаев. Но мы к этому стремимся. :)
Решение для специфичного случая может быть таким. Но как быть, если пометки сделаны красным, зеленым, или даже черным, а в книге (или журнале) при этом встречается и цветная печать (тем же синим, например)? Универсального алгоритма тут уже не получается, механизм для вынесения цветных объектов на отдельный слой на практике получается гораздо более сложным, чтобы он устойчиво работал для различных пигментов чернил и оттенков бумаги. Попробуйте провести серию экспериментов с разными чернилами и бумагой, и предложить универсальную последовательность операций для всех случаев. Рассуждать, что «здесь цвет чернил синий, а букв — черный» — не засчитывается, это нужно ещё измерить, анализируя изображение.
Карту порогов можно представить в виде полутонового изображения (2-х мерной матрицы чисел), содержащего вместо сигнала яркости значение порога бинаризации для каждой точки. Для бинаризации порог можно использовать так: значения пикселей исходного изображения выше порога заменяются белыми (максимальными), ниже — черными (минимальными). Для контрастирования мы просто берем разницу между значением яркости в каждой точке и значением порога, разность умножаем на коэффициент контрастирования k > 1, и прибавляем полученную величину с учетом знака обратно к значению порога. Получаем значение пикселя для изображения повышенной контрастности. В тексте есть формула: Y’ = k(Y – T) + T. Y и T здесь являются дискретными функциями от координат пикселей: Y(x,y) и T(x,y). Чтобы получить все изображение, нужно провести вычисления для всех пикселей изображения.
Этот алгоритм с некоторыми доработками, возможно, будет встроен в ближайшие версии FineReader Professional, в текущей версии FineScanner (для iOS) в цветном режиме обработки используется похожий алгоритм, учитывающий особенности архитектуры GPU.
Алгоритм там несколько отличается от приведенного в силу особенностей архитектуры GPU.
1

Information

Rating
Does not participate
Registered
Activity