پیادهسازی یک مدل یادگیری انتقالی برای دستهبندی تصاویر تعدادی از علفهای هرز
الموضوعات :
1 - استادیارگروه مهندسی تولید و ژنتیک گیاهی، دانشکده کشاورزی، آب، غذا و فراسودمندها، واحد خوراسگان، دانشگاه آزاد اسلامی، اصفهان، ایران
2 - دانش آموخته کارشناسی ارشد ریاضی کاربردی، دانشگاه یزد، يزد، ايران
الکلمات المفتاحية: دستهبندي, صحت آزمون, علف هرز, مدل EfficientNet, يادگيري انتقالي,
ملخص المقالة :
چکیده
هدف: ماشین بینایی شاخهای از هوش مصنوعی است که با تشخیص اشیاء موجود در یک تصویر و یا دستهبندی تصاویر سر و کار دارد. در این مقاله برای دستهبندی تصاویر علفهای هرز در هجده دسته از روش یادگیری انتقالی استفاده شده است. با استفاده از مدلهای یادگیری انتقالی، پیادهسازی پردازش تصویر به کمک الگوریتمهای یادگیری عمیق روی رایانههای دارای امکانات سختافزاری معمولی امکانپذیر میشود. هزینه انجام این کار کم شدن صحت مدل بر مبنای یادگیری انتقالی نسبت به مدل یادگیری عمیق است.
مواد و روشها: ابتدا تصاویری از هر یک از هجده دسته علفهای هرز جمعآوری شد و این تصاویر به دو دسته آموزش، شامل 695 تصویر، و آزمون، شامل 260 تصویر، تقسیم شدند. سپس تعداد تصاویر پایگاه دادهای آموزش با فرآیند افزایش رایانهای تصاویر ده برابر شد و تعداد تصاویر پایگاه دادهای آموزش به 6950 تصویر رسید. این تصاویر به عنوان دادههای خام اولیه برای ایجاد مدل ماشین بینایی مورد استفاده قرار گرفت. عملیات پیشپردازش تصاویر به کمک توابع موجود در کتابخانه PyTorch انجام شد، سپس مدل یادگیری انتقالی با استفاده از تصاویر پایگاه دادهای آموزش توسعه یافت و روی تصاویر پایگاه دادهای آزمون، ارزیابی شد. معیار اصلی ارزیابی مدل، ماتریس در هم ریختگی بود که به وسیله آن سایر معیارهای ارزیابی یعنی حساسیت، اختصاصیت، دقت، نمره F1 و صحت محاسبه و نتایج آن ارائه شد.
يافتهها: بر طبق نتایج به دست آمده مقادیر معیارهای حساسیت، اختصاصیت، دقت، نمره F1 و صحت به دست آمده در این پژوهش بهترتیب برابر با 84، 99، 83، 84 و 84 درصد بودند.
نتيجهگيري: این نتایج از قابل قبول بودن عملکرد دسته بند با وجود عدم استفاده از رایانه مجهز به GPU در فرآیند آموزش حکایت دارد.
Chen, J., Zhang, D., Sun, Y., & Nanehkaran, Y. A. (2020). Using deep transfer learning for image-based plant disease identification. Computers and Electronics in Agriculture, 173, 105393. Available from https://doi.org/10.1016/j. compag.2020.105393.
Gopalakrishnan, K., Sivaraj, R., & Vijayakumar, M. (2025). Automated weed and crop recognition and classification model using deep transfer learning with optimization algorithm. Scientific Reports, 15, Article 15275. https://www.nature.com/articles/s41598-025-15275-3
Hasan, A. S. M. M., Laga, H., Jones, M. G. K., & Sohel, F. (2022). Weed recognition using deep learning techniques on class-imbalanced imagery. Crop and Pasture Science, 74(6), 628–644. https://www.publish.csiro.au/CP/pdf/CP21626
Huang, Z., Su, L., Wu, J., Chen, Y. (2023). Rock Image Classification Based on EfficientNet and Triplet Attention Mechanism. Appl. Sci. 2023, 13, 3180. https://doi.org/10.3390/app13053180
Li, X., & Chen, Z. (2025). Research on weed identification based on deep learning. Proceedings of the 2025 ACM International Conference on Artificial Intelligence and Agriculture, 3728820. https://dl.acm.org/doi/epdf/10.1145/3728725.3728820
Ouhami, M., Es-Saady, Y., Hajji, M. E., Hafiane, A., Canals, R., & Yassa, M. E. (2020). Deep transfer learning models for tomato disease detection. In: ICISP 2020. LNCS (Vol. 12119, pp. 65_73).
Pai, D. G., Kamat, R., & Balachandra, M. (2024). Deep learning techniques for weed detection in agricultural environments: A comprehensive review. IEEE Access, 12, 113193–113214. https://doi.org/10.1109/ACCESS.2024.3418454
Thenmozhi, K., & Srinivasulu Reddy, U. (2019). Crop pest classification based on deep convolutional neural network and transfer learning. Computers and Electronics in Agriculture, 164, 104906. Available from https://doi.org/10.1016/j. compag.2019.104906.
Vidyarthi, S. K., Singh, S. K., Xiao, H. W., & Tiwari, R. (2021). Deep learnt grading of almond kernels. Journal of Food Process Engineering, 44(4), p.e13662.
Sustainable Agricultural Science Research Vol. 5, No. 2, Summer 2025, P: 1 -15
https://sanad.iau.ir/journal/sarj Online ISSN: 2783-2724
Implementation of Transfer Learning to Classify Pictures of Some Weeds
Iman Ahmadi1*, Fateme Tavassoli2
1 Assistant Professor, Department of Genetics and Plant Production Engineering, Institute of Agriculture, Water, Food and Nutraceuticals, Isf. C., Islamic Azad University, Isfahan, Iran.
2 Msc of Applied Mathematics, University of Yazd, Yazd, Iran.
* Corresponding Author’s Email: imanahmadi1358@iau.ac.ir
(Received: July. 3, 2025 – Accepted: September. 17, 2025)
ABSTRACT
Objective: Computer vision is a branch of artificial intelligence that deals with object recognition in images or image classification. In this article, transfer learning was used to classify weed images into eighteen categories. With the help of transfer learning models, image processing using deep learning algorithms can be implemented on computers with standard hardware capabilities. The trade-off is reduced model accuracy compared to using deep learning from scratch.
Material and methods: First, images from each of the eighteen weed categories were collected. These were split into a training set (695 images) and a test set (260 images). The training dataset was then augmented using computer-based image enhancement, increasing its size tenfold to 6,950 images. These images served as the raw input data for building the computer vision model. Image preprocessing was carried out using functions available in the PyTorch library. Then, a transfer learning model was developed using the training images and evaluated using the test images. The main evaluation metric in this study was the confusion matrix, through which other metrics—sensitivity, specificity, precision, F1-score, and accuracy—were calculated and presented.
Results: According to the results, the values of sensitivity, specificity, precision, F1-score, and accuracy were 84%, 99%, 83%, 84%, and 84%, respectively.
Conclusion: These results indicate that the classifier performed acceptably well despite being trained without a GPU-equipped computer.
Keywords: Classification, EfficientNet model, Test accuracy, Transfer learning, Weed
Cite this article: Ahmadi, I., Tavassoli, F. 2025. Implementation of Transfer Learning to Classify Pictures of Some Weeds. Journal of Sustainable Agricultural Science Research. 5(2). 1-15.
DOI: https://doi.org/10.71667/sarj.2025.1211044
© The Author(s). Publisher: Islamic Azad University of Kerman Branch Press.
DOI: https://doi.org/10.71667/sarj.2025.1211044
پیادهسازی یک مدل یادگیری انتقالی برای دستهبندی تصاویر تعدادی از علفهای هرز
ايمان احمدي1*، فاطمه توسلي 2
1- استادیار گروه مهندسی تولید و ژنتیک گیاهی، دانشکده کشاورزی، آب، غذا و فراسودمندها، واحد خوراسگان، دانشگاه آزاد اسلامی، اصفهان، ایران
2- دانش آموخته کارشناسی ارشد ریاضی کاربردی، دانشگاه یزد، يزد، ايران
* ايميل نویسنده مسئول: imanahmadi1358@iau.ac.ir
(تاریخ دریافت: 12/4/1404- تاريخ پذيرش: 26/6/1404)
چکیده
هدف: ماشین بینایی شاخهای از هوش مصنوعی است که با تشخیص اشیاء موجود در یک تصویر و یا دستهبندی تصاویر سر و کار دارد. در این مقاله برای دستهبندی تصاویر علفهای هرز در هجده دسته از روش یادگیری انتقالی استفاده شده است. با استفاده از مدلهای یادگیری انتقالی، پیادهسازی پردازش تصویر به کمک الگوریتمهای یادگیری عمیق روی رایانههای دارای امکانات سختافزاری معمولی امکانپذیر میشود. هزینه انجام این کار کم شدن صحت مدل بر مبنای یادگیری انتقالی نسبت به مدل یادگیری عمیق است.
مواد و روشها: ابتدا تصاویری از هر یک از هجده دسته علفهای هرز جمعآوری شد و این تصاویر به دو دسته آموزش، شامل 695 تصویر، و آزمون، شامل 260 تصویر، تقسیم شدند. سپس تعداد تصاویر پایگاه دادهای آموزش با فرآیند افزایش رایانهای تصاویر ده برابر شد و تعداد تصاویر پایگاه دادهای آموزش به 6950 تصویر رسید. این تصاویر به عنوان دادههای خام اولیه برای ایجاد مدل ماشین بینایی مورد استفاده قرار گرفت. عملیات پیشپردازش تصاویر به کمک توابع موجود در کتابخانه PyTorch انجام شد، سپس مدل یادگیری انتقالی با استفاده از تصاویر پایگاه دادهای آموزش توسعه یافت و روی تصاویر پایگاه دادهای آزمون، ارزیابی شد. معیار اصلی ارزیابی مدل، ماتریس در هم ریختگی بود که به وسیله آن سایر معیارهای ارزیابی یعنی حساسیت، اختصاصیت، دقت، نمره F1 و صحت محاسبه و نتایج آن ارائه شد.
يافتهها: بر طبق نتایج به دست آمده مقادیر معیارهای حساسیت، اختصاصیت، دقت، نمره F1 و صحت به دست آمده در این پژوهش بهترتیب برابر با 84، 99، 83، 84 و 84 درصد بودند.
نتيجهگيري: این نتایج از قابل قبول بودن عملکرد دسته بند با وجود عدم استفاده از رایانه مجهز به GPU در فرآیند آموزش حکایت دارد.
واژههاي کليدي: دستهبندي، صحت آزمون، علف هرز، مدل EfficientNet، يادگيري انتقالي
استناد:
Ahmadi, I., Tavassoli, F. 2025. Implementation of Transfer Learning to Classify Pictures of Some Weeds. Journal of Sustainable Agricultural Science Research. 5(2). 1-15.
DOI: https://doi.org/10.71667/sarj.2025.1211044
© The Author(s). ناشر: انتشارات دانشگاه آزاد اسلامی واحد کرمان
DOI: https://doi.org/10.71667/sarj.2025.1211044
مقدمه
ماشین بینایی شاخهای از هوش مصنوعی است که با تشخیص اشیاء در یک تصویر و یا دستهبندی تصاویر بر طبق آنچه که در طول فرآیند آموزش یادگرفته است سر و کار دارد.
امروزه با استفاده از GPUهای چند هستهای، تقریباً تمام کارهای مرتبط با دید ماشین با به کارگیری الگوریتمهای یادگیری عمیق پیادهسازی میشوند، به ویژه از الگوریتمهای شبکههای عصبی کانولوشنال به وفور در این زمینه به کار گرفته میشوند. یک شبکه عصبی کانولوشنال در صدد یافتن الگو در یک تصویر است. هر چه تعداد لایههای شبکه بیشتر باشد، الگوهای بیشتری گرفته خواهد شد و پیشبینیهای صحیحتری از شبکه حاصل خواهد شد. اصول کاری یک شبکه عصبی کانولوشنال به صورت زیر است: یک فیلتر متحرک کوچک ( با اندازه به عنوان مثال 3×3 و یا 5×5 پیکسل) حرکت خود را از گوشه بالا-چپ یک تصویر دارای اندازه بزرگ (به عنوان مثال 200×200پیکسل) شروع کرده و با گامهای یک پیکسلی به سمت راست حرکت میکند. در هر موقعیتی که فیلتر شکلی شبیه الگویش تشخیص دهد، آن شکل را در موقعیت متناظر از تصویر خروجی انعکاس میدهد. بعد از اینکه لایه بالایی از تصویر جارو شد، فیلتر به لبه سمت چپ لایه بعد منتقل شده و شروع به حرکت به سمت راست به منظور پیدا کردن الگوها در این لایه میکند. این فرآیند آنقدر تکرار میشود تا فیلتر به موقعیت پائین و سمت راست تصویر برسد. تصویر خروجی از این فرآیند، تکرارهایی از الگوی فیلتر است که در مکانهای متناسب با تصویر اصلی که آن الگو موجود بوده، ثبت شده است. بنابراین، اگر از فیلترهای مختلفی در این فرآیند استفاده شود، بسیاری از الگوهای تصویر داده شده تشخیص داده خواهد شد و این الگوها در فرآیند دستهبندی تصاویر مورد استفاده قرار خواهند گرفت. هزینه افزودن بر تعداد فیلترها، زمان و منابع سخت افزاری بیشتری است که برای کامل شدن کل فرآیند مورد نیاز است. بنابراین، شبکههای عصبی کانولوشنال خیلی عمیق برای اجرا به سخت افزار GPU چند هستهای نیاز دارند و بدون آن فرآیند آموزش شبکه خیلی طول میکشد. در اینجاست که مفهوم یادگیری انتقالی وارد عمل میشود.
در مدل یادگیری انتقالی، ضرایب یک شبکه خیلی عمیق به شبکه دیگری که وظیفه مشابهی با شبکه اول دارد اما روی تصاویر دیگری عمل میکند، انتقال داده میشود. ضرایب منتقل شده برای جلوگیری از تغییر در طول فرآیند آموزش مدل، ثابت در نظر گرفته میشوند. با استفاده از این روش، شبکه در زمان منطقی قابل آموزش بوده و قادر است کلاسهای تصاویر داده شده را تشخیص دهد. بنابراین، شبکههای عصبی کانولوشنال خیلی عمیق روی رایانه معمولی دارای CPU با استفاده از روش یادگیری انتقالی قابل پیادهسازی است. برخی از پژوهشگران از ایده یادگیری انتقالی برای پردازش تصاویر استفاده کردهاند، به عنوان مثال (Chen et al., 2020) و (Ouhami et al., 2020) از یادگیری انتقالی برای تشخیص بیماریهای گیاهی از روی تصاویر گیاه استفاده کردند. در پژوهش دیگری برای دستهبندی آفات گیاهی از شبکه عصبی پیچشی عمیق و یادگیری انتقالی استفاده شده است (Thenmozhi & Srinivasulu Reddy, 2019).
همانطور كه پژوهشهای اخیر از سوی نویسندگان مختلف نشان میدهد، حوزه شناسایی علفهای هرز نيز بهطور چشمگیری تحت تأثیر فناوریهای یادگیری عمیق قرار گرفته است. (Li & Chen, 2025) به چالش اساسی شناسایی علفهای هرز در محیطهای پیچیدهای که محصولات و علفهای هرز بهصورت درهمتنیده رشد میکنند پرداختهاند و پیشنهاد كردند که راهکار مؤثر، پاشش دقیق علفکش بر روی علفهای هرز در حالی است که از آسیب به محصولات جلوگیری شود. رویکرد فنی آنان بر طبقهبندی، شناسایی و مکانیابی علفها و محصولات متمرکز بود و اذعان كردند که ویژگیهای پیچیده ناشی از رشد درهمتنیده، از عوامل اصلی مؤثر بر استخراج ویژگیهای علفهای هرز هستند.
(Pai et al., 2024) چشماندازی جامع از چگونگی تحول کامل کشاورزی توسط روشهای یادگیری عمیق ارائه دادند؛ رویکردی که امکان مکانیابی سریع اشیاء و شناسایی آنها را فراهم میسازد. با این حال، آنان تأکید میکنند که شناسایی و طبقهبندی علفهای هرز میتواند دشوار باشد، زیرا علفهای هرز و محصولات شباهت زیادی در رنگ، شکل و بافت دارند. مرور ادبیات آنها نشاندهنده وجود پتانسیل در روشهای مختلف یادگیری عمیق برای شناسایی، مکانیابی و طبقهبندی علفها و محصولات بود و بیان كردند که عمده پژوهشها از راهبردهای یادگیری نظارتشده بهره گرفته و مدلهای از پیش آموزشدیده را بر مجموعهدادههای بزرگ و برچسبخورده بازآموزی کردهاند تا به دقت بالا دست یابند.
(Hasan et al., 2022) پژوهشهای تجربی گستردهای بر روی پنج شبکه عصبی عمیق پیشرفته شامل VGG16، ResNet-50، Inception-V3، Inception-ResNet-v2 و MobileNetV2 انجام داده و کارایی آنها را در شناسایی علفهای هرز ارزیابی کردند. آنها يادآور شدند که شناسایی علفهای هرز به دلیل شباهت رنگ، بافت و شکل میان محصولات و علفها کاری چالشبرانگیز است و این موضوع میتواند بهواسطه شرایط تصویربرداری، موقعیت جغرافیایی یا شرایط آبوهوایی در هنگام ثبت تصاویر پیچیدهتر شود. پژوهش آنان با ترکیب چند مجموعهداده کوچکتر، یک پایگاه داده بزرگ از علفها و محصولات ایجاد کرده و با استفاده از روش افزایش داده، عدمتوازن کلاسی را کاهش داده و این پایگاهداده را برای ارزیابی شبکههای عصبی به کار برده است. یافته کلیدی آنها نشان داد که VGG16 بر روی مجموعهدادههای کوچک عملکرد بهتری داشته، در حالیکه ResNet-50 در پایگاه داده ترکیبی بزرگ عملکرد بهتری نسبت به سایر مدلها ارائه کرده است.
(Gopalakrishnan et al., 2025) رویکردی پیشرفتهتر ارائه کرده و سامانهای خودکار برای شناسایی و طبقهبندی علفهای هرز مبتنی بر مدل یادگیری عمیق همراه با بهینهسازی “لمورها “(AWRC-DLMLO) توسعه دادهاند. این تکنیک با استفاده از فیلترگذاری گاوسی در مرحله پیشپردازش تصاویر برای حذف نویز ناخواسته آغاز میشود، سپس بخشبندی گیاهان با بهرهگیری از Residual Attention U-Net انجام میگیرد و برای استخراج بردار ویژگی از روش ShuffleNetV2 استفاده میشود. افزون بر این، الگوریتم بهینهسازی لمورها برای تنظیم ابرپارامترها و بهبود کارایی مدل به کار گرفته شده است.
در این پژوهش از روش یادگیری انتقالی بر مبنای مدل از پیش آموزش دیده EfficientNet برای دستهبندی تصاویر علف هرز در هجده دسته استفاده شده است. دلیل این انتخاب به عدم دسترسی به رایانه مجهز به GPU برای پیادهسازی شبکه عصبی پیچشی عمیق بر میگردد. همچنین از آنجا که استفاده از روشهای یادگیری ماشین سنتی مثل ماشین بردار پشتیبان (SVM) برای کاربردهای پردازش تصویر پس از سال 2012 و با معرفی شبکههای عصبی پیچشی منسوخ شده است، استفاده از روش یادگیری انتقالی تنها گزینه موجود برای انجام این پژوهش بود. از سوی دیگر مدل EfficientNet به دلیل ساختار شبکه کارآمد و مکانیزم های هوشمندانهاش به عنوان یک مدل برتر برای وظایف طبقهبندی تصاویر ظاهر میشود. این مدل با بارگذاری پارامترهای از پیش آموزش داده شده، تسریع همگرایی و کاهش زمان آموزش در یادگیری انتقالی را به همراه دارد. این مشخصات، EfficientNet را به یک انتخاب قدرتمند برای وظایف طبقهبندی تصویر تبدیل میکند که از دیگر مدلها در دقت و کارایی پیشی میگیرد (Huang et al., 2023).
مواد و روشها
1- آماده سازی تصاویر خام
هدف از این پژوهش تشخیص هجده نوع از علفهای هرز موجود در مزارع است. نامهای علمی و فارسی این هجده نوع علف هرز در جدول 1 آورده شده است. در این پژوهش از نام علمی این علفهای هرز به عنوان نام گروههای دستهبند استفاده شد.
جدول 1- نامهای علمی و فارسی علفهای هرز مورد استفاده در اين پژوهش (نامهای علمی علفهای هرز به عنوان نامهای گروههای دستهبند در این پژوهش مورد استفاده قرار گرفت)
نام علمي | نام فارسي |
Bromus danthoniae Trin | برموس |
Capsella bursa pastoris (L.) | کیسه کشیش |
Cardaria draba (L.) Desv | ازمک |
Cirsium arvense (L.) Scop | کنگر صحرایی |
Convolvulus arvensis L | پیچک صحرایی |
Galium tricornutum | شیر پنیر |
Glycyrrhiza glabra | شیرین بیان |
Lactuca spp | کاهوک وحشی |
Matricaria chamomilla | بابونه |
Melilotus officinalis | یونجه زرد |
Polygonum persicaria L | هفت بند |
Scorpiurus muricatus L. | دم عقربی |
Silybum marianum (L.) Gaertn | خار مریم |
Sinapis arvensis | خردل وحشی |
Sorghum halepense (L.) Pers | قیاق |
Tragopogon major | شنگ |
Vaccaria hispanica | جغجغک |
Vicia hyrcanica | ماشک گل زرد |
از تعدادي تصوير متعلق به هر يك از گروههاي دسته بند براي توسعه مدل استفاده شد. كل تصاوير مورد استفاده در اين پژوهش برابر با 955 تصوير از علفهای هرز بود. ابتدا تصاویر هر یک از گروههای دستهبند به صورت تصادفی و با نسبت تقریبی 3 به 1 به دو زیر گروه تقسیم شدند. سپس به ازاء هر کلاس از علفهای هرز هجدهگانه، تصاویر زیر گروه بزرگتر به یک پوشه دارای نام یکسان با نام دستهبند متناظر منتقل شدند و همه این پوشهها در پوشه دیگری تحت عنوان "train" کپی شدند (کل تصاویر اولیه پوشه train برابر با 695 تصویر بود). روند مشابهی برای هر یک از زیر گروههای کوچکتر انجام شد، با این تفاوت که تمام پوشههای بهدست آمده در پوشه دیگری تحت عنوان "test" کپی شدند (کل تصاویر اولیه پوشه test برابر با 260 تصویر بود). همچنین برای افزایش تعداد تصاویر آموزشی به کمک رایانه از روش image augmentation در این پژوهش استفاده گردید و تعداد تصاویر آموزشی 10 برابر شد. سپس پوشههای "train" و "test" به پوشه نهایی تحت عنوان "Iran_Weeds" منتقل شدند. این پوشه در مسیر کاری زبان برنامهنویسی Python بهمنظور توسعه مدل کپی شد. تعداد کل تصاویر نهایی قرار گرفته در پوشههای "train" و "test" بترتیب برابر با 6950 و 260 تصویر بود. تصاویر موجود در پوشه "train" برای آموزش مدل استفاده شد (منظور از آموزش مدل، تغییر وزنهای مدل در جهتی است که پیشبینیهای مدل روي تصاوير "train" با واقعیت انطباق یابد)، در حالیکه تصاویر موجود در پوشه "test" برای آزمایش خوب بودن وزنهای به دست آمده براي تشخيص علفهای هرز موجود در تصاوير ديده نشده پوشه "test" به كار برده شد.
2- روند توسعه مدل
توسعه مدل با کد نوشته شده در محیط برنامهنویسی PyCharm با استفاده از کتابخانه PyTorch زبان برنامهنویسی Python انجام شد. در کتابخانه PyTorch توابعی وجود دارد که این کتابخانه را برای ایجاد مدلهای برمبنای مفهوم یادگیری انتقالی مناسب میکند. معماري مدل برمبناي يادگيري انتقالي (TL) براي دستهبندي هجده نوع از علفهای هرز در جدول 2 نشان داده شده است. شایان ذکر است که مدل یادگیری انتقالی مورد نظر در این پژوهش برمبنای مدل از پیش آموزش دیده تحت عنوان EfficientNet توسعه یافته است.
جدول 2- معماري مدل يادگيري انتقالي (TL) استوار بر مدل از پيش آموزش دیده EfficientNet
=================================================================================================
Layer (type (var_name)) Input Shape Output Shape Param # Trainable
=================================================================================================
EfficientNet (EfficientNet) [32, 3, 224, 224] [32, 18] -- Partial
├─Sequential (features) [32, 3, 224, 224] [32, 1280, 7, 7] -- False
│ └─Conv2dNormActivation(0)[32, 3, 224, 224] [32, 32, 112, 112] -- False
│ │ └─Conv2d (0) [32, 3, 224, 224] [32, 32, 112, 112] (864) False
│ │ └─BatchNorm2d (1) [32, 32, 112, 112] [32, 32, 112, 112] (64) False
│ │ └─SiLU (2) [32, 32, 112, 112] [32, 32, 112, 112] -- --
│ └─Sequential (1) [32, 32, 112, 112] [32, 16, 112, 112] -- False
│ │ └─MBConv (0) [32, 32, 112, 112] [32, 16, 112, 112] (1,448) False
│ └─Sequential (2) [32, 16, 112, 112] [32, 24, 56, 56] -- False
│ │ └─MBConv (0) [32, 16, 112, 112] [32, 24, 56, 56] (6,004) False
│ │ └─MBConv (1) [32, 24, 56, 56] [32, 24, 56, 56] (10,710) False
│ └─Sequential (3) [32, 24, 56, 56] [32, 40, 28, 28] -- False
│ │ └─MBConv (0) [32, 24, 56, 56] [32, 40, 28, 28] (15,350) False
│ │ └─MBConv (1) [32, 40, 28, 28] [32, 40, 28, 28] (31,290) False
│ └─Sequential (4) [32, 40, 28, 28] [32, 80, 14, 14] -- False
│ │ └─MBConv (0) [32, 40, 28, 28] [32, 80, 14, 14] (37,130) False
│ │ └─MBConv (1) [32, 80, 14, 14] [32, 80, 14, 14] (102,900) False
│ │ └─MBConv (2) [32, 80, 14, 14] [32, 80, 14, 14] (102,900) False
│ └─Sequential (5) [32, 80, 14, 14] [32, 112, 14, 14] -- False
│ │ └─MBConv (0) [32, 80, 14, 14] [32, 112, 14, 14] (126,004) False
│ │ └─MBConv (1) [32, 112, 14, 14] [32, 112, 14, 14] (208,572) False
│ │ └─MBConv (2) [32, 112, 14, 14] [32, 112, 14, 14] (208,572) False
│ └─Sequential (6) [32, 112, 14, 14] [32, 192, 7, 7] -- False
│ │ └─MBConv (0) [32, 112, 14, 14] [32, 192, 7, 7] (262,492) False
│ │ └─MBConv (1) [32, 192, 7, 7] [32, 192, 7, 7] (587,952) False
│ │ └─MBConv (2) [32, 192, 7, 7] [32, 192, 7, 7] (587,952) False
│ │ └─MBConv (3) [32, 192, 7, 7] [32, 192, 7, 7] (587,952) False
│ └─Sequential (7) [32, 192, 7, 7] [32, 320, 7, 7] -- False
│ │ └─MBConv (0) [32, 192, 7, 7] [32, 320, 7, 7] (717,232) False
│ └─Conv2dNormActivation(8)[32, 320, 7, 7] [32, 1280, 7, 7] -- False
│ │ └─Conv2d (0) [32, 320, 7, 7] [32, 1280, 7, 7] (409,600) False
│ │ └─BatchNorm2d (1) [32, 1280, 7, 7] [32, 1280, 7, 7] (2,560) False
│ │ └─SiLU (2) [32, 1280, 7, 7] [32, 1280, 7, 7] -- --
├─AdaptiveAvgPool2d (avgpool) [32, 1280, 7, 7] [32, 1280, 1, 1] -- --
├─Sequential (classifier) [32, 1280] [32, 18] -- True
│ └─Dropout (0) [32, 1280] [32, 1280] -- --
│ └─Linear (1) [32, 1280] [32, 18] 23,058 True
=================================================================================================
Total params: 4,030,606
Trainable params: 23,058
Non-trainable params: 4,007,548
Total mult-adds (Units.GIGABYTES): 12.31
=================================================================================================
Input size (MB): 19.27
Forward/backward pass size (MB): 3452.10
Params size (MB): 16.12
Estimated Total Size (MB): 3487.49
همانطور كه مشاهده ميشود، پارامترهاي قرار گرفته در بخش استخراج ويژگيها [Sequential (features)] در طول فرآيند آموزش مدل امكان تغيير ندارند و به اصطلاح این پارامترها freeze شدهاند (قابليت آموزش پارامترهاي بخش استخراج ويژگيهاFalse لحاظ شده است)، و فقط پارامترهاي قرار گرفته در بخش دستهبند [Sequential (classifier)] قابل تغيير هستند. اين كار باعث كاهش قابل توجه در زمان مورد نیاز برای آموزش مدل ميشود. از نظر عددي، تعداد پارامترهاي قابل آموزش از 4030606 پارامتر مربوط به مدل EfficientNet به 23058 پارامتر مربوط به مدل برمبناي مفهوم يادگيري انتقالي (TL) كاهش يافته است. اين ويژگي مدل TL باعث ميشود كه امكان اجراي اين مدل روي رايانه مجهز به CPU معمولي در زمان منطقي ایجاد شود.
مقادير پارامترهاي مدل TL که توسط کاربر باید مقدار آن تنظیم شود در جدول 3 آورده شده است:
جدول 3- مقادير پارامترهاي تعیین شده برای مدل TL
نام انگليسي | نام فارسي | مقدار | ||
Training epoch | تعداد دورههاي آموزش | 25 | ||
Batch size | تعداد تصاویر مربوط به گروههای تصويری استفاده شده در آموزش | 32 | ||
optimizer | تابع بهينهساز | Adam | ||
Learning rate | نرخ يادگيري | 0/001 | ||
Loss function | تابع هزينه | CrossEntropy |
3- معيارهاي ارزيابي مدل
3-1- زمان آموزش مدل
به طور کلی مدل داراي زمان آموزش كم از مدل داراي زمان آموزش زياد بهتر است. بنابراين زمان آموزش به عنوان يكي از معيارهاي ارزيابي لحاظ شد. اهميت مقدار زمان آموزش در مدلهاي يادگيري عميق در حال اجرا روي رايانههای مجهز به CPU معمولی به جای GPU بالاتر میرود.
3-2- حساسيت Sensitivity (Recall)
این معیار توانایی مدل در شناسایی نمونههای مثبتِ صحیح را میرساند. به زبان ریاضی حساسیت با استفاده از فرمول زیر محاسبه میشود:
جاییکه TP تعداد نمونههایی است که به طور صحیح، مثبت پیش بینی شدهاند و FN تعداد نمونههایی است که به اشتباه، منفی پیش بینی شدهاند. به بیان دیگر TP تعداد تصاویر متعلق به یک دسته خاص علف هرز است که مدل هم آنها را متعلق به آن دسته خاص پیش بینی کرده است و FN تعداد تصاویر متعلق به یک دسته خاص علف هرز است که مدل آنها را به اشتباه متعلق به دستههای دیگر پیش بینی کرده است. در واقع مخرج کسر تعداد تصاویری که به طور واقعی متعلق به آن دسته خاص علف هرز هستند را میرساند و صورت کسر تعداد تصاویر درست پیش بینی شده متعلق به آن دسته خاص از علف هرز را مشخص میکند.
3-3- اختصاصيت Specificity
این معیار قابلیت مدل در شناسایی نمونههای منفیِ صحیح هر گروه دستهبند را میرساند. به زبان ریاضی اختصاصیت با استفاده از فرمول محاسبه میشود، جاییکه TN تعداد نمونههایی است که به طور صحیح، منفی پیش بینی شدهاند و FP تعداد نمونههایی است که به اشتباه، مثبت پیش بینی شدهاند.
به بیان دیگر اگر دسته خاصی از علفهای هرز در نظر گرفته شود، TN تعداد تصاویر متعلق به سایر دستههای علف هرز است که مدل هم آنها را متعلق به آن دسته خاص پیش بینی نکرده است و FP تعداد تصاویر متعلق به سایر دستههای علف هرز است که مدل آنها را به اشتباه متعلق به آن دسته خاص پیش بینی کرده است. در واقع مخرج کسر تعداد تصاویری که به طور واقعی متعلق به آن دسته خاص علف هرز نیستند را میرساند و صورت کسر تعداد تصاویری را نشان میدهد که عدم تعلق آنها به آن دسته خاص علف هرز به طور صحیح پیشبینی شده است.
3-4- دقت Precision
این معیار نسبت تعداد نمونههایی که به طور صحیح مثبت پیشبینی شدهاند به تعداد کل نمونههایی که مثبت پیشبینی شدهاند را مشخص میکند. به زبان ریاضی دقت با استفاده از فرمول زیر محاسبه میشود: .
3-5- نمره F1 یا F1 score
میانگین هارمونیک حساسیت و دقت به محاسبه نمره F1 میانجامد. به بیان ریاضی داریم: . هر گاه یکی از مقادیر حساسیت و یا دقت صفر باشند، نمره F1 صفر میشود که بد بودن مدل را به خوبی نشان میدهد، درحالیکه میانگین حسابیِ این دو پارامتر عددی بزرگتر از صفر خواهد شد.
3-6- صحت Accuracy
این معیار با محاسبه نسبت تعداد نمونههای به طور صحیح پیشبینی شده توسط مدل به تعداد کل پیشبینیها بهدست میآید. به بیان ریاضی داریم: . در طول فرآیند آموزش، این پارامتر پس از هر دوره آموزش (epoch) محاسبه میشود (در این مطالعه تعداد دورههای آموزش 25 دوره در نظر گرفته شد)، سپس مقادیر صحت محاسبه شده برحسب عدد دوره رسم میشوند. نمودار بهدست آمده برای اطمینان یافتن از کفایت تعداد دورههای آموزشی به کار میرود.
3-7- ماتريس در هم ريختگي Confusion matrix
برای بهدست آمدن شناخت کاملی از تعداد پیشبینیهای غلط مدل و اینکه گروهِ صحیح با کدام گروهها قاتی شدهاست، از ماتریس در هم ریختگی استفاده میشود. در این مطالعه یک ماتریس در هم ریختگی 18×18 برای مشخص شدن مکان پیشبینیهای غلط هجده نوع علف هرز مورد مطالعه در این پژوهش توسعه یافته است. در یک ماتریس در هم ریختگی، هر چه تمرکز مقادیر بزرگ روی قطر اصلی ماتریس بیشتر باشد (یعنی مقادیر صفر و کوچک بیشتری در سایر سلولهای ماتریس باشد) بهتر است (Vidyarthi et al., (2021)).
نتایج و بحث
1- زمان آموزش مدل:
زمان کل مصرف شده برای آموزش مدل 24440 ثانیه (حدود 7 ساعت) شد. از آنجا که مدل روی رایانهای که مجهز به CPU معمولی بود آموزش داده شده است، این مقدار زمان هر چند زیاد است اما منطقی بوده و در صورت استفاده از رایانه مجهز به GPU برای آموزش مدل، این زمان به مقدار قابل توجهی کاهش مییابد.
2- صحت مدل برحسب شماره دوره:
شکل 1 مقادیر صحت و تابع هزینه به دست آمده در طول فرآیندهای آموزش و آزمون مدل برحسب شماره دوره را نشان میدهد:
شكل 1- مقادیر صحت و تابع هزینه فرآیندهای آموزش و آزمون برحسب شماره دوره
اولین نکتهای که از شکل 1 به دست میآید این است که در شماره دوره بیش از 15، نوسانهای مقادیر صحت و تابع هزینه در حد 10% بوده و صحت مدل در بخش آزمون به بیش از 80% رسیده است، در نتیجه مدل خوب آموزش دیده است و افزایش شماره دوره به بیش از 25 باعث افزایش چشمگیر صحت بخش آزمون نخواهد شد. از طرف دیگر از آنجا که فاصله بین صحتهای بخش آموزش و آزمون در شماره دورههای بالای 15 کم شده، در نتیجه برای مدل وضعیت بیش برازشی و کم برازشی پیش نیامده است.
3- ماتريس درهم ريختگي براي نمونههاي آزمون:
شکل 2 ماتريس درهم ريختگي بهدست آمده از 260 تصوير متعلق به مجموعه دادهاي آزمون را نشان ميدهد:
شكل 2- ماتريس درهم ريختگي بهدست آمده در اين مطالعه
در اين شكل ماتريس برچسبهاي واقعي در برابر برچسبهاي پيشبيني شده توسط مدل براي تصاوير آزمون نشان داده شده است و اعداد موجود در سلولهاي ماتريس بيانگر تعداد تصاوير متعلق به هر تركيب از برچسبهاست. همانطور كه مشاهده ميشود اعداد ثبت شده در سلولهاي قرار گرفته در قطر اصلي اين ماتريس بزرگتر از اعداد ثبت شده در ساير سلولهاي ماتريس است. اعداد موجود در سلولهاي قطر اصلي ماتريس، تعداد تصاوير متعلق به مجموعه دادهايِ آزمون مربوط به هر یک از گروههاي دستهبند را نشان ميدهد كه مدل، برچسب آنها را بهدرستي مثبت پيشبيني كرده است. به بيان ديگر اين مقادير تعداد تصاوير TP مربوط به هر گروه از گروههاي هجده گانه علفهای هرز را نشان ميدهد. تعداد تصاوير FP و FN و TN متعلق به هر يك از گروههاي دستهبند نيز به راحتي به كمك اين ماتريس قابل محاسبه است. در هر رديف از ماتريس، مجموع اعداد سلولها به جز سلول قرار گرفته در قطر اصلي ماتريس، تعداد تصاویر FN متعلق به گروه دستهبند متناظر را نشان ميدهد. همچنين در هر ستون از ماتريس، مجموع اعداد سلولها به جز سلول قرار گرفته در قطر اصلي ماتريس، تعداد تصاویر FP متعلق به گروه دستهبند متناظر را نشان ميدهد و در نهايت تعداد تصاویر TN مربوط به هر گروه از گروههاي دستهبند از رابطه زير محاسبه میشود:
TN = 260 - (TP + FN + FP)
جدول 4 مقادير TP، TN، FP و FN هر گروه از گروههاي دستهبند علفهای هرز مورد توجه در اين پژوهش را نشان ميدهد:
جدول 4- اطلاعات مفيدي كه از ماتريس درهم ريختگي قابل استخراج است
نام گروه دسته بند | TN | FP | FN | TP | ||||||
برموس | 241 | 4 | 2 | 13 | ||||||
کیسه کشیش | 250 | 3 | 3 | 4 | ||||||
ازمک | 248 | 2 | 3 | 7 | ||||||
کنگر صحرایی | 251 | 2 | 1 | 6 | ||||||
پیچک صحرایی | 246 | 2 | 2 | 10 | ||||||
شیر پنیر | 248 | 4 | 2 | 6 | ||||||
شیرین بیان | 246 | 1 | 3 | 10 | ||||||
کاهوک وحشی | 253 | 1 | 2 | 4 | ||||||
بابونه | 244 | 3 | 0 | 13 | ||||||
یونجه زرد | 241 | 3 | 2 | 14 | ||||||
هفت بند | 240 | 3 | 2 | 15 | ||||||
دم عقربی | 242 | 1 | 2 | 15 | ||||||
خار مریم | 238 | 1 | 1 | 20 | ||||||
خردل وحشی | 232 | 4 | 3 | 21 | ||||||
قیاق | 235 | 5 | 4 | 16 | ||||||
شنگ | 239 | 0 | 4 | 17 | ||||||
جغجغک | 241 | 3 | 3 | 13 | ||||||
ماشک گل زرد | 243 | 0 | 3 | 14 |
4- محاسبه حساسيت، اختصاصيت، دقت، نمره F1 و صحت مدل:
مقادير نشان داده شده در جدول 4 برای محاسبه معیارهای حساسيت، اختصاصيت، دقت، نمره F1 و صحت مدل توسعه يافته در اين پژوهش استفاده شد. جدول 5 مقادير معيارهاي ذکر شده برای هر یک از گروههای دستهبند را نشان میدهد:
جدول 5- مقادير حساسيت، اختصاصيت، دقت و نمره F1 محاسبه شده براي گروههاي دستهبند (درصد)
گروه دسته بند | حساسيت | اختصاصيت | دقت | نمره F1 |
برموس | 87 | 98 | 76 | 81 |
کیسه کشیش | 57 | 99 | 57 | 57 |
ازمک | 70 | 99 | 78 | 74 |
کنگر صحرایی | 86 | 99 | 75 | 80 |
پیچک صحرایی | 83 | 99 | 83 | 83 |
شیر پنیر | 75 | 98 | 60 | 67 |
شیرین بیان | 77 | 100 | 91 | 83 |
کاهوک وحشی | 67 | 100 | 80 | 73 |
بابونه | 100 | 99 | 81 | 90 |
یونجه زرد | 88 | 99 | 82 | 85 |
هفت بند | 88 | 99 | 83 | 86 |
دم عقربی | 88 | 100 | 94 | 91 |
خار مریم | 95 | 100 | 95 | 95 |
خردل وحشی | 88 | 98 | 84 | 86 |
قیاق | 80 | 98 | 76 | 78 |
شنگ | 81 | 100 | 100 | 89 |
جغجغک | 81 | 99 | 81 | 81 |
ماشک گل زرد | 82 | 100 | 100 | 90 |
مقادير معيارهاي نشان داده شده در جدول 5 براي هر كدام از 18 گروه علفهای هرز غالب ايران محاسبه شده است. براي محاسبه معيارهاي نظير مربوط به مدل، ميتوان از ميانگينگيري معمولي و يا وزن دار استفاده كرد. جدول 6 مقادير معيارهاي
بالا كه براي مدل به دو روش ميانگين معمولي و ميانگين وزن دار محاسبه شده است را نشان ميدهد:
جدول 6- مقادير معيارهاي ارزيابي محاسبه شده براي مدل با ميانگين گیری معمولي و وزندار
روش محاسبه | حساسيت | اختصاصيت | دقت | نمره F1 |
معمولي | 81 | 99 | 82 | 81 |
وزندار | 84 | 99 | 84 | 83 |
صحت مدل با استفاده از فرمول زير بهدست آمد:
براي ارزيابي عملكرد مدل به صورت ديداري، پيشبينيهاي مدل روي تعدادي از تصاوير علفهای هرز گروههاي مختلف دستهبند مورد توجه قرار گرفت. شكل 3 پيشبينيهاي مدل روي 27 تصوير انتخاب شده به صورت تصادفي از مجموعه دادهاي آزمون را نشان ميدهد: