آشنایی مقدماتی با انواع دیتاست بینایی کامپیوتری در 5 گام
درست همانطور که انسانها برای یادگیری مهارتهای جدید و آزمون دانش خود به چیزهایی همچون کتابهای منبع، بلاگها، ویدئوها و غیره نیاز دارند، الگوریتمهای یادگیری ماشین هم برای یادگیری نیازمند دیتاست هستند.
انتخاب دیتاست از اهمیت بالایی برخوردار است و میتواند بین یک مدل برجسته یادگیری ماشینی با طرحهای آزمایشی ابتدایی تمایز ایجاد کند.
مقالات خوب متعددی در مورد دیتاستهای متنی Text-based datasets وجود دارد. طی چند سال گذشته که در حوزه بینایی کامپیوتری سخنرانیهای علمی برگزار کردهام، متوجه شدم دانشجویان در مورد چرا/ چه زمان/چه چیزی/ کجا/ کدام دیتاستهای بینایی کامپیوتری به مشکل برمیخورند.
به همین دلیل در این مقاله به سؤالات زیر خواهیم پرداخت:
- چرا به یک دیتاست نیاز داریم؟
- چه زمانی به یک دیتاست نیاز داریم؟
- چه چیزی را اندازهگیری میکنیم؟
- چه دیتاستهایی موجود هستند؟
- دیتاستها را کجا میتوان یافت؟
1- چرا به یک دیتاست نیاز داریم؟
دیتاست مجموعهای از نمونههای مرتبط است که برای آموزش و آزمایش یک مدل استفاده میشوند. هدف دیتاست این است که این نمونهها را که مربوط به یک موضوع یا حوزه خاص هستند، وارد یک یا چند برنامه کاربردی کند. میتوان به دیتاستها برچسب زد و برای آموزش و آزمایش مدلهای نظارتشده Supervise models از آنها استفاده کرد. دیتاستهای بدون برچسب نیز در آموزش مدلهای نظارت نشده استفاده میگردند.
آموزش و آزمایش
در حوزه یادگیری ماشینی از دیتاستها برای آموزش مدلها و متعاقباً آزمایش آنها استفاده میکنیم. این فرآیند مستلزم این است که قسمتی (مثلاً 70%) از دیتاست را انتخاب کرده و آن را به قصد یادگیری به الگوریتم یادگیری ماشینی “نشان دهیم”. سپس باید نمونههای باقیمانده و مشاهده نشده دیتاست (30% باقیمانده) را انتخاب کرده و برای آزمایش کیفیت یادگیری مدل به کار ببریم. نکته مهم این است که از نمونههایی که برای آموزش به کار رفتهاند برای آزمایش استفاده نکنیم، زیرا در این صورت مدل باید چیزی را پیشبینی کند که از قبل میداند (این مسئله بهعنوان “بیشبرازش overfitting” شناخته میشود). این اشتباه باعث میشود وقتی مدل را روی دیتاستی متفاوت اجرا میکنیم، با شکست روبرو شویم. روشهای متفاوتی برای سازماندهی مجموعه آموزش-آزمایش Organizing the train/test set وجود دارد که برخی از آنها را در این قسمت توضیح میدهیم:
روش محکزنی
دیتاستها را میتوان بهعنوان ابزار ارزیابی عملکرد تکنیکهای یادگیری ماشینی نیز استفاده کرد. زمانی که میخواهیم چندین مدل را که برای یک مسئله یکسان کاربرد دارند مقایسه کنیم، این مدلها را روی دیتاستهای گوناگون اجرا میکنیم. بدین ترتیب میتوان عملکرد این مدلها و روشها را به دقت با یکدیگر مقایسه کرد.
علی برجی پژوهشگری است که مجموعهای خارقالعاده از تمارین محکزنی benchmarking را برای تکنیکهای برجستگی Saliency techniques منتشر کرده است. برخی از مقالات او عبارتاند از:
- Salient object detection: a survey (2019)
- Revisiting video saliency: a large-scale benchmark and a new model (2018)
- Salient object detection: a benchmark (2015)
نکته: سوگیری را درک کنید.
سوگیری bias حوزه وسیعی است ولی در این قسمت چندین نکته کلیدی و ضروری را بیان میکنم که باید به خاطر داشته باشیم.
دیتاستها نیز مثل هر منبع اطلاعاتی دیگری مقداری سوگیری دارند.
این نکته لزوماً تأثیر منفی بر کار نخواهد داشت، مخصوصاً اگر قصد دارید مدل خود را در یک محیط سوگیرانه آزمایش کنید. با اینحال ضروری است که از هرگونه سوگیری آگاه بوده و مشکلات احتمالی آن را در نظر داشته باشیم.
2- چه زمانی به دیتاست نیاز داریم؟
در این نوشتار نمیخواهیم بر تکنیکهای خاص بینایی ماشین تمرکز کنیم. با اینحال یک بررسی اجمالی از برخی موضوعات مربوطه ارائه میدهیم تا نیاز به دیتاست را بهتر درک کنید.
تشخیص و شناسایی اشیاء
تشخیص اشیاء با شناسایی و تعیین موقعیت اشیاء موجود (از طبقات متفاوت) در یک تصویر سروکار دارد. تعیین محل قرارگیری شیء به چندین طریق ممکن است. یک رویکرد متداول در حاشیهنویسی دیتاست Dataset annotation شامل رسم کادر محصورکننده Bounding box یا چندضلعی polygon اطراف شیء میشود. این روش حاشیهنویسی ما را قادر میسازد از دیتاست برای تشخیص استفاده کنیم. درصورتیکه هر حاشیهنویسی با یک برچسب همراه شود، میتوان دیتاست را برای شناسایی نیز به کار برد؛ زمانیکه اشیاء انتخاب (شناسایی) شدند میتوان از آنها علامت زدن mark پیکسلهای تصویر (قطعه بندی segmentation) نیز استفاده کرد.
قطعهبندی تصاویر
قطعهبندی فرآیندی است که طی آن تصویر را به چندین قطعه (مجموعههایی از پیکسلها) تقسیم میکنیم، به صورتی که هر قطعه مربوط به یک ناحیه یا شیء خاص است. قطعهبندی را میتوان با استفاده از تکنیکهای آستانهای Thresholding techniques همچون روش Otsu روی اشیاء اجرا کرد.
ویژگیها در فرآیند قطعهبندی کاربرد دارند. رویکردهای نوین از یادگیری عمیق استفاده میکنند؛ در یادگیری عمیق مدلها با استفاده از دیتاستهایی آموزش میبینند که هزاران برچسب حاشیهنویسیشده در سطح پیکسل Pixel-level annotated labels را در برمیگیرند. این رویکردها عبارتاند از: قطعهبندی معنایی Semantic segmentation (انتخاب ناحیه به همراه برچسب) و قطعهبندی نمونها Instance segmentation (یک رویکرد قطعهبندی معنایی که اشیاء متفاوت در هر طبقه را شناسایی میکند).
تشخیص برجستگی در تصاویر
تشخیص برجستگی در تصاویر حوزهای از بینایی کامپیوتری است که کمتر مورد توجه قرار گرفته است. پرسش اساسی این است که کدام قسمت از تصویر توجه بیشتری جلب میکند؟ تکنیکهای تشخیص برجستگی یک تصویر رنگی را بهعنوان ورودی دریافت کرده و یک نقشه برجستگی 8 بیتی ارائه میدهند که در آن هرچه مقدار پیکسل Pixel value روشنتر باشد (حداکثر 255) نشاندهنده برجستگی بیشتر است. برجستگی دیداری کاربردهای متنوعی دارد که از افشردهسازی دادهها Data compression شروع شده و تا دستکاری تصویر Image manipulation و جایدهی محصول Product placement گسترده هستند. دیتاستهایی همچون MSRA10K که در بخشهای بعدی معرفی خواهیم کرد، یک تصویر دودویی را بهعنوان مقدار اصلی برچسبها ارائه میدهند که نشان میدهد کدام پیکسلها برجستهاند.
3- چه چیزی را اندازه میگیریم؟
نوع و کیفیت حاشیهنویسیهای موجود در یک دیتاست بر میزان کاربرد آن تأثیر مهمی دارند. در این قسمت مختصری از شناختهشدهترین و پرکاربردترین حاشیهنویسیها و ارتباط آنها با موضوع اصلی مقاله را مورد بررسی قرار میدهیم. (اعتبار این قسمت متعلق به @jiayin_Supahands است که در مقاله آنلاین خود بهخوبی این حوزه را پوشش داده است؛ به شما هم پیشنهاد میکنم این مقاله را بخوانید.)
کادرهای محصورکننده
رویکرد کادر محصورکننده سادهترین نوع حاشیهنویسی است و شامل رسم یک کادر محصورکننده اطراف یک شیء میشود. این کادر به وسیله یک جفت مختصات و عرض و ارتفاع مربوط به آن تعریف میگردد. درصورتیکه مسئله موجود طبقهبندی یا شناسایی (شیء) باشد، مفهوم کادر محصورکننده اغلب با یک برچسب همراه خواهد شد. بزرگترین نقطهضعف استفاده از کادر محصورکننده این است که پیکسلهای پیشزمینه Background pixels که داخل کادر قرار گرفتهاند، همان برچسب پیکسلهای مربوط به شیء هدف را دریافت میکنند. این مسئله از منظر اندازهگیری خطا Error metric، به نرخ پیشبینیهای صحیح Tracking recall کمک خواهد کرد اما دقت را پایین میآورد؛ در نتیجه لازم خواهد بود یک رویکرد دقیقتر به کار برده شود.
چندضلعی
همانطور که گفتیم محدودیت کادرهای محصورکننده، نیاز به یک رویکرد دقیقتر را ایجاد میکند: حاشیهنویسی چندضلعی. ایده زیربنایی حاشیهنویسی چندضلعی شبیه به کادر محصورکننده است، اما در این رویکرد با کاهش پیکسلهای پیشزمینهای (که به اشتباه برچسب میخورند) میتوان به دقت پیکسلی بالاتری دست یافت. برای این حاشیهنویسی به ابزارهایی همچون LabelMe نیاز است. LableMe یک ابزار حاشیهنویسی آنلاین و متنباز است که در ساخت دیتاستهای تصویری برای پژوهشهای بینایی کامپیوتری کاربرد دارد. این ابزار دیتاستهای خود را به همراه دارد.
حاشیهنویسی خطی
این رویکرد، همانطور که از نامش پیداست، برای حاشیهنویسی نواحی مختلف در یک تصویر از خطوط استفاده میکند. در مواردی که کادر محصورکننده ناحیهای قابلتوجه از پیکسلها را در برمیگیرد، این رویکرد مفید خواهد بود. یکی از زمینههای کاربرد روش حاشیهنویسی خطی در تشخیص مسیر Lane detection است. از کاربردهای دیگر این رویکرد میتوان به نظارت صفها Monitoring queues و موقعیتهای کنترل کیفیت اشاره کرد.
حاشیهنویسی نقطهای
در روش حاشیهنویسی نقطهای، گروههایی از نقاط کلیدی روی یک تصویر مشخص میشوند که اغلب بار معنایی دارند. این رویکرد در برآورد حالت Pose estimation و تشخیص چهره کاربرد زیادی دارد. مختصات هندسی بین دو نقطه بهعنوان ویژگی در نظر گرفته میشوند و الگوریتمهای یادگیری ماشین با این ویژگیها آموزش داده میشوند.
4- چه دیتاستهایی در دسترس هستند؟
دهها دیتاست عالی در حوزه بینایی کامپیوتری وجود دارد که در توسعه مدلهای کنونی نقشی حیاتی داشتهاند. در این قسمت از نوشتار روی گزیدهای از دیتاستهای برجسته تمرکز میکنیم که متخصصان بینایی ماشین باید بشناسند.
Image-Net
وبسایت رسمی: http://www.image-net.org
دیتاست Image-Net یک دیتاست افسانهای در حوزه بینایی کامپیوتر به شمار میرود و نقش مهمی در رشد یادگیری عمیق ایفا کرده است. این دیتاست بر اساس هرم WordNet سازماندهی شده که در آن به هر مفهوم معنیدار (که میتواند از چندین کلمه تشکیل شده باشد) مجموعه هممعنا Synonym set یا Synset گفته میشود. Image-Net عموماً برای شناسایی/ ردهبندی تصاویر استفاده میشود و رویهمرفته 14197122 تصویر دارد که 1034908 از آنها حاشیهنویسی شدهاند.
این دیتاست محبوبیت خود را عمدتاً وامدار رقابتهای image-net Image-net competition است. بعد از اینکه AlexNet در سال 2012 برنده این رقابت شد، یادگیری عمیق به اوج خود رسید. ImageNet توسط فردی به نام فیفی لی Fei-Fei Li تأسیس شد که در یک TedTalk نیز مسیر رسیدن به این دستاورد فوقالعاده را با مخاطبان به اشتراک گذاشته است.
MINIST
- Original Numbers MNIST: http://yann.lecun.com/exdb/mnist
- Fashion MNIST: https://github.com/zalandoresearch/fashion-mnist
دیتاست اصلی MINIST که توسط یان لی کان Yan Le Cun مدیریت میشود حجم بزرگی از تصاویر دستنوشته Handwritten images را در برمیگیرد. این دیتاست در تهیه معیاری قابل دسترس برای شبکههای عصبی پیچشی (CNN) نقشی حیاتی ایفا کرده است. تا سال 2017 شبکههای عصبی پیچشی روی دیتاست MINIST به میزان دقت چشمگیری (بالای 99%) دست یافتند. بدین ترتیب لازم بود دیتاست دشوارتری برای محکزنی ایجاد کنند و این نیاز حرکت بهسوی دیتاست MINIST را آغاز کرد. دیتاست MNIST، 60000 نمونه برای مجموعه آموزشی و 10000 نمونه برای مجموعه آزمایشی وجود دارد. هر نمونه یک تصویر 28x28px است و نمونهها در ده طبقه متفاوت جای گرفتهاند.
CIFAR-10
وبسایت رسمی: https://www.cs.toronto.edu/~kriz/cifar.html
این دیتاست توسط موسسه تحقیقات پیشرفته کانادا (CIFAR Canadian Institute For Advanced Research) منتشر شد و بخشی از محبوبیت خود را از همکاری جفری هینتون Geoffrey Hinton و دستیاران او به دست آورده است. دیتاست CIFAR-10 دربرگیرنده 60000 تصویر رنگی 32x32px در ده طبقه گوناگون است و برای آموزش و آزمایش انواع مدل تشخیص اشیاء استفاده میشود.
COCO
وبسایت رسمی: http://cocodataset.org
دیتاست COCO (اشیاء رایج در تصویر) یک دیتاست برای مسائل تشخیص اشیاء، قطعهبندی و عنوانبندیcaptioning است. نسخه 2017 دیتاست COCO یک مجموعه 123287 تصویری برای آموزش و اعتبارسنجی دارد که در کل 886284 نمونه را در برمیگیرد. این نمونهها در 80 طبقه شیء ردهبندی شدهاند.
Face2Text
وبسایت رسمی: https://rival.research.um.edu.mt/
دیتاستهای زیادی هستند که انواع مختلف دادههای چهرهای Facial data را پوشش میدهند. در این قسمت یک دیتاست جدید و خلاقانه را معرفی میکنیم که توسط همکارانم در دانشگاه مالتا Malta university گردآوری شده است. این دیتاست برخلاف دیتاستهای دیگر تشخیص یا شناسایی چهره، از متنهای توصیفی حاشیهنویسیشده استفاده میکند. این مسئله مدل یادگیری ماشین را قادر میسازد تنها با یک تصویر، شرحی از چهره موجود در آن را ارائه دهند.
MSRA10K
وبسایت رسمی: https://mmcheng.net/msra10k/
MSRA10K یک دیتاست تصاویر شیئی برجسته Salient Object Image Database است. هر تصویر موجود در این دیتاست ناحیهای پوششی mask برای بخش عمده ناحیه برجسته خود دارد. شهرت و وسعت کاربرد دیتاست MSRA10K به خاطر حجم تصاویری است که در بردارد (10000 تصویر رنگی به همراه ناحیه دودویی برای شیء برجسته).
MSR 3D
وبسایت رسمی: https://www.microsoft.com/en-us/download/details.aspx?id=52358
دیتاست تحقیقاتی مایکروسافت Microsoft Research Dataset (MSR) یک مجموعه تصویر 100 تایی (رنگ و عمق) دارد که از 8 دوربین گرفته شده و صحنههایی از رقص باله ballet و بریک دنس breakdancing را در برمیگیرد. این دیتاست فریمهایی از هر صحنه دارد؛ هر فریم شامل یک تصویر رنگی و یک تصویر عمقی سیاهسفید باکیفیت است که توسط یک دوربین مادون قرمز ضبط شده است.
COTS
وبسایت رسمی: www.cotsdataset.info
این دیتاست را سال قبل خود من بهمنظور ارزیابی تکنیکهای دستکاری تصویر Image manipulation techniques، با دقت فراوان طراحی کردم و ساختم. یکی از کاربردهای آن در فرآیند بازسازی تصویری inpainting است که شیئی از آن حذف شده است. ارزیابی تکنیکهای بازسازی معمولاً با استفاده از رویکرد نظر-محور یا ذهنی انجام میگیرد، زیرا دیتاستها حقیقتپایه موردنیاز را ندارند. این مسئله انگیزه زیربنایی ساخت این دیتاست بود. همانطور که در تصویر پایین مشاهده میکنید، دیتاست COTS یک سری صحنههای پیاپی را در برمیگیرد.
5- دیتاستها را از کجا میتوان یافت؟
درصورتیکه در فضای دانشگاهی حضور دارید، احتمال دارد در مقالات همکارانتان با دیتاستهایی روبرو شوید که مربوط به زمینه موردعلاقه شما هستند. بااینحال برخی اوقات هم باید گزینههای دیگری را در نظر گرفت؛ به همین دلیل به یک سامانه platform خوب نیاز خواهید داشت. در این قسمت 4 منبع موردعلاقه خودم را معرفی میکنم:
Google Dataset Search
- نقاط قوت: گستردگی بالا.
- نقاط ضعف: احتمال سردرگمی هنگام مقایسه بین دیتاستهای متعدد.
VisualData
- نقاط قوت: تمرکز روی دیتاستهای بینایی کامپیوتری؛ رابط عالی؛ قابلیت استفاده آسان و سرعت بالا در دسترسی به منابع کد مستقیم. Direct repository.
- نقاط ضعف: از نظر گزینش دیتاستهای قابل دسترس هنوز محدودیتهایی دارد.
Kaggle
- نقاط قوت: دیتاستهای متنوع در حوزههای مختلف؛ جامعه فعال و برپایی رقابتها.
- نقاط ضعف: زمان زیادی صرف بررسی امکانات و قابلیتهای دیتاستها میشود.
TensorFlow
- نقاط قوت: مجموعهای گسترده از صفحات برگزیده همه دیتاستها؛ همه دیتاستها، منابع کاربردی بسیار خوبی به همراه دارند.
- نقاط ضعف (پیدا کردن نقطه ضعف کار دشواری بود): وبسایت تنها منابع TensorFlow را ارائه میدهد (که امری بدیهی است).
هدف این مقاله پوشش مطالب مقدماتی بود که برای آشنایی با دنیای بزرگ بینایی کامپیوتری لازم است. امیدواریم در این مطلب شما را با دیتاستها آشنا کرده و از رمز و رازهای این حوزه پرده برداشته باشیم.
در این نوشتار دیدیم چطور میتوانیم از دیتاست استفاده کنیم و کدام دیتاستها در موقعیتهای متفاوت کارایی بهتری دارند. اما این پایان ماجرا نیست. یادگیری ماشینی و دیتاستها رابطهای پیچیده دارند. برخی اوقات مدلهای یادگیری ماشین نیازهای زیادی دارند و دیتاستها میتوانند محدودیت زا باشند. در این صورت لازم است به دادهافزایی Data Augmentation بپردازیم. این را هم توضیح دادیم که چطور برای محکزنی تکنیکهای مختلف به دیتاستها نیاز داریم. بااینحال میدانیم که کاربرد آن در عمل متفاوت و دشوارتر است؛ زیرا انتخاب معیارهای ارزیابی دقت بالایی میطلبد.