Skip to content

Illania/ML_business_card_recognition_web

Repository files navigation

Проект распознавания визитных карточек с использованием библиотек OpenCV, Tesseract и предобученной GOOGLE Bert модели с сайта HuggingFace.

Веб-сайт используемой модели: https://huggingface.co/dslim/bert-large-NER

Структура проекта

ML_business_card_recognition_web/
├── init.py                            Файл инициализации модуля
├── app.py                             Главный файл приложения
├── bert_model.py                         Файл загрузки BERT модели
├── card_recognizer.py                      Распознаватель контура
├── contact_recognizer.py                     Распознаватель контактного лица
├── contact.py                          Класс описания сущности контактного лица
├── data/                             Папка с дополнительными данными
 └── jobs                            Текстовый файл с перечнем профессий
├── README.md                         Файл описания проекта
├── requirements.txt                        Файл,содержащий список необходимых библиотек
├── text_recognizer                        Распознаватель текста на базе Tesseract OCR
├── test_data/                           Папка с тестовыми изображениями визитных карточек
 └── card.jpg                          Тестовый файл изображения визитной карточки
└── token_recognizers/                      Папка, содержащая распознаватели отдельных сущностей
 ├── init.py                            Файл инициализации модуля
 ├── email_recognizer.py                     Распознаватель email адресов
 ├── job_recognizer.py                      Распознаватель должности
 ├── loc_recognizer.py                      Распознаватель дреса (использует BERT)
 ├── name_recognizer.py                     Распознаватель имени и фамилии (использует BERT)
 ├── org_recognizer.py                      Распознаватель организации (использует BERT)
 ├── phone_recognizer.py                    Распознаватель телефонных номеров
 └── website_recognizer.py                    Распознаватель веб-сайтов

Описание программы, установка и запуск

  1. Программа представляет собой web приложение на фреймворке Streamlit. Приложение запускается из папки приложения следующей командой:
streamlit run app.py

Приложение по умолчанию разворачивается на локальном хосте localhost:8051.

  1. Изображение должно иметь формат .jpg или .png и иметь достаточно высокое разрешение, изображение низкого качетсва будет распознано неверно. Внимание, программа распознает визитные карточки только на английском языке!

  2. Перед запуском приложения необходимо установить движок оптического распознавания символов Tesseract OCR, используя следующие команды (все нижеприведенные команды представлены для MacOS и Linux, для Windows они могут отличаться):

Для Linux:

apt install tesseract-ocr
apt install libtesseract-dev

Для MacOS:

brew install tesseract

После установки движка Tesseract возможно придется также поменять путь к движку Tesseract, задаваемому в файле text_recognizer.py:

Для Linux:

pytesseract.pytesseract.tesseract_cmd = ( r'/usr/bin/tesseract' )

Для MacOS:

pytesseract.pytesseract.tesseract_cmd = ( r'/usr/local/bin/tesseract' )

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

which tesseract
  1. После установки Tesseract неоходимо установить дополнительные библиотеки Python командой:
pip install -r requirements.txt
  1. Для тестирования приложения используйте изображение card.jpg из папки test_data.

  2. Первичная загрузка модели BERT может занять значительное время, так как размер скачиваемых файлов занимает около 1.33 Гб, так что запаситесь терпением и чашечкой кофе! ☕️ 🍪 ☺️

About

Business card recognition web application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages