اگر تا به حال قفل گوشی خود را با چهره خود باز کردهاید، رسید را اسکن کردهاید، یا به دوربین خودپرداز خیره شدهاید و از خود پرسیدهاید که آیا آووکادوی شما را قضاوت میکند، در واقع با بینایی کامپیوتر روبرو شدهاید. به عبارت ساده، بینایی کامپیوتر در هوش مصنوعی به این معنی است که ماشینها چگونه یاد میگیرند ببینند و درک کنند تا بتوانند تصمیم بگیرند. مفید؟ کاملاً. گاهی اوقات تعجبآور؟ بله. و گاهی اوقات اگر صادق باشیم، کمی ترسناک. در بهترین حالت، پیکسلهای بههمریخته را به اقدامات عملی تبدیل میکند. در بدترین حالت، حدس میزند و تلوتلو میخورد. بیایید به طور دقیق بررسی کنیم.
مقالاتی که شاید بعد از این مطلب دوست داشته باشید بخوانید:
🔗 سوگیری هوش مصنوعی چیست؟
چگونه سوگیری در سیستمهای هوش مصنوعی شکل میگیرد و راههای تشخیص و کاهش آن.
🔗 هوش مصنوعی پیشبینیکننده چیست؟
هوش مصنوعی پیشبینیکننده چگونه از دادهها برای پیشبینی روندها و نتایج استفاده میکند.
🔗 مربی هوش مصنوعی کیست؟
مسئولیتها، مهارتها و ابزارهایی که متخصصان آموزش هوش مصنوعی استفاده میکنند.
🔗 گوگل ورتکس هوش مصنوعی چیست؟
مروری بر پلتفرم یکپارچه هوش مصنوعی گوگل برای ساخت و استقرار مدلها.
بینایی ماشین در هوش مصنوعی دقیقاً چیست؟ 📸
بینایی کامپیوتر در هوش مصنوعی شاخهای از هوش مصنوعی است که به کامپیوترها آموزش میدهد دادههای بصری را تفسیر و استدلال کنند. این مسیر از پیکسلهای خام به معنای ساختاریافته است: «این یک تابلو ایست است»، «آنها عابر پیاده هستند»، «جوش معیوب است»، «جمع فاکتور اینجاست». این مسیر وظایفی مانند طبقهبندی، تشخیص، قطعهبندی، ردیابی، تخمین عمق، OCR و موارد دیگر را که توسط مدلهای یادگیری الگو به هم متصل میشوند، پوشش میدهد. این حوزه رسمی، هندسه کلاسیک را تا یادگیری عمیق مدرن، با کتابهای راهنمای عملی که میتوانید کپی و تنظیم کنید، در بر میگیرد. [1]
حکایتی کوتاه: یک خط بستهبندی را با یک دوربین معمولی 720p تصور کنید. یک آشکارساز سبک، دربها را تشخیص میدهد و یک ردیاب ساده، قبل از روشن کردن چراغ سبز بطری، تأیید میکند که آنها برای پنج فریم متوالی در یک راستا قرار گرفتهاند. شیک نیست - اما ارزان، سریع است و دوبارهکاری را کاهش میدهد.
چه چیزی بینایی ماشین در هوش مصنوعی را مفید میکند؟ ✅
-
جریان سیگنال به عمل : ورودی بصری به خروجی قابل اجرا تبدیل میشود. داشبورد کمتر، تصمیمگیری بیشتر.
-
تعمیم : با دادههای مناسب، یک مدل میتواند طیف وسیعی از تصاویر را مدیریت کند. البته نه کاملاً خوب - و گاهی اوقات به طرز شگفتانگیزی خوب.
-
اهرم دادهها : دوربینها ارزان و همه جا هستند. بینایی، آن اقیانوس پیکسلها را به بینش تبدیل میکند.
-
سرعت : مدلها میتوانند فریمها را به صورت بلادرنگ و با سختافزار متوسط - یا تقریباً بلادرنگ، بسته به وظیفه و وضوح تصویر - پردازش کنند.
-
قابلیت ترکیب : مراحل ساده را به صورت زنجیرهای در سیستمهای قابل اعتماد قرار دهید: تشخیص → ردیابی → کنترل کیفیت.
-
اکوسیستم : ابزارها، مدلهای از پیش آموزشدیده، معیارها و پشتیبانی جامعه - یک بازار گسترده از کد.
بیایید صادق باشیم، راز موفقیت یک راز نیست: دادههای خوب، ارزیابی منظم، استقرار دقیق. بقیهاش تمرین است... و شاید قهوه. ☕
نحوه بینایی ماشین در هوش مصنوعی ، در یک مسیر منطقی 🧪
-
برای دریافت تصویر
. نوع حسگر، نوردهی، لنز و نرخ فریم را با دقت انتخاب کنید. ورودیهای بیکیفیت و غیره. -
پیشپردازش
در صورت نیاز تغییر اندازه، برش، نرمالسازی، رفع تاری یا حذف نویز. گاهی اوقات یک تغییر کوچک در کنتراست، کوهها را جابهجا میکند. [4] -
برچسبها و مجموعه دادهها
کادرهای مرزی، چندضلعیها، نقاط کلیدی، محدودههای متن. برچسبهای متعادل و نماینده - در غیر این صورت مدل شما عادات نامتقارن را یاد میگیرد. -
مدلسازی
-
طبقهبندی : «کدام دسته؟»
-
تشخیص : «اشیاء کجا هستند؟»
-
قطعهبندی : «کدام پیکسلها به کدام چیز تعلق دارند؟»
-
نکات کلیدی و ژست : «مفاصل یا نقاط دیدنی کجا هستند؟»
-
OCR : «چه متنی در تصویر وجود دارد؟»
-
عمق و سهبعدی : «همه چیز تا چه حد فاصله دارد؟»
معماریها متفاوت هستند، اما شبکههای کانولوشن و مدلهای به سبک ترانسفورماتور غالب هستند. [1]
-
-
آموزش،
تقسیم دادهها، تنظیم ابرپارامترها، منظمسازی، تقویت. توقف زودهنگام قبل از به خاطر سپردن تصویر زمینه. -
ارزیابی
از معیارهای مناسب برای کار مانند mAP، IoU، F1، CER/WER برای OCR استفاده کنید. گزینشی عمل نکنید. منصفانه مقایسه کنید. [3] -
استقرار
برای هدف: کارهای دستهای ابری، استنتاج روی دستگاه، سرورهای لبه. رانش نظارت. آموزش مجدد با تغییر جهان.
شبکههای عمیق، زمانی که مجموعه دادهها و محاسبات بزرگ به حجم بحرانی رسیدند، جهشی کیفی را تسریع کردند. معیارهایی مانند چالش ImageNet این پیشرفت را قابل مشاهده و بیوقفه نشان دادند. [2]
وظایف اصلی که واقعاً از آنها استفاده خواهید کرد (و چه زمانی) 🧩
-
طبقهبندی تصویر : یک برچسب برای هر تصویر. برای فیلترهای سریع، اولویتبندی یا دروازههای کیفیت استفاده کنید.
-
تشخیص اشیا : دور اشیا کادر میکشیم. جلوگیری از ضرر و زیان در فروشگاهها، تشخیص وسایل نقلیه، شمارش حیات وحش.
-
تقسیمبندی نمونه : سیلوئتهای دقیق پیکسلی برای هر شیء. نقصهای تولید، ابزارهای جراحی، فناوری کشاورزی.
-
تقسیمبندی معنایی : کلاس در هر پیکسل بدون جداسازی نمونهها. صحنههای جادههای شهری، پوشش زمین.
-
تشخیص و حالت نقاط کلیدی : مفاصل، نقاط دیدنی، ویژگیهای صورت. تجزیه و تحلیل ورزشی، ارگونومی، واقعیت افزوده.
-
ردیابی : دنبال کردن اشیاء در طول زمان. تدارکات، ترافیک، امنیت.
-
OCR و هوش مصنوعی اسناد : استخراج متن و تجزیه طرحبندی. فاکتورها، رسیدها، فرمها.
-
عمق و سهبعدی : بازسازی از نماهای چندگانه یا نشانههای تکچشمی. رباتیک، واقعیت افزوده، نقشهبرداری.
-
شرح تصاویر : خلاصه صحنهها به زبان طبیعی. دسترسیپذیری، جستجو.
-
مدلهای بینایی-زبانی : استدلال چندوجهی، بیناییِ بازیابی-تقویتشده، تضمین کیفیتِ مبتنی بر داده
حس و حال جعبههای کوچک: در فروشگاهها، یک ردیاب، قفسههای خالی را علامتگذاری میکند؛ یک ردیاب از شمارش مجدد کالاها هنگام انبار کردن مجدد توسط کارکنان جلوگیری میکند؛ یک قانون ساده، فریمهای کماطمینان را به بررسی انسانی هدایت میکند. این یک ارکستر کوچک است که بیشتر اوقات هماهنگ میماند.
جدول مقایسه: ابزارهایی برای ارسال سریعتر 🧰
عمداً کمی عجیب و غریب است. بله، فاصلهگذاری عجیب است - میدانم.
| ابزار / چارچوب | بهترین برای | مجوز/قیمت | چرا در عمل جواب میدهد |
|---|---|---|---|
| اوپنسیوی | پیشپردازش، CV کلاسیک، POC های سریع | رایگان - متنباز | جعبه ابزار عظیم، API های پایدار، آزمایش شده در نبرد؛ گاهی اوقات تمام چیزی که نیاز دارید. [4] |
| پایتورچ | آموزش مناسب برای پژوهش | رایگان | نمودارهای پویا، اکوسیستم عظیم، آموزشهای فراوان. |
| تنسورفلو/کرس | تولید در مقیاس بزرگ | رایگان | گزینههای سرو مخصوص افراد بالغ، مناسب برای موبایل و لبه نیز هست. |
| اولترالایتیکز یولو | تشخیص سریع اشیاء | افزونههای رایگان + پولی | حلقه تمرینی آسان، سرعت-دقت رقابتی، خودرای اما راحت. |
| Detectron2 / MMDetection | خطوط مبنای قوی، تقسیمبندی | رایگان | مدلهای مرجع با نتایج تکرارپذیر. |
| زمان اجرای OpenVINO / ONNX | بهینهسازی استنتاج | رایگان | تأخیر را کاهش دهید، بدون بازنویسی، بهطور گسترده مستقر شوید. |
| تسرکت | OCR با بودجه کم | رایگان | اگر تصویر را تمیز کنید، به خوبی کار میکند... گاهی اوقات واقعاً باید این کار را انجام دهید. |
چه چیزی کیفیت بینایی ماشین در هوش مصنوعی ؟
-
پوشش دادهها : تغییرات نورپردازی، زاویهها، پسزمینهها، موارد خاص. اگر چنین مواردی ممکن است اتفاق بیفتد، آن را لحاظ کنید.
-
کیفیت برچسب : کادرهای ناهماهنگ یا چندضلعیهای نامرتب، نقشهی بازی را خراب میکنند. کمی بررسی کیفیت، خیلی کمک میکند.
-
تقویتهای هوشمند : برش، چرخش، تغییر روشنایی، اضافه کردن نویز مصنوعی. واقعبین باشید، نه هرج و مرج تصادفی.
-
برازش انتخاب مدل : در جایی که تشخیص مورد نیاز است از تشخیص استفاده کنید - طبقهبندیکننده را مجبور به حدس زدن مکانها نکنید.
-
معیارهایی که با تأثیر مطابقت دارند : اگر منفیهای کاذب بیشتر آسیب میزنند، یادآوری را بهینه کنید. اگر مثبتهای کاذب بیشتر آسیب میزنند، دقت را در اولویت قرار دهید.
-
حلقه بازخورد فشرده : ثبت خطاها، تغییر برچسب، آموزش مجدد. اصلاح، تکرار. کمی خستهکننده - بسیار مؤثر.
برای تشخیص/تقسیمبندی، استاندارد جامعه، میانگین دقت (Average Precision) که در سراسر آستانههای IoU - یا همان mAP به سبک COCO - محاسبه میشود. دانستن نحوه محاسبه IoU و AP@{0.5:0.95} مانع از آن میشود که ادعاهای جدول امتیازات شما را با اعداد اعشاری شگفتزده کند. [3]
موارد استفاده در دنیای واقعی که فرضی نیستند 🌍
-
خرده فروشی : تجزیه و تحلیل قفسه، جلوگیری از ضرر و زیان، نظارت بر صف، رعایت پلانوگرام.
-
تولید : تشخیص نقص سطح، تأیید مونتاژ، هدایت ربات.
-
مراقبتهای بهداشتی : تریاژ رادیولوژی، تشخیص ابزار، تقسیمبندی سلول.
-
تحرک : سیستمهای کمکی رانندگی (ADAS)، دوربینهای ترافیک، اشغال پارکینگ، ردیابی وسایل نقلیه کوچک.
-
کشاورزی : شمارش محصول، تشخیص بیماری، آمادگی برداشت.
-
بیمه و امور مالی : ارزیابی خسارت، بررسیهای KYC، شناسایی کلاهبرداری.
-
ساخت و ساز و انرژی : رعایت ایمنی، تشخیص نشتی، نظارت بر خوردگی.
-
محتوا و دسترسی : زیرنویسهای خودکار، مدیریت، جستجوی بصری.
الگویی که متوجه خواهید شد: اسکن دستی را با اولویتبندی خودکار جایگزین کنید، سپس وقتی اعتماد به نفس کاهش یافت، به سراغ انسان بروید. جذاب نیست - اما مقیاس آن افزایش مییابد.
دادهها، برچسبها و معیارهای مهم 📊
-
طبقهبندی : دقت، F1 برای عدم تعادل.
-
تشخیص : mAP در سراسر آستانههای IoU؛ بازرسی AP در هر کلاس و اندازه باکتها. [3]
-
قطعهبندی : mIoU، Dice؛ خطاهای سطح نمونه را نیز بررسی کنید.
-
ردیابی : MOTA، IDF1؛ کیفیت بازشناسی، قهرمان خاموش است.
-
OCR : نرخ خطای کاراکتر (CER) و نرخ خطای کلمه (WER)؛ خطاهای طرحبندی اغلب غالب هستند.
-
وظایف رگرسیون : عمق یا حالت از خطاهای مطلق/نسبی (اغلب در مقیاس لگاریتمی) استفاده میکنند.
پروتکل ارزیابی خود را مستند کنید تا دیگران بتوانند آن را تکرار کنند. این کار جذاب نیست - اما شما را صادق نگه میدارد.
ساختن در مقابل خریدن - و کجا آن را اجرا کنیم 🏗️
-
ابر : شروع آسان، عالی برای حجم کاری دستهای. هزینههای خروجی را زیر نظر داشته باشید.
-
دستگاههای لبهای : تأخیر کمتر و حریم خصوصی بهتر. شما به کوانتیزاسیون، هرس و شتابدهندهها اهمیت خواهید داد.
-
روی دستگاه موبایل : وقتی مناسب باشد فوقالعاده است. مدلها را بهینه کنید و مراقب باتری باشید.
-
ترکیبی : پیشفیلتر در لبه، بارگذاری سنگین در فضای ابری. یک ترکیب خوب.
یک پشته (Stack) به طرز خستهکنندهای قابل اعتماد: نمونه اولیه با PyTorch، آموزش یک آشکارساز استاندارد، خروجی گرفتن به ONNX، شتابدهی با OpenVINO/ONNX Runtime، و استفاده از OpenCV برای پیشپردازش و هندسه (کالیبراسیون، هموگرافی، مورفولوژی). [4]
خطرات، اخلاق و بخشهای سختی که باید در موردشان صحبت کرد ⚖️
سیستمهای بینایی میتوانند سوگیریهای مجموعه دادهها یا نقاط کور عملیاتی را به ارث ببرند. ارزیابیهای مستقل (به عنوان مثال، NIST FRVT) تفاوتهای جمعیتی در میزان خطای تشخیص چهره را در الگوریتمها و شرایط مختلف اندازهگیری کردهاند. این دلیلی برای وحشت نیست، اما است . اگر موارد استفاده مرتبط با هویت یا ایمنی را به کار میگیرید، مکانیسمهای بررسی و تجدیدنظر انسانی را در نظر بگیرید. حریم خصوصی، رضایت و شفافیت موارد اضافی اختیاری نیستند. [5]
یک نقشه راه سریع که واقعاً میتوانید دنبال کنید 🗺️
-
تصمیم را تعریف کنید.
سیستم پس از دیدن یک تصویر چه اقدامی باید انجام دهد؟ این کار شما را از بهینهسازی معیارهای بیهوده باز میدارد. -
یک مجموعه داده تکهتکه جمعآوری کنید.
با چند صد تصویر که منعکسکننده محیط واقعی شما هستند شروع کنید. با دقت برچسب بزنید - حتی اگر خودتان و سه برگه یادداشت چسبدار باشید. -
یک مدل پایه انتخاب کنید.
یک مدل پایه ساده با وزنهای از پیش آموزشدیده انتخاب کنید. فعلاً دنبال معماریهای عجیب و غریب نباشید. [1] -
آموزش، گزارشگیری، ارزیابی
. معیارها، نقاط سردرگمی و حالتهای شکست را پیگیری کنید. یک دفترچه یادداشت از «موارد عجیب» - برف، تابش خیرهکننده، بازتابها، فونتهای عجیب و غریب - داشته باشید. -
حلقه را محکمتر کنید.
نگاتیوهای سخت اضافه کنید، انحراف برچسب را اصلاح کنید، تقویتها را تنظیم کنید و آستانهها را دوباره تنظیم کنید. تغییرات کوچک روی هم رفته مفید هستند. [3] -
یک نسخه کمحجم را مستقر کنید،
کوانتیزه کنید و خروجی بگیرید. تأخیر/توان عملیاتی را در محیط واقعی اندازهگیری کنید، نه یک معیار اسباببازی. -
نظارت و تکرار:
خطاهای احتمالی را جمعآوری کنید، دوباره برچسبگذاری کنید، دوباره آموزش دهید. ارزیابیهای دورهای را برنامهریزی کنید تا مدل شما از رده خارج نشود.
نکته حرفهای: یک مانع کوچک که توسط بدبینترین همتیمیتان ایجاد شده را یادداشت کنید. اگر نتوانستند در آن سوراخی ایجاد کنند، احتمالاً آمادهاید.
اشتباهات رایجی که باید از آنها اجتناب کنید 🧨
-
آموزش روی تصاویر استودیویی تمیز، و انتقال به دنیای واقعی با وجود باران روی لنز.
-
بهینهسازی برای کل mAP زمانی که واقعاً به یک کلاس حیاتی اهمیت میدهید. [3]
-
نادیده گرفتن عدم تعادل طبقاتی و سپس تعجب از اینکه چرا رویدادهای نادر ناپدید میشوند.
-
افزایش بیش از حد تا زمانی که مدل مصنوعات مصنوعی را یاد بگیرد.
-
نادیده گرفتن کالیبراسیون دوربین و سپس مبارزه همیشگی با خطاهای پرسپکتیو. [4]
-
باور کردن اعداد جدول امتیازات بدون تکرار دقیق تنظیمات ارزیابی. [2][3]
منابعی که ارزش نشانهگذاری دارند 🔗
اگر به مطالب اولیه و یادداشتهای دوره علاقه دارید، اینها برای اصول، تمرین و معیارها بسیار ارزشمند هستند. منابع : یادداشتهای CS231n، مقاله چالش ImageNet، مجموعه داده/اسناد ارزیابی COCO، اسناد OpenCV و گزارشهای NIST FRVT. [1][2][3][4][5]
سخنان پایانی - یا خیلی طولانی، نخوندم 🍃
بینایی کامپیوتر در هوش مصنوعی، پیکسلها را به تصمیمات تبدیل میکند. وقتی وظیفه درست را با دادههای درست جفت میکنید، چیزهای درست را اندازهگیری میکنید و با نظم غیرمعمول تکرار میکنید، میدرخشد. ابزار سخاوتمندانه است، معیارها عمومی هستند و اگر روی تصمیم نهایی تمرکز کنید، مسیر از نمونه اولیه تا تولید به طرز شگفتآوری کوتاه است. برچسبهای خود را درست کنید، معیارهایی را انتخاب کنید که با تأثیر مطابقت داشته باشند و بگذارید مدلها کارهای سنگین را انجام دهند. و اگر استعارهای کمک میکند، به آن مانند آموزش یک کارآموز بسیار سریع اما تحتاللفظی برای تشخیص آنچه مهم است فکر کنید. شما مثالهایی را نشان میدهید، اشتباهات را تصحیح میکنید و به تدریج با کار واقعی به آن اعتماد میکنید. کامل نیست، اما به اندازه کافی نزدیک است که بتواند متحول کننده باشد. 🌟
منابع
-
CS231n: یادگیری عمیق برای بینایی کامپیوتر (یادداشتهای دوره) - دانشگاه استنفورد.
ادامه مطلب -
چالش تشخیص بصری در مقیاس بزرگ ImageNet (مقاله) - Russakovsky و همکاران.
ادامه مطلب -
مجموعه داده و ارزیابی COCO - سایت رسمی (تعاریف وظایف و قراردادهای mAP/IoU).
ادامه مطلب -
مستندات OpenCV (نسخه ۴.x) - ماژولهایی برای پیشپردازش، کالیبراسیون، مورفولوژی و غیره.
ادامه مطلب -
NIST FRVT بخش 3: اثرات جمعیتی (NISTIR 8280) - ارزیابی مستقل دقت تشخیص چهره در بین جمعیتها.
ادامه مطلب