Closed Gerpea closed 4 years ago
Есть несколько причин того что вы получаете низкое качество:
Для того чтоб на вашей тестовой выборке получалось хорошее качество я объединил наш и ваш датасет, в резултате получилось accuracy на вашых тестовых данных около 96% (на самом деле качество скорее всего получше, если поправить ошибки). Вычитайте датасет, объедените его с нашим и попробуйте натренировать модель еще раз на версии 1.0, думаю результаты будут получше. Вот новая модель для tensorflow >= 2.3 : https://nomeroff.net.ua/models/ocr/ru/tf2/anpr_ocr_ru_2020_10_07_tensorflow_v2.3.h5
Сможете ли вы обновить модель, если вам скинуть подобный датасет, но на 50к номеров? Куда его будет удобнее скинуть?
Да, натренируем, только для версии 1.0, для старой не вижу смысла -- она в 2.5 раза медленее распознает. Расшарте ссылку через Google Disc
Также хотел обратить ваше внимание на то что вы сохраняете полученные фотки в формате BGR (обратите внимане на странный цвет флага РФ :) ), чтоб конвертнуть фотку обратно в RGB можно использовать такой скрипт:
# BGR to RGB converter
# use: ptynon3 BGR2RGB.py <filename>
import cv2
import numpy as np
import sys
if len(sys.argv) < 2:
sys.exit()
filename=sys.argv[1]
im_bgr = cv2.imread(filename)
im_rgb = cv2.cvtColor(im_bgr, cv2.COLOR_BGR2RGB)
cv2.imwrite(filename, im_rgb)
Запустить массово на конвертацию в нужной папке можно так
#!/bin/bash
for var in `ls your_dir`
do
python3 BGR2RGB.py your_dir/$var
done
Пока что получилось только на 40к, Ссылка: https://drive.google.com/file/d/17HVALyRex3eH43tmGokXbH7MR25CNdNu/view?usp=sharing Мы хотим добиться примерной точности распознавания украинских номеров. Стоит ли собирать еще номера? Или это не будет сильно влиять на качество распознавания?
Не обратил внимания на флаг) Спасибо за скрипт, пробежался по фоткам
Пока что получилось только на 40к, Ссылка: https://drive.google.com/file/d/17HVALyRex3eH43tmGokXbH7MR25CNdNu/view?usp=sharing
Это достаточно большой датасет.
Мы хотим добиться примерной точности распознавания украинских номеров. Стоит ли собирать еще номера? Или это не будет сильно влиять на качество распознавания?
Пока что сложно сказать насколько сильно повлияют дополнительные данные на конечную модель, экспериментально мы установили что после 100 000 качество не улучшается, после 50 000 улучшения идут на доли процента. Украинские номера будут распознаваться всегда лучше русских, по причине специфики строения русского номера (негативным фактором являются слишком маленыкий размер цифр региона в правом верхнем углу, при низком разрешении там могут возникать ошибки, иногда даже человеку сложно понять там 3 или 8, 5 или 6)
Не обратил внимания на флаг) Спасибо за скрипт, пробежался по фоткам
Я сегодня на ночь запущу скрипт тренировки, завтра утром выложу новую модель.
Тренировка прервалась, сейчас разбираюсь что не так. Без аугментации 97% точности та вашей тестовой выборке. К сожалению часть времени ушла на вычитку датасета там как и в прошлом есть ошибки (порядка 1%) а с ними высокую точность получить не получиться. Думаю амбициозной целью будет добиться 98% качества Хотел уточнить чтоб не тратить время на проверку: предыдущий датасет входит в состав этого 40K или они не пересекаются. Если не пересекаются то их можно будет объеденить для получения еще лучшего результата тренировки.
Тренировка прервалась, сейчас разбираюсь что не так. Без аугментации 97% точности та вашей тестовой выборке. К сожалению часть времени ушла на вычитку датасета там как и в прошлом есть ошибки (порядка 1%) а с ними высокую точность получить не получиться. Думаю амбициозной целью будет добиться 98% качества
Не могли бы вы скинуть вычищенный датасет, чтобы мы могли понять откуда возникают ошибки
Хотел уточнить чтоб не тратить время на проверку: предыдущий датасет входит в состав этого 40K или они не пересекаются. Если не пересекаются то их можно будет объеденить для получения еще лучшего результата тренировки.
Да, они пересекаются
Вот линк на "вычитаный" датасет: https://nomeroff.net.ua/exchange/ru_part1.zip Так же я удалил часть примеров с очень низким качеством, т.к. это может работать в худшую строну при обучении. Еще есть одна проблема -- выборка несбаланчирована по букве "M", она встречается крайне редко и модель, как правило, ошибается в сторону "H". На вашем тесте у меня уже 99%. Чтоб компенсировать проблему с буквой "M" я добавлю наш датасет.
Новую модель добавил, датасет также обновил, итоговая точность около 99%.
Спасибо большое за проделанную работу, сейчас сетка почти не ошибается на хороших фотографиях. Бывает неправильно распознаёт тип номера, как я понимаю для улучшения качества нужно тренировать другую, но пока что мы не можем разметить датасет для неё. Возможно когда у нас будет больше времени мы займёмся этим. И постараемся тщательнее проверять выборки
Тренировочная модель и загруженная модель дают разные результаты.
Тест на тренировочной модели
Тест на загруженной модели
Так происходит только когда я тренирую на своем датасете, если брать https://nomeroff.net.ua/datasets/autoriaNumberplateOcrRu-2019-08-30.zip, то модели совпадают
Что я делаю не так?
Мой датасет https://drive.google.com/file/d/192MvuVZ6o5fBjzuvrSo6tGMhlrzydl90/view
Пример аннотации и фотографии: