Там вообще интересная история с файлом `main_model.py` — можете ознакомиться с [холиваром](https://github.com/tensorflow/models/issues/5348) по поводу того, что он может не работать как надо во время обучения модели. Например, у кого-то просто сообщения не шли в консоль (что простительно), а у меня, например, обучение по этому файлу вообще не шло. А пилить стандартные скрипты в мои задачи не входило, поэтому считаю это существенным недостатком. И в итоге, собственно, был взят 'train.py' файл
1) По идее у каждой организации должна быть своя уникальная печать (или их несколько, но они все различные). Значит они и будут основаниями для классификатора и определять количество ваших распознаваемых типов.
2) Осталось только понять, какой способ в вашей задаче лучше — пытаться научить сеть распознавать документы целиком по этим печатям как единое изображение (и обучать по аналогии со 2 или 3 пунктом) или все же делать по пути object detection и размечать на каждом изображении нужный вид печати. Как показала практика на небольших выборках в таких ситуациях все же эффективнее путь object-detection, тк печати довольно похожи друг на друга и в 2 и 3 случае могут плохо отличаться в процессе распознавания.
OCR — это, в первую очередь, распознавание текста. Мой комментарий был к тому, что на хороших сканах печатных документов распознать реквизиты организаций может быть легче (либо надёжнее), чем их печати, которые часто ставят поверх подписи и текста, иногда они не полностью пропечатанные из-за нервной поверхности или заканчивавшихся чернил. Это, конечно, лишь мысли, на практике нужно смотреть конкретные примеры сканов, но попробовать подход с распознаванием текста тоже стоит.
Но если цель не в решении конкретной задачи, а в тренировке навыков, то другое дело.
Алена, большое спасибо Вам за статью. Недавно сам начал интересоваться ML и начал проходить точно такой же тяжелый путь с Tensorflow (туториалы, примеры и пр.). Ваша статья существенно облегчает жизнь.
В этой задаче лучше получить ложные срабатывания, чем пропустить, так что совсем без человека не обойтись
Можно выделять «подозрительные» снимки (те на которых предположительно может быть человек) среди всей массы и показывать пользователю первыми — это может значительно оптимизировать процесс.
Фактически любая технология, описанная в статье, способна на такое. Custom Vision в этом плане самое простое — минимум технических знаний и этот сервис часто дает ложно-положительные срабатывания, что в данной задаче неслишком большая проблема.
Конечно можно.
Скорее всего боьшинство команд в этом конкрусе будет использовать распознавание на подобных технологиях (нейронные сети). И не так много полноценных и качественных опенсорсных инструментов для этого — 4-5.
Почините ссылку на статью про Object Detection API, пожалуйста.
У компании, похоже, сменился никнейм на Хабре, и в Вашей статье ссылка не работает.
По номеру в ссылке смог восстановить рабочие варианты: habr.com/ru/post/422353 habr.com/ru/company/nix/blog/422353
Как разобраться в Tensorflow и не умереть, а даже научить чему-то машину