Comments 26
Очень хороший проект, но мир ушел в сторону аудиоформата книг, и титрофлешплееров продвигаемых той самой компанией ЭлекЖест по цене нового Самсунга (в принципе за счет госбюджета и фонда соцстраха). Там такая убогая программная начинка, что даже зрячий не может добавить правильно книгу в каталог на флешке.
Добавить больше фотографий и сканов книг шрифтом Брайля в Датасет можно в читальном зале Российской государственной библиотеки для слепых http://rgbs.ru
В регионах есть региональные библиотеки, но выбор в разы меньше - каталог библиотек для слепых по регионам РФ http://www.rusblind.ru/
Удивился, что библиотечная система не выкладывает в публичный доступ книги для слепых, люди сами все ведут и обмениваются к примеру на сайте http://av3715.ru/ (аудиоформат).
Я думаю путем переговоров можно получить и исходные верстки (pdf) новых книг их библиотечного издательства (думаю это может помочь в машинном обучении - как должно быть распознано и какие искажения появляются в реальной бумаге).
Отличное решение, думаю что невероятно полезно людям связанным с работой со слепыми!
Порой сидишь, придумываешь различные конвейеры чтобы максимизировать прибыль компании, а ведь сделать полезную программу для обычных людей, которым это практически жизненно необходимо гораздо приятнее, это уже прямо таки верх духовного развития
Хм, а каков все-таки реальный use case для Вашей программы? Вот знаете Вы, что дочка сейчас читает "Мойдодыр", и хотите читать его вместе. Вы же можете найти текст уже в электронном виде...
Для родителя:
Имеется учебник (на Брайле). Ей задали "упр. 24 на стр.35". Надо помочь разобраться в условии, прочитать что там было на уроке по этой теме.
Имеется сделанная домашка (на Брайле, естественно). Ну, например, сочинение "как я провела выходные". Надо проверить. Ну тут понятно, что некоторые ошибки - это ошибки программы, но посмотреть на конкретную ошибку всяко проще, чем читать весь текст целиком.
Имеется книжка. Уже не Мойдодыр, понятно. Конкретно, вот прям щас - "Рассказы Люси Синициной". На Брайле, естественно. - Пап, а что это за слово? Ну, допустим, слово "канделябр". - А что такое "канделябр"? Вот тут уже хорошо бы прочитать хотя бы страницу целиком, чтобы понять, при чем тут канделябр...
Ко всему этому добавим, что когда человек читает брайль, то руками закрывает текст. Убрать руки - потеряешь строчку.
Для учителя:
Имеется учебник (на Брайле). Надо подготовиться к уроку. В нужный момент помочь, типа: "упражнение 24 находится здесь". Если по этому учебнику работаешь много лет, то, возможно, учителя уже помнят, на какой странице что находится. А если первый год?
Тебе сдали 20 сочинений "как я провел выходные" (на Брайле, естественно). Все надо прочитать и проверить. Брайль ты знаешь, конечно, пару страниц прочитаешь легко. А 40? Можно, конечно, листочки копиркой потереть, будет проще. Но такое...
Наконец, у нас есть замечательная репетитор по русскому языку. Одна беда - она брайль вообще не знает. Она не тифолопедагог, она филолог. К тому же живет в Москве. В общем, делаем фото дочкиных работ, отправляем в расшифрованном виде на почту. Непосредственно в программе есть соответствующая кнопка. Ну это просто как иллюстрация того, какие есть возможности для удаленного обучения. Пока был ковид, мы вообще исключительно по скайпу занимались.
Перекликается с предыдущим. Инклюзия. Можно, конечно, ребенка сдать в интернат (примерно по одному интернату на субъект РФ). Там классно, много чему могут научить. Ценой жизни без семью. Для ребенка, которого только что взяли из детдома, такой вариант вообще не подходит, по крайней мере долгое время (это отдельная тема почему, но это так). Так с ребенком может заниматься учитель, который не профессионал тифлопедагог. В принципе, брайль можно выучить, но сделать так, чтобы чтение брайля не составляло проблемы - это уже другой уровень. А так может заниматься учитель, который освоит основы брайля.
Перекликается с предыдущим. ВУЗ. Специализированных вузов, в отличие от школ, нет. У нас знакомая закончила ВШЭ. Там несколько преподавателей выучили ради нее брайль. Подвиг, я считаю. Может, можно сделать, чтобы подвиг не требовался?
Есть в Москве Центр Педагогического мастерства. Проводит Турнир Ломоносова и другие олимпиады. Эта программа позволяет им принимать работы слепых участников. Ну и в ту же тему. Упомянутая выше знакомая ходила писать Тотальный Диктант. С брайлевским планшетом. Потом перевела с помощью программы, сдала.
Слепые пользователи:
Я когда делал, вообще не предполагал этот юзкес. А оказалось очень востребованным получить оцифрованный брайль без расшифровки. У людей есть конспекты лекций, книжки. Их можно оцифровать и взять с собой в смартфоне, например, в поездку. Потом вывести на брайлевский дисплей и прочитать.
Агась, я-то по статье подумал, что речь идет о распознавании типографского брайля, а не рукописного. Тогда вопрос снимается. Кстати, странно, почему в брайлевских книгах не печатают "подстрочник" обычным шрифтом - снимало бы половину проблем.
Из перечисленных юзкейсов значительная часть - про типографские книжки, не про рукописные.
Подстрочник бы да, не помешал. Думаю, не печатают, потому что для этого надо в брайлевский принтер засунуть еще и обычный, сделать 2 в 1.
Подстрочник я видел только в некоторых детских книжках, например [вот](https://github.com/IlyaOvodov/AngelinaDataset/blob/master/books/telefon/IMG_20190715_123123.labeled.jpg). Там, похоже, сначала на каждой странице печатали плоский текст, потом вставляли в брайлевский принтер. Заниматься таким массажем для каждой книжки, полагаю никто не будет.
Да, похоже сперва через обычный принтер прогнали, потом через брайлевский. В домашних условиях морока, в типографских - вряд ли, типографии и не такое умеют. Интересно, а как "у них", неужели тоже не печатают два варианта текста?
Если "у них" это за рубежом, то тоже НЕ печатают 2 варианта во взрослых книжках. Как минимум, те 2 издания из библиотеки в UK, которые я видел :) - без подписей, только Брайль.
Странно это - копеечный вопрос, а пользы много было бы.
Отвечает мама (жена автора). Дети сочинения пишут, упражнения по русскому. Обычные письменные работы в тетрадке, как у любого школьника. Прочитать может преподаватель, не знающий Брайля.
Илья, с большим интересом прочитал о вашей разработке. Неоднократно слышал, о ней ранее, но без подробностей. Немного смутили системные требования к работе приложения.
Распознание обычного отсканированного текста кажется не сильно ресурсоемкий процесс, зачастую даже телефон легко справляется, а тут 4ГБ оперативки.
Это связанно с тем что страницу текста приходится обрабатывать как один объект? Или все же удается создать отдельные символы привязанные к собственной локальной сетке?
Даже хуже. Не 4ГБ оперативки, а видеокарта с 4ГБ оперативки. Это другое :)
Ну, связано с тем что там достаточно мощная нейросеть. И, да, страница А4 обрабатывается целиком. И с тем, что я пока не особо занимался тем, чтобы сделать легкое решение. Более приоритетное - все же улучшить качество того что есть. Упомянутые в статье 0.5% ошибок - это хорошие фото при правильном освещении (правильное освещение описано на сайте). Я пробовал брать наугад загруженные людьми в систему фото, включая те, где плохой свет, резкость, качество камеры и т.п., в общем, то, что люди загружают первый раз, пока не научатся пользоваться - получается 5% ошибок. Хочется этот показатель улучшить, это приоритетнее. Нормальный перевод в плоское письмо тоже хочется.
Кроме того, не занимался оптимизацией потому, что пока не особо верю, что получится запустить все на смартфоне. Можно, конечно, порезать страницу на фрагменты где-то 10х10см, распознать отдельно, потом склеить. Памяти потребуется меньше, но работать будет медленнее. Смысл? Как веб-сервис оно и так работает, а в смартфон засунуть - еще не факт что получатся.
Брайль реально распознавать сложнее, чем обычный текст. Потому что сетка и потому что белым по белому. Иногда даже не на фото, а на реальной странице смотришь и не поймешь сразу - есть тут точка или нет.
Хотел плюсануть как раньше — из "ленты".
А тут, оказывается, "много гитик".
Или сделать сеть препроцессинга типа такой:
openaccess.thecvf.com/content_cvpr_2018/papers/Ma_DocUNet_Document_Image_CVPR_2018_paper.pdf
Или зарыться в хардкорный CV:
mzucker.github.io/2016/08/15/page-dewarping.html
Пару мыслей для возможных оптимизаций.
1) Перед фотографированием наносить на страницу реперные метки, например в виде уголка или жирной точки в левом верхнем и правом нижнем углах блока текста. Это может сделать и незрячий. И это сразу обозначит поле привязки сетки.
2) попробовать распознавать не статичную картинку, а видеопоток, при движении камеры влево-вправо, вверх-вниз. И "триангулировать" вершины пупырышков.
3) Возможно, перевод в плоское письмо стоит рассматривать как перевод с другого языка, и сделать упор на правила и статистику, набрав сравнительный корпус?
Самый короткий и емкий прозвучал на одной из видеовстреч: "мы ждали эту программу всю жизнь".
Может к 30-ти я стал слишком сентиментальный, может выгорание сказывается, но прям порадовался за вас. Завидую вам и мечтаю, чтобы хоть кто-то о моём софте хоть раз что-то подобное сказал)
Восхищен такими людьми, которые могут и делают такие общеполезные вещи.
Хочу предложить идею. К сожалению только идею как в мозговом штурме. Но надеюсь как отправная точка она может помочь или дать толчок для озвучивания своих идей другими людьми.
Так вот сама идея - организовать распределенную систему распознавания из запущенных на разных устройствах экземпляров программы. и распараллелить распознавания между многими участниками. Уверен, что у каждого запущенного экземпляра системы есть некоторое количество свободного времени на выполнение части задач других людей.
Существуют же разного рода децентрализованные системы: TorrentTV, Syncthing (децентрализованная система синхронизации своих файлов), децентрализованные мессенджеры, распределенные вычисления BOINC, и прочие.
В итоге это даст возможность снизить требование к имеющемуся пользовательскому оборудованию,
Даст возможность предоставить в общее пользование свои вычислительные ресурсы.
В системе сделать настроечку - делиться своими ресурсами с другими участниками или нет, чтобы в зависимости от разных обстоятельств разрешать или запрещать работу в распределенной сети.
Понимаю, что это не просто пару строчек в программу добавить, но главное начать и всё получиться! :)
отличная статья спасибо вам.
⠝⠥⠀⠊⠀⠏⠗⠊⠺⠑⠞⠀⠕⠞⠀⠎⠇⠑⠏⠕⠛⠕⠀⠺⠇⠁⠙⠑⠇⠾⠉⠁⠀⠙⠊⠎⠏⠇⠑⠫⠀⠃⠗⠁⠯⠇⠫⠲
Спасибо! Можете ли подсказать, в каком формате удобнее выгружать распознанный брайлевский текст, чтобы мог он нормально воспроизводился дисплеем? Сейчас выгружается в UNICODE формате с расширением BRL. Это годится?
И будет полезно узнать, получается ли пользоваться сайтом, чтобы оцифровать текст и сохранить для воспроизведения на брайлевском дисплее. Мне говорили, что это очень нужно, но я пока не получал обратной связи, получается ли.
Хотя, боюсь, для слепого более сложной задачей будет правильно сфотографировать текст. Но замечаниям по адаптированности сайта тоже буду рад.
Сейчас выгружается в UNICODE формате с расширением BRL.
это очень хорошо.
И будет полезно узнать, получается ли пользоваться сайтом, чтобы оцифровать текст и сохранить для воспроизведения на брайлевском дисплее.
у меня сейчас нет под рукой брайлевских листков, но я запишу таску себе. в целом на первый взгляд всё выглядит понятно.
Хотя, боюсь, для слепого более сложной задачей будет правильно сфотографировать текст.
это да. придется глаза где-то искать, а потом уговаривать их мне помочь. но это ладно, это мы умеем.
Датасет для перевода символов Брайля в обычный текст можно сгенерировать через конвертацию обычного текста в Брайль, если я правильно понял задачу.
Что касается разметки самих символов Брайля для перевода в цифру, то можно поступить похожим образом - печатаете заранее известный текст на принтере (если есть принтер Брайля), а затем фотографируете. Понадобится кое-какой пост-процессинг средствами OpenCV, чтобы превратить это в датасет (к примеру, распознать лист бумаги, и сетку), но тем не менее, можно получить сотни листов с данными.
Ну и разметку сделать не так уж и сложно, особенно, если закраудфандить этот процесс. Для нашего проекта https://habr.com/ru/post/506276/, мы разметили десятки тысяч картинок (там, правда, элементов на картинке куда меньше), но это будет эквивалентно сотням страничек с Брайлем.
Кириллица и латиница в Брайлевском шрифте как представлена? По схожести символов?
Система распознавания шрифта Брайля. Читаем написанное белым по белому