ML op het apparaat (on-device ML) — het uitvoeren van machine learning-modellen direct op het mobiele apparaat zonder gegevens naar een server te sturen. Volgens een rapport van Google AI, 2025 geeft meer dan 70% van de gebruikers de voorkeur aan apps met on-device ML vanwege privacy en het ontbreken van netwerkvertraging. Core ML van Apple, TensorFlow Lite van Google en ML Kit maken het mogelijk om Vision-, NLP-, gezichts- en objectherkenningstaken volledig op het apparaat op te lossen — zonder internet en met minimaal energieverbruik.
Belangrijkste punten
ML op het apparaat (on-device ML) is een benadering waarbij machine learning-modellen direct op het mobiele apparaat worden uitgevoerd zonder gegevens naar een externe server te sturen. Privacy is het belangrijkste voordeel: gebruikersgegevens verlaten nooit het apparaat. Volgens Google-onderzoek (2024) weigert 63% van de gebruikers ML-functies die het verzenden van gegevens naar een server vereisen. On-device ML elimineert netwerkvertraging, werkt offline en vermindert het energieverbruik door hardwareversnelling.
On-device ML verwerkt gegevens in milliseconden in plaats van seconden — cruciaal voor real-time gezichts- en objectherkenning. Geen internetverbinding nodig is een ander voordeel: ML-functies zijn beschikbaar in vliegtuigmodus en in regio's met onstabiele connectiviteit. Core ML gebruikt de Neural Engine in Apple A12+-chips en levert 11 biljoen bewerkingen per seconde met een stroomverbruik van minder dan 1 W. Voor mobiele apps is on-device ML de facto standaard geworden voor Vision-, NLP- en objectherkenningstaken.
ML in mobiele apps wordt gebruikt voor gezichtsauthenticatie (Face ID), AR-filters in Snapchat en Instagram, fitness-trackers met Pose Detection, OCR-scannen in Adobe Scan en voorspellende invoer in toetsenborden. Aangepaste modellen voor specifieke taken worden gemaakt via Core ML (iOS) of TensorFlow Lite (Android). ML Kit is geschikt voor typische scenario's — tekst-, gezichts- en barcodeherkenning zonder een model te trainen.
Core ML is het framework van Apple voor het uitvoeren van ML-modellen op iPhone, iPad, Mac en Apple Watch. Het selecteert automatisch de optimale hardwareversnelling: Neural Engine voor neurale netwerken op apparaten met A12+ (11 TOPS), GPU voor beeldverwerkingstaken en CPU voor sequentiële berekeningen. Core ML ondersteunt de formaten .mlmodel (origineel) en .mlmodelc (gecompileerd). Conversie van modellen uit PyTorch en TensorFlow gebeurt via coremltools — een Python-bibliotheek die topologie en gewichten behoudt.
Create ML is de app van Apple voor het trainen van eenvoudige modellen zonder code te schrijven. Voor productie wordt coremltools gebruikt — een conversietool voor PyTorch, TensorFlow en scikit-learn. Coremltools ondersteunt kwantisering van float32 naar float16 en int8, palletisatie van kleurruimte en het verwijderen van overbodige bewerkingen om de modelgrootte te verkleinen.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
De Neural Engine is een gespecialiseerde neuroprocessor in Apple A12-chips en nieuwer. 16 kernen voeren tot 11 biljoen bewerkingen per seconde uit met een stroomverbruik van minder dan 1 W. Core ML stuurt neurale netwerkberekeningen automatisch naar de Neural Engine en GPU-compatibele berekeningen naar Metal GPU. De ontwikkelaar hoeft geen apparaat te kiezen — Core ML doet dit via Performance Report, door het model en de beschikbare hardware te analyseren.
TensorFlow Lite (TFLite) is de cross-platform oplossing van Google voor het uitvoeren van ML-modellen op Android, iOS en Linux. Modellen hebben het .tflite-formaat en worden gemaakt via TFLiteConverter uit het TensorFlow-ecosysteem. TFLite ondersteunt kwantisering van float32 naar int8, wat de modelgrootte 4 keer verkleint met behoud van 97–99% nauwkeurigheid bij classificatietaken. Google Play Services for TFLite werkt de runtime automatisch bij zonder dat de app opnieuw hoeft te worden uitgebracht.
TFLiteConverter is het primaire hulpmiddel voor het converteren van TensorFlow-modellen naar .tflite-formaat. Post-training int8-kwantisering comprimeert een model van 300 MB naar 75 MB zonder toegang tot de volledige dataset. Kwantiseringsbewuste training (QAT) geeft minimaal verlies aan nauwkeurigheid — minder dan 1% op ImageNet. TFLiteConverter ondersteunt ook het snoeien van de graaf en het verwijderen van bewerkingen die niet worden ondersteund door de TFLite-runtime.
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(
"saved_model_dir"
)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()
Zonder een delegaat voert TFLite het model op CPU 3–5 keer langzamer uit dan met hardwareversnelling. GPU-delegaat gebruikt OpenCL en OpenGL ES 3.1 op Android, Core ML-delegaat gebruikt Neural Engine op iOS. NNAPI-delegaat maakt gebruik van NPU en DSP op Android 8.1+. XNNPACK-delegaat biedt cross-platform versnelling op ARM CPU met optimalisaties voor mobiele processors. Om een delegaat te selecteren, gebruikt u TfLiteGpuDelegate.create() met een null-controle op het resultaat.
ML Kit is de SDK van Google met kant-en-klare API's voor on-device ML. In mobiele apps wordt ML Kit gebruikt voor tekstherkenning (50+ talen, inclusief handschrift), gezichtsdetectie (468 gezichtspunten), barcodescannen (QR, EAN-13, Code 128, PDF417, Data Matrix) en objectdetectie. Alle API's werken volledig op het apparaat zonder internet. ML Kit is beschikbaar op iOS en Android met een uniforme API.
Gezichtsdetectie retourneert de coördinaten van de gezichtscontour, wenkbrauwen, ogen, neus en lippen, evenals de kantelhoek van het hoofd en de oogstatus. AR-maskers en camerafilters zijn het populairste gebruiksscenario. Tekstherkenning extraheert tekst uit foto's met een nauwkeurigheid tot 99% op gedrukte tekens. De API ondersteunt real-time herkenning via CameraX.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
Barcodescannen herkent barcodes in de videostroom van de camera in real-time. Objectdetectie identificeert objecten in een afbeelding met een begrenzingskader en klasselabel (persoon, auto, dier). Posedetectie bepaalt 33 lichaamszwaartepunten voor fitness-apps en bewegingsanalyse. Image Labeling retourneert tot 10 semantische afbeeldingslabels — "natuur", "stad", "eten".
Apple biedt ingebouwde ML-oplossingen via Vision en NaturalLanguage zonder SDK's van derden te installeren. Vision (VNRequest) voert detectie van gezichten, tekst, barcodes en contouren uit op het apparaat. NaturalLanguage (NLTokenizer) biedt tokenisatie, lemmatisatie, taalidentificatie en sentimentanalyse. Op Android worden equivalenten geïmplementeerd via ML Kit (herkenning) en SpeechRecognizer uit android.speech (spraak). Ingebouwde tools vereisen geen download van modellen — ze zijn voorgeïnstalleerd in het systeem.
Vision omvat VNDetectFaceRectanglesRequest (gezichtsdetectie), VNRecognizeTextRequest (tekstherkenning), VNDetectBarcodesRequest (barcodes) en VNDetectHumanBodyPoseRequest (skelet). VNCoreMLRequest integreert een aangepast Core ML-model in de Vision-pijplijn — bijvoorbeeld emotieclassificatie op gedetecteerde gezichten. Alle verzoeken worden uitgevoerd op de Neural Engine met minimale latentie.
let request = VNRecognizeTextRequest { request, error in
guard let observations = request.results
as? [VNRecognizedTextObservation] else { return }
for observation in observations {
let topCandidate = observation
.topCandidates(1).first
print(topCandidate?.string as? String ?? "")
}
}
let handler = VNImageRequestHandler(
cgImage: image, options: [:]
)
try? handler.perform([request])
NaturalLanguage biedt NLTokenizer voor het splitsen van tekst in tokens, NLLanguageRecognizer voor taalidentificatie (72 talen) en NLSentimentAnalyzer voor sentimentanalyse van tekst. SFSpeechRecognizer is een spraakherkennings-API die 50+ talen op het apparaat ondersteunt (iOS 13+). Vereist toestemming SFSpeechRecognizerAuthorizationStatus voor gebruik. Resultaten komen asynchroon via SFSpeechRecognitionResultHandler.
Veelgestelde vragen
ML op het apparaat (on-device ML) is een benadering waarbij machine learning-modellen direct op een mobiel apparaat worden uitgevoerd zonder gegevens naar een server te sturen. Core ML, TensorFlow Lite en ML Kit zijn de belangrijkste frameworks voor on-device ML.
Core ML is het framework van Apple voor iOS en macOS met versnelling op Neural Engine. TensorFlow Lite is de cross-platform oplossing van Google voor Android, iOS en Linux. Core ML biedt betere prestaties op Apple-apparaten, TFLite biedt veelzijdigheid.
ML Kit lost typische computer vision- en NLP-taken op: tekst-, gezichts-, barcode-, object- en poseherkenning. Alle API's werken op het apparaat zonder internet en vereisen geen eigen model.
Nee, on-device ML werkt volledig lokaal. Modellen worden op het apparaat geladen en uitgevoerd zonder internetverbinding. ML Kit biedt ook cloud-gebaseerde API-versies met hogere nauwkeurigheid, maar de on-device-modus is offline beschikbaar.
Kies voor alleen iOS Core ML — het gebruikt de Neural Engine en is nauw geïntegreerd met het Apple-ecosysteem. Kies voor cross-platform projecten TensorFlow Lite. Kies voor typische taken zonder aangepast model ML Kit met kant-en-klare API's.
Samenvatting
We ontwikkelen een mobiele applicatie turnkey
IT Sectr creëert sinds 2017 iOS- en Android-applicaties voor startups en bedrijven. We adviseren u en stellen de beste oplossing voor.