تشخیص بیماری گیاهان با داده های اندک

الگوریتم های طبقه بندی خودکار بیماری های گیاهی در کشاورزی بسیار مهم هستند، به عنوان مثال برای جلوگیری یا کاهش آفت ها. شناسایی سریع بیماری های گیاهی به دلیل کمبود زیرساخت های لازم در بخش های زیادی از جهان دشوار است.

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

در حال حاضر بهترین نتایج طبقه بندی تصویر با استفاده از الگوریتم های یادگیری عمیق مبتنی بر شبکه های عصبی کانولوشن ( CNN ) بدست می آید که دارای هزاران یا حتی میلیون ها پارامتر قابل تنظیم است.

یکی از محدودیت های این مدل ها این است که برای یادگیری ویژگی های بصری ظریف تصویر که مشخصه یک بیماری یا تفاوت های ظریف بین گونه های گیاهی مشابه، است به مجموعه های داده تفسیر شده بزرگی نیاز دارند.

اشکال اصلی در ایجاد گرافیک های طبقه بندی خودکار بیماری گیاهان بر اساس CNN ، کمبود داده (تصاویر) برای برخی از انواع بیماری های گیاهی است. بعضی از بیماری ها در محصولات زراعی بسیار نادر هستند،

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

نیازمندی ها

 در این مطالعه از مجموعه داده های پروژه PlantVillage استفاده شد. PlantVillage یک پروژه غیرانتفاعی است که توسط دانشگاه ایالتی پن در ایالات متحده و EPFL در سوئیس رهبری می شود و در آن ده ها هزار تصویر از برگ های تفسیر شده از گیاهان سالم و بیمار به صورت آزاد در دسترس قرار گرفته است.

مجموعه داده PlantVillage شامل ۵۴۳۰۳ تصویر برگ با ۳۸ کلاس است که شامل ۱۴ گونه محصول و ۲۶ بیماری است. همه تصاویر در شرایط کنترل شده جمع آوری شده اند ، هم در مقیاس خاکستری و هم در رنگ.

برای آزمایشات، همه تصاویر به ۲۵۶ × ۲۵۶ پیکسل تغییر یافتند، بدون هیچ گونه پیش پردازش تصویر اضافی. تصویر ۱ نمونه ای از ۳۸ کلاس را نشان می دهد و جدول ۱ انواع محصولات و بیماری های آن ها را نشان می دهد.

مجموعه داده تصاویر بیماری گیاهان
تصویر ۱
جدول کلاس های بیماری گیاهان
جدول۱ .کلاس ها و تعداد تصاویر در مجموعه داده PlantVillage، گروه بندی شده با Ds به عنوان منبع و Dt به عنوان هدف. K نمایانگر تعداد تصویر در هرگروه است.

کلاس ها به طور تصادفی تقسیم شدند تا دو مجموعه داده تشکیل شوند: یک منبع منبع دارای ۳۲ کلاس (۴۸،۷۷۵ تصویر) برای توسعه الگوریتم طبقه بندی برگ پایه گیاه، و یک دامنه هدف با وجود ۶ کلاس (۵۵۲۸ تصویر) برای توسعه و ارزیابی الگوریتم های FSL.

هر دو مجموعه داده به یک مجموعه آموزش (۸۰٪) و یک مجموعه آزمون (۲۰٪) تقسیم شدند. تمام پارتیشن های داده به طور تصادفی و به روش طبقه بندی شده ساخته شده اند.

شیوه کار

معماری الگوریتم طبقه بندی تصویر برگ گیاه براساس پیشنهاد اخیر Medela و همکاران است که در شکل ۲ نشان داده شده است و شامل دو بلوک است.

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

شبکه عصبی تشخیص بیماری گیاهان
تصویر ۲

طبقه بند به این شکل بود که نگاشت تصویر در مجموعه داده D به اندازه کافی کلی است، بنابراین می توان دانش را به طبقه بندی کلاس های جدید برگ گیاه با استفاده از چند تصویر از آن کلاس های جدید منتقل کرد. این ایده به صورت شماتیک در شکل ۳ نشان داده شده است که معماری FSL را نشان می دهد.

شاخه فوقانی طبقه بندی کننده برگ گیاهان با کاربرد عمومی است که بر روی مجموعه داده Ds آموزش داده شده است. شاخه پایین الگوریتم FSL است که از انجماد CNN و با تنظیم مجدد طبقه بندی SVM تشکیل می شود.

این انتقال دانش با استفاده از یک مجموعه داده کوچک تر انجام می شود، در آزمایشات این داده ها زیر مجموعه Dt بودند. چالش کار تعیین تعداد تصاویر مورد نیاز در هر کلاس، برای انتقال کارآمد دانش به دست آمده از Dt است.

کلاسه بند تشخیص بیماری گیاهان
تصویر ۳

شبکه کانولوشنی پایه

برای شبکه کانولوشنی پایه، از ورژن سوم شبکه Inception که با تصویر مجموعه داده imagenet اموزش اولیه داده شده، استفاده شده است. این شبکه شامل ۳۱۵ لایه است و برای تنظیم دقیق آن برای طبقه بندی برگ گیاه ، ۲۶۵ لایه اول منجمد شده و ۵۰ لایه آخر با مجموعه داده های Ds آموزش داده شده اند.

وقتی شبکه تابع استخراج ویژگی fi را آموخت، لایه های کاملاً متصل شده برداشته شده و طبقه بندی SVM جای آنها را می گیرد. بعد از چند آزمایش مقدماتی،N = 128  به عنوان بعد خروجی شبکه کانولوشن انتخاب شد، بنابراین شبکه CNN تصویر را از فضای ۱۲۸ به تصویر سه کاناله با ابعاد ۲۵۶ * ۲۵۶ نگاشت می دهد.

آموزش ساختار Siamese

دو ساختار آموزشی برای آموزش شبکه استفاده شد.

  1. یک شبکه Siamese با دو زیر شبکه و تابع خطا Contrastive
  2. یک شبکه Siamese با سه زیر شبکه و با تابع خطا Triplet

در شبکه های Siamese همه زیر شبکه ها وزن های یکسانی دارند، شکل ۴٫ زیرشبکه های شبکه های سیامی همانند مدل پایه اولیه بودند ، یعنی شبکه های Inception V3 با ۵۰ لایه قابل تنظیم.

در  زیر شبکه های سیامی یک جفت تصویر Xi ,Xj وجود دارند و در حین آموزش به شبکه تغذیه می شود و تابع خطا  برای این جفت به این صورت محاسبه می شود:

فرمول شبکه عصبی تشخیص بیماری گیاهان

جایی که  نشان دهنده فاصله اقلیدسی است ، m حاشیه است وy = 0 اگر Xi و Xj از کلاس های مختلف باشند y = 1 اگر از یک کلاس باشند. با به حداقل رساندن تابع خطا، شبکه یاد می گیرد که فاصله بین گروه های مشابه را به حداقل و فاصله بین گروه های نامتشابه را به حداکثر مقدار ممکن برساند.

شبکه زیرمجموعه سیامی در طول آموزش با سه تصویر یک لنگر، یک تصویر مثبت و یک تصویر منفی تغذیه می شود یعنی Xn و Xp  و Xa  . تصاویر لنگر و مثبت از یک کلاس و تصویر منفی از یک کلاس متفاوت است. عملکرد از تابع خطا Triplet بدین ترتیب است:

فرمول شبکه عصبی تشخیص بیماری گیاهان

با به حداقل رساندن عملکرد خطا، فاصله بین جاسازی برای لنگر و تصاویر مثبت به حداقل می رسد، در حالی که حداکثر فاصله بین جاسازی برای لنگر و کلاس منفی تا حاشیه m قابل افزایش است.

آموزش شبکه پایه برای تعداد محدودی داده آموزشی

سرانجام، برای انتقال دانش از منبع Ds به هدف Dt، طبقه بندی SVM با تصویر های دامنه هدف آموزش مجدد شد. تصاویر مورد نیاز برای هر سه روش آموزش از شبکه کانولوشنی آموزش دیده با مجموعه  Ds بدست آمد.

در این آزمایش ها، مقدار مختلفی از تصاویر آموزشی در هر کلاس، از ۱ تا ۱۴۰ تصویر در هر کلاس، در نظر گرفته شد. ۵۰ لایه آخر شبکه InceptionV3 ابتدا بر روی مجموعه داده های Ds آموزش داده شدند، و سپس با استفاده از زیر مجموعه های مجموعه داده Dt تنظیم دقیق شدند.

در تمام این موارد مجموعه آزمون در Dt به ۵۰ تصویر در هر کلاس ثابت شد و این فرایند ۲۰ بار تکرار شد تا از نظر آماری دقت روش ها مشخص شود. دقت روش های مختلف با استفاده از آزمون McNemar در حاشیه اطمینان ۹۵٪ مقایسه شد.

تشخیص بیماری گیاهان با شبکه عصبی
تصویر ۴

بهینه سازی شبکه

 در همه آزمایش ها، به منظور افزایش قدرت تعمیم شبکه، تصاویر مجموعه های آموزشی با انتخاب تصادفی یکی از زوایای مجموعه {۰ ، ۹۰ ، ۱۸۰ ، ۲۷۰} چرخانده شدند. برای آموزش شبکه ها، با ۳۰ دوره و یادگیری ، از اندازه دسته ۳۲ استفاده شد.

نرخ α =۱۰  در نظر گرفته شد. از روش بهینه سازی Adam و عملکرد خطا متقابل آنتروپی استفاده شد. برای راه حل خطا، بهینه ساز حداقل مربعات خطا استفاده شد هم چنین مقدارحاشیه  m = 1در نظر گرفته شد.

برای راه حل خطا Triplet از یک بهینه ساز Adam، با حاشیه استفاده شد و مقادیر پیکسل ها رنج منفی یک تا یک نرمال شدند. برای پیاده سازی از کتابخانه Keras با پایه Tensorflow استفاده شد.

تا بدین مرحله با روش پیشنهادی و پارامتر های آن آشنا شدیم، حال به بررسی نتایج و شیوه ارائه آن در این اثر می پردازیم.

نتایج

برای مدل ۳۲ کلاسه با شبکه Siamese ومعیار خطای Triplet دقت ۴/۹۱% و برای ومعیار خطای Contrastive دقت  6/90%  روی مجموعه داده های آزمایش بوده است. میانه دقت %۹۰ بوده است. معیار F-score ، ۹۳٫۸%، ۶/۹۲% و۲/۹۱% برای معیار خطای Triplet بوده است، این معیار برای خطای Contrastive 8/93%، ۱/۹۳ و ۲/۹۱ بوده است.

معماری های سیامی نه تنها نحوه طبقه بندی انواع برگ ها و انواع بیماری ها را فرا گرفتند، بلکه این کار را برای اکثر قریب به اتفاق ۳۲ کلاس انجام دادند. تعداد کلاس ها با معیار F-scores زیر ۷۰% خطای Triplet سه تا و برای خطای Contrastive  پنج تا بوده است. با معیار خطای Triplet، همه کلاس ها دقت و F-score بالای ۵۵% داشته اند که نسبت به یک طبقه بند تصادفی بهبود۱/۳% حاصل شده است.

نمودار بازدهی شبکه عصبی تشخیص بیماری گیاهان
تصویر۵٫ نتایج عملکرد با معیار هایRecall, Precision, F-score به ازای تعداد گروه ها
نمودار دقت شبکه عصبی تشخیص بیماری گیاهان
تصویر۶٫ دقت روش های مختلف برای یادگیری ۶ گروه جدید به ازای تعداد نمونه های مختلف
نمودار خطا شبکه عصبی تشخیص بیماری گیاهان
تصویر۷٫ مقادیر خطا برای دو تابع مختلف خطا به ازای تعداد نمونه ها اموزش مختلف که با خطای بدست امده از آموزش کامل روی مجموعه Dt با تعداد کل۴۴۲۱ تصویرو تعداد متوسط ۷۳۷ تصویر برای هر گروه مقابسه شده است
کلاسه بندی بیماری گیاهان با شبکه عصبی
تصویر۸٫ ماتریس پراکندگی برای ۲۰ ازمایش تصادفی با معیار خطای Triplet و تعداد ۱۰ نمونه (سمت چپ) و ۸۰ نمونه (سمت راست). مجموعه آزمایش شامل ۵۰ نمومه برای هر گروه یا به بیان دیگر ۶۰۰۰ تصمیم در ۲۰ بار آزمایش.ردیف پایین recall را برای هرکلاس و ستون سمت چپ دقت را برای هر کلاس نمایش می دهد.

نتیجه

این مطالعه نشان می دهد که یک روش FSL مبتنی بر از خطای Triplet و یک کلاس کارآمد برای یادگیری سطحی، روش های فعلی را برای طبقه بندی برگ گیاهان FSL بهبود می بخشد. پس از آموزش CNN برای اهداف عمومی برای یادگیری استخراج خصوصیات عمومی برگ گیاه، میزان دقت به بیش از ۹۰٪ با استفاده از حداقل ۸۰ تصویر در هر۶ کلاس جدید، رسید.

با کاهش ۴ داده از هر کلاس در داده های آموزش دقت به ۸۹٫۱٪ کاهش می یابد. این روش های FSL به طور قابل ملاحظه ای زمان تولید محصولات را کوتاه می کند و هزینه های توسعه الگوریتم های شناسایی بیماری جدید گیاه را کاهش می دهد.

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

بیشتر بخوانید :

منبع Few-Shot Learning approach for plant disease classification using images taken in the field 

درباره‌ی رضا حاجی محمدی

همچنین ببینید

تشخیص اشیا با داده های اندک برای کاربرد سنجش از راه دور

تشخیص اشیا با داده های اندک برای کاربرد سنجش از راه دور

تشخیص اشیا یک مساله قدیمی در زمینه سنجش از راه دور و بینایی رایانه ای …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *