Как стать автором
Обновить

Альтернативный метод классификации поля «пол» паспорта РФ с помощью нейронной сети

Время на прочтение6 мин
Количество просмотров3.3K
Всего голосов 7: ↑7 и ↓0+7
Комментарии4

Комментарии 4

1) Я бы задрал контраст в максимум. Это привело бы картинки к ч/б. А это ускорило бы обучение нейросети на порядки.
2) Использовал бы на картинках аугментацию поворотом и перспективой. Т.к. врятли вам в боевых условиях предоставят столь хорошо выровненные фотки.
3) Не уверен, что хорошо понимаю «метрическую сеть», но имхо
По выходу классифицирующей сети нельзя сказать, как сильно отличаются классы исходного алфавита, в то время как это хорошо видно по кластерам выходного пространства метрической сети.

Вроде на выходе классификатора имеем набор вероятностей, что объект относится к каждому классу. Если дельта между ними высокая => классы сильно отличаются. Дельта низкая => классы слабо отличаются. Не вижу особых различий с результатом-вектором из метрической сети.
4) Имхо, не имеет большого смысла оптимизировать нейросети для смартфонов. Т.к. чаще всего распознанные данные нужно куда-то после этого «загрузить», а значит все равно интернет доступен, а значит можно вынести распознавание на нормальное железо.
Спасибо за комментарий. Давайте разберемся подробнее с каждым из указанных пунктов =)
1) К сожалению, в реальной жизни любые методы бинаризации приводят к искажению, а в худшем случае — к нечитаемости, входных данных. Данные, приходящие на мобильные системы, очень разнородны в плане искажений — проективные преобразования, смазывания, блики от ламинирующей пленки и защитных элементов паспорта, перепады освещения и затертости текста — в итоге, смешной выигрыш во времени при обучении приводит к ужасным потерям качества в реальной жизни.
2) Вообще, они используются, а также смазывания и шум. Просто в пост добавили четкие и слабо искаженные данные.
3) Короткий ответ: это не так.
Длинный ответ: классифицирующие сети всегда страдают от «излишней уверенности». Это значит, что на довольно хорошей картинке у вас лучший конфиденс сети будет около 1.0, а остальные — фактически по нулям. Например, для уверенно распознанной буквы «и» по нулям получат и «й», и «з», хотя мы (и метрическая сеть) прекрасно понимаем, что «й» похожа на «и», а вот «з» уже не очень. Реально близкие конфиденсы можно иногда увидеть либо если картинка очень плохая (практически нечитаемая), либо если у символов иногда совпадает написание (например, I (ай) и l (эль) в латинице).
4) Безусловно, можно передавать данные на облако для распознавания, а тысячи людей по всему миру оптимизируют сети просто ради самого процесса. Вот представьте, вам надо срочно вернуться домой из отпуска. И в приложении для покупки билетов есть распознавание паспорта. Интернет у вас вряд ли хороший, но как повезет. И вот для заполнения данных вы передаете на сервер множество картинок, ведь распознается видеопоток, а не одна фотография. Связь прерывается, вы теряете драгоценное время, а потом, в лучшем случае, вбиваете данные руками, а в худшем — остаетесь без билета. Ну и правильно, пользоваться распознаванием должны только люди с отличным интернетом, готовые к утечке персональных данных.
P.S. Ну и, конечно, данные всегда нужно передавать, даже если речь об автоматической кассе для продажи именных билетов.
4) И все же, я думаю, что лучше в облако. Просто из соображений управления бизнесом. Смотрите, вы на оптимизацию сети потратили немало человекочасов, причем в статье явно описан «удачный вариант», а за кадром, наверное, было еще штук 5 неудачных гипотез, на них тоже ресурсы потрачены — вот это все надо записать в циферку затрат (и она выйдет немаленькая). Как результат вы получили конкурентное преимущество — работа в оффлайне.
Покрытие и качество интернет увеличиваются с каждым годом — тут и моб сети улучшаются, и wimax покрытия встречаются, и спутники как магистральный провайдер дают возможность провести инет туда, где раньше и не думали. Рост этого рынка будет каждый год снижать пользу от «работы в оффлайне» и, думаю, по истечению следующей пятилетки сведет пользу к нулю.
Вы приводите пример — и в нем уже в конце процесса покупка билета — т.е. действие уже в онлайне. Поэтому польза от «работы в оффлайне» уже снижается до вопроса стабильности канала. Передачу данных на нестабильном канале тоже можно программно улучшить (убрать принцип «канал кратковременно упал => вся работа потерялась») — эта задача уже довольно хорошо изучена и не представляет большой сложности (говоря проще, не требует проверки гипотез — сразу можно написать рабочий вариант). Что еще снизит пользу от «работы в оффлайне».
От облака есть еще дополнительные преимущества: возможность сбора больших данных. А значит вы сможете улучшить свой алгоритм методом композиции нейросетей — т.е. выбрать те примеры, где ваша нейросеть справилась неудачно и построить еще одну, которая дораспознает эти ошибки. Из оффлайна делать это невозможно, из полу-оффлайна делать это сложнее.
Ну, давайте дальше разбираться. Пойдем с конца.
1) Сбор больших данных. Во-первых, сбор паспортов граждан у нас в стране, да и во всем мире — деятельность, строго регулируемая законодательством, поэтому просто так взять и собрать картинки для обучения, а потом еще и отдать их разметку — незаконно. Во-вторых, у любой такой системы гигантский шанс кражи личных данных. Вот нам лично не хочется, чтобы фотографии наших паспортов и банковских карт оказались в открытом доступе.
2) Покрытие, конечно, улучшается. Но, во-первых, вы упорно игнорируете тот факт, что данные передавать надо не всегда. И работа вполне может происходить не на смартфоне, а на устройстве с похожими характеристиками. В предыдущем комментарии мы упоминали кассы для продажи билетов, в которые надо вбить данные, и они его напечатают. Также вполне возможно, что организация, использующая распознавание, не хочет заводить себе облако и вообще не хочет ничего ставить. Ей нужно просто фактически сканер, который наводишь на документ, а на компьютере уже текст. Это как с распознавание штрихкодов — вы же не ожидаете, что кассы в продуктовом подключены к облаку. Во-вторых, в Подмосковье, например, легко найти поселки и снт, где проводного интернета нет, а мобильный работает так себе, то есть, текст вы отправлять можете, а вот картинки — уже не факт.
3) Из соображений бизнеса лучше не попадать под законы о защите персональных данных. Это точно. Ну и не забывайте, что все незаконно собранные данные надо еще руками посмотреть и разметить. И тоже записать это в затраты. И не стоит забывать про переносимость технологий. Как сказано в статье, в такую сеть можно добавить пины, просто посчитав векторы для идеалов. В обычной сети так не получится. И сделать сверточную сеть, а уже тем более MLP с 20к выходных пинов — тоже.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий