Если вы не знаете, что такое Quick Link Scan, это приложение, которое я разработал пару лет назад. Исходная версия поддерживала только сканирование URL-адресов, с возможностью делать это с распечатанного плаката, выносного меню, визитной карточки или где-либо еще, просто отсканировав его с помощью телефона.

Недавно я поддерживал соц.

The Elevator Pitch

Приложение, позволяющее открывать платформы социальных сетей путем сканирования тега учетной записи или хэштега.

На момент написания этой статьи это приложение предназначалось только для iOS, построенное на основе ML Kit из фреймворка Google Firebase. Когда в 2019 году работал над первой версией, Google был королем, когда дело дошло до обработки изображений для распознавания текста. Однако за последние пару лет Apple сделала машинное обучение на устройстве очень привлекательным.

Пример использования - Google против Apple в области распознавания текста машинного обучения

Создавая социальное обновление для Quick Link Scan, я протестировал новые функции, добавленные в iOS и Swift, однако скорость и точность обработки по-прежнему зависят от самого устройства. С iPhone 12 точность обработки результата распознавания текста была хорошей, но когда я снова переключился на свой старый iPhone X под управлением iOS 14, он упал. И скорость обработки, и качество камеры с затенением от источников света резко изменили бы результат, возвращая беспорядочный буквенный вывод ответа от модели Apple.

Не поймите меня неправильно, я был очень взволнован, когда Apple объявила VNRecognizeTextRequest на WWDC в 2019 году, шаг в правильном направлении от ограниченного VNRectangleObservation, но пока этого не произошло.

Сосредоточьтесь на поддержке офлайн и на устройстве

Самым большим толчком с самого начала всегда было машинное обучение на устройстве. Начиная с оригинальной версии Quick Link Scan, я всегда буду уделять внимание ситуации в реальном времени и реальном месте при использовании приложения. Не беспокоясь о HTTP-запросах, серверных процессах и, что наиболее важно, о том, что пользователю нужно включить мобильные данные, пока он находится вне дома и только для того, чтобы использовать приложение. Быстрое сканирование ссылок сначала работает в автономном режиме, поэтому процессы машинного обучения на устройстве с распознаванием текста Apple ML просто не могут его сократить.

После сканирования тега социальной учетной записи или хэштега Quick Link Scan позволяет вам перейти в Twitter, Facebook и Instagram для поиска и взаимодействия с ними, что требует подключения к сети, но возможность извлекать эти теги выполняется без Интернет. Это позволяет пользователю, не имеющему круглосуточного доступа к Интернету, быстро сканировать его и сохранять на потом, чтобы просматривать и взаимодействовать с ним, когда у них будет подключение.

При использовании распознавания текста в Google ML все еще возникают проблемы, но точность моделей через Google намного превосходит точность, которую я получал при использовании собственной встроенной поддержки Apple. Чем точнее результат, тем больше вероятность, что пользователь продолжит использовать быстрое сканирование ссылок. Вдобавок, успешное тестирование еще на iPhone 6s и все еще получение высокой точности моих результатов, даже с 6-летним разрывом между этим и iPhone 12.

Я буду продолжать наблюдать, как VNRecognizeTextRequest становится более зрелой и лучше поддерживаемой функцией. Возможно, после будущего WWDC я наконец смогу переключиться на встроенную поддержку Apple. До тех пор я по-прежнему предпочитаю Google.

Следите за будущими версиями Quick Link Scan, поскольку я продолжу с основной концепцией, но расширю за счет URL-адресов и социальных тегов; подробнее об этом в будущем.

Некоторые дополнительные ресурсы

Распознавание текста в Vision Framework - отличная сессия, когда Apple выпустила VNRecognizeTextRequest.

ML Kit - Google Firebase Framework для машинного обучения.