[recovery mode] Особенности национального распознавания образов
«Когда я слышу про распознавание образов, я никогда не спрашиваю, хорошие там алгоритмы или плохие. Я спрашиваю только, отличают ли они мотоцикл от трактора.» ©
Сев на мотоцикл, я не представлял себе, как сильно это изменит мои интересы и качество жизни, но, с началом сезона, я практически полностью выпал из привычного окружения. Тем не менее, IT вокруг нас, даже в такой чисто технической области, как езда на мотоцикле. И, насколько можно судить по КДПВ — это не «любой мотоцикл лучше, если он с Bluetooth и Arduino». Однако, мой сезон закончен, мот поставлен на зимовку и руки, наконец-то, дошли до окончательного оформления этой заметки.
Казалось бы, разве можно перепутать внедорожный минивен советской системы «Буханка» и «чоппер» культовой американской фирмы? Как ни странно, но подобные ошибки случаются время от времени. Потому, услышав об очередном подобном курьезе, я вспомнил про Хабр и решил поискать там информацию про распознавание автомобильных номеров. Не удивительно, что нашлось много интересного, цикл статей apelsyn, несколько публикаций ZlodeiBaal и Vasyutka — разработчиков из CV and ML problem solving team, в том числе статья Лопнул ли пузырь машинного обучения, или начало новой зари. Справедливости ради, она не про автономера, эта тема упоминается вскользь, только для примера. Речь там идет о больших данных и нейронных сетях, но мой взгляд зацепился за «распознавание автомобильных номеров» в поисковой выдаче Хабра, а если судить по изложенному — в этой области уже нет белых пятен и нерешенных проблем. Но как эти технологии работают в условиях русской действительности?
История с буханкой на КДПВ
«Видишь Харлей? А он есть…» ©
Информация взята с Байкпоста. Случай, на первый взгляд, комичный, но увы — не уникальный.
Номера транспортных средств, принадлежащих вооруженным силам специально сделаны такими, чтобы их никак нельзя было спутать с гражданскими, тем более мотоциклетными. Цвета — прямо противоположные, форма — вытянутый горизонтальный прямоугольник, номер в одну строку, расположение букв и цифр тоже отличается от «гражданских». Но. Последовательность символов и их количество — совпадает с мотономерами. Казалось бы, все равно слишком много отличий, увы…
Военные ни в чем не виноваты — их номерные знаки соответствуют регламенту, и мотоциклисты ни при чем — они правила не нарушали, но, тем не менее, не первый раз получают штрафы за лихачество солдат. Вот фотографии мотоциклов, на которых ездят рассказчик с Байкпоста и его жена, на мотоцикл которой пришел штраф: К слову, жена беременна и на мотоцикл в этом сезоне вообще не садилась.
Самое «забавное», что и у мотоцикла мужа тоже нашелся «военный двойник»:
Надежда только на то, что «Он по-брутальнее буханки будет и, надеюсь, так дерзко не гоняет…».
Случай с трактором
Инциденты, когда система путает военный номер с гражданским мотоциклетным — не так уж редки, но бывают еще более нелепые казусы. Например — путают мотоцикл, с… трактором!
На Мотофоруме есть тема Чужие номера, про эту историю. Пострадавшему от системы распознавания номеров пришел штраф за парковку на газоне:
Но вот в чем проблема, вот это его мотоцикл и живет он совсем в другом районе:
Он не ставит его на газоне, более того, из-за технических проблем еще не открыл сезон!
На первый взгляд, кажется что номера совершенно одинаковые, но на второй — оказывается что на номере нарушителя нет малозаметной надписи «RUS», потому что это тракторный номер, а не мотоциклетный. Кроме отсутствия этой надписи он отличается еще и размером:
Тракторный:
Мотоциклетный:
Размер по фото определить сложно, отсутствие RUS тоже не сильно бросается в глаза, но программа должна понимать эту разницу, хоть она и не настолько очевидная, как между военными и мотоциклетными.
Более того, есть подозрения, что вторую В «сделали» из буквы Р.
Подобное «художество» встречается и на обычных номерах, очень нехорошие мотоциклисты дорисовывают свой номер так, чтобы камеры читали его по другому и штрафы за их нарушения приходили совсем посторонним людям.
Ситуация не смешная, потому что владельцу эндуро пришло уже на 10 тысяч рублей штрафов за неправильную парковку хитреца, который «хакнул систему»! Судя по всему, административные нарушения инициируются бдительными гражданами через программу «Активный гражданин». Дело это полезное, нехорошо парковаться на газоне, но «Активные граждане» не подозревают, что зарабатывают себе баллы в программе, наказывая невиновного. Один из сочувствующих посоветовал сделать обратный «хакинг системы», зарегистрировать мотоцикл под другим госномером, а предыдущий объявить утерянным, тогда он будет объявлен в розыск и его «владельца» будут ждать большие неприятности.
В одной из тем посвященных этой проблеме, приводили слова адвоката, который, на полном серьезе, тоже посоветовал человеку сменить номер мотоцикла, на который три года подряд приходят штрафы за солдатов-лихачей рулящих военным Камазом, каждый раз приходится прилагать немало усилий для обжалования этих штрафов.
«Мораль сей басни такова…»
С одной стороны — алгоритмы для решения таких задач давно известны и отлажены, программисты увлеченно рассказывают о собственном опыте разработки и успешном применении в коммерческих проектах. Если почитать статьи на Хабре, то создается впечатление, что подобные задачи уже стали скучной рутиной:
стартапов становится меньше. А вот продакшна больше. Нужно приделать распознавание автомобильных номеров? На рынке сотни специалистов с релевантным опытом. Можно нанять и за пару месяцев ваш сотрудник сделает систему. Или купить готовую.
Но с другой стороны — находится тот самый «продакшн», которого «стало больше». Есть сотни специалистов, есть готовые системы, но на этапе реализации начинаются традиционное: «гладко было на бумаге», «буяк-буяк и в продакшн».
Как обычно бывает с госзаказами — системы покупаются попроще и подешевле, для внедрения берут студентов, оборудование заказывают «у своих». Бюджет освоен, откаты заплачены, галочки поставлены, что будет после запуска — никого не волнует, потому что система работает, штрафы выставляются, а мотоциклистов мало, много шума они не поднимут. Остается слабая надежда, что «Москва — город маленький», и разработчики с Хабра могут быть знакомы с теми людьми, которые занимаются внедрением и обслуживанием этой системы, и, таким образом, информация о проблемах дойдет до тех, кто может повлиять на текущую ситуацию.