2010-08-25 6 views
38

Мне нужна открытая библиотека OCR, которая может сканировать сложные печатные математические формулы (например, некоторые формулы, которые были сгенерированы через LaTeX). Я хочу получить некоторый выход в формате LaTeX (или только некоторые данные, подобные AST).OCR lib для математических формул

Есть что-то вроде этого уже? Или текущая технология OCR просто способна анализировать линейно-ориентированный текст?

(Обратите внимание, что я также отправил this question on Metaoptimize, потому что некоторые люди там могут иметь дополнительные знания.)

Проблема также была описана OpenAI в im2latex.

+0

Являются ли ваши формулы рукописными или печатными? – Jasper

+0

напечатано сейчас отлично. и в противном случае это может быть слишком сложно), и я думаю, что какой-то движок, способный обрабатывать рукописные формулы, также сможет обрабатывать печатные. – Albert

+1

Вы нашли решение? – tan9p

ответ

10

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

SESHAT - система с открытым исходным кодом, написанная на C++ для распознавания рукописных математических выражений. разработанный в рамках кандидатской диссертации в исследовательском центре PRHLT при Университете Политехники де Валенсии.

Онлайн демо: http://cat.prhlt.upv.es/mer/

Источник: https://github.com/falvaro/seshat

Seshat является система с открытым исходным кодом для распознавания рукописных математических выражений. Учитывая образец, представленный как последовательность штрихов, анализатор может преобразовать его в LaTeX или в другие форматы, такие как InkML или MathML.

+0

На первый взгляд это именно то, что я искал. – Albert

+0

Glad Я могу помочь :) – Slothworks

2

Учитывая, что современные технологии считывают по одному символу за раз (см. http://detexify.kirelabs.org/classify.html), я сомневаюсь, что существует OCR для полных математических уравнений.

+0

Да, это то, что я знаю о большинстве двигателей. Хотя я надеялся, что на этом может быть некоторый прогресс. Во всяком случае, вау, спасибо за эту ссылку, довольно интересно и полезно! :) Это поможет мне определить некоторые символы в будущем, которые я не знаю, на что они призваны, и за то, за что они стоят, поэтому я получу какой-то текст, по крайней мере, для Google! – Albert

2

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

http://www.inftyproject.org/en/download.html

+0

Ссылка на скачивание кажется сломанной. Кроме того, это открыто? Это должна быть кросс-платформа и в виде библиотеки, которую я могу использовать. – Albert

+0

Ссылка работает для меня. Я нашел его по поиску «infty». Он не является открытым и «главным образом» коммерческим. Смысл, это коммерческий, но он разработан и поддерживается группой в университете, которые иногда открыты для разработки сделки для некоммерческих организаций. Из всех пакетов, которые мы оценили, этот был единственным, кто получил более высокую производительность по математическим формулам, сообщите мне, если вы найдете что-то лучшее. –

+0

+1) Ссылка работает и для меня, это действительно интересно. Испытали ли вы, как это работает, для сканирования ручной письменной математики (на листе бумаги) в LaTeX? –

5

Согласно answers on Metaoptimize и discussion on the Tesseract mailinglist, не похоже, чтобы быть открытым/свободное решение, которое может еще сделать.

Единственное решение, которое, как представляется, может это сделать (но я не могу проверить, поскольку оно только для Windows и несвободное), как и некоторые другие люди, упомянули InftyProject.

+4

InftyProject OCR (который теперь находится по адресу http://www.inftyreader.org/?p=29, я считаю) не так уж хорошо :(http://img402.imageshack.us/img402/7875/testinftyproject.png –

0

Знаете, есть приложение в Win7 только для этого: Math Input Panel. Он даже обрабатывает рукописный ввод (это фактически сделано для этого). Дайте ему шанс, если у вас есть Win7, это бесплатно!

+0

У меня нет Windows, и мне нужно решение с открытым исходным кодом, но оно выглядит довольно интересно! – Albert

+0

Действительно, это выглядит многообещающе! –

6

InftyReader - единственное, что я знаю. Это НЕ бесплатное программное обеспечение (кажется, деньги идут на некоммерческую организацию, IIRC).

http://www.sciaccess.net/en/InftyReader/

Я не знаю, почему PDF не может иметь метаданные в LaTeX? Как и в: положите в него уравнение LaTeX! Это так сложно? (Я ничего не знаю о синтаксисе PDF, но я думаю, что это можно сделать).

Синтаксис LaTeX - ОДИН ТРИ И ИСТИННЫЙ СТАНДАРТ для обозначения математики. Кажется удивительно глупым, что люди, которые произвели MathML и другие вещи, не учитывают это. InftyReader генерирует синтаксис MathML или LaTeX.

Если я хочу HTML (чистый), я затем использую TTH для чтения синтаксиса LaTeX. Просто работает.

ABBYY FineReader (большая программа OCR) утверждает, что вы можете обучить программу по математике, но это очень Braindead (у кого есть время?)

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

Что касается «одного символа за раз», TeX, очевидно, имеет правила относительно того, где он будет размещать символы. Они не могут писать программное обеспечение, которое знает эти правила ?! TeX - это даже общественное достояние! Они могут просто «использовать его» в своих коммерческих продуктах.

0

есть это прекрасное короткое видео: http://www.youtube.com/watch?v=LAJm3J36tLQ , объясняющее, как вы можете обучать ваш Fine Reader распознавать математические формулы.Если вы используете Fine Reader уже, лучше придерживаться одного инструмента. Конечно, это не бесплатно посуда :(

+0

Это не то, о чем я просил. Я имел в виду сложные формулы - основанный на тексте. В этом весь вопрос и сложная часть, которая отличает ее от традиционного OCR, такого как FineReader. – Albert

5

Заканчивать «Web Equation.» Он может преобразовывать рукописные уравнений в LaTeX, MathML, или SymbolTree. Я не уверен, если двигатель с открытым исходным кодом.

+0

Что такое формат «SymbolTree»? – CMCDragonkai

0

Поскольку выход из математического OCR для сложных формул, скорее всего, будет иметь ошибки - даже у людей возникают проблемы с ним - вам придется корректировать результаты, по крайней мере, если они имеют значение. После этого корректор (человек) должен будет исправить результаты, то есть вам понадобится редактор математической формулы. Учитывая усилия, необходимые людям, вероятно, ограниченный состав сложных формул, вам может быть легче назначить задачу людям.

В качестве проблемы исследования чтение математики через OCR - это весело - вам нужен формализм для двухмерных грамматик плюс распознаватель символов.
В дополнение к ссылкам, уже упомянутым здесь, почему не Google для этого? Работа выполнена в Caltech, Рочестере, У. Ватерлоо и Калифорнийском университете в Беркли. Сколько из них готово использовать из коробки? Не знаю.

1

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

+0

Где находится библиотека? Это Open Source? – Albert

+0

Но он работает только для одного уравнения, а не для целых страниц –

Смежные вопросы