ما به دنبال یک توسعهدهنده ماهر اندروید (مسلط به Kotlin/Java) هستیم که تجربه عملی در پیادهسازی مدلهای یادگیری ماشین روی دستگاه (On-Device ML) با استفاده از TensorFlow Lite (TFLite) داشته باشد. هدف این پروژه ساخت یک اپلیکیشن ساده و کاملاً آفلاین برای تشخیص بلادرنگ حالت چهره (Facial Expression) از طریق دوربین موبایل است، با تأکید ویژه بر حجم نهایی پایین برنامه.
۲. الزامات فنی (بسیار مهم)
پلتفرم: اندروید (Native: Kotlin یا Java)
تکنولوژی اصلی: TensorFlow Lite (بدون استفاده از ML Kit یا Firebase)
الف) پیادهسازی دوربین و عملکرد بلادرنگ
ورودی دوربین: پیادهسازی قابلیت دریافت فریمهای زنده از دوربین (ترجیحاً با استفاده از CameraX یا Camera2 API).
پردازش بلادرنگ: تشخیص چهره و ارزیابی حالت چهره باید به صورت بلادرنگ (Real-Time) و با نرخ فریم بالا (حداقل ۲۰ FPS) انجام شود تا تجربه کاربری روانی داشته باشد.
بهینهسازی عملکرد: اطمینان از بهینهسازی کد برای مصرف کم CPU و RAM برای جلوگیری از گرم شدن دستگاههای قدیمیتر.
ب) پیادهسازی یادگیری ماشین (ML)
مدل TFLite: توسعهدهنده باید یک مدل TFLite مناسب و بهینهسازی شده (با فرمت .tflite) برای تشخیص حالتهای مختلف چهره (ماند Happy(لبخند), Sad, Neutral) را در پروژه ادغام کند.
(توجه: مدل باید توسط فریلنسر تأمین شود،)
مدیریت مدل: بارگذاری مدل، پیشپردازش دقیق ورودیهای دوربین برای مطابقت با نیازهای مدل، و پسپردازش خروجی مدل (مقدار احتمال حالتهای مختلف چهره) باید به صورت دستی پیادهسازی شود.
الزام آفلاین بودن: کل فرآیند تشخیص باید ۱۰۰٪ بدون نیاز به اینترنت یا سرور ابری انجام شود.
ج) رابط کاربری (UI) و حجم
طراحی ساده: رابط کاربری باید مینیمال، تمیز و کاربردی باشد (شامل یک پیشنمایش دوربین و یک نشانگر یا متن ساده برای نمایش حالت چهره تشخیص داده شده).
کمحجم بودن: حجم نهایی فایل APK/AAB باید تا حد امکان کم باشد.
۳. خروجی و تحویل پروژه
کدهای منبع کامل پروژه (شامل کدهای Kotlin/Java، مدل TFLite و فایلهای Gradle).
نوشتن مستندات مختصر درباره نحوه اجرای مدل TFLite و ساختار پروژه.
تست کامل برنامه بر روی حداقل سه دستگاه مختلف اندروید برای اطمینان از پایداری عملکرد.
مدت زمان تخمینی برای اتمام پروژه.
پیشنهاد قیمت نهایی خود برای انجام کل پروژه.
توضیح مختصری در مورد مدلی که برای این کار پیشنهاد میدهید (منبع یا نوع آن) و اینکه کدام حالتهای چهره (مثلاً: خوشحال(لبخند)، خنثی، ناراحت) را پوشش میدهد.
با تشکر