ML Kit — biblioteka uczenia maszynowego od Google, udostępniająca gotowe API do rozpoznawania tekstu, twarzy, obiektów i kodów kreskowych na urządzeniach mobilnych. W przeciwieństwie do rozwiązań chmurowych ML, ML Kit wykonuje wszystkie obliczenia lokalnie na urządzeniu, zapewniając działanie bez internetu i poufność danych użytkownika. Według Google ML Kit Documentation (2026), biblioteka obsługuje Android i iOS, obejmując ponad 15 API do różnych zadań związanych z widzeniem komputerowym i przetwarzaniem tekstu.
Najważniejsze
ML Kit — to mobilna biblioteka SDK od Google, która udostępnia programistom gotowe API uczenia maszynowego dla Android i iOS. Została zaprezentowana w 2018 roku na Google I/O jako część Firebase, a następnie stała się dostępna jako samodzielny SDK. ML Kit abstrahuje złożoność Data Science: programista nie musi trenować modeli, konfigurować hiperparametrów ani rozumieć obliczeń tensorowych.
Biblioteka pokrywa cztery kluczowe obszary widzenia komputerowego i NLP: rozpoznawanie tekstu, wykrywanie twarzy, skanowanie kodów kreskowych, analizę obrazów i segmentację obiektów. Każde API dostępne jest w dwóch wariantach — podstawowym (przyspieszonym) i dokładnym (z rozszerzonym modelem).
ML Kit jest dystrybuowany przez Google Play Services dla Android, co umożliwia aktualizację modeli bez publikowania nowej wersji aplikacji. Rozmiar pobrania każdego API wynosi od 2 do 15 MB w zależności od złożoności modelu. Dla iOS biblioteka dostarczana jest przez CocoaPods lub Swift Package Manager z ręcznym pobraniem modelu przy pierwszym uruchomieniu. Według Google, łączny rozmiar wszystkich API ML Kit nie przekracza 80 MB, co czyni bibliotekę akceptowalną dla aplikacji mobilnych z ograniczeniami objętości.
W skład ML Kit wchodzą API do rozpoznawania tekstu z obsługą alfabetu łacińskiego, cyrylicy i znaków chińskich, wykrywania i śledzenia twarzy z określaniem uśmiechu i otwartych oczu, skanowania kodów kreskowych wszystkich popularnych formatów, segmentacji obrazów na pierwszy i drugi plan, analizy pozycji człowieka na podstawie 33 kluczowych punktów oraz rozpoznawania obiektów z klasyfikacją. Według Google I/O 2025, dokładność podstawowych modeli ML Kit sięga 97% dla tekstu łacińskiego i 94% dla twarzy.
ML Kit oferuje kilka grup API, z których każda rozwiązuje konkretne zadanie widzenia komputerowego lub przetwarzania tekstu. Omówmy trzy najbardziej poszukiwane obszary.
Text Recognition API umożliwia wyodrębnianie drukowanego i odręcznego tekstu z obrazów w czasie rzeczywistym. API działa z 50+ językami, w tym polskim, angielskim, chińskim i arabskim. Wynik zwracany jest w postaci hierarchicznej struktury: bloki tekstu → wiersze → tokeny ze współrzędnymi każdego elementu. Według Google ML Kit benchmarks (2026), na urządzeniu średniej klasy rozpoznawanie jednej klatki zajmuje 80–150 ms dla podstawowego modelu.
Face Detection API wykrywa twarze na obrazach i w strumieniu wideo, określając do 17 kluczowych punktów orientacyjnych: oczy, brwi, nos, usta, kontur twarzy. API oblicza również prawdopodobieństwo uśmiechu, otwartość oczu i kąt obrotu głowy w trzech osiach. W przeciwieństwie do rozwiązań chmurowych, ML Kit przetwarza twarze wyłącznie na urządzeniu bez wysyłania obrazów na serwer.
Barcode Scanning API obsługuje wszystkie popularne formaty: EAN-13, QR Code, Code 128, PDF417, Data Matrix i Aztec. API automatycznie określa format kodu i zwraca jego zawartość — od prostego tekstu po ustrukturyzowane dane (URL, wizytówka vCard, współrzędne geolokalizacji). Szybkość skanowania sięga 30 klatek na sekundę, co pozwala na użycie API w aplikacjach czasu rzeczywistego.
Aby podłączyć ML Kit do projektu Android, wystarczy dodać odpowiednią zależność w build.gradle i utworzyć instancję procesora. Omówmy integrację na przykładzie Text Recognition API.
W pliku build.gradle (app-level) dodaje się zależność dla ML Kit Text Recognition. Biblioteka automatycznie pobiera model przy pierwszym wywołaniu przez Google Play Services.
dependencies {
// ML Kit Text Recognition v2
implementation 'com.google.mlkit:text-recognition:16.0.1'
// Do pracy na urządzeniach bez Google Play
implementation 'com.google.mlkit:text-recognition:16.0.1'
}
Po skonfigurowaniu zależności można utworzyć TextRecognizer i przekazać mu obraz w formacie InputImage. Wynik zwracany jest w postaci obiektów RecognizedText.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
for (block in result.textBlocks) {
val blockText = block.text
val lines = block.lines
// Przetwarzanie rozpoznanego tekstu
Log.d("MLKit", "Block: $blockText")
}
}
.addOnFailureListener { e ->
Log.e("MLKit", "Błąd: $e")
}
Kod tworzy klienta TextRecognition, przekazuje mu obraz bitmapowy i przetwarza wynik asynchronicznie. Bloki tekstu zawierają zagnieżdżone wiersze i tokeny ze współrzędnymi, co pozwala wyświetlić znaleziony tekst bezpośrednio na obrazie.
Ważnym aspektem integracji jest obsługa błędów. ML Kit może zwrócić błąd przy zbyt ciemnym obrazie, obróconym tekście lub przekroczeniu limitu pamięci. Zaleca się zawsze dodawać fallback na rozpoznawanie chmurowe przez Google Cloud Vision w przypadkach, gdy model na urządzeniu nie poradził sobie. Praktyka pokazuje, że podejście kombinowane (ML Kit + Cloud Vision) zwiększa ogólną dokładność rozpoznawania z 92% do 98% na skomplikowanych dokumentach.
ML na urządzeniu — kluczowa różnica ML Kit od chmurowych usług ML. Wszystkie obliczenia odbywają się lokalnie na urządzeniu, co daje trzy zasadnicze zalety. Po pierwsze — zerowe opóźnienie: model przetwarza dane w 50–200 ms bez oczekiwania na odpowiedź z serwera. Po drugie — działanie bez internetu: biblioteka funkcjonuje w trybie samolotowym, co jest kluczowe dla aplikacji terenowych.
Przetwarzanie lokalne gwarantuje, że zdjęcia, dokumenty i dane osobowe użytkownika nigdy nie opuszczają urządzenia. Jest to szczególnie ważne dla aplikacji w obszarach medycyny, finansów i bezpieczeństwa korporacyjnego, gdzie przesyłanie danych na serwer jest zabronione przez wymogi regulacyjne. Według statystyk Google (2026), 78% użytkowników preferuje aplikacje z przetwarzaniem na urządzeniu ze względów prywatności.
W przeciwieństwie do chmurowych rozwiązań ML, które przesyłają obrazy na serwer i zużywają transfer komórkowy, ML Kit nie wymaga połączenia sieciowego. Oszczędność transferu może sięgać 50–200 MB dziennie dla aplikacji z intensywnym przetwarzaniem obrazów. Bateria zużywana jest umiarkowanie: jeden cykl rozpoznawania pochłania 0.5–2% naładowania na godzinę aktywnego użytkowania.
ML Kit zajmuje pozycję pośrednią pomiędzy natywnymi frameworkami ML (TensorFlow Lite, Core ML) a usługami chmurowymi (Google Cloud Vision, AWS Rekognition). Porównajmy kluczowe cechy.
| Cecha | ML Kit | TensorFlow Lite | Google Cloud Vision |
|---|---|---|---|
| Wykonanie | Tylko na urządzeniu | Tylko na urządzeniu | Chmurowe |
| Wymaga Data Science | Nie | Tak | Nie |
| Szybkość | 80–200 ms | 50–300 ms | 500–2000 ms |
| Działanie offline | Tak | Tak | Nie |
| Dokładność | 94–97% | 95–99% | 98–99% |
| Modele niestandardowe | Przez TFLite | Tak | AutoML Vision |
| Cena | Bezpłatnie | Bezpłatnie | $1.50/1000 jedn. |
Do typowych zadań widzenia komputerowego, takich jak skanowanie dokumentów czy weryfikacja twarzy, ML Kit jest optymalnym wyborem dzięki prostocie integracji. Złożone projekty z własnymi architekturami sieci neuronowych wymagają TensorFlow Lite. Usługi chmurowe są uzasadnione przy potrzebie maksymalnej dokładności.
Przy wyborze pomiędzy ML Kit a TensorFlow Lite uwzględnij stosunek szybkości rozwoju do elastyczności. Jeśli w projekcie jest już data scientist i wytrenowany model — użyj TFLite bezpośrednio. Jeśli ML to tylko pomocnicza funkcja aplikacji (zeskanować paragon, sprawdzić uśmiech na selfie) — ML Kit da rezultat w 30 minut zamiast tygodnia.
Według Google (2026), średni czas wdrożenia ML Kit w istniejącym projekcie wynosi 4–6 godzin dla podstawowego scenariusza i 2–3 dni dla pełnej integracji z niestandardowym modelem. W 73% przypadków programiści wybierają ML Kit właśnie ze względu na szybkość integracji, a nie na maksymalną dokładność modeli.
Często zadawane pytania
Nie, ML Kit wykonuje wszystkie obliczenia lokalnie na urządzeniu. Internet jest wymagany tylko do wstępnego pobrania modelu przez Google Play Services, po czym biblioteka działa w pełni offline.
Android (API 24+) i iOS (12.0+). Dla Android używana jest integracja przez Google Play Services, dla iOS — przez CocoaPods lub Swift Package Manager z ręcznym pobraniem modelu.
Tak, ML Kit obsługuje import niestandardowych modeli TensorFlow Lite przez klasy LocalModel lub RemoteModel. Model musi być skonwertowany do formatu .tflite i zoptymalizowany dla urządzeń mobilnych.
ML Kit — biblioteka wysokiego poziomu z gotowymi API, niewymagająca znajomości ML. TensorFlow Lite — środowisko uruchomieniowe niskiego poziomu do uruchamiania niestandardowych modeli. ML Kit wewnętrznie używa TFLite, ale ukrywa złożoność przed programistą.
Modele są aktualizowane automatycznie przez Google Play Services dla Android i przez App Store dla iOS. Google wydaje aktualizacje co 6–8 tygodni, poprawiając dokładność rozpoznawania i dodając nowe języki.
Podsumowanie
Opracujemy aplikację mobilną pod klucz
IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.
Przeczytaj również