ML Kit — کتابخانه یادگیری ماشین از Google که APIهای آماده برای تشخیص متن، چهره، اشیاء و بارکد در دستگاههای موبایل ارائه میدهد. بر خلاف راهحلهای ابری ML، ML Kit تمام محاسبات را به صورت محلی روی دستگاه انجام میدهد و عملکرد بدون اینترنت و محرمانگی دادههای کاربر را تضمین میکند. طبق Google ML Kit Documentation (2026)، این کتابخانه از Android و iOS پشتیبانی میکند و بیش از 15 API را برای وظایف مختلف بینایی کامپیوتر و پردازش متن پوشش میدهد.
نکات اصلی
ML Kit — یک کتابخانه SDK موبایل از Google است که APIهای آماده یادگیری ماشین را برای Android و iOS در اختیار توسعهدهندگان قرار میدهد. این کتابخانه در سال 2018 در Google I/O به عنوان بخشی از Firebase معرفی شد و سپس به عنوان SDK مستقل در دسترس قرار گرفت. ML Kit پیچیدگی علم داده را انتزاع میکند: توسعهدهنده نیازی به آموزش مدلها، تنظیم هایپرپارامترها یا درک محاسبات تنسوری ندارد.
این کتابخانه چهار حوزه کلیدی بینایی کامپیوتر و NLP را پوشش میدهد: تشخیص متن، شناسایی چهره، اسکن بارکد، تحلیل تصاویر و بخشبندی اشیاء. هر API در دو نسخه ارائه میشود — پایه (سریعتر) و دقیق (با مدل گسترده).
ML Kit برای Android از طریق Google Play Services توزیع میشود که بهروزرسانی مدلها را بدون انتشار نسخه جدید برنامه امکانپذیر میکند. حجم دانلود هر API بسته به پیچیدگی مدل بین 2 تا 15 مگابایت است. برای iOS، کتابخانه از طریق CocoaPods یا Swift Package Manager با دانلود دستی مدل در اولین راهاندازی ارائه میشود. طبق اطلاعات Google، حجم کل همه APIهای ML Kit از 80 مگابایت تجاوز نمیکند که کتابخانه را برای برنامههای موبایل با محدودیت حجم قابل قبول میسازد.
ML Kit شامل APIهایی برای تشخیص متن با پشتیبانی از الفبای لاتین، سیریلیک و نویسههای چینی، شناسایی و ردیابی چهره با تشخیص لبخند و چشمهای باز، اسکن بارکد در همه فرمتهای رایج، بخشبندی تصاویر به پیشزمینه و پسزمینه، تحلیل وضعیت بدن انسان بر اساس 33 نقطه کلیدی و تشخیص اشیاء با طبقهبندی است. طبق Google I/O 2025، دقت مدلهای پایه ML Kit به 97% برای متن لاتین و 94% برای چهرهها میرسد.
ML Kit چند گروه API ارائه میدهد که هر کدام وظیفه خاصی از بینایی کامپیوتر یا پردازش متن را حل میکنند. بیایید سه حوزه پرتقاضا را بررسی کنیم.
Text Recognition API امکان استخراج متن چاپی و دستنویس از تصاویر را در زمان واقعی فراهم میکند. این API از 50+ زبان از جمله فارسی، انگلیسی، چینی و عربی پشتیبانی میکند. نتیجه به صورت ساختار سلسلهمراتبی بازگردانده میشود: بلوکهای متن → خطوط → توکنها با مختصات هر عنصر. طبق معیارهای Google ML Kit (2026)، تشخیص یک فریم روی دستگاه میانرده 80–150 میلیثانیه برای مدل پایه طول میکشد.
Face Detection API چهرهها را در تصاویر و جریان ویدیو شناسایی کرده و تا 17 نقطه کلیدی راهنما را تعیین میکند: چشمها، ابروها، بینی، دهان، کانتور صورت. این API همچنین احتمال لبخند، باز بودن چشمها و زاویه چرخش سر را در سه محور محاسبه میکند. بر خلاف راهحلهای ابری، ML Kit چهرهها را منحصراً روی دستگاه بدون ارسال تصاویر به سرور پردازش میکند.
Barcode Scanning API از تمام فرمتهای رایج پشتیبانی میکند: EAN-13، QR Code، Code 128، PDF417، Data Matrix و Aztec. API به طور خودکار فرمت کد را تشخیص داده و محتوای آن را — از متن ساده تا دادههای ساختاریافته (URL، کارت ویزیت vCard، مختصات جغرافیایی) — بازمیگرداند. سرعت اسکن به 30 فریم در ثانیه میرسد که امکان استفاده از API را در برنامههای زمان واقعی فراهم میکند.
برای اتصال ML Kit به پروژه Android، کافی است وابستگی مربوطه را در build.gradle اضافه کرده و یک نمونه از پردازنده ایجاد کنید. ادغام را با مثال Text Recognition API بررسی میکنیم.
در فایل build.gradle (سطح app)، وابستگی برای ML Kit Text Recognition اضافه میشود. کتابخانه به طور خودکار مدل را در اولین فراخوانی از طریق Google Play Services دانلود میکند.
dependencies {
// ML Kit Text Recognition v2
implementation 'com.google.mlkit:text-recognition:16.0.1'
// برای کار روی دستگاههای بدون Google Play
implementation 'com.google.mlkit:text-recognition:16.0.1'
}
پس از تنظیم وابستگیها، میتوان TextRecognizer ایجاد کرده و یک تصویر در قالب InputImage به آن ارسال کرد. نتیجه به صورت اشیاء 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
// پردازش متن تشخیصدادهشده
Log.d("MLKit", "Block: $blockText")
}
}
.addOnFailureListener { e ->
Log.e("MLKit", "خطا: $e")
}
کد یک کلاینت TextRecognition ایجاد میکند، یک تصویر بیتمپ به آن ارسال کرده و نتیجه را به صورت ناهمگام پردازش میکند. بلوکهای متن شامل خطوط و توکنهای تو در تو با مختصات هستند که امکان نمایش متن پیدا شده را مستقیماً روی تصویر فراهم میکند.
یک جنبه مهم ادغام مدیریت خطا است. ML Kit ممکن است در تصویر بیش از حد تاریک، متن چرخیده یا exceeding limit حافظه خطا برگرداند. توصیه میشود همیشه برای مواردی که مدل روی دستگاه موفق نیست، fallback به تشخیص ابری از طریق Google Cloud Vision اضافه شود. تجربه نشان میدهد که رویکرد ترکیبی (ML Kit + Cloud Vision) دقت کلی تشخیص را در اسناد پیچیده از 92% به 98% افزایش میدهد.
ML روی دستگاه — تفاوت کلیدی ML Kit با سرویسهای ابری ML. تمام محاسبات به صورت محلی روی دستگاه انجام میشود که سه مزیت اساسی دارد. اول — تأخیر صفر: مدل دادهها را در 50–200 میلیثانیه بدون انتظار برای پاسخ سرور پردازش میکند. دوم — عملکرد بدون اینترنت: کتابخانه در حالت هواپیما کار میکند که برای برنامههای میدانی حیاتی است.
پردازش محلی تضمین میکند که عکسها، اسناد و دادههای شخصی کاربر هرگز دستگاه را ترک نمیکنند. این امر به ویژه برای برنامههای حوزه پزشکی، مالی و امنیت شرکتی که انتقال داده به سرور توسط الزامات نظارتی ممنوع است، اهمیت دارد. طبق آمار Google (2026)، 78% کاربران برنامههای با پردازش روی دستگاه را به دلایل حریم خصوصی ترجیح میدهند.
بر خلاف راهحلهای ML ابری که تصاویر را به سرور ارسال کرده و ترافیک موبایل مصرف میکنند، ML Kit به اتصال شبکه نیاز ندارد. صرفهجویی در ترافیک میتواند برای برنامههای با پردازش فشرده تصاویر به 50–200 مگابایت در روز برسد. باتری به طور متوسط مصرف میشود: یک چرخه تشخیص 0.5–2% شارژ در ساعت استفاده فعال مصرف میکند.
ML Kit موقعیت میانی بین فریمورکهای بومی ML (TensorFlow Lite، Core ML) و سرویسهای ابری (Google Cloud Vision، AWS Rekognition) را اشغال میکند. ویژگیهای کلیدی را مقایسه میکنیم.
| ویژگی | ML Kit | TensorFlow Lite | Google Cloud Vision |
|---|---|---|---|
| اجرا | فقط روی دستگاه | فقط روی دستگاه | ابری |
| نیاز به Data Science | خیر | بله | خیر |
| سرعت | 80–200 میلیثانیه | 50–300 میلیثانیه | 500–2000 میلیثانیه |
| عملکرد آفلاین | بله | بله | خیر |
| دقت | 94–97% | 95–99% | 98–99% |
| مدلهای سفارشی | از طریق TFLite | بله | AutoML Vision |
| قیمت | رایگان | رایگان | 1.50$ / 1000 واحد |
برای وظایف معمول بینایی کامپیوتر مانند اسکن اسناد یا بررسی چهره، ML Kit به دلیل سادگی ادغام انتخاب بهینهای است. پروژههای پیچیده با معماریهای شبکه عصبی خاص نیازمند TensorFlow Lite هستند. سرویسهای ابری زمانی که حداکثر دقت مورد نیاز است توجیهپذیرند.
هنگام انتخاب بین ML Kit و TensorFlow Lite نسبت سرعت توسعه به انعطافپذیری را در نظر بگیرید. اگر در پروژه از قبل دانشمند داده و مدل آموزشدیده وجود دارد — مستقیماً از TFLite استفاده کنید. اگر ML فقط یک عملکرد کمکی برنامه است (اسکن رسید، بررسی لبخند در سلفی) — ML Kit در 30 دقیقه به جای یک هفته نتیجه میدهد.
طبق اطلاعات Google (2026)، میانگین زمان پیادهسازی ML Kit در یک پروژه موجود 4–6 ساعت برای سناریوی پایه و 2–3 روز برای ادغام کامل با مدل سفارشی است. در 73% موارد، توسعهدهندگان ML Kit را دقیقاً به دلیل سرعت ادغام انتخاب میکنند، نه به دلیل حداکثر دقت مدلها.
سؤالات متداول
خیر، ML Kit تمام محاسبات را به صورت محلی روی دستگاه انجام میدهد. اینترنت فقط برای دانلود اولیه مدل از طریق Google Play Services مورد نیاز است، پس از آن کتابخانه به طور کامل آفلاین کار میکند.
Android (API 24+) و iOS (12.0+). برای Android از ادغام از طریق Google Play Services استفاده میشود، برای iOS — از طریق CocoaPods یا Swift Package Manager با دانلود دستی مدل.
بله، ML Kit از وارد کردن مدلهای سفارشی TensorFlow Lite از طریق کلاسهای LocalModel یا RemoteModel پشتیبانی میکند. مدل باید به فرمت .tflite تبدیل شده و برای دستگاههای موبایل بهینهسازی شود.
ML Kit — کتابخانه سطح بالا با APIهای آماده که به دانش ML نیاز ندارد. TensorFlow Lite — زمان اجرای سطح پایین برای اجرای مدلهای سفارشی. ML Kit در داخل از TFLite استفاده میکند اما پیچیدگی را از توسعهدهنده پنهان میکند.
مدلها به طور خودکار از طریق Google Play Services برای Android و از طریق App Store برای iOS بهروز میشوند. Google هر 6–8 هفته یکبار بهروزرسانی منتشر میکند که دقت تشخیص را بهبود بخشیده و زبانهای جدیدی اضافه میکند.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید