Как помочь зрячему человеку прочитать текст по Брайлю?
Как доступными средствами оцифровать брайлевский текст?
И что побудило специалиста по искусственному интеллекту озадачиться распознаванием Брайля?
Беседуем об этом с Ильёй Оводовым, разработчиком приложения и облачного сервиса Angelina Braille Reader.
Прямой эфир 8 февраля 2021 года
Олег ШЕВКУН. Всем привет, друзья! «Тифлострим» на своем месте. Олег Шевкун у микрофона. Вы когда-нибудь задумывались о том, что Брайль может быть недоступным? Мы говорим о том, что или другое недоступно незрячему человеку. Мы боремся за доступность. Мы обеспечиваем доступность. Мы решаем возникающие проблемы. И это всё здорово.
А вы когда-нибудь задумывались о том, что Брайль может быть недоступен зрячему человеку? Большинство из нас об этом не задумывается. Я думаю, большинство зрячих людей об этом тоже не задумывается до определенного времени. Однако бывают исключения…
Илья Оводов у нас в гостях. Илья, добрый день! Добро пожаловать в «Тифлострим»!
Илья ОВОДОВ. Добрый день!
О. ШЕВКУН. Я в начале эфира говорил о том, что иногда мы не задумываемся, насколько недоступным для зрячего человека может быть Брайль. Когда вы столкнулись с Брайлем напрямую?
И. ОВОДОВ. Два с половиной года назад мы взяли в семью слепую девочку Ангелину. Она как раз пошла в первый класс. Мы тоже вместе с ней пошли в первый класс учиться по Брайлю.
О. ШЕВКУН. И тут стало понятно, что что-то не очень доступно.
И. ОВОДОВ. Это замечательная штука, но предназначена совершенно не для нас. Руками читать удобно, – правда, мне это сложно оценить. У меня не получается, как и у большинства зрячих, которые сталкиваются с Брайлем. Глазами читать Брайль очень тяжело.
О. ШЕВКУН. Глазами читать Брайль – вредить своим глазам, портить зрение. Наши зрители, наши слушатели, которые учились в школе для слепых, это видели. Видели преподавателей, которые говорили: «Я тут ваши тетрадки читала, читала, – и глаза себе посадила». Так не надо. Не надо Брайль читать глазами.
Насколько я понимаю, вы компьютерщик? Я это слово не люблю, оно слишком обобщает. Но в данном случае оно будет правильным.
И. ОВОДОВ. Я не просто компьютерщик. Уже девять лет я профессионально занимаюсь областью компьютерных разработок, которая называется «компьютерное зрение». Суть в том, чтобы научить компьютер по видео или по фото понимать информацию, которую через видеокамеру или через фотокамеру компьютер видит на этих изображениях.
О. ШЕВКУН. Вы занимаетесь этим как разработчик?
И. ОВОДОВ. Это моя основная работа. Там я занимался разными задачами, связанными с системами охраны. Так что подходы, по крайней мере, мне были знакомы, – как можно попытаться решить такую задачу, я имею в виду распознавание Брайля.
О. ШЕВКУН. Расскажите про области применения компьютерного зрения. Потому что мне сразу приходит в голову: «Кому нужно компьютерное зрение? Да, незрячим оно нужно; слабовидящим оно нужно». А ведь, наверно, не только нам?
И. ОВОДОВ. На моих глазах в этой области произошла революция. Здесь, как после любой революции, хорошие новости и плохие… Сейчас всё больше людей бьют тревогу. Мы все, оказывается, под колпаком.
О. ШЕВКУН. Обыск у человека, которого вычислили по камерам наблюдения, как участника оппозиционного шествия. Это тоже результат использования технологий, которые называются компьютерным зрением?
И. ОВОДОВ. Ну, в общем, да. Другой вопрос: то, что вычислили его по камерам наблюдения, скорее, гипотеза. У этих товарищей есть много разных способов вычислить человека. Но, по крайней мере, такое предположение есть, что камеры, которые везде понатыканы, здесь тоже поработали.
Я расскажу про приложение, которым мы занимаемся. Это реальная система охраны, там, где, действительно, нужно охранять. Периметр атомных станций, внутренность аэропортов. Например, решаются такие задачи: человек подошел, поставил чемоданчик, и бочком-бочком ушел…
О. ШЕВКУН. А в этой задаче что нужно определить?
И. ОВОДОВ. Нужно определить тот факт, что человек оставил чемодан и ушел. В ситуации скопления людей это требует некой реакции. Может быть всякое.
О. ШЕВКУН. О том, что глазами читать Брайль нельзя, пишет нам Андрей Поликанин: «Учительница начальной школы посадила так себе зрение». Ну, вот Илья Оводов не захотел. Он подошел к задаче иначе.
И. ОВОДОВ. Дело даже не столько в моем зрении, сколько в зрении замечательной учительницы, которая взялась учить нашу Ангелину.
О. ШЕВКУН. А она зрячая?
И. ОВОДОВ. Она зрячая, да.
О. ШЕВКУН. То есть, у вас была еще одна проблема. Незрячий ребенок пишет какую-то работу, и зрячему человеку нужно это прочитать.
И. ОВОДОВ. Да. К счастью… Тут это слово неуместно, – это чудо Божье, – в нашей школе нашелся тифлопедагог.
О. ШЕВКУН. Я как раз собирался у вас спросить… Потому что читать Брайль – это одно. Но сначала этого ребенка нужно научить писать по Брайлю.
И. ОВОДОВ. Когда мы взяли Гелю из детского дома (из интерната в Сергиевом Посаде), буквы она уже немного знала, и читала примерно одну строчку в минуту. Это даже не уровень 1-го класса. Мы не знали, как будем решать проблему её учебы. Просто в какой-то момент подумали, что, как говорится, «война план покажет». Все варианты были один хуже другого. И вдруг Ольга, моя жена, заходит в поселковую школу. И там наша знакомая учительница младших классов говорит: «Ольга, у вас новый ребенок? Она слепая? А вы знаете, что я по образованию тифлопедагог и 10 лет проработала в школе для слепых?»
О. ШЕВКУН. А она работала в обычной школе в данный момент?
И. ОВОДОВ. Да, она работала в обычной школе дефектологом. Кроме этого, она работала еще учителем младших классов. Она говорит: «Как раз в этом году я выпускаю 4-й класс. На будущий год я уже класс брать не буду, а возьму только ставку дефектолога и индивидуальное обучение вашей дочки».
О. ШЕВКУН. Слушайте, это ведь не конфиденциальная информация. Просто среди наших слушателей и зрителей, возможно, есть люди, которые у этого педагога учились. Вы можете сказать, как её зовут?
И. ОВОДОВ. Лариса Николаевна Лукьянчикова.
О. ШЕВКУН. Итак, Лариса Николаевна взялась за обучение вашей дочери в инклюзии, кстати…
И. ОВОДОВ. Нет, индивидуальное, надомное обучение. И через год она уже буквально взвыла… Одно дело, когда человек работает в спецшколе. Он видит эти учебники каждый день не первый год… А когда учительница занимается с нашей дочкой постоянно, только с ней, после многих лет перерыва… Ей приходится эти учебники прочитать, чтобы знать, что на какой странице написано. Не помогает существование тех же учебников, напечатанных плоским шрифтом. Разная совершенно верстка…
Так вот. Через год Лариса Николаевна сказала: «Ищите другие варианты. Я больше не могу физически. Я по шесть часов готовлюсь к каждому уроку. Я вымотана». Это заставило конкретно взяться и в свободное от работы время всерьез заняться этой задачей.
О. ШЕВКУН. В наши времена это, знаете, как решалось? Вариантов учебников было меньше, и вообще, задача была проще. Зрячий преподаватель просто расписывал в плоскопечатном учебнике: «По зрячему страница такая-то; по Брайлю – такая-то». Но это тоже не решало вопрос, потому что, особенно, когда ты учишь ребенка читать-писать, нужно посмотреть расположение текста на странице. Нужно взаимодействие с этим учебником.
И. ОВОДОВ. Это большой труд. В первый раз всё равно этот учебник по Брайлю нужно прочитать, буквально каждую строчечку, – где там и что.
О. ШЕВКУН. То есть подождите, получается, что ребенка вы обучаете на дому, правильно?
И. ОВОДОВ. Это нормальная законная форма обучения.
О. ШЕВКУН. Почему вы выбрали именно эту форму? Это связано с какими-то вашими семейными желаниями, или с тем, что сложно найти школу для слепых?
И. ОВОДОВ. Мы живем же не в большом городе. Мы живем в подмосковном поселке Менделеево. Ближайшая школа, которая умеет работать со слепыми, находится в Москве.
О. ШЕВКУН. И вы решили в эту школу не возить. Вы решили учить самостоятельно?
И. ОВОДОВ. Это был один из тех плохих вариантов, которые мы рассматривали. Нам пришлось бы два с половиной часа в один конец тратить на эту дорогу.
О. ШЕВКУН. Чтобы было немножко понятнее… У вас семья, в которой есть и свои дети, и приемные дети. Ангелина – ребенок приемный. А сколько вообще всего детей?
И. ОВОДОВ. Всего у нас восемь детей, но все уже практически выросли. Сейчас с нами живет пятеро из них. Трое старших девочек от 15 до 17 лет; а младшие две – Ангелина и Варя (это тоже приемная дочь, она не ходит).
О. ШЕВКУН. Вы приняли конкретное решение принять в свою семью детей-инвалидов?
И. ОВОДОВ. Да. В случае с Варей Господь устроил такое чудо… Мы наткнулись на её анкету. Сначала жена; потом она поделилась этим сердечным переживанием со мной. Мы думали целый год, всё взвешивали: сможем ли мы решиться. Надеялись, что кто-нибудь возьмет Варю, кроме нас.
О. ШЕВКУН. Господь её для вас приготовил.
И. ОВОДОВ. …Но так получилось, что никто не взял. Через год мы всё-таки дозрели. Когда Варя пробыла у нас уже несколько лет, когда основные сложности с её и лечением, и вхождением в семью были позади, тогда, благодаря, если можно так сказать, стечению обстоятельств, назовем это так…
О. ШЕВКУН. Обстоятельства сами по себе не стекаются.
И. ОВОДОВ. …О том и речь! Все увязалось в такую чудесную цепочку, через которую мы столкнулись с миром слепых. У нас была идея взять на воспитание щенка собаки-поводыря… Через это мы столкнулись с миром людей незрячих. Возникла идея: у нас хватит сил и возможностей вырастить слепого ребенка. Настолько важно, чтобы ребенок не рос в детском доме! У нас уже был опыт.
О. ШЕВКУН. Понятно. О других аспектах воспитания незрячего ребенка мы можем поговорить в отдельном эфире, если будет заинтересованность слушателей и зрителей.
И. ОВОДОВ. Для этого нужно позвать мою жену.
О. ШЕВКУН.…Значит, с Брайлем. Сами решили разработкой программы заняться, или подсказал кто?
И. ОВОДОВ. Моя замечательная жена! Всем хорошим в жизни я обязан ей, в том числе и идеей, что я могу сделать эту программу. Она была убеждена, что программу, которая распознает эти точечки на бумаге, я могу сделать за пару вечеров.
О. ШЕВКУН. Это же плевое дело вообще!
И. ОВОДОВ. По её мнению, да.
О. ШЕВКУН. Вы занимаетесь искусственным зрением. Ну, точечки на бумажке… Ну, ерунда!
И. ОВОДОВ. Именно так. На самом деле, это намного сложней, чем распознавание обычного текста, написанного черным по белому.
О. ШЕВКУН. Вот, значит, точечки. Обычно, когда чем-то начинают заниматься, исследуют… Как в работе научной: исследуют, что было до нас. Вы ведь, наверно, залезли в ваш любимый поисковик, какие-нибудь запросики сделали… Не знаю: «распознавание Брайля»; «конвертер Брайля»… Если да, то что вы нашли, и какой вывод вы из этого сделали?
И. ОВОДОВ. Нашел я около 50-ти научных работ за время работы с этой программой, которые, соответственно, изучил, прочитал, проанализировал.
О. ШЕВКУН. То есть, это методология, это подходы. Это не решение, допустим, программы…
И. ОВОДОВ. Да, это не готовое решение, а то, как решается эта проблема. Из готовых решений я нашел, по крайней мере, в России, единственное решение, которое предлагает фирма «ЭлекЖест», которая, как ни странно, находится в четырех километрах от моего дома.
О. ШЕВКУН. Так чего надо было заморачиваться? Поехал в «ЭлекЖест»…
И. ОВОДОВ. Они предлагают решение под названием «Большой сканер», который ставится на пол. В него нужно эту книжку засовывать, сканировать и так далее.
О. ШЕВКУН. Это решение появилось много лет назад, когда по-другому нельзя было. Телефоны тогда еще фотографировать не умели.
И. ОВОДОВ. Тут проблема, мне кажется, не столько в том, что телефоны не умели фотографировать. Я же еще и посмотрел, как эти программы пишутся, – я же не зря прочитал эти 50 научных работ. До недавнего времени все подходы, которые были опубликованы, во всех приложениях, связанных с распознаванием Брайля, опубликованных не только в России, но по всему миру, принципиально используется такой подход: сначала ищут эти точки, потом восстанавливают сетку, в которой вписан Брайль. Большинство слушающих нас знает, как построен Брайль. Это точки, расположенные на неких воображаемых линиях. И, восстановив эту сетку, эти программы понимают, что же там за символ. Именно поэтому нужно лист тщательно разровнять, чтобы эта сетка стала реальным набором прямых линий. Если мы фотографируем развернутую книжку на мобильный телефон, все эти линии станут кривыми. Именно поэтому, до недавнего времени… Я не знаю аналогов той разработки, которую сделал я за эти два года, не только в России, но и в мире.
О. ШЕВКУН. Вопрос от Андрея Поликанина: «Илья, какой технический стек вы использовали для разработки своей программы?»
И. ОВОДОВ. Технический стек – это нейросетка с архитектурой full-frame detection.
Это нейросетка, которая умеет редактировать объекты с указанием их ограничивающей рамочки… Реализовано это всё на базе PyTorch – одной из программ для работы с нейросетями. Это первый шаг.
Дальше возникает вторая задача. Когда мы получили набор брайлевских символов, нужно их еще в обычный текст сформировать. Это очень непросто. И тут мне пришлось писать свою собственную реализацию на Python, которая транслирует брайлевские символы в плоский текст с учетом различных обозначений, начиная с самых простых (цифровой знак, математические символы и так далее).
О. ШЕВКУН. Мы сейчас пройдем по этим шагам, потому что очень полезно будет разделить процесс на шаги…
И. ОВОДОВ. Тут ещё спрашивают: это только для смартфона, или для компьютера тоже? Этот сервис работает через интернет.
О. ШЕВКУН. Это облачная история, вы можете делать, на чем угодно.
И. ОВОДОВ. Да, реальное вычисление происходит на облаке, которое предоставил любезно Яндекс. Первое время работало на моем компьютере. Надо просто зайти на сайт http://www.angelina-reader.ru/ Это можно сделать с компьютера, с мобильного телефона.
О. ШЕВКУН. После серьезного вопроса от Андрея я задам свой тупой вопрос. Смотрите: распознавание обычного плоскопечатного текста – вопрос, который решается очень давно, при чем решается успешно для разных языков, для разных шрифтов. Я сейчас такую вещь скажу, в которой, наверно, всё неправильно. А вы мне скажите, что неправильно. Брайлевская буква – это еще один вариант обычной буквы. Соответственно, грубо говоря, простому Finereader можно задать: «буква А будет выглядеть вот так». Это будут не точки, а примерное очертание. В этом очертании будет один закрашенный кругляшок в левом верхнем углу. Буква Б – два закрашенных кругляшка… То есть, распознавание Брайля – как вариация, как изменение тех подходов, тех систем, которые есть уже для распознавания текста. Пойдет? Или там есть какие-то принципиальные соображения, которые делают это либо невозможным, либо неудобным?
И. ОВОДОВ. Я вам брайлевский символ из одной точки нарисую. Это буква А или запятая?
О. ШЕВКУН. А это надо знать, где он в этом пространстве находится.
И. ОВОДОВ. Это как раз то, чем отличается брайлевский текст от обычного плоскопечатного текста. Там буква может быть воспринята только в контексте других букв.
О. ШЕВКУН. И поэтому вам нужен этот прямоугольник. Важен не только символ, но и та пустота, – я так упрощенно говорю, – которая вокруг него. Нужно построить границы этого прямоугольника.
И. ОВОДОВ. Нужно рассматривать эту надпись в контексте соседних символов, чтобы понять, на каком уровне находятся те или иные точки, в отличие от обычного плоскопечатного текста, где буква А – она и в Африке буква А. Именно поэтому те подходы, которые до сих пор были опубликованы, сначала находят точки, потом находят сетку, в которую вписывают эти точки, чтобы понять, в каких номерах этой сетки – 1, 2, 3, 4, 5, 6 – стоят точки. И когда у нас лист искривленный, лист кривой, сфотографированный сбоку, когда в перспективе искажения возникают, он как бы сужается по мере удаления от фотоаппарата… Эту сетку, оказывается, восстановить весьма сложно. Нужен более хитрый алгоритм, который использует близкий контекст, но не пытается использовать весь лист целиком. И вот нейросети здесь очень неплохо себя показывают.
О. ШЕВКУН. Я немножко объясню, чтобы у нас не было терминологической путаницы, когда мы говорим о программе, то имеется в виду облачный сервис, в котором есть пользовательский фронтенд, то есть то, с чем мы с вами взаимодействуем. Есть то, что крутится на компьютере – раньше у Ильи Оводова, теперь на компьютерах у Яндекса. Поэтому с чего вы это вызываете – с телефона, с компьютера; чем фотографии сделаны – это не столь важно. У вас же нету приложения, которое было бы написано специально под iOS или Android, и с этим облачным сервисом взаимодействовало бы. Это именно интерфейс сайта. Я правильно понимаю?
И. ОВОДОВ. Да. Единственное отличие: когда вы работаете со смартфона, там есть кнопочка, которая позволяет, не выходя из этого приложения, сделать фотографии. Нажали кнопку «AngelinaReader», – открылось окошко; там есть кнопка «Сделать фото». Делаете фото, и тут же получаете результат распознавания. А на стационарном компьютере такого нет. Эта кнопка просто спрятана, потому что в компьютере обычно нет встроенной фотокамеры.
О. ШЕВКУН. А даже если есть, то очень неудобно фотографировать с компьютера. Вы замучаетесь.
Давайте мы пройдем по шагам. Здесь несколько этапов. Первый этап: получить, я даже не буду говорить «хорошую», – я буду говорить «юзабельную, пригодную для использования» фотографию нашего брайлевского текста. У вас на сайте есть раздел «Помощь. Справка». Там вы пишете про освещение и прочие интересные вещи. А насколько важна в этой ситуации контрастность? И какая это контрастность? Точка должна быть немножко черная на белом? Или более белая на менее белом?
И. ОВОДОВ. Мы ориентировались на то, что мы фотографируем белые точки на белом фоне.
О. ШЕВКУН. Изначально.
И. ОВОДОВ. Да, это обычная книжка. Берется брайлевская книжка. Точки не черные, но их можно разглядеть. Чтобы точку можно было разглядеть, нужно единственное: она всё-таки должна давать некую тень. Поэтому нынешняя версия программы при освещении строго сверху работать будет плохо. Также она не будет работать, если у вас телефон не резкий, темно… Там даже глазами ничего не разглядишь. Поэтому, чтобы программа работала хорошо, нужно выполнить небольшие условия, вполне приемлемые.
О. ШЕВКУН. Давайте их оговорим сразу.
И. ОВОДОВ. Нужно достаточно яркое освещение, чтобы ваш телефон делал четкую фотографию; свет при этом должен падать несколько сбоку, приблизительно с дальней от вас стороны листа. Грубо говоря, днём вы подошли к окну, положили листок или книжку на стол, низом страницы к себе, верхом страницы к окну, и сфотографировали.
О. ШЕВКУН. Вам пришлось программу для предварительной обработки этих фотографий писать самому в расчете на брайлевский текст? Или вы просто взяли обычную программу, и никакой дополнительной обработки фотографии не проходят?
И. ОВОДОВ. Там никакой особенной обработки нет внутри. Есть библиотеки на Python, которые я использовал. Но это не то ноу-хау, о котором здесь стоит говорить. Это умеет любой программист.
О. ШЕВКУН. Желающие, кстати, всё это могут посмотреть, потому что ваш продукт живет на GitHub.
И. ОВОДОВ. Да. У него открытый код. И вообще, можно ту часть, которая отвечала за обучение этого продукта, скачать. Более того, на GitHub также живет набор данных, которые я предлагаю.
Небольшой экскурс, что такое нейронная сеть, и как с ней работают. Нейронная сеть – способ заставить компьютер выучить некоторые закономерности. Для этого происходит так называемый процесс обучения нейронной сети, когда компьютеру загружаются данные, про которые известны правильные ответы. В случае с брайлевским текстом, это должны быть данные, где на каждый символ отмечено рамочкой, что это за символ, и какая там буква. Разметить такой набор картинок – это огромный труд…
О. ШЕВКУН. Андрей Поликанин пишет про программу, что это – огромная работа…
И. ОВОДОВ. Если бы я взялся с нуля, думаю, воз был бы и ныне там. Я бы просто не осилил.
О. ШЕВКУН. У нас ВОС и ныне там. А воз всё-таки движется…
И. ОВОДОВ. Я должен выразить признательность коллегам из Китая, которые занимаются той же проблемой. Они сделали и опубликовали первый в мире набор данных с размеченным Брайлем, несмотря на то что задачей распознавания Брайля занимаются с 80-х годов. Единственный набор данных с размеченным Брайлем я нашел именно китайского изготовления двухлетней давности. До этого ничего не было. Он не совсем тот, который мне нужен. Там использовались сканированные странички, на которых всё привязано к сетке, поэтому немножко проще было различить. Там сто страниц сканированных текстов размечены. Указано, где эти точки, и где какие символы. После того, как я ознакомился с этой работой, мне удалось сделать некий прототип, который смог как-то распознавать уже новые тексты. Мне не приходилось размечать с нуля. Я исправлял ошибки. Тут было придумано некое ноу-хау. В качестве первых распознаваемых текстов я использовал стишки. Они выгодно отличаются тем, что там известно, в какой строчке какая буква на каком месте стоит. Я мог в интернете скачать текст, например, «Мухи-цокотухи», и мне сразу подсветится, где пропущено слово, где пропущена буква, где буква неправильно распознана, где не распознана буква. Это стало достаточно реальной задачей. В результате у меня на GitHub опубликован набор данных, уже больше 200 аннотированных страниц, как говорят профессионалы, то есть размеченных рамкой вокруг каждой буквы брайлевских текстов, причем более сложных, снятых на телефон в разных условиях. На этом я обучал нейронную сеть. Это опубликовано для публичного доступа.
О. ШЕВКУН. Здесь немножко разные истории. Насколько я понимаю, они раздельные, но в то же время пересекаются…
Я-то себе представлял, что ваша первая задача заключается не в том, чтобы перейти от набора этих брайлевских точек к тексту на русском или на любом другом поддерживаемом языке. Я полагал, что ваша первая задача – это перейти к некоему промежуточному варианту. Ну, допустим, Брайль в системе Юникод, или еще какой-то способ хранить Брайль безотносительно к языку. Вы же сейчас говорите о соотнесении текстов на конкретном языке. Это другой подход? Я чего-то не услышал, чего-то не понял?
И. ОВОДОВ. Как раз наоборот! Самым сложным для меня был первый шаг, о котором вы говорите. И мне подошли тексты на китайском языке, хотя китайский язык я ни разу не знаю. Первая собственно нейронная сеть, обучение, наборы данных – это именно распознавание по фотографии, где какая брайлевская буква.
О. ШЕВКУН. Я тут тоже еще, «Я ж не просто балаболю, я политику веду»… Мне, как брайлисту со стажем, ваша программа очень нужна. Огромное количество есть материалов. Вопрос только в том, что я не хочу, чтобы мне это распознавали. Я просто хочу, чтобы был вывод Брайля в формате Юникода в той последовательности, которая в Юникоде есть для Брайля, сохранение текстового файла… Ну а дальше, используя другую цитату, «и делай с ним, что хош». У меня достаточно инструментов, с помощью которых я это могу сделать. Для вашей про граммы такая задача реальна? Вот это расщепление на этапы реально происходит? И можно ли выдернуть текст до того, как мы перевели его в русский, английский или другой текст?
И. ОВОДОВ. Можете меня поздравить! Я читаю ваши мысли.
О. ШЕВКУН. Я не знаю, поздравлять с этим или нет! Вы представляете: вы будете читать мысли людей, а потом они ответят взаимностью, Илья!
И. ОВОДОВ. На самом деле, всё немножко проще. Были уже такие пожелания. И сейчас мы совместно с одной фирмой делаем новую версию сайта. Там, собственно, будет выдаваться этот промежуточный результат в виде брайлевского текста на Юникоде.
О. ШЕВКУН. Вот это супер!
И. ОВОДОВ. Сначала я не думал, что это будет нужно. Я был уверен, что это – тот самый случай, когда мы облегчаем жизнь зрячих людей, решаем проблему, когда зрячие оказались в худшем положении, чем незрячие. Но оказывается, для незрячих это тоже полезно.
О. ШЕВКУН. Илья Оводов, давайте я не буду сейчас перетаскивать камеру к тем полкам, где у меня стоят брайлевские рукописные архивы… Тогда, наверно, кому-то станет плохо. А оцифровать это очень хочется. А оцифровывать это нечем. В данном случае, конечно, не надо распознавать, – надо оцифровывать. Артем Плаксин спрашивает, а когда это будет?
И. ОВОДОВ. Будет в очень обозримой перспективе. Месяц – два максимум.
О. ШЕВКУН. Артем Плаксин спрашивает: «Илья, только GPU? Портирование под CPU невозможно в принципе из-за используемых технологий, или просто замедлит распознавание? И насколько ориентировочно?»
И. ОВОДОВ. Замедлит. Если на хостинге от Яндекса поднять хороший сервер, ядер так на 20, то распознавание одной странички занимает около пяти секунд. То есть в принципе можно. Если домашний компьютер похуже, распознавание одной картинки будет секунд 10 – 20 занимать. То есть в принципе уныло, но можно пользоваться. Простейшая видеокарточка 1060 Ti для домашнего использования может заставить этот сервис работать.
О. ШЕВКУН. Тут речь о том, чтобы сервис был не только облачным. Вы хотите сделать продукт, который будет крутиться независимо от интернета на системе пользователя. Правильно я понял?
И. ОВОДОВ. Да. Меня просят сделать так, чтобы он еще и на мобильном телефоне пользователя крутился. Боюсь, это еще сложнее. Хотя в перспективе мы попытаемся что-то подобное сделать, но тут я уже боюсь сроки называть.
О. ШЕВКУН. Спрашивают вас про вспышку, когда делать фотографии…
И. ОВОДОВ. Вспышка, наверно, всё испортит.
О. ШЕВКУН. У вас есть очень странная настройка… Нет, она, конечно, великолепная. Я только не очень понимаю, как это работает. Двухсторонний текст. Ведь с одной стороны – точечка, которая тень отбрасывает, а с другой-то стороны просто углубление…
И. ОВОДОВ. Которое тоже отбрасывает тень, только в другую сторону.
О. ШЕВКУН. И вы это разделяете? То есть это работает?
И. ОВОДОВ. Да. Именно поэтому есть требование, чтобы, особенно в двухстороннем Брайле, свет падал с дальней стороны листа, для того, чтобы программа могла отличить точечки вверх от точечек вниз. Более того, я сначала надеялся, что программа научится по внешнему виду отличать эти точечки. Эти мои попытки кончились, когда я картинку, которую получил, перевернул вверх ногами, и глазами увидел, что у меня резко точечки выпуклые стали вогнутыми, а вогнутые выпуклыми. Это оптическая иллюзия такая. Нам кажется, что мы отличаем, что вот этот пупырышек на нас смотрит, а это не пупырышек, а углубление… Оказывается, всё потому, что мы привыкли, что свет падает сверху. После этого я решил, что программа не научится распознавать по внешнему виду точки; и просто сказал, что для двухстороннего Брайля мы делаем такое ограничение: свет должен падать только с заданной стороны. Правда, идея распознавать по одному фото и обратную сторону пока работает плохо, мы её будем дорабатывать. Но если вам хочется распознать побыстрее, и вы готовы пожертвовать качеством, можно сделать одно фото и распознать обе стороны.
О. ШЕВКУН. А можно сделать одно фото двухстороннего текста и распознать только одну сторону? Наличие текста с другой стороны не помешает?
И. ОВОДОВ. Нет, не помешает.
О. ШЕВКУН. Брайль бывает разный. Я понимаю, что предсказать здесь сложно. Если вы берете страничку учебника или страничку того, что только что написал ребенок, здесь есть особые вещи… Но если это страница старого Брайля, – это может быть пожелтевшая бумага, крапинки на самой бумаге, которые никакого отношения к брайлевским точкам не имеют, это могут быть затертые точки… Вот эти несовершенства или эти шумы – насколько они опасны? Насколько они будут мешать в работе? Или это не столь важно?
И. ОВОДОВ. Работе, скорее, будет мешать то, что точки в старых книжках менее ярко выражены. Они уже вдавились. Будет не такая четкая картинка. Кто с сталкивался с нейросетями, понимает, что нейросеть умеет распознавать то, что ей показали. Если ей показали только очень хорошие книжки, то, скорее всего, она на плохих работать не будет. Если ей показывали самые разные книжки: хорошие, плохие, рукописные, проколотые грифелем ученика насквозь, – возможности будут намного больше. Я, как большой, иду по пути Фейсбука и прочих Яндексов. Если кто-то пользовался или будет пользоваться этой программой, там есть такая галочка: «Согласны ли вы, чтобы то, что вы загружаете в программу, использовалось на благо всего человечества?» Если это не конфиденциальная информация, это не личные дневники, и если вы ставите эту галочку, то вы позволите использовать эти фотографии, чтобы обучить сетку еще лучше.
О. ШЕВКУН. Погодите, фотографии сама сетка только будет использовать, или они будут выложены в свободном доступе?
И. ОВОДОВ. Я уже говорил, что опубликовал набор данных, которые использовал. У меня нет цели сказать, что это всё только я делаю, «я всё придумал, и больше никому не дам». Наоборот, я опубликовал набор данных, чтобы все желающие могли пользоваться. Те фотографии, про которые пользователи дали такое разрешение, хотелось бы опубликовать, чтобы можно было этот набор скачать, и по нему дальше учить подобную программу. Поскольку программа используется, у меня накопился большой набор разных данных, самых разных, в том числе и старых книжек. Я надеюсь через некоторое время запустить подобную процедуру. Правда, я не знаю, как это всё разметить.
О. ШЕВКУН. В смысле?
И. ОВОДОВ. Даже с учетом того подхода, который я использую, и всех нововведений, которые я приспособил… Есть изображения, есть результат их распознавания с помощью программы. И нужно исправить ошибки и дополнить то, что программа не распознала, чтобы этому можно было программу учить. Это ручная работа. Есть сервисы типа Яндекс.толоки, которые позволяют привлечь коллективный разум, в том числе за деньги. Но тут нужны люди, знающие Брайль, и при этом зрячие.
О. ШЕВКУН. Я бы сказал, что есть слабовидящие люди, которые знают Брайль. Если иметь распознанный текст в Юникоде, но для этого нужен дисплей Брайля… Хотя нет. Мы же не можем посмотреть на саму картинку… Но есть другая история. Человек распознал свои тексты. Ему говорят: «Хочешь помочь проекту?» «Хочу. А что делать?» «Возьми, пожалуйста, свой текст и результат распознавания, и каким-то образом отметь ошибки». Тут нужно продумать интерфейсик. Но опять-таки – программа бесплатная, система бесплатная, ну, по крайней мере, пока. Не знаю, собираетесь вы её коммерциализировать или нет… Но поскольку она бесплатная, можем же мы вложиться в её усовершенствование! Вот я тут отсканировал пару страниц, я их распознал, я пробежал быстро… И, как, например, в Яндекс-переводчике, поставил отметку: «хороший перевод», «плохой перевод», «исправить ошибки»… Я не знаю, сколько людей этим воспользуется… Но технически – почему бы и нет?!
И. ОВОДОВ. Вот в первом варианте у меня была такая кнопочка. Причем, первым вариантом пользовались люди, которых мы позвали целенаправленнно потестировать. К сожалению, обратной связи практически не было. Я эту кнопку просто убрал, потому что она запутывает людей.
О. ШЕВКУН. Тут даже можно сделать так: у вас уже есть регистрация; она такая примитивненькая в данный момент. Но можно организовать кружок любителей сервиса, кружок людей, которые поддерживают сервис. Он может быть небольшой. Я вхожу под своим ником, под своим именем пользователя и паролем, и, соответственно, может быть такая штука, как уровень доверия и так далее… Здесь надо думать. Может, ребята подскажут. Потому что сегодня вы выходите конкретно на аудиторию незрячих. При чем, если люди смотрят нас в прямом эфире или в записи, значит, этим людям не всё равно.
Вот спрашивают, сколько времени распознается страница с помощью GPU? Вы говорили 10-20 секунд.
И. ОВОДОВ. Это если её ставить на локальный компьютер не очень мощный. С использованием GPU она распознается практически моментально, за долю секунды.
О. ШЕВКУН. «Каков процент ошибок при распознавании?» – спрашивает Программыч. Это, наверно, зависит, при распознавании чего… Хотя я даже не знаю, как вы можете среднюю величину подсчитать, если вы не проводили сопоставления ошибок. Каков процент ошибок при распознавании?
И. ОВОДОВ. Это сильно зависит от качества фотографии. Где качество фотографий хорошее, там доли процента, то есть несколько ошибок на страницу печатного текста. По крайней мере, если говорить об ошибках именно при распознавании Брайля. Там дальше возникают ошибки интерпретации, – с математикой не везде нормально. Но сам именно брайлевский текст распознается очень хорошо, там ошибок десятая доля процента. Но, с другой стороны, я же могу сделать такую фотографию, что там вообще ничего не распознается. Всё, что человек сделал, человек может поломать.
О. ШЕВКУН. Так я видел комментарии у нас в группе в VK: «Сделал фотку, послал, да ничего не распозналось». Хочется сказать: плохой сервис. А тут вопрос встречный: А какая была фотка? «Garbage In, Garbage Out» – мусор на входе – вы получаете мусор на выходе.
Взаимодействие с библиотеками. Вы как-то этот вопрос уже отрабатывали, или до этого еще руки не дошли?
И. ОВОДОВ. Пока нет. Насчет «Garbage In, Garbage Out»» тут забавно. Пишут: «Ваша программа не работает. Ничего не распознала». Пишу: «Пришлите фотку». Присылают фотку с обычным плоскопечатным текстом. Я говорю: «А чего вы ожидали?»
О. ШЕВКУН. Даже так?
Так получилось, что я с этой программой занял второе место в конкурсе агентства стратегических инициатив, и они её стали продвигать через правительственные компании, правительственные каналы. Я так понимаю, что спецшколам и Обществам слепых спустили некую разнарядку: ознакомиться и сделать отзыв. И вы знаете, на самом деле, оно того стоит, – такого количества позитива я давно не получал. Многие пишут: «Спасибо, очень здорово». Из Краснодара прислали: «Мы учителя школы. Родители, которым мы показывали, говорят, что хорошо работает. Проблемы были первое время, пока люди не приспособились». Действительно, нужно какое-то время потратить, чтобы приспособиться, как фотографировать, как заставить её работать. После этого все довольны. Но 10 – 15 % ответов негативных: «Ваша программа несовершенна, пользоваться ею нельзя».
О. ШЕВКУН. Ну так это естественная ситуация! Что бы ни делали, это будет.
И. ОВОДОВ. Я считаю, что это очень-очень хороший результат. Вдохновлен, воодушевлен.
О. ШЕВКУН. Еще один вопрос. Люди-то пишут по-разному. Мы говорили про Брайль, мы говорили про книги… Но ребенок может, извините, затыкать шеститочиями ошибку. Ребенок может написать так, как не положено писать по Брайлю. И далеко не всякий брайлевский текст можно так интерпретировать, чтобы зрячему человеку это было понятно. Как решаете подобные проблемы?
И. ОВОДОВ. Шеститочия мы воспринимаем, как зачеркивание; просто считаем, что в этом месте ничего нет. А если там написано «карова», то «карова» там и останется.
О. ШЕВКУН. Я так понимаю, что проект пока не собираетесь делать коммерческим.
И. ОВОДОВ. По поводу коммерциализации… Тут штука такая. Я бы, может, и хотел что-нибудь заработать, но всё-таки количество людей, которые используют этот проект, небольшое. Его, грубо говоря, сбором по копеечке не окупишь. Почему дорого стоит всякая техника для незрячих, для инвалидов? Мелкая серия. Соответственно, ставить цены, сравнимые с ценами других устройств, у меня не поднимается рука. Что, с учителей брать? Я, может быть, по 100 рублей взял бы. Но это только лицо терять. Я ж не Раскольников, чтобы за 20 копеек старушку убивать. Поэтому, думаю, этот проект на обозримое будущее был, есть и останется некоммерческим вообще. Максимум коммерциализации, который я здесь вижу, – если он будет популярным, сделать кнопочку «пожертвовать».
О. ШЕВКУН. На GitHub тоже можно пожертвовать.
И. ОВОДОВ. Обуславливать пользование этим продуктом деньгами… От людей закрою, и даже денег не получу. Это совсем тупо. Я понимаю, что у любого человека есть цена, за которую его можно купить, но не за 20 же копеек!
С другой стороны, на удивление, хорошее дело не остается безнаказанным. Я вообще не думал, что хоть что-то на этом заработаю. А тут неожиданно – премия губернатора, например.
О. ШЕВКУН. Дело оказалось, действительно, хорошим.
И. ОВОДОВ. Мало того, что дело оказалось хорошим. Его еще и оценили. И как-то получилось, что я кое-что заработал на этом, не ограничивая никому доступ. Что дальше будет, не знаю. Я исхожу из того, что пока надо развивать, как некий волонтерский проект. Кое-кто подключается к разработке на GitHub, чего и слушателям желаю.
О. ШЕВКУН. У нас есть, кстати, даже среди тех, кто сегодня пишет, люди, которые зарегистрированы и участвуют в разработке на GitHub. Поэтому полагаю, что будут и новые участники тоже.
Скажите, пожалуйста, знакома ли вам система брайлевской трансляции Liblouis? И насколько она применима в вашем проекте? Вы можете её использовать, или вам приходится делать что-то новое?
И. ОВОДОВ. Я так понимаю, что она как-то работает для перевода в Брайль. Но когда я попытался её использовать для перевода из Брайля в плоскопечатный текст, то у меня получилось ужасно. На сайте http://www.angelina-reader.ru/ есть контакты, в том числе и электронная почта, а также ссылка на гетхабовский репозиторий. Так что если кто-то готов поделиться опытом работы с Liblouis, то будет очень интересно.
О. ШЕВКУН. Насколько есть желание, насколько есть стимул делать поддержку других языков?
И. ОВОДОВ. Сначала появилась поддержка узбекского языка. Мало того, что программу прорекламировали в разных уголках России, так еще и в Узбекистане. И они сказали: «Всё классно! Но у нас есть четыре новых буквы. Сделайте, пожалуйста!» 4 буквы я сделал, – мне не сложно. Студент из Санкт-Петербурга сделал вклад на гитхабе – добавил греческий язык. Пока я еще не выложил его в боевую версию, но скоро там греческий появится. Английский был практически с самого начала. Проблема в том, что в английском есть система краткописи. Краткопись я пока не сделал.
О. ШЕВКУН. Для краткописи есть коммерческие решения точно, для того, чтобы краткопись расшифровывать и потом преобразовать обратно. Но эти ребята обычно хотят много денег. Вот у нас немножко не та история.
Тут Беко уточняет по поводу порта на CPU. «На самом деле, если будет возможность оптимизировать процесс на относительно нормальных мобильных устройствах, будет возможность сделать очень хороший offline-инструмент».
Слушайте, а есть ли смысл? Если они хорошие, то они всё-таки в online выходить могут. Я не Илья, но задаю вопрос: а вот овчинка выделки стоит? Чем online-инструмент в данном случае плох? Но, возможно, я чего-то не понимаю.
И. ОВОДОВ. Вы знаете, не везде есть нормальный интернет. Мы в Сергиево-Посадскую школу приехали показывать, а у них внутри корпуса интернет не работает. Пришлось положить на подоконник мобильный телефон, раздать с него Wi-Fi. И тогда мы продемонстрировали преподавателям, как работает наша замечательная программа. Можно засунуть эту штуку в мощный мобильный телефон, – а у многих ли он есть? Кроме того, нужно разбираться, что это за телефон, потянет – не потянет. Скорее всего, у меня просто в обозримом будущем не будет ресурсов, чтобы это сделать. Тут уже должен быть нормальный коммерческий продукт. Нужно, чтобы кто-то вложил в эту разработку очень много времени и сил. Возможно, нужна команда из нескольких человек. Сейчас проектом занимаюсь я, и еще один коллега подключился. Тем не менее, нас, как тех революционеров, которые разбудили Герцена, – нас пока еще мало.
О. ШЕВКУН. Не будите Герцена, ради Бога!
И. ОВОДОВ. Да, может быть, не надо будет «будить Герцена». И, соответственно, тогда деньги придется за этот продукт брать.
О. ШЕВКУН. Что нужно сделать, чтобы добавить новый язык? Нужна ли текстовая база, – спрашивают нас.
И. ОВОДОВ. Просто язык сделать – практически ничего не нужно. Если вы программист, достаточно посмотреть, как сделаны предыдущие языки, и добавить еще один. Это совершенно не сложно. Самое оптимальное, если программист выложит решение на GitHub. Для тех, кто не знает: GitHub – место, где программисты могут обмениваться; дописывать что-то в чужие программы. …Этот язык я туда включу. Мне это не сложно.
О. ШЕВКУН. Я, на самом деле, сижу и просто балдею от того, что вы делаете. Понятно, что поругаться и покритиковать всегда есть кого, и есть, за что. Но когда человек берется и делает, и делает хорошо; делает, будучи готов развивать… Не говорит: «Ребята, я всё знаю. Отвалите от меня. Когда будет надо, тогда и сделаю!» Вот эта открытость, – она, конечно, подкупает.
«Для английской краткописи, – пишет Андрей Якубой, – сойдет и Liblouis. Причем в обе стороны».
И. ОВОДОВ. Вот вторая из обеих сторон мне важна.
О. ШЕВКУН. Вот Андрей Якубой как раз работает с Liblouis в России, поэтому он именно тот человек, который нужен.
Пишут о том, чтобы сайт был опенсорсным. А он и так OpenSource.
И. ОВОДОВ. Да. В правом нижнем углу сайта http://www.angelina-reader.ru/ есть кнопочка для разработчиков. И вы попадете на сайт, который позволяет его дописывать, так же, как дописывают Linux.
О. ШЕВКУН. Вас тут просят про нотный текст. Я вам скажу: это когда Ангелина музыкой начнет заниматься.
И. ОВОДОВ. Не первый человек просит нотный текст. Это довольно сложная задача. Если кто-то готов её на себя взять, я буду очень рад. У меня такой возможности в ближайшее время не будет. Дело в том, что меня преподаватели просят обозначения по физике, по химии, по русскому языку (подлежащее, сказуемое и т. д.) …От этого уже голова кругом идет.
О. ШЕВКУН. Кстати, по физике – по химии. Часть этого решится латинским алфавитом.
И. ОВОДОВ. Там не латинский алфавит. Там важен перевод, – переход туда-сюда. Нужно понять: Ж – это русское Г или английское Ж…
О. ШЕВКУН. Вообще, есть правило расстановки признаков. Но даже взрослые брайлисты далеко не всегда эти признаки расставляют.
И. ОВОДОВ. Вот в этом и проблема. Если в некоторых случаях человек поставил признак – переход к английскому алфавиту, написал одно слово, а обратный переход забыл поставить… И всё. Дальше до конца страницы всё распознается английскими буквами.
О. ШЕВКУН. Да. И сделать с этим ничего нельзя.
И. ОВОДОВ. Можно, но это – задача из области искусственного интеллекта. Это в планах.
О. ШЕВКУН. Сейчас я поворчу. Это был бы не я, если бы не поворчал…Смотрите, идея блестящая, идея очень нужная. Но вы начали с того, что эта штука используется для школы, для проверки работы учащегося. До определенного момента использовать это можно. Но дальше начинаются какие-то специфические брайлевские дела, которые, действительно, может отметить, показать только брайлист. То есть, программу можно проинструктировать: «Вот на это не обращай внимания; интерпретируй это, как это…» Но тогда мы теряем обратную связь. Мы реально изменяем то, что написал ученик. Например, с теми же признаками…В принципе, можно предположить: программа, я так упрощенно говорю, проводит языковой анализ… Ну, это на другом языке. Ага, скорее всего, признак не поставили. А мы перекодируем, и скажем, что это не по-русски, а, например, по-английски. Всё хорошо. Но только ребенок всё равно признак не поставил. Поэтому, как любой проект, как любую программу, использовать это надо с умом. Программа решает многие вопросы, но не все. Согласитесь? Поспорите?
И. ОВОДОВ. Об этом я думал. Для некоторых случаев автоматическое распознавание ошибок («корова» / «карова») – это хорошо. А в некоторых случаях это плохо, а именно, тогда, когда нужно проверять ошибки, реально сделанные. Поэтому, я думаю, что скоро появится возможность включать определенную настройку. Когда мы дойдем до этого самого интеллектуального интерпретатора, его можно будет включить – выключить.
О. ШЕВКУН. Удачи! Тут еще может быть один вариант, когда будет удаленная работа незрячего учителя и незрячего ученика. Это как раз из той промежуточной фазы, о которой мы сегодня говорили, – сохранение комбинации брайлевских точек. Незрячий ученик или его родители фотографируют текст, отправляют незрячему учителю. Незрячий учитель работает с этим текстом на дисплее Брайля. Не в распознанном виде, а на дисплее Брайля. И тогда, действительно, не получая этот брайлевский текст, можно проводить проверку письменной работы. Вот это еще одно крутое использование, которое для сообщества незрячих будет очень важно.
И. ОВОДОВ. Вообще мы реально организовали в силу всем известных причин обучение нашей дочки удаленно, и успешно этим занимаемся с апреля прошлого года. Книжки – удаленно; работы – удаленно.
Но педагог у нас нормально видит. Соответственно, она читает то, что мы присылаем. Способ использования такой: вы читаете, – всё-таки 90 % текста вы прочитываете. Видите ошибку. Но в этом месте вы разглядели точечки, которые там наколоты, и в этом месте понимаете: это программа ошиблась или нет. Это вам очень облегчает жизнь. Если бы вам пришлось по фотографии разбираться… Это небо и земля.
О. ШЕВКУН. Еще раз: сайт http://www.angelina-reader.ru/ YouTube не пропустит ссылку…
Ну что же! Илья Оводов, вы молодец. Я вам признаюсь в конце этого эфира: когда мы, незрячие люди, видим, что кто-то сделал что-то такое, связанное с незрячими, у нас иногда сразу включается какой-то инстинкт сопротивления. Почему? Потому что даже в этой программе мы обозревали разработки товарищей, которые делают всякие «умные трости» и прочий трэш, который не работает. Но они с умным лицом говорят: «Мы специалисты!» И это стоит бешеных денег. И мы, в общем, достаточно напрягаемся, когда видим попытки людей «осчастливить» незрячих. Для того, чтобы переступить эту внутреннюю напряженность, нужно определенное усилие. Я, когда это усилие сделал, понял: да, вот это классно! Это здорово! Уверен, что этой сегодняшней встречей, этой беседой вы и другим людям поможете переступить через легкое недоверие… Попробовать… Да, где-то понравится; где-то – не понравится. Спасибо, что вы не только о своем ребенке позаботились, но сделали такой проект. Это реально классно, это очень круто!
И. ОВОДОВ. Спасибо большое! Я тоже был рад об этом проекте рассказать и услышать обратную связь. Это очень важно.
О. ШЕВКУН. Друзья, заходите на GitHub. Присоединяйтесь!
И. ОВОДОВ. Может, кто-нибудь захочет помочь.
О. ШЕВКУН. Вы имеете в виду финансово?
И. ОВОДОВ. Нет, я говорю о тех, кто умеет программировать. Андрей Якубой уже отписался в GitHub-е, и я по поводу Liblouis отпишусь.
О. ШЕВКУН. Алия Нуруллина пишет: «Я тоже со скепсисом начала тестировать эту программу, но это крутой продукт! Пусть Бог вас благословит в вашей работе».
И. ОВОДОВ. Спаси, Господь, и вас тоже!
О. ШЕВКУН. Слава Господу! Евгений Ривкин пишет: «Это был один из самых интересных «Тифлостримов». Илья, спасибо, что согласились поучаствовать». А вот на этом мы закончим. Илья Оводов и Олег Шевкун. Привет вашей супруге, которая вас на это дело вдохновила, и дочери, которая является источником этого вдохновения! Слава Богу! Всего доброго!