در بخش کشاورزی، مشکل شناسایی و شمارش میزان میوه درختان نقش مهمی در برآورد محصول دارد. مفهوم اجاره و اجاره یک درخت در حال رایج شدن است، جایی که صاحب درخت هر سال قبل از برداشت درخت را بر اساس بازده تخمینی میوه اجاره می دهد. روش معمول شمارش دستی میوه ها فرآیندی زمان بر و پر زحمت است. این یکی از سخت ترین اما مهم ترین کارها برای به دست آوردن نتایج بهتر در سیستم مدیریت محصول شما است. این تخمین از میزان میوه و گل به کشاورزان کمک می کند تا تصمیمات بهتری بگیرند – نه تنها در مورد قیمت اجاره، بلکه در مورد روش های کشت و پیشگیری از بیماری های گیاهی.
اینجاست که یک راه حل خودکار یادگیری ماشین (ML) برای بینایی کامپیوتر (CV) می تواند به کشاورزان کمک کند. برچسب های سفارشی شناسایی آمازون یک سرویس بینایی کامپیوتری کاملاً مدیریت شده است که به توسعه دهندگان اجازه می دهد تا مدل های سفارشی برای طبقه بندی و شناسایی اشیاء در تصاویر خاص و منحصر به فرد کسب و کار شما بسازند.
Rekognition Custom Labels نیازی به داشتن تخصص قبلی بینایی رایانه ای ندارد. شما می توانید به سادگی با آپلود ده ها تصویر به جای هزاران عکس شروع کنید. اگر تصاویر قبلاً برچسب گذاری شده اند، می توانید آموزش یک مدل را تنها با چند کلیک شروع کنید. اگر نه، می توانید آنها را مستقیماً در کنسول Rekognition Custom Labels برچسب بزنید یا از آنها استفاده کنید Amazon SageMaker Ground Truth برای برچسب زدن به آنها Rekognition Custom Labels از یادگیری انتقال برای بازرسی خودکار داده های آموزشی، انتخاب چارچوب و الگوریتم مدل مناسب، بهینه سازی فراپارامترها و آموزش مدل استفاده می کند. هنگامی که از دقت مدل راضی بودید، می توانید فقط با یک کلیک میزبانی مدل آموزش دیده را شروع کنید.
در این پست، ما نشان میدهیم که چگونه میتوانید با استفاده از برچسبهای سفارشی Rekognition یک راهحل انتها به انتها برای شناسایی و شمارش میوه برای اندازهگیری عملکرد کشاورزی بسازید.
بررسی اجمالی راه حل
ما یک مدل سفارشی برای تشخیص میوه با استفاده از مراحل زیر ایجاد می کنیم:
- یک مجموعه داده را با تصاویر حاوی میوه برچسب گذاری کنید Amazon SageMaker Ground Truth.
- یک پروژه در Rekognition Custom Labels ایجاد کنید.
- مجموعه داده برچسبگذاری شده خود را وارد کنید.
- مدل را آموزش دهید.
- مدل سفارشی جدید را با استفاده از نقطه پایانی API تولید شده به طور خودکار آزمایش کنید.
Rekognition Custom Labels به شما امکان می دهد فرآیند آموزش مدل ML را در کنسول آمازون Rekognition مدیریت کنید، که فرآیند توسعه و استنتاج مدل سرتاسر را ساده می کند.
پیش نیازها
برای ایجاد یک مدل اندازه گیری عملکرد کشاورزی، ابتدا باید یک مجموعه داده برای آموزش مدل تهیه کنید. برای این پست، مجموعه داده ما از تصاویر میوه تشکیل شده است. تصاویر زیر چند نمونه را نشان می دهد.
ما تصاویرمان را از باغ خودمان تهیه کردیم. می توانید فایل های تصویری را از GitHub repo.
برای این پست، ما فقط از تعداد انگشت شماری از تصاویر برای نمایش موارد استفاده از عملکرد میوه استفاده می کنیم. می توانید با تصاویر بیشتر آزمایش کنید.
برای تهیه مجموعه داده خود، مراحل زیر را انجام دهید:
- ایجاد یک سرویس ذخیره سازی ساده آمازون سطل (Amazon S3).
- داخل این سطل دو پوشه به نام ایجاد کنید
raw_data
وtest_data
، برای ذخیره تصاویر برای برچسب زدن و تست مدل. - را انتخاب کنید بارگذاری برای آپلود تصاویر در پوشه های مربوطه از مخزن GitHub.
تصاویر آپلود شده برچسب ندارند. در مرحله زیر تصاویر را برچسب گذاری می کنید.
مجموعه داده خود را با استفاده از Ground Truth برچسب گذاری کنید
برای آموزش مدل ML به تصاویر برچسب دار نیاز دارید. Ground Truth یک فرآیند آسان برای برچسب زدن تصاویر فراهم می کند. وظیفه برچسب زدن توسط نیروی انسانی انجام می شود. در این پست شما یک نیروی کار خصوصی ایجاد می کنید. شما می توانید استفاده کنید آمازون مکانیک ترک برای برچسب گذاری در مقیاس
نیروی کار برچسب زنی ایجاد کنید
بیایید ابتدا نیروی کار برچسب زنی خود را ایجاد کنیم. مراحل زیر را کامل کنید:
- در کنسول SageMaker، در زیر حقیقت زمینی در قسمت ناوبری، را انتخاب کنید برچسب زدن به نیروی کار.
- بر خصوصی برگه ، انتخاب کنید تیم خصوصی ایجاد کنید.
- برای نام گروه، یک نام برای نیروی کار خود وارد کنید (برای این پست،
labeling-team
). - را انتخاب کنید تیم خصوصی ایجاد کنید.
- را انتخاب کنید کارگران جدید را دعوت کنید.
- در کارگران را با آدرس ایمیل اضافه کنید بخش، آدرس ایمیل کارگران خود را وارد کنید. برای این پست، آدرس ایمیل خود را وارد کنید.
- را انتخاب کنید کارگران جدید را دعوت کنید.
شما یک نیروی کار برچسب زنی ایجاد کرده اید که در مرحله بعد هنگام ایجاد شغل برچسب زنی از آن استفاده می کنید.
یک کار برچسبگذاری حقیقت پایه ایجاد کنید
برای اینکه کار لیبلینگ خود را عالی کنید، مراحل زیر را انجام دهید:
- در کنسول SageMaker، در زیر حقیقت زمینی، انتخاب کنید برچسب زدن مشاغل.
- را انتخاب کنید ایجاد شغل برچسب زدن.
- برای اسم شغل، وارد
fruits-detection
. - انتخاب کنید من می خواهم یک نام ویژگی برچسب متفاوت از نام شغل برچسب زدن را مشخص کنم.
- برای نام ویژگی را برچسب بزنیدوارد
Labels
. - برای تنظیم داده های ورودی، انتخاب کنید تنظیم خودکار داده ها.
- برای مکان S3 برای مجموعه داده های ورودی، با استفاده از سطلی که قبلا ایجاد کردید، مکان S3 تصاویر را وارد کنید (
s3://{your-bucket-name}/raw-data/images/
). - برای مکان S3 برای مجموعه داده های خروجی، انتخاب کنید مکان جدیدی را مشخص کنید و محل خروجی را برای داده های حاشیه نویسی وارد کنید (
s3://{your-bucket-name}/annotated-data/
). - برای نوع داده، انتخاب کنید تصویر.
- را انتخاب کنید تنظیم کامل داده ها.
این فایل مانیفست تصویر را ایجاد می کند و مسیر مکان ورودی S3 را به روز می کند. منتظر پیام "Input data Connection موفقیت آمیز" باشید. - گسترش پیکربندی اضافی.
- تاییدش کن مجموعه داده کامل انتخاب شده است.
این برای تعیین اینکه آیا میخواهید همه تصاویر را به کار برچسبگذاری یا زیر مجموعهای از تصاویر بر اساس فیلترها یا نمونهبرداری تصادفی ارائه کنید، استفاده میشود. - برای دسته وظایف، انتخاب کنید تصویر زیرا این یک کار برای حاشیه نویسی تصویر است.
- از آنجا که این یک مورد استفاده برای تشخیص شی است انتخاب کار، انتخاب کنید جعبه مرزی.
- گزینه های دیگر را به عنوان پیش فرض بگذارید و انتخاب کنید بعدی.
- را انتخاب کنید بعدی.
اکنون کارگران خود را مشخص کرده و ابزار برچسب گذاری را پیکربندی می کنید. - برای انواع کارگر، انتخاب کنید خصوصیبرای این پست، از نیروی کار داخلی برای حاشیه نویسی تصاویر استفاده می کنید. شما همچنین می توانید یک نیروی کار قراردادی عمومی را انتخاب کنید (آمازون مکانیک ترک) یا نیروی کار شریک (فروشنده مدیریت شد) بسته به مورد استفاده شما.
- برای تیم های خصوصی¸ تیمی را که قبلا ایجاد کرده اید انتخاب کنید.
- گزینه های دیگر را به عنوان پیش فرض رها کنید و به پایین بروید ابزار برچسب زدن جعبه مرزیارائه دستورالعملهای واضح در اینجا در ابزار برچسبگذاری برای تیم خصوصی برچسبگذاری ضروری است. این دستورالعمل ها هنگام برچسب زدن به عنوان راهنمای حاشیه نویسان عمل می کند. دستورالعمل های خوب مختصر هستند، بنابراین توصیه می کنیم دستورالعمل های کلامی یا متنی را به دو جمله محدود کنید و بر دستورالعمل های تصویری تمرکز کنید. در مورد طبقهبندی تصویر، توصیه میکنیم یک تصویر برچسبدار در هر یک از کلاسها به عنوان بخشی از دستورالعملها ارائه کنید.
- دو برچسب اضافه کنید:
fruit
وno_fruit
. - دستورالعمل های دقیق را در قسمت وارد کنید فیلد توضیحات برای ارائه دستورالعمل به کارگران مثلا:
You need to label fruits in the provided image. Please ensure that you select label 'fruit' and draw the box around the fruit just to fit the fruit for better quality of label data. You also need to label other areas which look similar to fruit but are not fruit with label 'no_fruit'
همچنین می توانید به صورت اختیاری نمونه هایی از تصاویر برچسب گذاری خوب و بد ارائه دهید. باید مطمئن شوید که این تصاویر برای عموم قابل دسترسی هستند. - را انتخاب کنید ساختن برای ایجاد شغل برچسب زدن
بعد از اینکه کار با موفقیت ایجاد شد، مرحله بعدی برچسب گذاری تصاویر ورودی است.
کار برچسب زدن را شروع کنید
هنگامی که کار را با موفقیت ایجاد کردید، وضعیت کار مشخص می شود InProgress
. به این معنی که کار ایجاد شده و نیروی کار خصوصی از طریق ایمیل در مورد وظیفه محول شده به آنها مطلع می شود. از آنجایی که شما این وظیفه را به خودتان محول کرده اید، باید یک ایمیل حاوی دستورالعمل برای ورود به پروژه Ground Truth Labeling دریافت کنید.
- ایمیل را باز کنید و لینک ارائه شده را انتخاب کنید.
- نام کاربری و رمز عبور درج شده در ایمیل را وارد کنید.
ممکن است مجبور شوید پس از ورود، رمز عبور موقت ارائه شده در ایمیل را به رمز عبور جدید تغییر دهید. - پس از ورود به سیستم، شغل خود را انتخاب کرده و انتخاب کنید شروع به کار.
میتوانید از ابزارهای ارائه شده برای بزرگنمایی، کوچکنمایی، جابجایی و ترسیم کادرهای محدودکننده در تصاویر استفاده کنید. - برچسب خود را انتخاب کنید (
fruit
orno_fruit
) و سپس یک کادر محدود در تصویر بکشید تا آن را حاشیه نویسی کنید. - وقتی کارتان تمام شد، انتخاب کنید ارسال.
اکنون تصاویری را که توسط مدل ML برای آموزش استفاده خواهند شد به درستی برچسب گذاری کرده اید.
پروژه شناسایی آمازون خود را ایجاد کنید
برای ایجاد پروژه اندازه گیری عملکرد کشاورزی خود، مراحل زیر را انجام دهید:
- در کنسول آمازون Rekognition، را انتخاب کنید برچسب های سفارشی.
- را انتخاب کنید شروع کنید.
- برای نام پروژه، وارد
fruits_yield
. - را انتخاب کنید ایجاد پروژه.
شما همچنین می توانید یک پروژه در پروژه ها صفحه می توانید به پروژه ها صفحه از طریق صفحه ناوبری. مرحله بعدی ارائه تصاویر به عنوان ورودی است.
مجموعه داده خود را وارد کنید
برای ایجاد مدل اندازه گیری عملکرد کشاورزی خود، ابتدا باید یک مجموعه داده وارد کنید تا مدل را با آن آموزش دهید. برای این پست، مجموعه داده ما قبلاً با استفاده از Ground Truth برچسب گذاری شده است.
- برای وارد کردن تصاویر، انتخاب کنید تصاویر برچسب گذاری شده توسط SageMaker Ground Truth را وارد کنید.
- برای محل فایل مانیفست، محل سطل S3 فایل مانیفست خود را وارد کنید (
s3://{your-bucket-name}/fruits_image/annotated_data/fruits-labels/manifests/output/output.manifest
). - را انتخاب کنید ایجاد مجموعه داده.
شما می توانید مجموعه داده برچسب گذاری شده خود را ببینید.
اکنون مجموعه داده ورودی خود را برای مدل ML دارید تا آموزش آنها را شروع کنید.
مدل خود را آموزش دهید
بعد از اینکه به تصاویر خود برچسب زدید، آماده آموزش مدل خود هستید.
- را انتخاب کنید مدل قطار.
- برای پروژه را انتخاب کنید، پروژه خود را انتخاب کنید
fruits_yield
. - را انتخاب کنید مدل قطار.
صبر کنید تا آموزش کامل شود. اکنون می توانید آزمایش عملکرد این مدل آموزش دیده را شروع کنید.
مدل خود را تست کنید
مدل اندازهگیری عملکرد کشاورزی شما اکنون آماده استفاده است و باید در آن باشد Running
حالت. برای تست مدل مراحل زیر را انجام دهید:
مرحله 1: مدل را شروع کنید
در صفحه جزئیات مدل خود، در از مدل استفاده کنید برگه ، انتخاب کنید آغاز.
Rekognition Custom Labels همچنین فراخوانی های API را برای شروع، استفاده و توقف مدل شما فراهم می کند.
مرحله 2: مدل را تست کنید
زمانی که مدل در Running
حالت، می توانید از نمونه اسکریپت تست استفاده کنید analyzeImage.py
برای شمارش مقدار میوه در یک تصویر.
- دانلود این اسکریپت از GitHub repo.
- این فایل را برای جایگزینی پارامتر ویرایش کنید
bucket
با نام سطل شما وmodel
با مدل شناسایی آمازون ARN شما.
ما از پارامترها استفاده می کنیم photo
و min_confidence
به عنوان ورودی این اسکریپت پایتون.
شما می توانید این اسکریپت را به صورت محلی با استفاده از رابط خط فرمان AWS (AWS CLI) یا با استفاده از AWS CloudShell. در مثال ما، اسکریپت را از طریق کنسول CloudShell اجرا کردیم. توجه داشته باشید که CloudShell است رایگان برای استفاده.
اطمینان حاصل کنید که وابستگی های مورد نیاز را با استفاده از دستور نصب کنید pip3 install boto3 PILLOW
اگر قبلا نصب نشده باشد
تصویر زیر خروجی را نشان می دهد که دو میوه را در تصویر ورودی شناسایی کرده است. ما 15.jpeg را به عنوان آرگومان عکس و 85 را به عنوان آرگومان ارائه کردیم min_confidence
ارزش.
مثال زیر تصویر 15.jpeg را با دو کادر محدود نشان می دهد.
می توانید همان اسکریپت را با تصاویر دیگر اجرا کنید و با تغییر بیشتر امتیاز اطمینان آزمایش کنید.
مرحله 3: مدل را متوقف کنید
وقتی کارتان تمام شد، به خاطر داشته باشید که مدل را متوقف کنید تا هزینه های غیرضروری متحمل نشوید. در صفحه جزئیات مدل خود، در تب Use model، Stop را انتخاب کنید.
پاک کردن
برای جلوگیری از تحمیل هزینههای غیرضروری، منابع استفاده شده در این راهنما را در صورت عدم استفاده حذف کنید. ما باید پروژه آمازون Rekognition و سطل S3 را حذف کنیم.
پروژه شناسایی آمازون را حذف کنید
برای حذف پروژه شناسایی آمازون، مراحل زیر را انجام دهید:
- در کنسول آمازون Rekognition، را انتخاب کنید از برچسب های سفارشی استفاده کنید.
- را انتخاب کنید شروع به کار.
- در صفحه پیمایش، را انتخاب کنید پروژه ها.
- بر پروژه ها صفحه، پروژه ای را که می خواهید حذف کنید انتخاب کنید.
- را انتخاب کنید حذف.
La پروژه را حذف کنید کادر محاوره ای ظاهر می شود.
- را انتخاب کنید حذف.
- اگر پروژه هیچ مدل مرتبطی نداشته باشد:
- وارد حذف کردن برای حذف پروژه
- را انتخاب کنید حذف برای حذف پروژه
- اگر پروژه دارای مدل ها یا مجموعه داده های مرتبط باشد:
- وارد حذف کردن برای تأیید اینکه می خواهید مدل و مجموعه داده ها را حذف کنید.
- یا یکی را انتخاب کنید حذف مدل های مرتبط, مجموعه داده های مرتبط را حذف کنید، یا مجموعه داده ها و مدل های مرتبط را حذف کنیدبسته به اینکه آیا مدل مجموعه داده، مدل یا هر دو دارد.
ممکن است تکمیل حذف مدل کمی طول بکشد. توجه داشته باشید که کنسول آمازون Rekognition نمی تواند مدل هایی را که در حال آموزش یا در حال اجرا هستند حذف کند. پس از توقف هر مدل در حال اجرا لیست شده، دوباره امتحان کنید و منتظر بمانید تا مدل های لیست شده به عنوان آموزش کامل شوند. اگر کادر محاوره ای را در حین حذف مدل ببندید، مدل ها همچنان حذف می شوند. بعداً می توانید با تکرار این روش پروژه را حذف کنید.
- وارد حذف کردن برای تایید اینکه می خواهید پروژه را حذف کنید.
- را انتخاب کنید حذف برای حذف پروژه
سطل S3 خود را حذف کنید
ابتدا باید سطل را خالی کنید و سپس آن را پاک کنید.
- بر آمازون S3 کنسول، انتخاب کنید سطل.
- سطلی را که می خواهید خالی کنید انتخاب کنید، سپس انتخاب کنید خالی.
- با وارد کردن نام سطل در قسمت متن، تأیید کنید که میخواهید سطل را خالی کنید، سپس انتخاب کنید خالی.
- را انتخاب کنید حذف.
- با وارد کردن نام سطل در قسمت متن، تأیید کنید که میخواهید سطل را حذف کنید، سپس انتخاب کنید سطل را حذف کنید.
نتیجه
در این پست، نحوه ایجاد یک مدل تشخیص شی با برچسب های سفارشی Rekognition را به شما نشان دادیم. این ویژگی آموزش یک مدل سفارشی را آسان می کند که می تواند یک کلاس شی را بدون نیاز به تعیین اشیاء دیگر یا از دست دادن دقت در نتایج آن تشخیص دهد.
برای اطلاعات بیشتر در مورد استفاده از برچسب های سفارشی، رجوع کنید به برچسب های سفارشی شناسایی آمازون چیست؟
درباره نویسندگان
دراج تاکور یک معمار راه حل با خدمات وب آمازون است. او با مشتریان و شرکای AWS کار می کند تا راهنمایی هایی در مورد پذیرش ابر سازمانی، مهاجرت و استراتژی ارائه دهد. او علاقه زیادی به فناوری دارد و از ساختن و آزمایش در حوزه تحلیل و AI/ML لذت می برد.
سامیر گوئل یک معمار Sr. Solutions در هلند است که با ساختن نمونه های اولیه بر روی ابتکارات پیشرفته، موفقیت مشتری را هدایت می کند. قبل از پیوستن به AWS، سامیر با مدرک کارشناسی ارشد از بوستون، با تمرکز در علم داده فارغ التحصیل شد. او از ساختن و آزمایش پروژه های AI/ML روی Raspberry Pi لذت می برد. می توانید او را در آن پیدا کنید لینک.
- AI
- آی هنر
- مولد هنر ai
- ربات ai
- شناسایی آمازون
- هوش مصنوعی
- گواهی هوش مصنوعی
- هوش مصنوعی در بانکداری
- ربات هوش مصنوعی
- ربات های هوش مصنوعی
- نرم افزار هوش مصنوعی
- آموزش ماشین AWS
- بلاکچین
- کنفرانس بلاک چین ai
- coingenius
- هوش مصنوعی محاوره ای
- کنفرانس کریپتو ai
- دل-ه
- یادگیری عمیق
- گوگل ai
- فراگیری ماشین
- افلاطون
- افلاطون آی
- هوش داده افلاطون
- بازی افلاطون
- PlatoData
- بازی پلاتو
- مقیاس Ai
- نحو
- زفیرنت