tr — Распознавание текста реализует технологию OCR
адрес проекта на гитхабе:github.com/myhub/tr
Краткое введение в проект (в основном взято из Readme проекта):
SDK для автономного распознавания текста для отсканированных документов. Основной код разработан на C++ и предоставляет интерфейс Python.
- поддержка интерфейса с++
- Поддержка системы Windows
- Добавить поддержку python2
- Удалите зависимости opencv-python и Pillow, чтобы уменьшить сложность развертывания.
- Поддержка многопоточности
- Поддержка графического процессора
Requirements
- Windows 7+/Ubuntu 16.04/Ubuntu 18.04
- python2/python3, необходимо установить numpy
- Система Windows должна быть установлена
VC_redist.x64.exe
Инструкции по установке версии GPU(Практика: процессор очень медленный, рекомендуется установить графический процессор)
- Если есть требования к скорости, рекомендуется установить версию GPU.
要使用GPU版本,复制tr_gpu文件夹里面的文件到tr文件夹
- Примечание: сначала необходимо установить
CUDA 10.1
а такжеcuDNN 7.6.5
Способ установки
Метод установки Docker был заброшен и я отказался от него (вы можете попробовать сами, если вам интересно), здесь мы используем метод установки setup.py
git clone https://github.com/myhub/tr.git
cd ./tr
sudo python setup.py install
контрольная работа
python2 demo.py # python2兼容测试
python3 test.py # 可视化测试
python3 test-multi-thread.py # 多线程测试
Практические шаги
Во-первых, для версии gpu нужно установить окружение CUDA 10.1 и cuDNN 7.6.5, здесь используем уже готовое окружение (易学智能平台
), что позволяет избежать различных проблем среды установки и быстро реализовать конструкцию проекта.费钱
Официальный сайт Yixue Smart:www.easyaiforum.cn/
1 Войдите на официальный сайт Yixue Smart, выберите нужную среду, заплатите, чтобы начать
1.1 Зайти на официальный сайт
1.2 Войдите в консоль
1.3 Выберите среду
Платежная модель: я обычно выбираю固定小时数
, просто добавьте больше
Модель графического процессора, которую мы выбираем1050ti
,2¥/h
, здесь мы выбираемConda101
, потому что в этой среде есть cuda10.1 и cudnn7.6.5
1.4 Нажмите поселение, чтобы начать
Обратите внимание на несколько информации, подтвердите, чтобы начать
1.5 Запуск интерфейса после загрузки
я вообще привык пользоваться终端
способ работы, друзья, которые не очень хорошо знакомы с командами, могут использовать远程桌面
Путь
1.6 Откройте терминал и переключитесь в указанную среду
Нам нужна среда py37-cuda101, а команда переключения
conda activate py37-cuda101
2 Загрузите проект на наш хост Ubuntu
Здесь скорость нашего github относительно низкая, поэтому мы скопируем его в gitee и воспользуемся методом загрузки gitee zip.
2.1 Клонируйте проект на github в gitee и сгенерируйте zip-ссылку
2.2 Используйте wget для загрузки на хост (на данный момент это самый быстрый способ в моем реальном бою)
2.3 Сохраните завершение и войдите в проект
2.3.1 Сначала разархивируйте
unzip xxxx.zip
2.3.2 Войдите в проект, чтобы завершить установку (ЦП установлен по умолчанию, ГП может непосредственно видеть 3)
sudo python setup.py install
Пароль получается здесь:
При установке столкнулся с проблемой会下载numpy
, но для установки требуется среда с python >= 3.7
А разве наша виртуальная среда не python37+cuda101?Если присмотреться, то проблема с путем установки.В нашей виртуальной среде уже есть numpy.Если вам нужно установить numpy,зайдите в конфигурационный файл,чтобы убить шаги установки numpy.
vim setup.py
Найди это место и убей его
Удалите эти три строки, сохраните и снова выполните приведенный выше оператор установки (нет проблем)
Успешная установка:
3. УстановкаGPUВерсия
Вышеупомянутый процесс (по умолчанию) предназначен для установки версии процессора.Если вы не гонитесь за скоростью, вы можете протестировать ее напрямую.Эта часть предназначена для установки графического процессора.
3.1 Завершите копирование файла
cp tr_gpu/lib* tr/
3.2 После завершения установки
sudo python setup install
Эффект от установки такой же, как и от установки ЦП выше
4. Загрузите изображение и пройдите тест
4.1 Загрузить изображения
Примечание загрузить в папку imgs
4.2 Изменить тестовые файлы
Измените путь к изображению в файле test.py на данные, которые вы хотите протестировать.
Перед изменением:
После изменения:
4.3 Завершение теста
python test.py
Общее время, проведенное с использованием графического процессора1.65785s
4.4 Просмотр эффекта
Исходное изображение
Результат распознавания
5. Практический опыт проекта
- Скорость распознавания горизонтального текста очень высокая, особенно печатный текст в эксперименте, эффект очень хороший (
非常好
) - Для текста с определенным углом наклона эффект распознавания лучше (
好
) - Для вертикального текста эффект распознавания плохой, возможно модель не поддерживает вертикальное