1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/majianyou15161492020-chineseocr_Lite

Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Этот проект основан на chineseocr и psenet для распознавания китайских символов в естественной среде.

Окружение

  • PyTorch 1.2.0

  • Python 3

  • Linux/macOS/Windows


  • Для окружения Windows рекомендуется статья Python для быстрого и эффективного распознавания китайского текста OCR 👍

  • В окружении Windows требуется ручной сбор DLL из файла pse.cpp в папках psenet/pse. Чтобы сделать это удобнее, были добавлены файлы pyd для Python 3.5 и Python 3.6. При запуске на Windows вам потребуется заменить соответствующий pyd файл на pse.pyd в зависимости от версии Python вашего окружения.

  • Окружение Docker

    1. Вы можете создать образ Docker с помощью команды docker build -t my/chineseocr ., либо использовать уже существующие образы, такие как docker run -dit -p 8080:8080 -v /mnt/d/data/:/data --name chineseocr vitzy/chineseocr_lite.
    2. Вы можете войти в контейнер через команды docker attach --sig-proxy=false <container id> или docker exec -it <your container name or id> /bin/bash. После этого клонируйте этот проект с GitHub: git clone https://github.com/ouyanghuiyu/chineseocr_lite.
    3. Перейдите в директорию chineseocr_lite и установите необходимые библиотеки: pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt.
    4. Запустите веб-сервер: python3 app.py 8080, затем откройте браузер и перейдите по адресу http://127.0.0.1:8080/ocr.

Компиляция PSENET

cd psenet/pse
rm -rf pse.so 
make 
```# Реализованные функции
- [x] Предоставление легковесной модели детектора backbone psenet (8.5 МБ), crnn_lstm_lite (9.5 МБ) и сети классификации направлений строк (1.5 МБ)
- [x] Распознавание текста в любом направлении, при этом определяется направление строки
- [x] Распознавание с использованием моделей crnn/crnn_lite lstm/dense (ocr-dense и ocr-lstm взяты из [chineseocr](https://github.com/chineseocr/chineseocr))
- [x] Поддержка распознавания вертикального текста
- [x] Реализация с использованием ncnn (поддерживает lstm): [crnn_lstm_inference](https://github.com/ouyanghuiyu/chineseocr_lite/pull/41). Подробное описание доступно здесь: [Подробное описание сверхлегкой модели OCR LSTM на основе ncnn](https://zhuanlan.zhihu.com/p/113338890?utm_source=qq&utm_medium=social&utm_oi=645149500650557440)
- [x] Предоставление примеров вертикального текста и шрифтов (шрифты повернуты на 90 градусов)
- [ ] Реализация dbnet с использованием ncnn# Обновление 2 июля 2020 года
- Добавлено использование модели dbnet, dbnet.onnx (3.7 МБ) и dbnet_lite.onnx (1.7 МБ).

# Обновление от 16 марта 2020 года
- Реализация расширения ncnn для модели Psenet, эффективно решающая проблему соприкасающихся текстовых областей, подробнее см. [ncnn OCR полный цикл](https://github.com/ouyanghuiyu/chineseocr_lite/tree/master/ncnn_project/ocr).
- Реализация [CRNN_LSTM inference](https://github.com/ouyanghuiyu/chineseocr_lite/pull/41) от великого niihua, подробное описание: [детальное описание сверхлегкого китайского OCR LSTM модели в ncnn](https://zhuanlan.zhihu.com/p/113338890?utm_source=qq&utm_medium=social&utm_oi=645149500650557440).

# Обновление от 12 марта 2020 года
- Обновлено до версии crnn_lite_lstm_dw_v2.pth модель crnn_lite_lstm_dw.pth, что повысило точность.


## Вертикальный шрифт:
  <img width="300" height="200" src="https://github.com/ouyanghuiyu/chineseocr_lite/blob/master/vertical_text_fonts/imgs/test.jpg"/>

## Примеры вертикального текста:
  <img width="256" height="32" src="https://github.com/ouyanghuiyu/chineseocr_lite/blob/master/vertical_text_fonts/imgs/00156360.jpg"/>
  <img width="256" height="32" src="https://github.com/ouyanghuiyu/chineseocr_lite/blob/master/vertical_text_fonts/imgs/00000027.jpg"/>
  <img width="256" height="32" src="https://github.com/ouyanghuiyu/chineseocr_lite/blob/master/vertical_text_fonts/imgs/00156365.jpg"/>
  <img width="256" height="32" src="https://github.com/ouyanghuiyu/chineseocr_lite/blob/master/vertical_text_fonts/imgs/00187940.jpg"/>


## Запуск веб-сервиса
``` Bash
cd chineseocr_lite ## Переходим в каталог chineseocr
python app.py 8080 ## Номер порта 8080, можно использовать любой другой порт

Доступ к сервису

http://127.0.0.1:8080/ocr## Пример использования Flask-RESTful API cd chineseocr_lite && python flask_app.py

- URL запроса: http://ip:port/api/v1/ocr
- Метод запроса: POST
- Параметры запроса
    - imgString: строка base64-кодированной картинки, str
- Пример ответа
{
    "code": "SUCCESS",
    "text": "Не чувствую себя комфортно без изображения, это кажется незаконченным и некачественным."
}

Отображение результатов распознавания

Детекция и распознавание с помощью ncnn (x86 CPU однопоточный)

Ссылки

  1. ncnn https://github.com/Tencent/ncnn
  2. crnn https://github.com/meijieru/crnn.pytorch.git
  3. chineseocr https://github.com/chineseocr/chineseocr
  4. Psenet https://github.com/WenmuZhou/PSENet.pytorch
  5. Реализация языковой модели https://github.com/lukhy/masr

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
GPL-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/majianyou15161492020-chineseocr_Lite.git
git@api.gitlife.ru:oschina-mirror/majianyou15161492020-chineseocr_Lite.git
oschina-mirror
majianyou15161492020-chineseocr_Lite
majianyou15161492020-chineseocr_Lite
master