баг с кропом

#1
by cxfvasdf - opened

if im.width > 1200:
im = im.crop((0, 0, 1200, H))
text = text # редко

кроп хардкожен

КАРТИНКА
сарсыарда сырдык буолбутун кэннэ кустуу барыахха...

после кропа
сарсыарда сырдык буолбутун кэннэ

TARGET
сарсыарда сырдык буолбутун кэннэ кустуу барыахха...

таким образом модель в эпохе получает невыполнимую задачу

Лаб ИИ org
edited 6 days ago

картинка и результат при инференсе? а если без кропа передавать изображение и сжать его до 1200?

агась сжать до 1200 будет круче чем резать

примерчик

im = im.resize((1200, 48))

тогда резаться не будет но учти надо высоту зафиксировать или соотношния сторон
примерчик юниформ скейла

scale = min(1.0, 1200 / im.width)

new_w = round(im.width * scale)
new_h = round(im.height * scale)

im = im.resize((new_w, new_h), Image.BILINEAR)

и получится 1200 × 32

но вообше можно как у гуглов делать адаптивную шириру строки
im = im.resize(
(max(8, int(im.width * H / im.height)), H),
Image.BILINEAR
)
лучше всего сделать экспортер результато масштабировании чтобы посмотреть что текст не деформировался от скейла а то crnn дрейфовать может

а попробуйте SVTRv2 + CTC обучить я ставлю на то что патчи прям круто шелкают задачу класификаций ну прям хоть почерк медсестры с рб2 поможет расшифровать а ctc прям лапочка вместо Дооооорро бббо сразу будет норм дорообо потомучто он предсказывает символы для каждого участка благо байду показывал результаты локального миксинга и глобального атеншна до ctc как референс почитай арксив PaddleOCR там все очень красиво написали товарищи с столички

вот работаю над ocr на арх sctrv2+ctc и генератор сурогата на базе diffusion
preview_grid
review_grid

еше надо прям понять что синт датасет если его состаривать или искажать детермированным алгоритмом сверточник попытается зазубрить алгоритм состаривания или искажения а на реальных фотках моделька будет плохим поэтому его надо штрафовать или исправить алгоритм генерации синта

Sign up or log in to comment