اخبار ، مقالات و تحقیقات گروهی را دنبال کنید.
آموزش جامع طبقه بندی تصاویر ماهواره ای با استفاده از متدهای دیپ لرنینگ – پروژه موردی: طبقه بندی لیتولوژیکی و سنگ شناسی

دوره جامع طبقه بندی تصاویر ماهواره ای با استفاده از متدهای دیپ لرنینگ اولین دوره در ایران است که با این جزئیات به مبحث طبقه بندی تصاویر ماهواره ای به صورت تئوری و عملی می پردازد. در این دوره سعی شده است که از بهترین روش طبقه بندی تصاویر ماهواره ای با هدف بهبود دقت طبقه بندی استفاده شود. این دوره به گونه ای طبقه بندی شده است که کاربر بتواند طبقه بندی انواع مختلف کاربری ها را به صورت جامع و کامل درک نموده و توان طبقه بندی هر نوع دیتایی را داشته باشد.
طراحی این دوره به گونه ای بوده که بتوان با هرتصویری که با فرمت های رایج سنجش از دوری می باشد طبقه بندی را انجام داد. هم چنین در این دوره صفر تا صد تئوری یادگیری عمیق و همچنین صفر تا صد تئوری الگوریتم CNN شرح شده است و ضمانت می شود که کاربر بتواند درک کاملی را از مفهوم یادگیری عمیق و همچنین متدهای مورد استفاده داشته باشد.
در این دوره از یک پروژه موردی برای انجام طبقه بندی استفاده شده است که طبقه بندی لیتولوژی و سنگ شناسی می باشد و یکی از سخت ترین پدیده ها در مبحث طبقه بندی می باشد و در این دوره به صورت مفصل بررسی شده است.
همچنین از داده های ماهواره ای سنتینل 2 برای انجام این طبقه بندی استفاده شده است که امروزه پراستفاده ترین تصاویر در مبحث سنجش از دور می باشد.
در این دوره از مدل CNN با هدف طبقه بندی واحدهای لیتولوژیکی استفاده شده است که قدرتمندترین روش در زمینه طبقه بندی با متدهای یادگیری عمیق می باشد. همچنین برای اولین بار نمودار ROC با هدف سنجش میزان اعتبار مدل نیز مورد استفاده قرار گرفته است که از بهترین پارامترهای حال حاضر جهت سنجش کارایی مدل ها می باشد.
ویژگی های آموزش
مدرس: هادی امامی
تخصص: کارشناس سنجش از دور و برنامه نویس در زمینه پردازش تصاویر ماهواره ای
موضوع: طبقه بندی با روش های یادگیری عمیق
زبان برنامه نویسی مورد استفاده : Python
مدت زمان آموزش: 9 ساعت
فرمت آموزش: ویدئوی MP4
داده تمرینی: دارد
مخاطب: علاقه مندان سنجش از دور
پیش نیاز: آشنایی مقدماتی با Python
تهیه آموزش:
برای تهیه این آموزش بر روی دکمه زیر کلیک کنید.
قسمتی از آموزش – بخش اول
قسمتی از آموزش – بخش دوم
معرفی مدرس
- هادی امامی
- کارشناس سنجش از دور و تخصص در زمینه برنامه نویسی Python و R
- دارنده مدرک کارشناسی ارشد سنجش از دور از دانشگاه بهشتی
- دارنده مدرک علوم کامپیوتر از دانشگاه هاروارد آمریکا
- نخستین مدرس تخصصی آموزش های برنامه نویسی در سنجش از دور
- طراح و مدرس بیش از ۲۰ آموزش تخصصی سنجش از دور
- برگزارکننده ده ها کارگاه آموزشی تخصصی در زمینه سنجش از دور
- مشاور شرکت های مختلف در زمینه سنجش از دور
- محقق در زمینه هوش مصنوعی و روش های یادگیری عمیق
عناوین آموزشی
- مقدمه و توضیحات کلی
- هوش مصنوعی و شاخه های آن در سنجش از دور
- تئوری جامع یادگیری ماشین
- تئوری جامع یادگیری عمیق
- آشنایی با مفهوم نورون(دندریت/سیناپس/آکسون)
- کلیات وزن ها و ریاضیات در یادگیری عمیق
- جایگاه تصویر در یادگیری عمیق
- سخت افزار و دیتاست در یادگیری عمیق
- هوش طبیعی در برابر هوش مصنوعی (شباهت ها)
- تشریح کامل یک شبکه عصبی مصنوعی
بخش اول : آشنایی با تابع فعال ساز یا Activision Function
- تشریح کامل تابع فعال ساز در یادگیری عمیق
- تشریح انواع توابع فعال ساز در یادگیری عمیق
- تابع فعال ساز خطی
- تابع فعال ساز Sigmoid
- تابع فعال ساز Tangent
- تابع فعال ساز ReLU
- تشریح کامل مفهوم بایاس (Bias) در یادگیری عمیق
- آشنایی با مفهوم یادگیری در یادگیری عمیق
- ایجاد یک پروژه صفر تا صد با هدف تسلط بر روند عملکرد یک مدل یادگیری عمیق
بخش دوم : آشنایی با تابع اتلاف یا Loss Function
- تشریح کامل مفهوم تابع اتلاف و نحوه عملکرد آن در مدل
- بررسی انواع روش های برآورد تابع اتلاف
- Mean Square Error
- Mean Absolute Error
- Root Mean Square Error
- Hinge Loss Function
- Binary Cross Entropy
- Multi Cross Entropy
- Triplet Loss Function
بخش سوم : آشنایی با مفهوم Optimization در یادگیری عمیق
- هدف کلی بهبود یاد Optimization
- تشریح کامل نحوه عملکرد Optimization در مدل های یادگیری عمیق
- آشنایی با انواع روش های Optimization در مدل های یادگیری عمیق
- Gradient Decent
- Gradient Decent with momentum
- RMSprop
- Adagrad
- Adam
- تشریح کامل فرمول ریاضیاتی Optimization و مفهوم وزن در آن
- تشریح کامل Adam و پارامترهای آن
- Alpha
- Beta1
- Beta2
- Epsilon
بخش چهارم : تئوری جامع مدل CNN
- مفهوم نورون و ضرب داخلی در مدل CNN
- تفاوت CNN و سایر مدل های یادگیری عمیق در مبحث طبقه بندی
- نقاط قوت CNN در مقابل سایر روش های یادگیری عمیق
- آشنایی با مفهوم جامع تصویر و پیکسل
- مفهوم همسایگی در CNN
- مفهوم کرنل در CNN
- توضیح مفهوم کرنل در CNN به صورت کاملا گرافیکی و قابل فهم (GIF)
- مفهوم ویژگی و استخراج ویژگی در CNN (Feature Extraction)
- تشریح کامل مفهوم پیچش در شبکه های عصبی پیچشی
- مفهوم Scalar در یادگیری عمیق
- مفهوم Vector در یادگیری عمیق
- مفهوم Matrix در یادگیری عمیق
- مفهوم Tensor در یادگیری عمیق
- آشنایی با پارامتر Pooling در مبحث CNN
- Max Pooling
- Average Pooling
- آشنایی با مبحث Padding در CNN
- نحوه عمل پارامتر Flatten در یادگیری عمیق و پردازش تصویر
- تشریح کامل مبحث Fully Connected
بخش پنجم (عملی) : آشنایی با پکیج های مورد استفاده
- آشنایی با پکیج Rasterio
- آشنایی با پکیج Pyrsgis
- آشنایی با پکیج NumPy
- آشنایی با پکیج Matplotlib
- آشنایی با پکیج Scikit – Learn
- آشنایی با پکیج GDAL
- آشنایی با پکیج Tensorflow
- نحوه اتصال گوگل درایو به گوگل کولب
بخش ششم: فراخوانی و بصری سازی داده ها
- فراخوانی داده های سنتینل 2 و داده های زمینی
- تبدیل تصویر به آرایه
- آشنایی با توابع مورد استفاده برای تصاویر
- جداسازی سطر و ستون و باندهای تصاویر ماهواره ای
- نمایش تصاویر ماهواره ای به شکل های مختلف
- رسم هیستوگرام برای تصاویر سنتینل 2
- نمایش داده های زمینی به صورت کلی و تکی
- پیش پردازش داده های زمینی
- فلت کردن داده های زمینی با هدف پیش پردازش
- نمایش تعداد پیکسل های هرکلاس در تصاویر ماهواره ای
- رسم پروفیل طیفی برای تصاویر ماهواره ای
بخش هفتم: پیش پردازش تصاویر ماهواره ای
- استخراج اطلاعات آماری از تصاویر ماهواره ای
- نرمال سازی تصاویر ماهواره ای
- چیپس کردن تصویر به قطعات کوچک تر با هدف وارد کردن به مدل
- حذف داده های پرت از داده های زمینی و تصاویر ماهواره ای
- نوشتن تابع به صورت دستی با هدف جداسازی داده های Testو Train
بخش هشتم: ساخت مدل CNN با هدف طبقه بندی تصاویر
- نحوه ساخت مدل شبکه عصبی پیچشی
- تنظیم کرنل در مدل برای بهترین خروجی
- تنظیم تعداد لایه های پنهان در مدل
- وارد کردن Padding مناسب به مدل
- وارد کردن Activation مناسب به مدل
- تنظیم Shape مختص مدل
- تعریف Dropout برای مدل شبکه عصبی
- تعریف Dense مناسب با هدف طبقه بندی مناسب
- خروجی کلی مدل برای بصری سازی
- تنظیم تابع اتلاف مناسب برای مدل – Loss Function
- تنظیم Optimizer مناسب برای مدل
- فیت کردن مدل بر روی داده های تست و ترین
- تعریف Epoch مناسب برای بهبود دقت طبقه بندی
- نمایش خروجی طبقه بندی شده مدل
- تعریف دیتای جدید با هدف مشاهده عملکرد مدل بر روی داده های جدید
- خروجی گرفتن از نقشه طبقه بندی شده
بخش نهم: اعتبار سنجی مدل
- آماده سازی دیتا با هدف اعتبار سنجش
- نمایش ماتریکس خطا یا Confusion Matrix به صورت گرافیکی
- نحوه به دست آوردن Precision Score با هدف نمایش دقت طبقه بندی
- نحوه محاسبه Recall با هدف نمایش اعتبار طبقه بندی
- نحوه محاسبه F1-Score با هدف نمایش اعتبار طبقه بندی
بخش دهم: تشخیص عملکرد مدل با نمودار منحنی ROC
- نحوه محاسبه پارامتر True Positive Range برای کلاس ها
- نحوه محاسبه False Positive Range برای کلاس ها
- نحوه محاسبه FPR کل برای مدل
- نحوه محاسبه TPR میانگین برای مدل
- نحوه استفاده از تابع Cycle
- نحوه نمایش مشخصه عملکرد مدل به صورت گرافیکی
- تشریح مدل ROC
- نحوه ساخت نمودار AUC-ROC به صورت حرفه ای
کاربرد
این محصول در زمینه طبقه بندی تصاویر ماهواره ای با انواع مختلف کاربری ها می باشد که به منظور درک بهتر از یک پروژه کاربردی نیز استفاده شده است. کاربران می توانند پس از مشاهده ویدئوهای این آموزش، بر چندین پارامتر مهم و کاربردی مسلط شوند.
ابتدا تسلط کاملی بر شبکه CNN خواهند داشت و نحوه طبقه بندی با این مدل را به صورت کامل فراخواهند گرفت و همچنین با مفهوم یادگیری عمیق به صورت کامل آشنا خواهند شد. همچنین بر اساس یک پروژه کاربردی قادرخواهند بود که تمامی کارهای مربوط به طبقه بندی با استفاده از متدهای دیپ لرنینگ را فرا بگیرند. از جمله کاربردهای مهم این آموزش:
- کاربرد در بخش زمین شناسی و لیتولوژی
- کاربرد در بخش طبقه بندی تصاویر ماهواره ای
- آشنایی با مفهوم یادگیری عمیق
- آشنایی کامل با مفهوم CNN
تهیه آموزش:
برای تهیه این آموزش بر روی دکمه زیر کلیک کنید.
21 دیدگاه. ارسال دیدگاه جدید
سلام وقت بخیر
ببخشید یه سوالی داشتم در این آموزش در رابطه با پیاده سازی و توضیح روش های U-NET و LSTM صحبت کردین؟
سلام وققتون بخیر. به صورت تئوری مطالبی گفته شده ولی به صورت عملی خیر . بیشتر مبحث CNN پوشش داده شده.موفق باشین
سللم و عرض ادب…بنده آموزش شما رو تهیه کردم و به جیمیل شما سوالاتی رو فرستادم…ممنون میشم پاسخ بفرمایید.
با تقدیم احترام
سلام جناب رضایی
اگر ممکنه سوالتون رو همینجا مطرح کنید که برای سایر متخصصین هم قابل استفاده باشه و شاید سوال بقیه هم باشد.
سلام و درود بر شما استاد امامی عزیز
1-میشه برنامه ای که دو تصویر سیستان را برای شما تهیه نموده است را برای بنده نیز ارسال کنید (چون من تصویر را برای منطقه مورد مطالعه خودم نیاز دارم)؟
استاد امامی گرامی
– در پایان من برنامه ای در گوگل ارث انجین نوشتم که با استفاده از openlandmap نیز این طبقه بندی را انجام داده است. باید ببینم آیا کار من درست بوده یا خیر؟ آیا این دو تصویر همپوشانی خواهند داشت. و کدام یک راه علمی تری را گذرنداه اند؟ البته چون هنوز تا پایان این کار را ندیده ام نمی دانم شما جنس سنگ یا لیتولوژی را مشخص کرده اید یا خیر ؟
با سلام. انگار استاد امامی در دسترس نیستند چند روزی…. بنده در این مشکل عنوان شده مانده ام. ممنون میشم که عزیزان راهنمایی بفرمایند.
سلام و وقت بخیر
کدهای پایتون در فایل های دانلودی ضمیمه نشدند. لطفا کدهای دوره رو هم توی پنل دانلود دوره بزارید.
تشکر
سلام وقتتون بخیر.بابت تاخیر خیلی خیلی عذر میخام. در ابتدا برای سوال اولتون باید بگم که تصاویر به دوشکل بودند ک یکیشون تصویر اصلی و دیگری دیتای اموزشی. ک این دیتا حالت رستر شده شیپفایل می باشد ک میشه راحت در جی ای اس اونو به شیپفایل تغییرداد. من در مورد openlandmap اطلاعاتی در دست ندارم و نمیتونم واقعا نظر خاصی بدم. اما در مورد روش های دیپ اطمینان خاطره خودم رو بهتون میرسونم ک اگر با صورت علمی پیش ببریم دقت هاش کاملا مستند هستند.
با سلام وقت بخیر
استاد امامی یک سوال از خدمت شما داشتم
عنوان کار بنده بررسی ارتباط تغییرات کاربری اراضی یک منطقه و تغییرات غلظت آلاینده pm در یک شهر در طول ده سال اخیر می باشد
ایا این آموزش می تواند به بنده کمک کند؟
واین لینک یک مقاله دراین زمینه بوده خدمت شما ارسال می کنم.
ممنون میشوم راهنمایی کنید
Investigate the effects of urban land use on PM2.5 concentration: An application of deep learning simulation
https://doi.org/10.1016/j.buildenv.2023.110521
سلام وقتتون بخیر باشه. در زمینه طبقه بندی هرکدوم از مواردی که گفتین بله این اموزش میتونه موثر باشه اما در زمینه تغییرات در این دوره آموزشی ارائه نشده است. موفق باشید
درود خدمت شما، جناب امامی
ببخشید من در بخش chips کردن تصویر با کمبود فضای RAM در گوگلکولب موجه میشم. چطور میتونم این فضا رو افزایش بدم غیر از اینکه بخوام هزینه گوگلکولبپرو پرداخت کنم؟
سلام وقتتون بخیر باشه. بنظرم با یک اکانت دیگه تست کنید.کولب رو با حساب جیمیل دیگه ای واردش بشین احتمال بالا درست بشه. موفق باشین
سلام و درود خدمت شما. مهندس جان آیا بدون چیپس کردن میشه کار رو ادامه داد؟ متاسفانه داده های من به دلیل حجم بالا متوقف میشه (به دلیل فضای کم رم). آیا راهی هست این موضوع رو حل کرد؟ خیلی برام مهمه که بتونم حل کنم
سلام وقتتون بخیر. بله امکانش هست ولی چیپس کردن خودش مبنای این هست که رام رو مدیریت کنه و پردازش هارو سریع تر کنه. ولی اگر مایل باشین میتونین به شکل دلخواه خودتون پیش ببرین .موفق باشین
سلام گقت بخیر
پروژه من پهنه بندی سیلاب هست و داده های من بصورت tif هستند. ماهواره ای نیستن آیا این اموزش برای طبقه بندی و پهنه بندی کاربرد دارد؟
با سلام و عرض ادب خسته نباشید. بله در این آموزش هم به صورت فرمت TIF میشه کار کرد و هم سایر فرمت ها و فرقی نمیکته. موفق باشین
سلام و عرض ادب
ببخشید این داده آموزش دیده ممکن است برای منطقه دیگه جواب بده؟
آیا همه نوع لیتولوژی در این منطقه لحاظ شده است؟
سلام وقتتون بخیر باشه
از اونجایی ک صرفا هدف اموزش بود من دیتای زمینی ک دارم درسته از یک منبع معتبر تهیه کردم ولی اسامی لیتولوژیکی در اختیار نداشتم. بهتره از دیتای خودتون استفاده کنید برای کارهاتون و اینکه این دیتا صرفا 9 واحد لیتولوژیکی رو شامل میشه. برای محدوده های مختلف میتونه جواب بده ولی من زیاد توصیه نمیکنم اینکارو.
موفق باشین
سلام و عرض ادب خدمت استاد امامی عزیز
یک سوال داشتم
اگر یک DEM را خواسته باشم اعتبار سنجی کنم چگونه باید این کار را انجام دهم؟ در صورتی که داده دیگری در کنار آن نیست.
واقعا کلاساتون برای بنده خیلی عالیه و مطالب زیادی یاد گرفتم.
با سلام و وقت بخیر خدمت شما. ممنونم ازت دوست عزیز این لطف شمارو میرسونه. فایل های ارتفاعی اصولا چون مثل تصاویر ماهواره ای نیستن که بخایم ازشون نمونه برداری کنیم و برای مناطق دیگه هم صدق کنن. یکم اعتبارسنجیشون سخت تر هست. برای کل محدوده ارتفاعی ک فک نکنم بشه یک اعتبارسنجی مناسب رو پیاده سازی کرد چون مناطق ارتفاعی متفاوت هستن. برای یکسری مناطق خاصی ک مدنظرتون هست هم میشه از نمونه برداری زمینی کمک گرفت ک این خودش باز کار سختی هست. ولی اگر بخاین به صورت فرمالیته یک اعتبار سنجی رو انجام بدین میتونین یکسری نمونه ها ک ازشون مطمن هستین رو بدین به مدل و بر اساس اون یک خروجی به شما میده ک من زیاد توصیه نمیکنم. اطلاعات من در مورد اعتبارسنجی دم زیاد نیست ولی اگر مشکلتون حل نشد دوباره اینجا سوال رو مطرح کنین تا من در این زمینه تحقیق کنم. ممنونم ازتون