Uruchom Mirage lokalnie: OCR i wykrywanie obiektów na podstawie jednego obrazu

Eva Wong jest redaktorką techniczną i rezydentką majsterkowania w ZimaSpace. Jest geekiem od zawsze, z pasją do domowych laboratoriów i oprogramowania open source, a jej specjalnością jest przekładanie złożonych zagadnień technicznych na przystępne, praktyczne poradniki. Eva wierzy, że samodzielne hostowanie powinno sprawiać radość, a nie onieśmielać. Dzięki swoim samouczkom pomaga społeczności oswoić konfigurację sprzętu, od budowy pierwszego serwera NAS po opanowanie kontenerów Docker.

Mirage od Cactus Compute potrafi analizować lokalny obraz i zwracać tekst, lokalizacje obiektów oraz ustrukturyzowane pola. Dwubitowy model dewelopera o rozmiarze około 22 MB jest na tyle mały, że można go wypróbować bez pobierania wielogigabajtowego modelu wizyjnego. Zacznij od etykiety urządzenia lub wyraźnego zrzutu ekranu i porównaj zwrócone pola z oryginalnym obrazem, zanim zautomatyzujesz proces.

Oficjalna zapowiedź przedstawia model wizyjny z 51,3 miliona parametrów, lokalną wersję demonstracyjną w przeglądarce i instalowalne środowisko uruchomieniowe. Podaje wynik 74 ms w jednej konfiguracji NPU telefonu Samsung Galaxy S26 i 107 ms na procesorze tego telefonu. Te czasy dotyczą tej konfiguracji. Sprawdź wydajność i dokładność na własnym urządzeniu i własnych danych wejściowych.

Do jakich zadań nadaje się ten model?

Mirage potrafi opisywać sceny, wykrywać obiekty, odczytywać tekst, zwracać maski i odpowiadać na pytania z ograniczonym zakresem. W przypadku inwentaryzacji możesz poprosić go o rozpoznanie etykiety, wyodrębnienie obszaru z tekstem i zwrócenie ograniczonego zestawu pól. W przypadku zdjęć możesz wykorzystać lokalizacje obiektów jako wskazówki dla osoby weryfikującej. Ustrukturyzowana odpowiedź jest przydatna, gdy zachowuje odniesienie do dowodów widocznych na obrazie.

Deweloper wymienia siedem języków obsługiwanych przy opisywaniu obrazów. Nie zakładaj, że lista ta oznacza obsługę wszystkich alfabetów używanych w OCR. Moduł odczytujący tekst może pominąć znak diakrytyczny, pomylić podobne cyfry lub nie uwzględnić niewielkiego fragmentu. W demonstracji wydania Cactus pokazuje niedoskonały wynik OCR. Karta modelu zawiera wymagania środowiska uruchomieniowego i przykłady danych wejściowych.

Opublikowany przez Cactus Compute przegląd Mirage prezentujący OCR, maski i ekstrakcję scen
Opublikowany przez Cactus Compute przegląd Mirage prezentujący OCR, maski i ekstrakcję scen. Oryginalne źródło

Jak uruchomić pierwszy lokalny przykład?

Wypróbuj piaskownicę w przeglądarce, do której odsyła Cactus, używając testowego obrazu niezawierającego wrażliwych danych. Następnie użyj pakietu Python na platformie obsługiwanej przez środowisko uruchomieniowe Cactus. Użyj świeżego środowiska i obrazu, nad którym masz kontrolę.

python -m venv .venv
source .venv/bin/activate
python -m pip install -U cactus-compute

Opublikowany przykład pakietu:

import cactus

model = cactus.Mirage()
print(model.describe("photo.png"))

Przy pierwszym użyciu pakiet może pobrać i zapisać w pamięci podręcznej silnik oraz model. Mierz czas konfiguracji osobno od czasu wnioskowania. Aby potwierdzić, że późniejszy proces będzie działać offline, dokończ początkową instalację, a następnie przetestuj działanie na pliku lokalnym przy wyłączonej łączności sieciowej w odizolowanym środowisku. Sprawdź wersję środowiska wykonawczego i sposób działania pamięci podręcznej, zamiast wyciągać wnioski na podstawie nazwy pakietu.

Jak przygotować niewielki test dokładności?

Zrób trzy zdjęcia tej samej etykiety: jedno w równym oświetleniu i na wprost, drugie obrócone lub z odblaskami, a trzecie z inną etykietą w pobliżu. Przygotuj wzorcowy zapis. Porównuj dokładne znaki i przypisanie pól, a nie tylko to, czy wynik zawiera wiarygodnie wyglądający ciąg znaków. W przypadku wykrywania obiektów sprawdź ramki ograniczające. Prawidłowa etykieta przypisana do niewłaściwego obiektu może zepsuć późniejszy rekord inwentarzowy.

Dane wejściowe Przydatny test Typowy błąd wymagający weryfikacji
Etykieta urządzenia Dokładny numer seryjny i nazwa modelu Pomylenie O z zerem, odblaski, ucięte ciągi znaków.
Zrzut ekranu Tekst, obszar ograniczający i kolejność odczytu Cienkie fonty, nakładające się panele i małe etykiety interfejsu.
Paragon Suma, data i waluta jako osobne pola Błędne sumy częściowe, niewłaściwy separator dziesiętny lub brakujące pozycje.
Scena mieszana Czy każdy obiekt pasuje do swojego obszaru Zduplikowane etykiety, pominięte małe obiekty lub wymyślony kontekst.

Przetestuj pusty obraz, obraz bez odpowiedniego pola oraz nieczytelny wycinek. Przydatny proces ekstrakcji musi uwzględniać jawny stan nieznany lub pusty. Jeśli kolejny krok zmienia rekord inwentarzowy, brakujące lub niepewne pole kieruj do kolejki weryfikacji zamiast zgadywać.

Jakiego zużycia pamięci i opóźnienia należy się spodziewać?

Podane 22 MB odnosi się do dwubitowej reprezentacji modelu. Pamięć używana podczas działania obejmuje silnik wnioskowania, zdekodowane dane wejściowe, tensory pośrednie i narzut aplikacji. Wymiary obrazu mogą wpływać na przetwarzanie wstępne i obciążenie pamięci, nawet jeśli plik modelu pozostaje bez zmian. Przy podejmowaniu decyzji, co może działać obok pozostałych usług, monitoruj szczytowe zużycie pamięci przez proces oraz rozmiar modelu.

Zmierz czas zimnego startu, wnioskowania po rozgrzaniu oraz opóźnienie od początku do końca, uwzględniając dekodowanie obrazu i przetwarzanie końcowe. Benchmark NPU w telefonie nie odpowie na pytanie, ile czasu zajmie to na NAS-ie lub energooszczędnym procesorze x86. Sprawdź obsługę swojego systemu operacyjnego i urządzenia na liście środowisk wykonawczych, a następnie wykonaj pomiary na tych samych obrazach i za pomocą tego samego kodu, które planujesz wdrożyć.

Jak zadbać o użyteczność wyników i prywatność danych wejściowych?

Oddziel rozpoznawanie od działania. Zapisuj pola wraz z odnośnikiem do wycinka źródłowego i statusem weryfikacji. W miarę możliwości stosuj deterministyczne kontrole: oczekiwaną długość numeru seryjnego, dozwolone znaki, poprawność daty lub zakres ilości. Gdy weryfikator musi poprawić pole, pokaż obok niego wycinek obrazu. Dzięki temu zawsze można wrócić do rzeczywistych dowodów.

Lokalny punkt końcowy modelu może ograniczyć potrzebę przesyłania obrazów źródłowych, ale warto też sprawdzić kod przeglądarki, telemetrię, działanie pamięci podręcznej i inne komponenty. Model rozumujący wizualnie może interpretować tekst na obrazie jako treść. Nie pozwól, aby ten tekst stał się instrukcją dla powłoki systemowej lub operacji na plikach. Zobacz poradnik, jak nie umieszczać danych źródłowych w zapytaniach do AI.

Jaką rolę odgrywa serwer domowy?

Przechowuj oryginalne pliki w bibliotece z ograniczonym dostępem i wysyłaj do procesu wnioskowania tylko obraz wymagany do danego zadania. Umieszczaj wyniki w osobnym folderze lub bazie danych, aby można je było zweryfikować. Na współdzielonym serwerze najpierw uruchom małą partię i sprawdź, czy zadania rozpoznawania nie zakłócają tworzenia kopii zapasowych, indeksowania plików ani pracy innych użytkowników. Porównanie obliczeń i przechowywania prywatnych plików oraz poradnik dotyczący izolacji kopii zapasowych wyjaśniają rolę, jaką mogą pełnić te usługi.

FAQ

Czy pierwsze uruchomienie działa całkowicie offline?

Pakiet może przy pierwszym użyciu pobrać silnik i wagi. Po zainstalowaniu i zapisaniu wymaganych plików w pamięci podręcznej sprawdź działanie offline.

Czy 22 MB to zużycie pamięci?

Opisuje reklamowany skompresowany model, podczas gdy całkowita pamięć procesu obejmuje środowisko uruchomieniowe i bufory obrazów.

Czy Mirage potrafi odczytywać wszystkie paragony i etykiety?

Przetestuj języki, oświetlenie, czcionki i układy, z którymi faktycznie masz do czynienia. Mały lub odblaskowy tekst może dawać błędne albo niepełne wyniki.

Czy mogę pominąć ręczną weryfikację?

Weryfikuj wyniki, które zmieniają dane lub uruchamiają działania, zwłaszcza gdy pola są niepewne lub nie da się ich zweryfikować.

Czy mogę użyć wyników testu telefonu, aby wybrać serwer domowy?

Potraktuj go jako przykład dla testowanego telefonu. Przetestuj docelowy sprzęt i środowisko uruchomieniowe na własnych obrazach.

Wnioski

Mirage ułatwia rozpoczęcie pracy z niewielkim lokalnym eksperymentem OCR i rozumienia obrazów. Zainstaluj obsługiwane środowisko uruchomieniowe, przetestuj dokładne pola na kilku trudnych obrazach i zachowaj możliwość weryfikacji. Zwiększaj partie dopiero wtedy, gdy pomiary i obsługa błędów będą wystarczająco dobre do danego zadania.

Wsparcie i porady

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.