ИЗВЛЕЧЕНИЕ НЕСКОЛЬКИХ ДОКУМЕНТОВ ИЗ ЕДИНОГО ИЗОБРАЖЕНИЯ
EXTRACTION OF MULTIPLE DOCUMENTS FROM A SINGLE IMAGE

ОБЛАСТЬ ТЕХНИКИ
[0001] Использование изобретения предполагается в основном на компьютерных системах и, в частности, на системах и в способах распознавания документов.
УРОВЕНЬ ТЕХНИКИ
[0002] Одной из главных проблем автоматического распознавания, классификации и обработки документов является обнаружение нескольких скопированных, сфотографированных или отсканированных документов на одном изображении. Стандартные методы не учитывают данную проблему. Настоящее изобретение предлагает новую эффективную систему и методологию решения данной проблемы.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Внедрение настоящего изобретения описывает механизмы извлечения нескольких документов из одного изображения. Способ данного изобретения с использованием нейронной сети включает разработку карты сегментации суперпикселей исходного изображения, генерацию бинарной маски суперпикселя путем объединения каждого суперпикселя из карты сегментации суперпикселей с классом из заданных наборов классов, распознавание одной или более связных компонент в бинарной маске суперпикселя, распознавание соответствующего минимального описывающего многоугольника; создание одной или более линий, разделяющих изображение, основываясь на минимальных описывающих многоугольниках; и определение границ одного или более объектов интереса, основываясь как минимум на подмножестве линий, разделяющих изображения, при этом нейронная сеть включает блок слоев уменьшения масштаба, блок контекста и блок финальной классификации, при этом нейронная сеть в дальнейшем включает функцию активации выпрямителя. В некоторых вариантах применения способ включает обрезку каждой области интереса из одной или более областей интереса для создания связанного изображения документа; определение, являются ли две или более областей частью единого документа, состоящего из многих частей. В некоторых вариантах применения нейронная сеть обучается использованию аугментированных изображений. В некоторых вариантах применения идентификация минимального описывающего многоугольника включает генерацию множества вероятных линий минимального описывающего многоугольника, расчет значения качественной метрики для набора областей интереса, которые определяются благодаря множеству вероятных линий, где генерация множества вероятных линий для минимального описывающего многоугольника включает отклик на определение того, что первый набор пикселей в первой линии бинарной маски суперпикселей превышает как минимум установленное пороговое значение второго набора пикселей во второй линии бинарной маски суперпикселей, которая граничит с первой линией бинарной маски суперпикселей, используя вторую линию в качестве вероятной границы описывающего многоугольника, где первая линия задана одним из рядов бинарной маски суперпикселей или колонкой бинарной маски суперпикселей; где генерация множества вероятных линий для минимального описывающего многоугольника включает использование в качестве вероятной границы описывающего многоугольника линии, проходящие через центр бинарной маски суперпикселей; где расчет значения качественной метрики для набора областей интереса включает применение к набору областей интереса обучаемого классификатора.
Энергонезависимый машиночитаемый носитель данных изобретения включает инструкции, которые при доступе с устройства обработки заставляют устройство обработки создавать карту сегментации суперпикселей исходного изображения при помощи нейронной сети; генерировать бинарную маску суперпикселя путем связки каждого суперпикселя из карты сегментации суперпикселей с классом из заданного набора классов; идентифицировать одну или более связных компонент в бинарной маске суперпикселя; идентифицировать соответствующий минимальный описывающий многоугольник для каждой связной компоненты бинарной маски суперпикселя; и определять границы одного или более объектов интереса, основываясь как минимум на подмножестве линий, разделяющих изображение; при этом нейронная сеть включает блок слоев уменьшения масштаба, блок контекста и блок финальной классификации; при этом нейронная сеть включает функцию активации выпрямителя. В некоторых вариантах применения способ включает обрезку каждой области интереса из одной или более областей интереса для создания связанного изображения документа; определение, являются ли две или более областей частью единого документа, состоящего из многих частей. В некоторых вариантах применения нейронная сеть обучается использованию аугментированных изображений. В некоторых вариантах применения идентификация минимального описывающего многоугольника включает генерацию множества вероятных линий минимального описывающего многоугольника; расчет значения качественной метрики для набора областей интереса, которые определяются благодаря множеству вероятных линий, где генерация множества вероятных линий для минимального описывающего многоугольника включает отклик на определение того, что первый набор пикселей в первой линии бинарной маски суперпикселей превышает как минимум установленное пороговое значение второго набора пикселей во второй линии бинарной маски суперпикселей, которая граничит с первой линией бинарной маски суперпикселей, используя вторую линию в качестве вероятной границы описывающего многоугольника, где первая линия задана одним из рядов бинарной маски суперпикселей или колонкой бинарной маски суперпикселей; где генерация множества вероятных линий для минимального описывающего многоугольника включает использование в качестве вероятной границы описывающего многоугольника линии, проходящие через центр бинарной маски суперпикселей; где расчет значения качественной метрики для набора областей интереса включает применение к набору областей интереса обучаемого классификатора.
Система изобретения включает память и устройство обработки, оперативно соединенное с памятью, устройство обработки для создания карты сегментации суперпикселей исходного изображения при помощи нейронной сети; генерацию бинарной маски суперпикселя путем связки каждого суперпикселя из карты сегментации суперпикселей с классом из заданного набора классов; идентификацию одной или более связных компонент в бинарной маске суперпикселя; идентификацию соответствующего минимального описывающего многоугольника для каждой связной компоненты бинарной маски суперпикселя; создание одной или более линий, разделяющих изображение, основываясь на минимальных описывающих многоугольниках; определение границ одного или более объектов интереса, основываясь как минимум на подмножестве линий, разделяющих изображение; где нейронная сеть включает блок слоев уменьшения масштаба, блок контекста и блок финальной классификации; где нейронная сеть включает функцию активации выпрямителя. В некоторых вариантах применения способ включает обрезку каждой области интереса из одной или более областей интереса для создания связанного изображения документа; определение, являются ли две или более областей частью единого документа, состоящего из многих частей. В некоторых вариантах применения нейронная сеть обучается использованию аугментированных изображений. В некоторых вариантах применения идентификация минимального описывающего многоугольника включает генерацию множества вероятных линий минимального описывающего многоугольника; расчет значения качественной метрики для набора областей интереса, которые определяются благодаря множеству вероятных линий, где генерация множества вероятных линий для минимального описывающего многоугольника включает отклик на определение того, что первый набор пикселей в первой линии бинарной маски суперпикселей превышает как минимум установленное пороговое значение второго набора пикселей во второй линии бинарной маски суперпикселей, которая граничит с первой линией бинарной маски суперпикселей, используя вторую линию в качестве вероятной границы описывающего многоугольника, где первая линия задана одним из рядов бинарной маски суперпикселей или колонкой бинарной маски суперпикселей; где генерация множества вероятных линий для минимального описывающего многоугольника включает использование в качестве вероятной границы описывающего многоугольника линии, проходящие через центр бинарной маски суперпикселей; где расчет значения качественной метрики для набора областей интереса включает применение к набору областей интереса обучаемого классификатора.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0003] Изобретение может быть более изучено благодаря детальному описанию, данному ниже, и благодаря прилагающимся иллюстрациям, показывающим различные варианты применения изобретения. Изображения, тем не менее, не должны восприниматься как единственно возможные варианты применения изобретения, а приведены лишь для объяснения и понимания.
[0004] На Фиг. 1 представлена функциональная диаграмма, показывающая пример извлечения нескольких документов с одного изображения в соответствии с некоторыми вариантами реализации настоящего изобретения.
[0005] Фиг. 2 показывает блок-схему примерной компьютерной системы в соответствии с некоторыми вариантами реализации настоящего изобретения.
[0006] Фиг. 3 показывает блок-схему примерной компьютерной системы в соответствии с некоторыми вариантами реализации настоящего изобретения.
[0007] Фиг. 4-5 показывают примеры карт сегментации, созданные в соответствии с некоторыми вариантами реализации настоящего изобретения. [0008] Фиг.6 показывает пример линий, разделяющих изображения в соответствии с некоторыми вариантами реализации настоящего изобретения.
[0009] Фиг. 7 схематично показывает структуру примерной нейронной сети, работающей согласно одному или более вариантам реализации настоящего изобретения.
ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ
[0010] Задача группировки и обработки документов часто является комплексным процессом, когда один или более документов находятся на обрабатываемом изображении.
[0011] Например, когда человек делает копии своих документов, он часто сканирует свои водительские права, паспорт, карточку социального обеспечения на одной странице. Другие примеры изображений, которые создают похожие проблемы, - это страницы со множеством чеков или выездных документов (например, билеты на самолет), которые копируются на одной странице при подаче в бухгалтерскую службу.
[0012] Обычно такое предоставление документов не может быть обработано автоматически и должно быть обработано вручную, что потребляет большое количество ресурсов и создает потенциал для ошибок при обработке. Настоящее изобретение предлагает новый подход к решению этой проблемы.
[0013] Чтобы обработать изображение с множеством документов, системе необходимо распознать, что на изображении находится больше, чем один документ, а затем разделить это изображение на несколько изображений таким образом, чтобы каждое из этих изображений соответствовало одному документу.
[0014] В контексте данного документа термин «электронное изображение» (далее - «изображение») может относиться к любому изображению, доступному компьютерной системе. Изображение может быть отсканированным, сфотографированным или являться любым другим представленным изображением, которое может быть переведено в формат данных, доступных компьютеру. Например, «электронное изображение» может относиться к файлу, состоящему из одного или более цифровых элементов содержимого, которые могут визуально отображаться для обеспечения визуальной репрезентации одного или нескольких электронных документов (например, на экране или принтере). Согласно различным применениям настоящего изобретения, электронное изображение может соответствовать любому подходящему формату электронного файла, например, PDF, DOC, ODT, JPEG и так далее.
[0015] «Документ» может являться финансовым документом, юридическим документом или любым другим документом, в том числе документом, созданным путем заполнения полей буквенно-цифровыми обозначениями (например, буквами, словами или цифрами) или изображениями, идентификационными картами, паспортом, чеком, билетом или частичным билетом (корешком билета). «Документ» может являться печатным документом, напечатанным или рукописным (например, путем заполнения стандартной формы). «Документ» может являться формой документа с различными полями, например, текстовыми (включая числовые значения, цифры, буквы, слова, предложения), графическими (включая логотип или другое изображение), таблицами (со строками, столбцами и ячейками) и так далее.
[0016] На ФИГ. 1 представлена функциональная диаграмма, показывающая пример способа 100 извлечения множества документов с одного изображения в соответствии с некоторыми вариантами реализации настоящего изобретения. Способ 100 может быть выполнен путем обработки логики, которая может включать оборудование (например, схемотехника, специализированная логика, программируемая логика, микрокод и так далее), ПО (например, инструкции, выполненные на устройстве обработки), прошивку или их комбинацию. В одном из вариантов применения способ 100 может быть выполнен устройством обработки (например, устройство обработки 302 на ФИГ. 3) компьютерного устройства 210 и/или сервера 250, как описано в соответствии с ФИГ. 2. В некоторых вариантах применения способ 100 может выполняться одним потоком обработки. В другом варианте способ 100 может выполняться двумя или более потоками обработки, каждый из которых выполняет одну или несколько отдельных функций, процедур, подпрограмм или операций способа. Например, потоки обработки, реализующие способ 100, могут быть синхронизированы (например, с помощью семафоров, критических секций и (или) других механизмов синхронизации потоков). В другом варианте применения потоки обработки, осуществляющие способ 100, могут выполняться асинхронно по отношению друг к другу. Поэтому если на ФИГ. 1 и связанном с ним описании перечислены операции способа 100 в конкретном порядке, различные варианты применения способа могут выполнять, по меньшей мере, некоторые из описанных операций параллельно и (или) в произвольно выбранном порядке.
[0017] На шаге 110 устройство обработки, выполняющее способ 100, может создать карту сегментации суперпикселей исходного изображения (как показано на ФИГ. 4-5). Каждый суперпиксель может быть представлен прямоугольным набором пикселей исходного изображения (например, n×n пикселей, где n - выбранное целое число). Для каждого суперпикселя семантическая карта сегментации определяет одну или более вероятностную характеристику таким образом, чтобы каждая вероятностная характеристика представляла вероятность связанных суперпикселей, относящихся к определенному объекту, найденному на изображении. Объект может быть идентифицирован по индексу вероятностных характеристик в списке вероятностных характеристик, связанных с суперпикселем. Например, каждый суперпиксель может быть связан с одиночной вероятностной характеристикой, которая представляет вероятность связанного суперпикселя относиться к определенному объекту, найденному на изображении.
[0018] Карта сегментации суперпикселей может быть обработана с помощью нейронной сети. Нейронная сеть может включать множество нейронов, которые связаны с обучаемыми весами и смещениями. Нейроны могут быть организованы в слои. Нейронная сеть может быть обучена на обучающем наборе документов, которые включают известные изображения. Например, обучающий набор данных может содержать набор изображений так, что каждое изображение будет представлять собой один или более документов и будет связано с метаданными, определяющими границы документа на изображении.
[0019] В некоторых вариантах применения настоящего изобретения обучающий набор данных может включать примеры изображений из реальной жизни для обработки системой (документы «в естественных условиях»). В других вариантах применения обучающий набор данных может включать искусственные и/или аугментированные изображения. Типы аугментации, которые могут быть применены к изображениям в обучающем наборе данных, могут включать смещение, поворот, затенение, наложение дополнительных артефактов или других объектов на изображение и так далее.
[0020] При других применениях обучающий набор данных включает комбинацию искусственных документов или документов «в естественных условиях».
[0021] Нейронная сеть может генерировать выходное изображение для каждого исходного обучающего изображения. Выходное изображение нейронной сети может быть сопоставлено с целевым выходным результатом, связанным с исходным обучающим изображением, как установлено обучающим набором данных, и ошибка может распространиться на предыдущие слои нейронной сети, чьи параметры (такие как веса и смещения нейронов) могут быть изменены соответствующим образом. Во время обучения нейронной сети параметры нейронной сети могут быть изменены для оптимизации точности прогноза. После обучения нейронная сеть может быть использована для автоматического извлечения документов.
[0022] В некоторых вариантах применения настоящего изобретения
нейронная сеть является нейронной сетью семантической сегментации.
[0023] Нейронная сеть семантической сегментации - это нейронная сеть, выполненная с возможностью сегментации семантических изображений. Сегментация семантических изображений - это задача компьютерного распознавания, в которой определенные области изображения размечены в соответствии с тем, что показано на изображении. Другими словами, сегментация семантического изображения одновременно определяет объекты на изображении и идентифицирует, к какому классу относятся эти объекты.
[0024] В некоторых вариантах применения настоящего изобретения нейронная сеть применяется как набор сверточных слоев.
[0025] ФИГ. 7 схематично показывает структуру нейронной сети, работающей в соответствии с одним или более вариантами реализации настоящего изобретения. Как показано на ФИГ. 7, нейронная сеть 700 может представлять собой нерекуррентную нейронную сеть прямого распространения, включая входной слой 710, выходной слой 720 и один или более скрытых слоев 730, соединяющих входной слой 710 и выходной слой 720. Выходной слой 720 может иметь то же число узлов, что и входной слой 710 таким образом, что сеть 700 может быть обучена неконтролируемым обучающим процессом для реконструкции собственных входов.
[0026] Нейронная сеть может включать множество нейронов, которые связаны с обучаемыми весами и смещениями. Нейроны могут быть организованы в слои. Нейронная сеть может быть обучена на обучающем наборе изображений. Например, обучающий набор данных может включать примеры изображений, содержащих множество документов в качестве обучающих исходных данных и один или более идентифицированных и классифицированных объектов в качестве выходных данных.
[0027] Нейронная сеть может генерировать выходное изображение для каждого исходного обучающего изображения. В процессе обучения нейронной сети параметры нейронной сети могут быть настроены для оптимизации точности прогноза. Обучение нейронной сети может включать обработку нейронной сетью набора входных изображений так, что сеть будет генерировать карту сегментации (например, наблюдаемых исходных данных), сравнивая сгенерированную карту сегментации с известной картой сегментации (то есть обучение выходных данных соответствовать целевым исходным данным, как указано обучающим набором данных). Выходное изображение нейронной сети может быть сопоставлено с обучающим выходным изображением, и ошибка может распространиться на предыдущие слои нейронной сети, чьи параметры (такие как веса и смещения нейронов) могут быть настроены соответственно, чтобы минимизировать потери функциональности (то есть разницу между выходным изображением и обучающим выходным изображением).
[0028] В частности, нейронная сеть может быть применена в качестве набора расширенных подмножеств сверточных слоев, способных к разделению.
[0029] В некоторых вариантах применения настоящего изобретения эти подмножества могут содержать блок слоев уменьшения масштаба. Блок слоев уменьшения масштаба сверточной нейронной сети - это подмножество сверточных слоев, которое выполнено с возможностью уменьшения пространственного разрешения характеристик объектов. Свертки обрабатываются отдельно, так начальные свертки применяются к более крупным картам характеристик. Разделение сверточных слоев в этом подмножестве слоев уменьшает время обработки данной операции.
[0030] В некоторых вариантах применения настоящего изобретения эти подмножества могут содержать как минимум один блок контекста слоев. Блок контекста выполнен с возможностью улучшения характеристик и экспоненциального увеличения рецепторного поля с каждым сверточным слоем. Последний слой последнего блока контекста создает вероятностную карту сегментации.
[0031] В некоторых вариантах применения настоящего изобретения эти подмножества могут включать блок финальной классификации. Блок финальной классификации может быть применен как минимум одним сверточным слоем известных измерений и предопределенного числа фильтров, где число фильтров соответствует числу типов распознаваемых объектов.
[0032] В некоторых вариантах применения настоящего изобретения эти подмножества могут включать функцию активации после как минимум одной свертки. В некоторых вариантах применения функция активации реализована как блок выпрямителя (ReLu).
[0033] Функция активации не может быть использована после последней свертки. В некоторых вариантах применения настоящего изобретения сигмоидальная функция применяется к первому каналу последней свертки. В некоторых вариантах применения нормализованная экспоненциальная функция (многопеременная логическая функция Softmax) применяется к другим каналам последней свертки.
[0034] В некоторых вариантах применения настоящего изобретения каждый сверточный слой имеет одинаковое количество каналов (фильтров). Это число каналов может быть определено экспериментально для поддержания баланса между продуктивностью и компактностью нейронной сети. Компактность нейронной сети позволяет использовать ее на устройствах с ограниченными ресурсами, таких как мобильные устройства.
[0035] В некоторых вариантах применения настоящего изобретения разрешение входных изображений для сети может быть ограничено для соответствия параметрам нейронной сети. Например, разрешение 512×512 может быть использовано в качестве разрешения для входного изображения. Соответственно, размер рецепторного поля сверточной нейронной сети может быть как минимум равен половине разрешения входного изображения. Если размер рецепторного поля меньше, информации контекста в рецепторном поле может не хватать для распознавания объекта.
[0036] В соответствии с некоторыми применениями настоящего изобретения карта 110 сегментации, созданная нейронная сетью, имеет множество каналов так, что каждый канал связан с определенным объектом, найденным на входном изображении. Например, может использоваться нейронная сеть с одним каналом. Выход этого канала может представлять собой вероятность определенного суперпикселя являться частью распознаваемого объекта. На шаге 120 устройство обработки при использовании способа 100 может генерировать бинарную маску суперпикселя для входного изображения, основываясь на карте 110 сегментации. Бинарная маска суперпикселя может быть сгенерирована путем связки каждого суперпикселя из карты сегментации суперпикселей с бинарным значением, полученным от вероятностной характеристики, отражающей вероятность суперпикселя относиться к определенному объекту, найденному на входном изображении. В некоторых вариантах применения настоящего изобретения вероятностная характеристика может быть интерпретирована путем порогового значения бинаризации для определения классов бинарных меток таким образом, что вероятностная характеристика, опускающаяся ниже порогового значения бинаризации, будет равна «0», как значению связанного элемента бинарной маски суперпикселя, в то время как вероятностная характеристика, превышающая или равная пороговому значению бинаризации, будет равна «1», как значению связанного элемента бинарной маски суперпикселя. При различных применениях пороговое значение бинаризации может быть заданным или переменным.
[0037] На шаге 130 устройство обработки, выполняющее способ 100, может идентифицировать связные компоненты в бинарной маске суперпикселя 120. Связная компонента - это группа пикселей с одинаковым значением, где каждый пиксель в группе имеет как минимум один смежный пиксель того же значения.
[0038] На шаге 140 устройство обработки, выполняющее способ 100, может идентифицировать минимальный описывающий многоугольник для каждой связной компоненты, идентифицированной на шаге 130. В некоторых вариантах применения настоящего изобретения минимальный описывающий многоугольник может быть идентифицирован как минимальная область прямоугольника, содержащая данную связную компоненту. В других вариантах применения настоящего изобретения, чтобы идентифицировать минимальные описывающие многоугольники для связных компонент, система сначала производит дискретизацию бинарной маски суперпикселя, а затем - аппроксимацию по многоугольникам.
[0039] На шаге 150 устройство обработки, выполняя способ 100, может создать линии разделения изображения, основываясь на описывающих многоугольниках 140, как показано на ФИГ. 6. В некоторых вариантах применения настоящего изобретения система сначала анализирует бинарную маску суперпикселя 120 для генерации точек, определяющих условное расположение линий, разделяющих изображение 605-6015. По завершении система сравнивает число пикселей в линиях (рядах или колонках) бинарной маски суперпикселя 120 с числом пикселей в смежных линиях. Если число ненулевых пикселей в данной линии превышает число ненулевых пикселей в смежных линиях как минимум на заданное пороговое значение, координаты такого изменения определяют точку, которая предположительно находится на линии, разделяющей изображения. В некоторых вариантах применения настоящего изобретения центры связных компонент 615 также добавляются в набор точек, определяющих условное расположение линий, разделяющих изображение. В некоторых вариантах применения один или более пикселей, которые граничат с центром связной компоненты, также добавляются к набору точек, определяющих условное расположение линий, разделяющих изображение.
[0040] Для каждой сгенерированной точки генерируется одна или более условных разделяющих изображение линий, проходящих через данную точку таким образом, что каждая примерно сгенерированная разделяющая изображение линия параллельна стороне минимального ограниченного региона выбранной связной компоненты.
[0041] Условные линии, разделяющие изображение, затем классифицируются по соответствию, которое может быть рассчитано, основываясь на наборе характеристик, включающих проекцию градиента на линию, стандартные отклонения, усредненные величины вероятностной карты вдоль линии и/или наклон линии. Значения характеристик обрабатываются классификатором (обучаемым классификатором, таким как нейронная сеть), который в некоторых вариантах применения может быть линейным классификатором.
[0042] Для каждой условной линии, разделяющей изображение, классификатор сгенерирует значение ее соответствия, которое может быть рассмотрено как вероятность линии, разделяющей изображение, быть определенной корректно. В некоторых вариантах применения рассматриваются все условные линии, разделяющие изображение, имеющие значение их соответствия, которое превышает заранее заданное пороговое значение. В других случаях рассматривается заранее заданное число условных линий, разделяющих изображение.
[0043] На шаге 160, основанном на гипотезе классификации, устройство обработки, выполняющее способ 100, может определять границы областей интереса. Область интереса - это часть исходного изображения, которая близко соответствует позиции и форме документа, показанного на изображении.
[0044] В качестве предварительных мер система может отказаться от связных компонент и/или связных компонент, области которых находятся ниже порогового значения. Затем система генерирует описывающие многоугольники для оставшихся связных компонент, основываясь на условных линиях, разделяющих изображение. Полученные описывающие многоугольники определяют границы обнаруженных областей интереса в исходном изображении.
[0045] На шаге 170 устройство обработки, выполняющее способ 100, может обрезать идентифицированные области интереса. В некоторых применениях настоящего изобретения обрезанная область затем может быть увеличена с помощью сетки нейронной сети, чтобы обратить компрессию изображения, выполненную на шаге 110, когда изображение было конвертировано в суперпиксели. Подобное приумножение может вернуть изображение к оригинальному разрешению.
[0046] В некоторых вариантах применения настоящего изобретения условные линии, разделяющие изображение, могут быть дополнительно классифицированы, основываясь на типе документа. Такие классификации могут отличаться в зависимости от типа документа, который необходимо идентифицировать этим классификатором. В некоторых вариантах применения такие классификаторы могут различать два конкретных типа документа. В некоторых вариантах применения такой классификатор применяется в качестве заранее обученной сверточной нейронной сети. В других вариантах применения используются классификаторы градиентного бустинга. В других вариантах применения градиентный бустинг основывается на признаках ГНГ (гистограммах направленных градиентов HOG).
[0047] В некоторых вариантах применения классификаторы используются для категоризации гипотез разделяющих линий. В других вариантах применения такие классификаторы применяются для классификации обрезанных областей интереса.
[0048] В некоторых вариантах применения настоящего изобретения система анализирует идентифицированные обрезанные области интереса для определения, являются ли эти области частями одного документа (например, нескольких страниц одного паспорта, обе стороны одной идентификационной карты и так далее). Такой анализ может содержать оптическое распознавание символов (OCR) в областях интереса и сравнивать результаты OCR в разных областях. Такой анализ может быть выполнен при помощи эвристического метода или с помощью заранее обученных классификаторов, таких как сверточная нейронная сеть.
[0049] ФИГ. 2 - это блок-схема примера компьютерной системы 200, в которой может применяться настоящее изобретение. Как показано на рисунке, система 200 может включать компьютерное устройство 210, хранилище 220 и сервер 250, соединенный с сетью 230. Сеть 230 может быть общедоступной сетью (например, Интернет), частной сетью (например, локальной вычислительной сетью (ЛВС) или глобальной вычислительной сетью (ГВС) или их комбинацией.
[0050] Вычислительное устройство 210 может быть настольным компьютером, ноутбуком, смартфоном, планшетом, сервером, сканером или любым подходящим вычислительным устройством, способным выполнять описанные в данном документе способы. В некоторых вариантах применения компьютерное устройство 210 может представлять собой (и/или включать) одно или более компьютерные устройства 300 на ФИГ. 3.
[0051] Исходное изображение 240 может быть получено компьютерным устройством 210. Исходное изображение 240 может быть получено любым удобным способом. В дополнение, в случаях, когда компьютерное устройство 210 является сервером, пользовательское устройство, соединенное с сервером через сеть 230, может выгружать исходное изображение 240 на сервер. В случаях, когда компьютерное устройство 210 является пользовательским устройством, соединенным с сервером через сеть 230, пользовательское устройство может загружать исходное изображение 240 с сервера или из хранилища 220.
[0052] Исходное изображение 240 может быть использовано для обучения нескольких моделей машинного обучения или может быть новым исходным изображением, где необходимо выполнить распознавание документа.
[0053] В одном из вариантов применения компьютерное устройство 210 может включать механизм генерации карты сегментации 211. Механизм 211 генерации карты сегментации может включать инструкции, находящиеся на одном или более материальных машиночитаемых медиахранилищах компьютерного устройства 210 и выполняемые одним или более устройствами обработки компьютерного устройства 210.
[0054] В одном из вариантов применения механизм 211 генерации карты сегментации может использовать набор 214 обученных моделей машинного обучения для генерации одной или более карт сегментации в библиотеке размеченных изображений, содержащих множество документов 260. Библиотека размеченных изображений, содержащих множество документов, может находиться в хранилище 220. Модели машинного обучения 214 обучены или используются для генерации карт сегментации на изображениях.
[0055] Механизм 211 генерации карты сегментации может быть программой пользователя или комбинацией пользовательского компонента и компонента сервера. В некоторых вариантах применения механизм 211 генерации карты сегментации может быть применен полностью с использованием пользовательского компьютерного устройства, например, компьютера-сервера, настольного компьютера, планшета, смартфона, ноутбука, камеры, видеокамеры и прочих подобных устройств. В другом случае пользовательский компонент механизма 211 генерации карты сегментации, запущенной на пользовательском компьютерном устройстве, может получить исходное изображение и передать его на серверный компонент механизма 211 генерации карты сегментации, запущенной на сервере, который производит генерацию карты сегментации. Серверный компонент механизма 211 генерации карты сегментации затем может вернуть на хранение сгенерированную карту сегментации на пользовательский компонент механизма 211 генерации карты сегментации, запущенной на пользовательском компьютерном устройстве. В другом случае серверный компонент механизма 211 генерации карты сегментации может создать результат генерации для другого приложения. В других вариантах применения механизм 211 генерации карты сегментации может быть запущен на устройстве сервера в качестве Интернет-приложения, доступного через интерфейс браузера. Устройство сервера может являться одной или более компьютерной системой, такой как одна или более серверная машина, рабочая станция, системный блок, персональный компьютер (ПК) и так далее.
[0056] Серверная машина 250 может являться и/или включать стоечный сервер, роутер, персональный компьютер, портативный ассистент, мобильный телефон, ноутбук, планшет, камеру, видеокамеру, нетбук, настольный компьютер, медиацентр или любую комбинацию из вышеперечисленных. Серверная машина 250 может включать механизм обучения 251. Механизм обучения 251 может конструировать модель(-и) машинного обучения 214 для генерации карты сегментации. Модель(-и) машинного обучения 214, как показано на ФИГ. 2, могут быть обучены механизмом обучения 251, используя данные обучения, которые включают входные данные для обучения и связанные выходные данные для обучения (правильные ответы на соответствующие входные данные для обучения). Механизм обучения 251 может находить закономерности в данных обучения, привязывая входные обучающие данные к выходным обучающим данным (предполагаемый ответ) и создать модели машинного обучения 214, которые зафиксируют эти эталоны. Набор моделей машинного обучения 214 может состоять, например, из одиночного уровня линейных или нелинейных операций (таких как машина опорных векторов) или может быть глубокой нейронной сетью, такой как модель машинного обучения, которая состоит из нескольких уровней нелинейных операций. Примерами глубоких нейронных сетей являются нейронные сети, включающие сверточные нейронные сети, рекуррентные нейронные сети (РНС) с одним или более скрытых слоев и полносвязные нейронные сети. В некоторых вариантах применения модели 214 машинного обучения могут включать одну или более нейронных сетей, как описано отсылаясь к ФИГ. 1.
[0057] Модели 214 машинного обучения могут быть обучены генерировать одну или более карт сегментации с исходного изображения 240. Обучающие данные могут находиться в хранилище 220 и могут включать один или более наборов входных обучающих данных 222 и один или более наборов выходных обучающих данных 224. Обучающие данные могут также включать данные карт 226, которые связывают входные обучающие данные 222 с выходными обучающими данными 224. В процессе обучения механизм обучения 251 может находить закономерности в обучающих данных 226, которые могут быть использованы для связки входных обучающих данных с выходными обучающими данными. Закономерности могут быть впоследствии использованы моделью / моделями машинного обучения 214 для будущих прогнозов. Например, при получении входных данных исходного изображения обученная (-ые) модель(-и) 214 машинного обучения может/могут сгенерировать карту сегментации для этого исходного изображения и может / могут предложить эту карту сегментации в качестве выходных данных.
[0058] Хранилище 220 может быть базой данных, способной хранить структуры данных для выполнения генерации карты сегментации согласно вариантам применения настоящего изобретения. Хранилище 220 может быть размещено на одном или более устройствах хранения, таких как основная память, магнитные или оптические диски, ленты или жесткие диски, NAS, SAN и так далее. Несмотря на то, что изображение показывает компьютерное устройство 210 отдельно от хранилища 220, при применении хранилище 220 может являться частью компьютерного устройства 210. В других вариантах применения хранилище 220 может являться сетевым файловым сервером, в то время как при других применениях хранилище 220 может являться другим типом хранения данных, таким как база данных с привязкой к объекту, реляционная база данных и так далее, которое может находиться на серверной машине или на одной или более различных машинах, соединенных через сеть 230.
[0059] ФИГ. 3 показывает пример компьютерной системы 300, которая может выполнять один или более описанных здесь способов. Вычислительная система может подключаться (например, в сети) к другим вычислительным системам с помощью ЛВС, интрасети, экстрасети или Интернета. Вычислительная система может работать в качестве сервера в сетевой среде клиент-сервер. Вычислительная система может быть персональным компьютером (ПК), планшетом, телеприставкой (STB), персональным цифровым помощником (PDA), мобильным телефоном, камерой, видеокамерой или любым устройством, способным выполнять набор команд (последовательных или иных), определяющих действия, которые должны выполняться этим устройством. Кроме того, хотя проиллюстрирована только одна вычислительная система, термин «компьютер» также следует понимать как включающий любую совокупность компьютеров, которые индивидуально или совместно выполняют набор (или несколько наборов) команд для выполнения одного или нескольких из обсуждаемых в данном документе способов.
[0060] Пример компьютерной системы 300 включает устройство обработки 302, основную память 304 (то есть память «только для чтения» (ROM), флэш-память, динамическая память случайного доступа (DRAM), такая как синхронная DRAM (SDRAM)), статическую память 306 (то есть флэш-память, статическая память случайного доступа (SRAM)) и устройство хранения данных 316, которое обменивается данными друг с другом по шине 308.
[0061] Устройство обработки 302 представляет одно или более устройств обработки общего назначения, таких как микропроцессор, центральный процессор и т.п.В частности, устройство обработки 302 может быть микропроцессором с полным набором команд (CISC), микропроцессором с сокращенным набором команд (RISC), микропроцессором со сверхдлинным командным словом (VLIW) или процессором, реализующим другие наборы команд, или процессорами, реализующими комбинацию наборов команд. Устройство обработки 302 также может быть представлено одним или более устройствами обработки специального назначения, такими как специализированная интегральная схема (ASIC), программируемая пользователем вентильная матрица (FPGA), цифровой сигнальный процессор (DSP), сетевой процессор и т.п.Устройство обработки 302 настроено на выполнение инструкций 326 для применения механизма генерации карты сегментации 211 и/или обучающего механизма 251 на ФИГ. 2 и для выполнения операций и шагов, которые здесь описаны (способ 100 на ФИГ. 1).
[0062] Компьютерная система 300 далее может включать устройство сетевого интерфейса 322. Компьютерная система 300 также может включать устройство визуального отображения 310 (например, жидкокристаллический дисплей (ЖКД) или электронно-лучевую трубку (ЭЛТ), устройство буквенно-цифрового ввода 312 (например, клавиатура), устройство управления курсором 314 (например, мышь) и устройство генерации сигнала 320 (например, колонка). В одном из показанных примеров устройство визуального отображения 310, устройство буквенно-цифрового ввода 312 и устройство управления курсором 314 могут быть объединены в один компонент или устройство (например, сенсорный ЖК-экран).
[0063] Устройства хранения данных 316 включает машиночитаемый носитель данных 324, на котором хранятся инструкции 326, описывающие одну или более описанных здесь методологий или функций. Инструкции 326 могут также относиться полностью или, по меньшей мере, частично к основной памяти 304 и/или к устройству обработки 302 в момент их выполнения компьютерной системой 300, основной памятью 304 и устройством обработки 302, которые также относятся к машиночитаемым носителям. В некоторых вариантах применения инструкции 326 могут дополнительно передаваться или приниматься по сети через сетевое интерфейсное устройство 322.
[0064] В то время как машиночитаемый носитель данных 324 показан в иллюстративных примерах как единственный носитель, термин «машиночитаемый носитель данных» следует понимать как включающий один или несколько носителей (например, централизованную или распределенную базу данных и/или связанные кеши и серверы), в которых хранятся один или несколько наборов команд. Термин «машиночитаемый носитель данных» также должен включать любой носитель, который способен хранить, кодировать или переносить набор команд для выполнения машиной и который заставляет машину выполнять одну или несколько методологий настоящего изобретения. Термин «машиночитаемый носитель данных» следует соответственно понимать как включающий твердотельные запоминающие устройства, оптические носители и магнитные носители.
[0065] Хотя операции способов в данном документе показаны и описаны в определенном порядке, порядок операций каждого способа может быть изменен так, чтобы определенные операции могли выполняться в обратном порядке, или так, чтобы определенная операция, по крайней мере, частично, могла выполняться одновременно с другими операциями. В некоторых вариантах реализации команды или подоперации отдельных операций могут быть прерывистыми и/или чередующимися.
[0066] Следует понимать, что приведенное выше описание служит для иллюстрации, а не ограничения. Многие другие варианты реализации будут очевидны специалистам в данной области техники после прочтения и понимания приведенного выше описания. Следовательно, объем настоящего изобретения должен определяться ссылкой на прилагаемую формулу изобретения вместе с полным объемом эквивалентов, на которые такая формула изобретения имеет право.
[0067] В приведенном выше описании изложены многочисленные подробности. Однако для специалиста в данной области техники будет очевидно, что аспекты настоящего изобретения могут быть реализованы на практике без этих конкретных деталей. В некоторых случаях хорошо известные конструкции и устройства показаны в форме блок-схемы, а не в подробностях, чтобы не затруднять понимание настоящего изобретения.
[0068] Некоторые части подробных описаний выше представлены в терминах алгоритмов и символических представлений операций с битами данных в памяти компьютера. Эти алгоритмические описания и представления являются средствами, используемыми специалистами в области обработки данных, чтобы наиболее эффективно передать суть своей работы другим специалистам в данной области техники. Алгоритм здесь и в целом задуман как самосогласованная последовательность шагов, ведущих к желаемому результату. Эти шаги требуют физических манипуляций с физическими величинами. Обычно, хотя и не обязательно, эти величины принимают форму электрических или магнитных сигналов, которые можно сохранять, передавать, комбинировать, сравнивать и иным образом использовать. Иногда оказывается удобным, в основном по причинам обычного использования, называть эти сигналы битами, значениями, элементами, знаками, символами, терминами, числами и т.п.
[0069] Однако следует иметь в виду, что все эти и подобные термины должны быть связаны с соответствующими физическими величинами и представляют собой просто удобные обозначения, применяемые к этим величинам. Если специально не указано иное, как очевидно из следующего обсуждения, следует понимать, что во всем описании обсуждения с использованием таких терминов как «получение», «определение», «выбор», «сохранение», «анализ» и т.п., относятся к действию и процессам вычислительной системы или аналогичного электронного вычислительного устройства, которое обрабатывает и преобразует данные, представленные в виде физических (электронных) величин в регистрах и памяти вычислительной системы, в другие данные, аналогично представленные в виде физических величин в памяти или регистрах вычислительной системы или других подобных устройств хранения, передачи или отображения информации.
[0070] Настоящее изобретение также относится к устройству для выполнения операций в данном документе. Это устройство может быть специально сконструировано для требуемых целей или может содержать компьютер общего назначения, выборочно активируемый или реконфигурируемый компьютерной программой, хранящейся в компьютере. Такая вычислительная программа может храниться на машиночитаемом носителе данных, таком как, помимо прочего, диск любого типа, включая дискеты, оптические диски, компакт-диски и магнитооптические диски, постоянные ЗУ (ПЗУ), оперативные ЗУ (ОЗУ), ЭППЗУ, ЭСППЗУ, магнитные или оптические платы или любой тип носителя, подходящий для хранения электронных команд, каждая из которых подключена к системной шине компьютера.
[0071] Алгоритмы и дисплеи, представленные в данном документе, по своей сути не связаны с каким-либо конкретным компьютером или другим устройством. Различные системы общего назначения могут использоваться с программами в соответствии с изложенными идеями, или может оказаться удобным сконструировать более специализированное устройство для выполнения требуемых методических шагов. Требуемая структура для множества этих систем будет отображаться, как указано в описании. Кроме того, варианты реализации настоящего изобретения не описаны посредством ссылки на какой-либо конкретный язык программирования. Будет принято во внимание, что для реализации идей настоящего изобретения, как описано в данном документе, можно использовать множество языков программирования.
[0072] Варианты реализации настоящего изобретения могут быть предоставлены в виде компьютерного программного продукта или программного обеспечения, которое может включать в себя машиночитаемый носитель для хранения команд, использующихся для программирования компьютерной системы (или других электронных устройств) с целью выполнения процесса в соответствии с настоящим изобретением. Машиночитаемый носитель включает в себя любой механизм для хранения или передачи информации в форме, читаемой машиной (например, компьютером). Например, машиночитаемый (т.е. считываемый компьютером) носитель включает в себя машиночитаемый (например, компьютером) носитель данных (например, постоянное ЗУ (ПЗУ), оперативное ЗУ (ОЗУ), носители данных на магнитных дисках, оптические носители данных, устройства флэш-памяти и т.д.).
[0073] Слова «пример» или «примерный» используются здесь для обозначения примеров, случаев или иллюстраций. Любой вариант реализации или конструкция, описанные в настоящем документе как «пример», не должны обязательно рассматриваться как предпочтительные или преимущественные по сравнению с другими вариантами реализации или конструкциями. Скорее, использование слов «пример» или «примерный» предназначено для конкретного представления понятий. Используемый в этой заявке термин «или» предназначен для обозначения включающего «или», а не исключающего «или». То есть если иное не указано или не ясно из контекста, «X включает А или В» означает любую из естественных включающих перестановок. То есть если X включает А, X включает В или X включает и А, и В, то высказывание «X включает А или В» является истинным в любом из указанных выше случаев. Кроме того, неопределенные артикли «a» и «an», использованные в англоязычной версии этой заявки и прилагаемой формуле изобретения, должны, как правило, означать «один или более», если иное не указано или из контекста не следует, что это относится к форме единственного числа. Более того, использование терминов «применение», «один вариант применения», «вариант реализации» или «один вариант реализации» не предназначено для обозначения одного и того же применения или реализации, если они не описаны как таковые. Кроме того, используемые здесь термины «первый», «второй», «третий», «четвертый» и т.д. означают метки, позволяющие различать различные элементы, и необязательно могут иметь порядковое значение в соответствии с их числовым обозначением.
[0074] Поскольку многие изменения и модификации изобретения без сомнения будут очевидны для специалиста в данной области после прочтения вышеизложенного описания, следует понимать, что каждое конкретное показанное и описанное посредством иллюстраций применение не должно ни в коем случае считаться ограничением. Следовательно, отсылки к деталям различных применений не должны ограничивать объем запросов, которые сами по себе содержат только те особенности, которые рассматриваются как изобретение.