مثال های زیادی برای استفاده از AI در اپلیکیشن های فلاتری موجود هست برای مثال استفاده از کتابخانه google_mlkit_image_labeling, google_mlkit که برای شرکت گوگل هست و می توان از طریق آن کلاس بندی و یا تشخیص اجسام و یا برنامه هایی برای تولید محتوا با AI انجام داد
ولی قصد من از نوشتن این مقاله ایجاد برنامه ای برای کلاس بندی تصاویر برای هدفی مشخص توسط مدلی شخصی سازی شده یا ایجاد شده توسط خود شما می باشد برای مثال مدلی که در این برنامه از آن استفاده کرده ام مدلی برای تشخیص آتش سوزی می باشد.
قصد من تولید یک Custom SLM(small language model) که با استفاده از ابزار ایجاد مدل گوگل است.
به کد های پروژه و ریپازیتوری می توانید از طریق حساب گیت هابم دسترسی پیدا کنید
برای ایجاد مدل نیاز هست تصاویر مختلفی از آتش و دود و حالت نرمال را جمع آوری کنیم و برای این منظور من از یک پروژه ایجاد شده بر روی گیتهاب استفاده کردم و با استفاده از ابزار یادگیری ماشین گوگل مدلمان را ایجاد می کنیم طبق تصویر زیر کلاسها را ایجاد کرده و تصاویر کلاسها را آپلود می کنیم.
فایل پروژه مدل موجود در ریپازیتوری گیتهاب ٰproject.tm ٰ قرار دارد
بعد از اپلود تصاویر روی Train Model کلیک کرده و مدلمان را ایجاد می کنیم
سپس بر روی Export Model کلیک کرده و خروجی مدلمان را بر پایه Floating point می گیریم در این قسمت دقت کنید که ما برای تفکیک اجزا نیاز به دانلود مدل بر پایه Tensorflow Lite داریم طبق تصویر زیر:
حالا که مدلمان را ایجاد کرده ایم پروژه فلاترمان را ایجاد می کنیم و کتابخانه های camera , tflite_v2 را به فایل pubspec.yaml اضافه میکنیم
و فایل مدل و لیبل دانلود شده را به فولدر assets پروژه اضافه کرده و مسیر آن را در فایل popspec.yaml تنظیم می کنیم و سپس در فایل main.dart کدهای زیر را برای استفاده از مدل اضافه می کنیم.
و بعد از این مرحله پروژه ما حاضر است و می توانیم آن را روی تلفنمان اجرا کرده و با تصاویر مختلف آتش سوزی دود و تصاویر طبیعی تست کنیم.
امیدوارم که مقاله موجود مفید واقع شود و اگر از دوستان کسی نسبت به تکمیل آن در قسمت Object detection اقدام کند باعث خوشحالی بنده خواهد شد و مشتاق اشتراک گذاری این تجربه خواهم بود.