Мобільний OCR. Як все починалося (частина 2)

У попередньому пості ми почали розповідати, як OCR-технології «переїжджали» з настільних комп'ютерів в смартфони – а почалося все з програми для сканування візиток Business Card Reader. Але сканування візиток – це тільки один сценарій, де потрібно мобільний розпізнавання. Про те, як вирішувалися інші завдання хотілки користувачів, – читайте нижче.

Як ми вже говорили, перенесення технології розпізнавання на смартфони пов'язаний з купою обмежень і труднощів. Головною була і залишається ресурсомісткість технології – неможливо перенести її в мобільний пристрій. Але у нас вже з 2007 року був готовий інструментарій розробника ABBYY Mobile OCR SDK, який дозволяв на мобільному оцифрувати зображення і видати результат у форматі TXT без збереження форматування. І для початку 2011 року ми вирішили втілити в життя невеликі власні сценарії, в яких таке «елементарне» розпізнавання цілком підходило.

Нам хотілося зрозуміти, які сценарії затребувані, тому ми випустили експериментальну п'ятірку Grabber-ів для iOS: PhoneGrabber, MailGrabber, LinkGrabber, StreetGrabber і всім відомий TextGrabber. У кожного додатка була своя функція. Наприклад, PhoneGrabber сканував номер телефону з оголошення і тут же пропонував подзвонити, MailGrabber відкривав поштовий клієнт і пропонував відправити на розпізнаний адреса електронний лист, і так далі.

Так виглядав PhoneGrabber:



А так – MailGrabber:



TextGrabber був призначений для сканування невеликих фрагментів друкованого тексту з різних джерел (журналів, книг і навіть вивісок). Користувач фотографував зацікавив його уривок або завантажував готове зображення з фотоальбому, а на виході отримував текст в електронному вигляді, який можна редагувати, пошукати в інтернеті, поділитися ним.

Ностальгичекая версія 1.0:



Несподівано для нас на зовсім ще молодий TextGrabber зробив огляд один з авторів американського LifeHacker, назвавши програму «The Best Image-to-Text App for iPhone». Заголовок цього огляду збігся з одним з популярних пошукових запитів, за якими шукають такі програми. Завдяки цьому і донині, через 5 років, з огляду на додаток приходять користувачі.

Після випуску з відгуків в AppStore ми зрозуміли, що користувачам не вистачає можливості перекладу (наприклад, меню в ресторані за кордоном або інструкція від техніки на китайському). Так у 2012 році вийшла версія TextGrabber з вбудованим повнотекстових перекладом. Сценарій той самий фрагмент тексту з картинки перетворюється в електронний вигляд, а потім переводиться на українську мову.

Приблизно через рік після запуску нам написали відразу з кількох товариств слабозорих різних країн світу і попросили підтримати технологію VoiceOver від Apple, щоб сліпі люди теж могли «прочитати» з будь-якої картинки з допомогою TextGrabber.

У підсумку, з усієї Grabber-п'ятірки найбільш затребуваним виявився TextGrabber, який на сьогоднішній день підтримує 61 мову розпізнавання, а переводить на 104 мови. Але інші сценарії не забуті (і тут маркетологи просили написати «слідкуйте за нашими оновленнями»).

Приблизно в той же час ми створили бібліотеки, які вміли обрізати зайвий фон на фото, прибирати трапецію, шуми, робити фото контрастними. Наприкінці 2011 року ми зібрали ці бібліотеки ABBYY Mobile Imaging SDK (про цю технологію ми докладно писали в блозі). У теж час в AppStore стали з'являтися так звані «мобільні сканери». Тоді один з розробників нашої команди запропонував зробити сканер на основі MI SDK. У результаті В 2012 році на ринок вийшов FineScanner iOS.

Основна ідея програми – зробити з iPhone (iPad) адекватну альтернативу настільному сканера. FineScanner фотографував, обрізав і вирівнював зображення, прибирав заломи і тіні, застосовував фільтри, щоб оптимізувати для перегляду або друку, створював з сканів PDF або JPG файли.

Перша версія програми була без розпізнавання. Посипалися запитання: «А навіщо це взагалі потрібно, якщо є камера телефону?». Це було схоже на ситуацію з Business Card Reader, коли все навколо запитували, навіщо потрібно сканування візитки, якщо можна її просто сфотографувати. Ми пояснювали, що при простому фотографуванні залишається багато «сміття» – краю столу, тінь від руки. FineScanner все це виправляє, робить зображення выбеленным, букви чіткими, перетворює фото в PDF.

На той момент великою перевагою перед конкурентами стала можливість без додаткових налаштувань створювати багатосторінкові документи. Тоді, здається, у більшості мобільних сканерів був окремий режим, у який потрібно перемикатися перш, ніж знімати кілька сторінок одразу. FineScanner ж відразу розумів, що кілька сторінок за один «сет» потрібно об'єднати в єдиний документ.

Так виглядала перша версія FineScanner iOS:





З часом користувачі зрозуміли, що таке мобільний сканування: зрозуміли, що прямо на мобільному можна створити копію паспорта для банку, копію договору для бухгалтерії, копію довідки, і не треба тягнутися до великого офісного копіру-сканера, а досить дістати свій iPhone. Але вони знову попросили не просто сканер, а сканер + OCR.

Так як FineScanner був призначений для роботи з цілими сторінками документів, а не фрагментами тексту, логічно напрошувалося розпізнавання зі збереженням форматування. Отже, розпізнавання прямо на пристрої не підходило. Ми реалізували розпізнавання на сервері FineReader Online. Тут не було реєстрації, ми вбудували відповідну мобільним користувачам модель монетизації розпізнавання на основі передплати, хоча в 2014 році автовозобновляемая підписка ще не була так популярна, як сьогодні. До того ж Apple досить жорстко регламентував типи сервісів, які можуть її використовувати, і ми до останнього моменту не знали схвалить чи ні Apple Review Team таку підписку на OCR в FineScanner.

З OCR на борту FineScanner став повноцінним сканером в смартфоні, який може швидко зробити копію документа PDF або JPG, а потім розпізнати його текст на 193 мовах і зберегти в 12 популярних форматів, включаючи Word, Excel, Power Point. При цьому в документі вціліють таблиці, заголовки, форматування оригіналу, як якщо б ви працювали з традиційним сканером і ПК. Готові документи можна відкривати в будь-якому додатку, який вміє працювати з цими форматами, перенести в хмарні сховища, роздрукувати, відправити по електронній пошті.

Але на цьому історія розвитку FineScanner не закінчується. Ми подумали, раз вже говоримо, що FineScanner – альтернатива настільного сканера, і це так для звичайних офісних документів, то чому б не спробувати докрутити технологію для сканування книг (ми знали, що близько 30% наших користувачів сканували книги)? Головна проблема з книгами, коли їх фотографуєш смартфоном, а не притискаєш кришкою великого сканера, це вигини сторінок і рядків. Ти повинен фоткати кожну сторінку окремо, а не розворот відразу, але сторінки все одно будуть вигнутими, так як при зйомці «з рук» неможливо притиснути їх на 100%.

Результатом вирішення цього завдання стала технологія BookScan, перший прототип якої ми показали на Mobile World Congress в лютому 2015 року. А в грудні 2015 вийшла п'ята версія FineScanner з режимом сканування книг на борту.

Як це працює? При перемиканні в режим «Книга» FineScanner показує видошукач, налаштований для захоплення розвороту книги (2 смуги відразу). Після фотографування відбувається написання та обробка зображення на сервері. Додаток повертає користувачу два окремих зображення – лівої і правої сторінок з вже і обрізаним зайвим фоном і виправленими геометричними спотвореннями. Про технологію BookScan ми писали окремі докладні пости, їх можна знайти на тут та ось тут.

Ось так виглядає процес сканування книги:





Такі найголовніші віхи в розвитку мобільних додатків ABBYY до сьогоднішнього дня.

Ви напевно запитаєте – чому «першопрохідцями» завжди стають iOS-версії, адже Android теж дуже поширена система? Все дуже просто. Для того, щоб OCR працював добре, необхідна камера не менше 3 мегапікселів. Багато пристроїв на Android довго не відповідали цій вимозі. Моделей смартфонів і планшетів на iOS не більше двох десятків, і в них одне ЗА камери. Пристроїв на Android сотні, і кожен виробник намагається покращити ПО камери на свій розсуд. Стає практично неможливо зробити сканер, що однаково добре працює на всіх Android пристроях. З кожною новою прошивкою кожного виробника можуть спливти нові баги. І процес підгонки стає нескінченним.

Тому спочатку ми робили наші програми тільки під iOS. Але коли стало ясно, що Android займає все більшу частку ринку за кількістю пристроїв на руках, ми стали робити програми і під нього. Так, TextGrabber для Android побачив світ у 2013 році (через 2 роки після iOS), а FineScanner зовсім недавно – у липні 2016.

Зрозуміло, ми не збираємося зупинятися на досягнутому. В планах у нас поліпшення існуючого та створення нового. По-перше, скоро оновиться дизайн всіх додатків на iOS, так і Android. Ось як виглядає оновлені FineScanner для iOS





Ми думаємо над тим, як комбінувати онлайн і офлайн OCR, щоб прискорити обробку документів. Але є й інші, цікаві плани. Але поки не будемо розкривати деталей.

У нашій компанії постійно створюються нові технології, наприклад, для розпізнавання чеків, інвойсів, паспортів, і ми кожен раз оцінюємо, що з них з'явиться в наших мобільних додатках. Якщо у вас є ідеї корисних і зручних сценаріїв мобільного сканування – пишіть у коментарях, ми розглядаємо будь-які пропозиції.

От і все! Якщо у вас ще залишилися якісь питання з історії наших мобільних додатків, задавайте їх у коментарях.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.