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
docker build -t my/chineseocr .
, либо использовать уже существующие образы, такие как docker run -dit -p 8080:8080 -v /mnt/d/data/:/data --name chineseocr vitzy/chineseocr_lite
.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
.chineseocr_lite
и установите необходимые библиотеки: pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
.python3 app.py 8080
, затем откройте браузер и перейдите по адресу http://127.0.0.1:8080/ocr
.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": "Не чувствую себя комфортно без изображения, это кажется незаконченным и некачественным."
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )