Замеры: пять документов прочитаны двумя вариантами

Каждый из пяти сканов заказчика прошёл через работающее приложение дважды: привычным вариантом («Как сейчас») и вторым, PaddleOCR. Ни один прогон не упал, ошибок на экране нет. Ниже — сколько заняло чтение, что прочиталось и сколько весит второй вариант. Замер сделан 31 августа 2026 года.
Решение по итогам замера — на странице «Менять движок или оставить прежний».

10 из 10
прогонов прошли без ошибок (5 документов × 2 варианта)
85,7%
значений таблицы прочитано верно вариантом «Как сейчас»
2,1%
значений прочитано верно вариантом PaddleOCR
+1325 МБ
прибавка веса приложения из-за второго варианта
Главное по итогам замера. Второй вариант работает и не ломает ничего из прежнего, но на этих документах читает существенно хуже: он видит строки текста, а сами буквы и цифры разбирает неверно. Из 47 товарных строк, которые есть в эталонах заказчика, PaddleOCR не собрал верно ни одной, привычный вариант собрал 29. Отдельно проверено, что дело не в наших настройках: на заводских настройках PaddleOCR читает те же страницы ещё хуже — находит 4 строки текста вместо 153.

Время и результат по каждому документу

ДокументСтраниц Время чтения Ячеек с текстом Знаков прочитано Совпало с эталоном
Как сейчасPaddleOCR Как сейчасPaddleOCR Как сейчасPaddleOCR Как сейчасPaddleOCR
Пример 12110 с82 с4473585173295695,0%5,0%
Пример 2244 с46 с1101141490101945,7%0,0%
Пример 3126 с35 с456515646000,0%0,0%
Пример 4136 с30 с9148185223976,2%0,0%
Пример 52102 с86 с3252294665285792,9%0,0%
Итого8 318 с280 с 85,7%2,1%

«Совпало с эталоном» — доля верно прочитанных значений товарной таблицы (наименование, количество, цена, стоимость без НДС, сумма НДС, стоимость с НДС, ставка НДС) по тем же правилам счёта, что и во всех прошлых проверках проекта.

Одни и те же ячейки, прочитанные двумя вариантами

«Пример 1» — самый чистый скан набора, привычный вариант читает его почти без ошибок. «Пример 2» — тот самый перекошенный документ. Слева — что прочитал привычный вариант, справа — что в той же самой клетке страницы прочитал PaddleOCR. Клетки взяты вразбивку по всей странице, а не подряд.

Как сейчасPaddleOCR
Пример 1
197720, Санкт-Петербург г, Зеленогорск, Мира, дом 21, литера А, квартира 1ничего не прочитано
10т
796тб
20%209
рул ЕНрул
рулPyл
упакупак
233,672ззв
(ф.м.о.)фо.
я)ничего не прочитано
Пример 2
OH Ke _ ts... i = = И —ничего не прочитано
SSS |:ничего не прочитано
Г =ничего не прочитано
без-акцизабeз акиза
20%2096
без акцизае акциза
20%2ор
jeничего не прочитано
5 083,33Ф O833з
143 000,00ив ор

Полный текст по всем ячейкам всех пяти документов обоими вариантами — в выгрузке одной таблицей (CSV, открывается в Excel). По отдельным документам: как сейчас, PaddleOCR.

Сколько весит второй вариант и сколько идёт сборка

Что мерялиДо второго вариантаПослеПрибавка
Вес установленных библиотек приложения 286 МБ1596 МБ +1310 МБ
Вес самих моделей чтения (кладутся в приложение при сборке) 0 МБ15 МБ+15 МБ
Время установки библиотек при сборке 9 с41 с +32 с
Время загрузки моделей при сборке 0 с50 с+50 с

Меряли отдельной чистой установкой на той же машине: сначала прежний список библиотек, потом добавление второго варианта, потом загрузка моделей чтения. Это вес библиотек и моделей внутри приложения; общий вес готового образа сверх этого включает неизменную основу (система, распознаватель Tesseract, разбор PDF), которая от второго варианта не поменялась.

Как замеряли