ADKosm / JavaML

The shit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Arithmetical expression computation using computer vision

Техническое задание

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

Использование сервиса должно осуществляться через web-приложение. Приложение должно поддерживать два режима работы: основной и с компьютерным зрением.

  • В основном режиме пользователь вводит формулу в текстовое поле, после чего нажимает кнопку “Submit expression”, после чего приложение осуществляет разбор и вычисление выражения.
  • В режиме с компьютерным зрением пользователь загружает картинку, на которой черным цветом на белом фоне записано арифметическое выражение, затем нажимает кнопку “Submit picture”. Приложение осуществляет сегментацию отдельных символов в выражении, а также распознавание каждого отдельно взятого символа, после чего формирует строку, являющуюся результатом распознавания. Эта строка подставляется в форму поле для ввода текста, предоставляя возможность пользователю исправить возможность исправить ошибки, возникшие при распознавании символов изображения. Затем пользователь нажимает на кнопку “Submit expression”, осуществляя вычисление значения выражения.

Запуск и проверка работоспособности

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

git clone https://github.com/ADKosm/JavaML.git
cd JavaML

После чего собрать и запустить сервис

./gradlew runMain

Приложение запустится и использованием предобученной модели. Для проверки работоспособности, после появления записи Start server at http://localhost:4567, необходимо зайти по адресcy http://localhost:4567. После чего можно попробовать ввести любое корректное математическое выражение, например:

1+2
(34+54)/(5-3)*(24+(2*9+3))-15*2*3

Также можно попробовать загрузить картинку с математическим выражением, например example1.jpg или example2.jpg, которые находятся в папке examples

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

Для того, чтобы обучить модель на своем датасете, создайте папку dataset и положите в ее свой датасет, после чего перезагрузите сервис

About

The shit

License:MIT License


Languages

Language:Java 95.0%Language:HTML 3.6%Language:JavaScript 1.5%