ML Kit for Firebase is a mobile SDK from Google for Android and iOS which allows using machine learning in your apps with ease. Besides it, Google also has TensorFlow Lite with a bit higher level of complexity but still quite simple to integrate and work with.
Feature-wise ML Kit give you a lot of ready to use models which cover quite a lot of use cases needed within your app.
Here is an important part, cloud features are billable and pricing details can be found via this link: https://firebase.google.com/pricing. But as soon as all your logic is on the client side, you should be good to use it as much as you can. Still, if you want to try Cloud-based recognition, you can choose Blaze Plan and have 1000 calls/month for free.
Ready to use features vs Custom model inference
Firebase did a great job by providing easy to use APIs for text recognition, face detection, barcode scanning, image labeling, language identification, and smart replies. So if your use cases are covered by that, you are a happy person. But as soon as your needs are out of this range, you should use custom model inference, and that's where the tricky part takes place.
Let’s take image labeling as an example and take two simple steps to decide if the ML Kit works for you.
Image labeling is in the list of supported features, BUT on-device recognition supports only 400 labels and cloud-based — 1000. If the images you want to work with are not in the list, you're forced to use custom models.
Please consider if your model should be stored on Firebase so it can be updated without publishing an update or it can be stored locally with no problems at all. If it’s crucial to be able to update it later on, you can still stick to Firebase ML Kit. Otherwise, another player appears on the field — TensorFlow Lite.
Once you started to use custom models all the responsibility of providing input data for the recognition and processing the results are on you and API is pretty similar for both Firebase ML Kit and TensorFlow Lite (used under the hood by ML Kit) by the concepts but a different level of customization.
Firebase ML Kit provides a friendly environment to integrate machine learning into your apps. It’s not hard to integrate, it’s free, and it can add a bit of magic for your users.