Skip to content

mikhailvokhrameev/archive_vision

Repository files navigation

Веб-сервис "Archive Vision"

Данный репозиторий содержит исходный код веб‑сервиса для автоматизированной расшифровки архивных документов московских архивов, что способствует сохранению исторического наследия.


Главная страница

Почему мы делали этот проект?

Нам было интересно поработать с современными моделями OCR, в частности TrOCR, произвести разметку датасета с архивными изображениями, а также получить опыт создания полноценного веб-сервиса с применением моделей ИИ.


Используемые технологии:

Backend & API

  • Python
  • FastAPI
  • Uvicorn
  • Pydantic

Machine Learning & Data Science

  • PyTorch
  • Hugging Face Transformers
  • NumPy & SciPy
  • OpenCV & Pillow
  • pdf2image

Frontend & Визуализация

  • Streamlit

База Данных

  • PostgreSQL

Установка и запуск с использованием Docker (рекомендуется)

  1. Клонируйте репозиторий:

    git clone https://github.com/mikhailvokhrameev/archive_vision.git
    cd archive_vision
  2. Установите Docker в зависимости от вашей ОС:

  3. Запустите docker-compose:

    Важно: Все команды должны запускаться из корневой папки проекта.

    docker-compose up --build # build and run
    docker-compose up #run

    Чтобы открыть frontend нужно перейти по ссылке: http://localhost:8501/


Альтернативный вариант (без Docker):

Для настройки среды проекта выполните следующее:

  1. Клонируйте репозиторий:

    git clone https://github.com/mikhailvokhrameev/archive_vision.git
    cd archive_vision
  2. Создайте и активируйте виртуальное окружение (рекомендуется):

    # Создание окружения
    python3 -m venv venv
    
    # Активация на macOS/Linux:
    source venv/bin/activate
    
    # Активация на Windows:
    venv\Scripts\activate
  3. Установите зависимости:

    pip install -r requirements.txt

Запуск:

  1. Запуск backend

    Этот скрипт запускает backend по адресу http://127.0.0.1:8001.

    uvicorn main:app --reload --host 127.0.0.1 --port 8001
  2. Запуск frontend

    Этот скрипт запускает frontend по адресу http://127.0.0.1:8000. Для изменения порта или IP требуется добавить в переменные окружения в docker файле API_BASE_URL ссылку на сервер.

    streamlit run ./front/app.py
  3. Настройка БД

    В качестве базы данных используется PostgreSQL. Для связи backend и базы данных требуется создать файл .env в папке backend и добавить переменную: DATABASE_URL="postgresql://user:password@localhost:5432/db_name"

  4. Работа с сервисом

    По умолчанию работа сервиса производится по адресу http://127.0.0.1:8501. Для загрузки и обработки документа требуется загрузить файл с изображением страницы документа через веб интерфейс.

About

A service for extracting and indexing archival document images

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors