بینایی کامپیوتر در حال حاضر یکی از داغترین زمینههای هوش مصنوعی است و تشخیص اشیا نقشی کلیدی در توسعه سریع آن ایفا میکند. این راهنما به شما در درک مفاهیم اولیه تشخیص اشیا کمک می کند. اگر به دنبال پرسشهای زیر هستید، جای درستی آمدهاید؛ در این مطلب تمامی موارد زیر را بررسی خواهیم کرد:
- تفاوت بین تشخیص اشیا و شناسایی اشیا چیست؟
- از کدام تکنیک بینایی کامپیوتر برای تشخیص استفاده کنم؟
- چگونه باید یک مدل تشخیص دقیق شی بسازم؟
با ما در این مقاله از وبسایت شرکت هوش مصنوعی آویر همراه باشید.
تشخیص اشیا چیست؟
تشخیص اشیا یک تکنولوژی زیر شاخه علم بینایی کامپیوتر است که با محلی سازی و طبقه بندی اشیای موجود در یک تصویر یا ویدئو سروکار دارد.
به بیان سادهتر، تشخیص اشیا، تکنولوژی ترسیم جعبههای محدود کننده در اطراف اشیای شناسایی شده است که به ما این امکان را میدهد تا آنها را در یک صحنه معین (یا نحوه حرکت آنها در آن صحنه را) قرار دهیم.
در اینجا نحوه تشخیص شی با V7 آورده شده است. V7 موتور داده هوش مصنوعی برای بینایی کامپیوتر و هوش مصنوعی مولد است:
تفاوت تشخیص اشیا با طبقهبندی تصاویر
قبل از ادامه مطلب در مورد تشخیص اشیا، بیایید نگاهی به فرق بین تشخیص اشیا و طبقهبندی تصاویر بیندازیم.
طبقهبندی تصویر یک تصویر کامل را از طریق یک طبقهبندی کننده (مانند یک شبکه عصبی عمیق) ارسال میکند تا یک برچسب را از آن بیرون بیاورد. طبقهبندیکنندهها کل تصویر را در نظر میگیرند، اما به شما نمیگویند که برچسب کجا در تصویر ظاهر میشود.
تشخیص اشیا کمی پیشرفتهتر از طبقهبندی تصاویر است، زیرا یک کادر محدود در اطراف شی طبقهبندی شده ایجاد میکند.
طبقهبندی مزایای خاص خود را دارد و برای برچسبهایی که واقعاً مرزهای فیزیکی ندارند، مانند “تاری” یا “آفتابی” گزینه بهتری است. با این حال، سیستمهای تشخیص اشیا تقریباً همیشه نسبت به شبکههای طبقهبندی در تشخیص اشیایی که حضور مادی دارند، مانند خودرو، بهتر عمل میکنند.
تفاوت تشخیص اشیا با بخشبندی تصویر
بخشبندی تصویر، فرآیندی است که مشخص می کند کدام پیکسل از یک کلاس شی در یک تصویر یافت میشود.
بخشبندی معنایی تصویر تمام پیکسلهای متعلق به آن تگ را علامتگذاری میکند، اما مرزهای هر شی را مشخص نمیکند.
در عوض، تشخیص اشیا، شی را بخشبندی نمی کند، بلکه مکان هر نمونه شی منفرد را با یک جعبه به وضوح مشخص میکند.
ترکیب بخشبندی معنایی تصویر (Semantic Segmentation) با تشخیص شی منجر به بخشبندی نمونه (Instance Segmentation) میشود، که ابتدا نمونههای شی را شناسایی میکند و سپس هر کدام را در جعبههای شناساییشده تقسیم میکند (که در این مورد به عنوان مناطق مورد نظر شناخته میشود).
مزایا و معایب تشخیص اشیا
تشخیص شی در موارد زیر بسیار خوب و کاربردی است:
- تشخیص اشیایی که بین 2 تا 60 درصد از مساحت تصویر را اشغال میکنند.
- تشخیص اجسام با مرزهای واضح.
- تشخیص خوشه های اشیا به عنوان 1 مورد.
- بومی سازی اشیا با سرعت بالا (>15 فریم در ثانیه)
با این حال، در سناریوهای دیگر با روشهای دیگر از دسته خارج میشود.
همیشه باید از خود بپرسید: آیا این سناریوها در مورد مشکل من صدق میکنند یا خیر؟
اما، در اینجا ترفندهایی را یاد میدهیم که میتوانید از آن در زمان انتخاب تکنیکهای بینایی کامپیوتر برای نیازهای خود استفاده کنید.
برای اشیایی که دراز و کشیده هستند، از بخشبندی نمونه استفاده کنید!
اقلام بلند و نازک مانند مداد در صورت شناسایی، کمتر از 10 درصد از مساحت جعبه را اشغال میکنند. این امر، مدل را به سمت پیکسلهای پس زمینه به جای خود شی هدایت میکند.
تصویر: یک مداد مورب که روی V7 با استفاده از جعبه و چند ضلعی برچسب گذاری شده است
برای اشیایی که حضور فیزیکی ندارند، از طبقهبندی استفاده کنید!
چیزهایی در یک تصویر مانند برچسب “آفتابی”، “روشن” یا “کج” به بهترین وجه با تکنیک های طبقهبندی تصویر شناسایی میشوند – به شبکه اجازه می دهد تصویر را دریافت کند و بفهمد کدام ویژگی با این برچسب ها مرتبط است.
برای اشیایی که در زوایای مختلف مرز مشخصی ندارند، از بخشبندی معنایی استفاده کنید!
آسمان، زمین یا پوشش گیاهی در تصاویر هوایی، مرزهای مشخصی ندارند. بخشبندی معنایی در “نقاشی” پیکسلهایی که به این کلاسها تعلق دارند، کارآمدتر است. تشخیص اشیا همچنان “آسمان” را به عنوان یک جسم می گیرد، اما با چنین اشیایی همچنان مشکل دارد.
برای اشیایی که معمولاً مسدود میشوند، در صورت امکان از بخشبندی نمونه استفاده کنید!
انسداد در شبکههای تشخیص دو مرحلهای بسیار بهتر از روشهای تکشات مدیریت میشود. در این شاخه از آشکارسازها (دیتکتورها)، مدلهای بخشبندی نمونه در درک و بخشبندی اشیای مسدود شده نسبت به آشکارسازهای جعبه مرزی کار بهتری انجام میدهند.
انواع و حالتهای تشخیص اشیا
قبل از شروع یادگیری عمیق در سال 2013، تقریباً تمام کارهای تشخیص اشیا از طریق تکنیکهای کلاسیک یادگیری ماشین انجام میشد. موارد متداول شامل تکنیک تشخیص اشیا ویولا جونز (viola-jones object detection technique)، تبدیلهای ویژگی تغییرناپذیر مقیاس یا SIFT (scale-invariant feature transforms) و هیستوگرام گرادیانهای جهتیافته (histogram of oriented gradients) بود.
این موارد تعدادی از ویژگی های مشترک را در سراسر تصویر شناسایی میکنند و خوشه های خود را با استفاده از رگرسیون لجستیک، هیستوگرام های رنگی یا جنگلهای تصادفی طبقه بندی میکنند. تکنیکهای امروزی مبتنی بر یادگیری عمیق بسیار بهتر از این تکنیکها هستند.
رویکردهای مبتنی بر یادگیری عمیق از معماریهای شبکه عصبی مانند رتینانت (RetinaNet)، یولو (YOLO)، سنترنت (CenterNet)، اس اس دی (SSD) یا آشکارساز تک شات (Single Shot Multibox detector)، پروپوزالهای منطقه (R-CNN, Fast-RCNN, Faster RCNN, Cascade R-CNN) برای قابلیت تشخیص اشیا، و سپس شناسایی برچسبها.
نحوه کار تکنولوژی تشخیص اشیا
تشخیص اشیا به طور کلی به 2 مرحله تقسیم میشود:
آشکارسازهای تک مرحلهای شی.
آشکارسازهای دو مرحلهای شی.
آخرین معماریهای تشخیص اشیا شامل معماریهای ۲ مرحلهای است که بسیاری از آنها در مجموعه داده COCO از قبل آموزش داده شدهاند. COCO یک مجموعه داده تصویری است که از 90 کلاس مختلف از اشیا (ماشین، افراد، توپ های ورزشی، دوچرخه، سگ، گربه، اسب و غیره) تشکیل شده است.
مجموعه داده برای حل مشکلات رایج تشخیص شی جمع آوری شد. امروزه این تصویر در حال منسوخ شدن است زیرا تصاویر آن عمدتاً در اوایل دهه 2000 گرفته شده است و آنها را بسیار کوچکتر، دانهدانهتر و با اشیا متفاوت نسبت به تصاویر امروزی میسازد. مجموعه دادههای جدیدتر مانند OpenImages جایگاه خود را به عنوان مجموعه داده پیش از آموزش عملی میگیرند.
آشکارسازهای تک مرحلهای شی
یک آشکارساز تک مرحلهای فرآیند استخراج RoI را حذف می کند و به طور مستقیم انکر باکسهای کاندید شده را طبقه بندی و سپس پسرفت میکند. برای مثال خانواده یولو (YOLOv2, YOLOv3, YOLOv4, YOLOv5)، CornerNet، CenterNet و دیگر موارد. به عنوان مثال، بیایید نگاهی به نحوه عملکرد YOLO بیندازیم.
یولو
YOLO یک معماری تشخیص شی است که مخفف YOU ONLY LOOK ONCE به معنی ” شما فقط یک بار نگاه می کنید” است. یولو شامل استفاده از یک شبکه عصبی منفرد آموزشدیده از انتها به انتها برای گرفتن عکس به عنوان ورودی و پیش بینی جعبههای مرزی و برچسبهای کلاس برای هر جعبه محدود کننده به طور مستقیم است. YOLO یک آشکارساز معمولی تک مرحله ای است.
آشکارسازهای دو مرحلهای شی
آشکارسازهای دو مرحلهای وظیفه تشخیص شی را به دو مرحله تقسیم می کنند: RoIs (منطقه مورد علاقه یا Region of interest) را استخراج میکنند، سپس RoI ها را طبقه بندی و بعد رگرسیون و پسرفت اتفاق میافتد. نمونههایی از معماریهای تشخیص شی که دو مرحلهگرا هستند عبارتند از R-CNN، Fast-RCNN، Faster-RCNN، Mask-RCNN و موارد دیگر. به عنوان مثال، بیایید نگاهی به Mask R-CNN بیندازیم.
Mask R-CNN
Mask R-CNN یک تکنیک معمولی بخشبندی نمونه برای تشخیص اشیا است. این معماری با افزودن یک شاخه برای پیشبینی ماسکهای تقسیمبندی در هر RoI، به موازات شاخه موجود برای طبقهبندی و رگرسیون جعبه مرزی، و گسترش سریعتر R-CNN است. شاخه ماسک یک FCN کوچک است که برای هر RoI اعمال میشود و یک ماسک تقسیم بندی را به صورت پیکسل به پیکسل پیش بینی میکند. در زیر یک نمایش معماری از Mask R-CNN است.
از سوی دیگر، Faster R-CNN یک مدل تشخیص شی است که با استفاده از شبکه پیشنهادی منطقه (region proposal network) یا RPN با نقشههای ویژگی تولید شده از لایه کانولوشن، برای تخمین طبقهبندی شی مبتنی بر دسته بندی (ROI pooling) روی Fast R-CNN بهبود مییابد.
در زیر نمودار معماری Faster R-CNN آمده است.
علاوه بر این، Fast R-CNN یک نسخه بهبودیافته از R-CNN است که ویژگیهای CNN را مستقل از منطقه مورد علاقه آنها (ROI) در یک پاس رو به جلو روی تصویر جمع میکند. به طور کلی، R-CNN (انتخاب منطقه با ویژگیهای CNN) کند است زیرا برای هر طرح پیشنهادی یک ConvNet رو به جلو، بدون محاسبات مشترک انجام میدهد.
از این رو، Fast R-CNN برای حل مشکل محاسبات کند توسعه داده شد.
کاربردهای مهم تشخیص اشیا
در پایان، بیایید نگاهی به بعضی از رایجترین موارد استفاده تکنولوژی تشخیص اشیا بیندازیم.
1. تشخیص چهره و اشخاص
اکثر سیستم های تشخیص چهره با تکنولوژی تشخیص اشیا کار میکنند. میتوان از تکنولوژی تشخیص اشیا برای تشخیص چهرهها، طبقهبندی احساسات یا عبارات، و استفاده از اطلاعات به دست آمده از باکسها در یک سیستم بازیابی تصویر برای شناسایی یک فرد خاص از یک گروه استفاده کرد.
تشخیص چهره یکی از محبوب ترین موارد استفاده از تشخیص اشیا است و هر زمان که قفل گوشی خود را با چهره خود باز میکنید، از آن استفاده میکنید.
تشخیص افراد معمولاً برای شمارش تعداد افراد در فروشگاههای خردهفروشی یا اطمینان از معیارهای فاصلهگذاری اجتماعی استفاده میشود.
2. تجزیه و تحلیل ویدیویی هوشمند
تشخیص اشیا در تجزیه و تحلیل ویدیویی هوشمند (IVA) در هر جایی که دوربینهای مداربسته در مکانهای خردهفروشی وجود دارند، استفاده میشود تا مغازهداران متوجه شوند که خریداران چگونه با محصولات تعامل دارند. این جریانهای ویدیویی از یک خط لوله ناشناس عبور میکنند تا چهره افراد را محو کنند و هویت افراد را از بین ببرند. برخی از موارد استفاده IVA تنها با نگاه کردن به کفشهای افراد، با قرار دادن دوربینها در زیر زانو و اطمینان از اینکه سیستم از حضور یک فرد عکس میگیرد، بدون این که مستقیماً به ویژگیهای قابل شناسایی آنها نگاه کند، حریم خصوصی را حفظ میکنند. IVA معمولاً در کارخانهها، فرودگاهها و مراکز حمل و نقل برای ردیابی طول صف و دسترسی به مناطق محدود استفاده میشود.
3. وسایل نقلیه خودران
اتوموبیلهای خودران از تشخیص اشیا برای شناسایی عابران پیاده، خودروهای دیگر و موانع موجود در جاده استفاده میکنند تا با خیال راحت در اطراف حرکت کنند. وسایل نقلیه خودران مجهز به سنسور LIDAR گاهی اوقات از تشخیص اشیا سه بعدی استفاده میکنند که مکعب ها را در اطراف اجسام اعمال میکند.
4. جراحی تصویری هوشمند
فیلم جراحی، دادههای بسیار پر سر و صدایی است که از آندوسکوپها در طول عملیاتهای حیاتی گرفته میشود. تشخیص اشیا را می توان برای تشخیص مواردی که به سختی قابل مشاهده هستند، مانند پولیپ یا ضایعاتی که نیاز به توجه فوری جراح دارند، استفاده کرد. این تکنولوژی همچنین برای اطلاع رسانی به کارکنان بیمارستان از وضعیت عمل استفاده می شود.
5. بازرسی نقص و خرابی
شرکتهای تولیدی میتوانند از تشخیص اشیا برای تشخیص عیوب در خط تولید استفاده کنند. شبکههای عصبی را میتوان برای تشخیص عیوب کوچک، از چینهای پارچه گرفته تا فرورفتگیهای یک محصول، آموزش داد.
برخلاف رویکردهای سنتی یادگیری ماشین، تشخیص اشیا مبتنی بر یادگیری عمیق همچنین میتواند عیوب را در اشیا بسیار متفاوت مانند غذا تشخیص دهد.
6. تشخیص عابر پیاده
این تشخیص، یکی از ضروریترین وظایف بینایی کامپیوتر است که در رباتیک، نظارت تصویری و ایمنی خودرو کاربرد دارد. تشخیص عابر پیاده نقش کلیدی در تحقیقات تشخیص اشیا ایفا میکند زیرا اطلاعات اساسی را برای درک معنایی فیلم های ویدئویی فراهم میکند.
با این حال،این فناوری علیرغم کارایی نسبتاً بالایی که دارد، همچنان با چالشهایی مانند سبکهای مختلف لباس در ظاهر یا وجود لوازم انسدادی که دقت آشکارسازهای موجود را کاهش می دهد، مواجه است.
7. رهیابی پهپاد هوش مصنوعی
امروزه پهپادها از دوربینهای باورنکردنی استفاده میکنند و میتوانند از مدلهای میزبانی شده در فضای ابری برای ارزیابی هر شیئی که با آن برخورد میکنند، استفاده کنند.
به عنوان مثال، آنها میتوانند برای بازرسی مناطق صعبالعبور روی پلها به علت وجود ترک، شکستگی و سایر آسیبهای ساختاری یا برای بازرسی خطوط برق، به عنوان جایگزین هلیکوپتر استفاده شوند.
و در پایان این که…
در این مطلب به بررسی کامل تکنولوژی تشخیص اشیا و کاربردهای آن پرداختیم. ما در شرکت هوش مصنوعی آویر در کنار شما هستیم تا جدیدترین و بهروزترین تکنولوژیهای مبتنی بر هوش مصنوعی را معرفی کنیم. اگر قصد خرید محصولات و نرمافزارهای هوش مصنوعی را دارید، همین حالا از قسمت تماس با ما یا از طریق شماره تماس ۸۸۶۶۷۱۵۷-(۰۲۱) با آویر تماس بگیرید !