Passenger list page models
две модели для разбора исторических списков
Две небольшие модели на MobileNetV3-small из проекта passenger-list-reader. page_model.pt (5 МБ) определяет, есть ли на странице список пассажиров, и находит колонку имён и границы строк; sort_model.pt (4 МБ) классифицирует полосу с именем как печатную, рукописную или ни то ни другое. Обе работают на CPU, классы и подготовка входа — в GitHub-репозитории.
🔥 Ключевые особенности
- 👀 page_model.pt: вход 320×320 в градациях серого, определяет страницу со списком и положение колонки имён, первой и последней строк.
- 🔥 sort_model.pt: вход 64 px по высоте с padding до 448 px, различает печатный и рукописный текст.
- 🐱 Оба чекпоинта — PyTorch state dict для MobileNetV3-small и запускаются на CPU.
- 🐶 Обучены на списках прибытия в Нью-Йорк 1897–1957 годов (National Archives microfilm T715).
- 💪 Разметка получена с помощью Claude; для других layouts, вероятно, потребуется ретрейн.
👉 Пример
import torch
from huggingface_hub import hf_hub_download
from sort_train import Net
net = Net()
net.load_state_dict(torch.load(hf_hub_download("horatio12/passenger-list-page-models", "sort_model.pt")))
net.eval()
Подробнее
page_model: 20 из 20 страниц с именами определены верно, 1 из 29 прочих ошибочно принят за список.sort_model: 96,0% на 1187 тестовых полосах; печатное и рукописное спутано один раз.
Ограничение: обучение на конкретном архиве; другие вёрстки, вероятно, потребуют дообучения.
Запуск на CPU; размеры чекпоинтов — 5 МБ и 4 МБ.








Комментарии