«Кубок мастера инноваций Intel»: соревнование по глубокому обучению. Задача 1: распознавание текста в общих сценариях (OCR)
https://tianchi.aliyun.com/competition/entrance/531902/introduction
Конфигурация среды
Установите paddlepaddle-gpu, при наличии установленной CUDA можно установить напрямую через pip.
Официальная документация по установке: https://www.paddlepaddle.org.cn/install/quick
— Python 3; — требуется наличие GPU.
Общий порядок действий: обучение и прогнозирование в один клик
Чтобы участникам было удобно запускать baseline, мы подготовили код для обучения и прогнозирования. В случае с GPU обучение займёт полчаса, а прогнозирование — 10 минут.
git clone https://gitee.com/coggle/tianchi-intel-PaddleOCR
cd tianchi-intel-PaddleOCR
sh run.sh
Конечно, вы можете выполнить действия пошагово, следуя инструкциям ниже. Обратите внимание, что все инструкции выполняются в корневом каталоге кода.
Шаг 1. Загрузка изображений для соревнования
python3 down_image.py
Изображения сохраняются в каталог train_data/tianchi/image, имена файлов сохраняются. Тренировочный и тестовый наборы хранятся вместе.
Шаг 2. Загрузка модели для прогнозирования
Поскольку OCR включает несколько этапов, на этом этапе мы только дорабатываем обнаружение, поэтому нам также нужны веса других этапов.
mkdir inference && cd inference/
# Скачать модель
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_infer.tar
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_rec_infer.tar
# Распаковать модель
tar -xf ch_ppocr_server_v2.0_rec_infer.tar
tar -xf ch_ppocr_server_v2.0_det_infer.tar
tar -xf ch_ppocr_mobile_v2.0_cls_infer.tar
После загрузки вы можете проверить, работает ли модель.
python3 tools/infer/predict_system.py --image_dir="./1.jpg" --det_model_dir="./inference/ch_ppocr_server_v2.0_det_infer/" --rec_model_dir="./inference/ch_ppocr_server_v2.0_rec_infer/" --cls_model_dir='./inference/ch_ppocr_mobile_v2.0_cls_infer/' --use_angle_cls=True --use_space_char=True
Результат:
dt_boxes num : 2, elapse : 0.9568207263946533
cls num : 2, elapse : 0.006417512893676758
rec_res num : 2, elapse : 0.05788707733154297
Predict time of ./1.jpg: 1.036s
土地整治与土壤修复研究中心, 0.973
华南农业大学-东图, 0.992
Если вы используете предварительно обученную модель, вы также можете получить хороший результат. Однако из-за различий между данными соревнований и общими данными точность после доработки будет выше.
Шаг 3. Обучение модели обнаружения
Сначала загрузите веса предварительно обученной модели обнаружения.
cd inference
wget https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_server_v2.0_det_train.tar
tar -xf ch_ppocr_server_v2.0_det_train.tar
Затем выполните доработку, здесь мы обучаем 4 эпохи, обучение занимает около получаса.
python3 tools/train.py -c configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml -o Global.pretrain_weights=./inference/ch_ppocr_server_v2.0_det_train/
Шаг 4. Прогнозирование для тестового набора
После завершения обучения экспортируйте веса модели для прогнозирования. Затем выполните прогнозирование для изображений тестового набора и запишите результаты в формате json.
# Экспорт модели
python3 tools/export_model.py -c configs/det/ch_ppocr_v2.0/ch_det_res18_db_v2.0.yml -o Global.pretrained_model=output/ch_db_res18/best_accuracy Global.save_inference_dir=output/ch_db_res18/
# Прогнозирование для тестового набора
python3 tools/infer/predict_system_tianchi.py --image_dir="./doc/imgs/11.jpg" --det_model_dir="output/ch_db_res18/" --rec_model_dir="./inference/ch_ppocr_server_v2.0_rec_infer/" --cls_model_dir='./inference/ch_ppocr_mobile_v2.0_cls_infer/' --use_angle_cls=True --use_space_char=True
# Сжать результаты
zip -r submit.zip Xeon1OCR_round1_test*
Справочные материалы
https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.1/doc/doc_ch/customize.md
https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.1/doc/doc_ch/recognition.md
https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.1/doc/doc_ch/inference.md
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )