در این آموزش با مفهوم پردازش دیجیتال تصویر آشنا میشوید و دلایل استفاده از نرمافزارهایی مانند Pixy و دیگر ابزار پردازش تصویر را میبینید.
آنچه در این آموزش یاد میگیرید:
- تصویر دیجیتال چگونه ایجاد میشود
- پردازش دیجیتال تصویر چیست
- ابزارهای پردازش تصویر
- Pixy چیست و نحوه استفاده از آن
پردازش تصویر چیست؟
عکسها، فیلمها و در کل تصاویر، علاوه بر ثبت خاطرات کاربردهای دیگری نیز دارند. شاید تا به حال دوربینهای امنیتی را در مکانهای عمومی دیده باشید، یا رباتهای مسیریابی که یک خط یا یک شی را دنبال میکنند، یا در موارد پیشرفتهتر رباتهایی که در تشخیص یک وضعیت خاص یا جداسازی ناخالصی محصولات مختلف به کار میروند. در همهی این موارد و بسیاری از کاربردهای مشابه و حتی غیرمشابه عملیاتی روی تصویر انجام میشود که پردازش تصویر نام دارد.
برای فهم بهتر لازم است که با ساختار تصویر آشنا شویم. هر تصویر یک سیگنال است که در هر نقطهی آن مقادیر پیکسل وجود دارد.(پیسکسل واحد پایهی یک تصویر دیجیتال است که میتواند مقادیر متفاوتی برای روشنایی و رنگ آن داشته باشد. این مقادیر “شدت” نام دارند.) این سیگنال یک ولتاژ پیوسته است که توسط حسگر بصری تولید میشود و طی عملیاتی مانند نمونه برداری به شکل دیجیتال تبدیل میشود. شکل دیجیتال این دادهها به صورت یک آرایه دو بعدی یا ماتریس یک تصویر دیجیتال را تشکیل میدهند. بنابراین به صورت f(X,Y) توسط مکان و مقدار آنها نمایش داده میشوند. فرموش نکنید که هر ویدیو مجموعهای از تصاویر است که با سرعت مشخصی در هر ثانیه نمایش داده میشوند.
پس از ایجاد تصویر فرآیند پردازش آن آغاز میشود. اما به چه منظور نیاز به پردازش داریم؟
اگر به اطلاعاتی از یک تصویر نیاز داریم از بینایی کامپیوتری استفاده میکنیم. بینایی کامپیوتری راهی برای شبیه سازی بینایی انسان است. بینایی انسان توانایی “یادگیری” و کسب اطلاعات از ورودیهای بصری را دارد.
بینایی کامپیوتری سامانهای است که کامپیوتر را به درک عمیقی از تصاویر یا ویدیوهای دیجیتال وامیدارد، حتی برای استفاده هم زمان، که پردازش تصویر بخشی از آن است.
چگونه تصاویر را پردازش کنیم؟
اگر به دنبال کاربرد پردازش تصویر در زمینه رباتیک هستید دو راه وجود دارد:
- یک دوربین معمولی انتخاب شود(تصویر را بدون هیچگونه پردازش تحویل میدهد.) و سپس برنامهنویسی و محاسبات را توسط خود کاربر انجام شود.
- از سخت افزارهایی استفاده شود که این عملیات را سریع و به آسانی انجام میدهند. مانند pixy camera
راه حل اول: اگر راه اول را انتخاب کردهاید، ابزار بسیاری برای برنامه نویسی وجود دارند که محبوبترین آنها نرم افزار MATLAB و کتابخانه OpenCV هستند. مقایسه مختصری بین آنها را در میبینید:
استفاده از این روش بین برنامهنویسان رایجتر است و میتواند اطلاعاتی که نیاز داریم دربارهی تصویر بدانیم را در اختیار ما قرار دهد.
راه حل دوم: اسفاده از سخت افزار تخصصی! مانند دوربینهایی که قابلیت پردازش تصویر را دارند. این سخت افزارها معمولا رابطه کاربری دارندو نیازی به کدنویسی ندارند. این قابلیت که کار کردن با آنها را آسانتر میکند محدودیتهایی را نیز به وجود میآورند. چرا که فقط قادر به انجام عملیاتی هستند که از قبل برایشان تعریف شده است. به طور مثال دوربینی که قابلیت تشخیص صورت را دارد، معمولا نمیتواند رنگها را تشخیص دهد.(شاید با برخی تغیرات در ساختار تغیر الگوریتم تشخیص رنگ ممکن شود اما مسیر دشواری است و از راههای معمول انجام نمیشود.)
اما کدام راه حل بهتر است؟
آشنایی با Pixy
Pixy یکی از ماژولهای دوربین برای پردازش تصویر است. الگوریتم تشخیص آن بر مبنای فیلتر رنگی میباشد. هدف اصلی این دوربین تشخیص رنگها و نامگذاری آنها به عنوان یک شی آشنا است. این دوربین میتواند “یاد بگیرد” که شما در ابتدا به چه رنگی “فکر کردهاید”.
حالا که با Pixy آشنا شدهاید، وقت آن است که نحوه استفاده از آن را بیاموزید.
قطعات سختافزاری
Pixy CMUcam5 Image Sensor | × | 1 | |
Arduino UNO R3 | × | 1 |
کار با Pixy
حالا مراحل زیر را با ما دنبال کنید:
قدم اول:
Pixy بخرید! PIXY معمولی و PIXY2 دو نسخه از دوربینهای Pixy هستند. میتونید PIXY را از از لینک بالا خریداری کنید و در ادامه نحوه استفاده از آن را ببینید.
دوم:
تغذیه برد را متصل کنید. برد یک پورت USB برای تغذیه دارد، آن را بع پورت USB کامپیوتر متصل کنید. میتوانید با باتری 6 تا 10 ولتی از طریق دو پین که پشت برد قرار دارد نیز آن را تغذیه کنید.
سوم:
آن را به کمک کابل USB به کامپیوتر متصل کنید. (یک سر کابل را به کامپیوتر و سر دیگر آن را به پورت میکرو USB برد PIXY وصل کنید.)
چهارم:
پنجم:
تا به این جا لازم نیست که دوربین به یک میکروکنترلر یا برد متصل باشد، چرا که تشخیص تصویر به اتصال میکروکنترلر وابشته نیست. به هر حال، برای یادگیری یک شی با رنگ متمایز و خوب انتخاب کنید. به دلیل استفاده از الگوریتم تشخیص بر پایه فیلتر رنگی، رنگ و نور تصویر میتواند روی نتیجه تاثیرگذار باشد. پس اجسام سیاه، سفید و خاکستری را انتخاب نکنید چرا که دارای رنگ برجستهای نیستند.
ششم:
دکمه روی PIXY را بفشارید تا آموزش را شروع کنیم. ابتدا ال ای دی شروع به چشمک زدن میکند و سپس یک ال ای دی RGB به رنگ بخش مرکزی میدان دید درمیآید. جسم رو به روی دوربین را انتخاب کنید. اگر ال ای دی رنگ درست را نمایش داد به معنی تشخیص درست است. فاصله بین لنز دوربین و جسم باید بین 6 تا 20 اینچ باشد. راه دوم استفاده از PIXY MON است. یک منطقه بزرگ اطراف جسم را انتخاب کنید، سپس نرم افزار جسم را انتخاب میکند.
هفتم:
شبکهای از جسم در PIXY MON نمایش داده میشود. مطمئن شوید که منطقه درستی از جسم بدون پسزمینه انتخاب شده است. لغزندهی موجود در قسمت تنظیمات میتواند به انتخاب منطقه مناسب کمک کند.
هشتم:
حالا دوربین به هر رنگ یک شماره اختصاص میدهد. هفت علامت به معنی تشخیص هفت رنگ است.بااستفاده از رنگها میتوانید جسم یا مکان را برای دوربین تعریف کنید. به طور مثال برچسب فرمز-صورتی-آبی میتواند نشاندهنده در باشد. با این روش میتوان هزاران جسم را برای دوربین تعریف کرد. این مجموعه رنگها “کد رنگ” یا CC نام دارد. برای تنظیم CC میتوانید از PIXY MON استفاده کنید.پس از آن میتوانید از آن مانند هر علامت دیگری استفاده کنید.
نهم:
بعد از یک یادگیری موفق اگر از میکروکنترلر یا برد متصل به دوربین استفاده کنید، میتوانید جسمی که Pixy تشخیص داده است را بررسی کنید.اگر از Arduino استفاده می کنید، از این پایه بندی برای اتصال استفاده کنید. (برای اطلاعات بیشتر اینجا کلیک کنید). سپس کتابخانه Pixy را از اینجا دانلود کنید و از مسیر Sketch> Include library> Add Library به کتابخانههای آردوینو اضافه کنید. حالا در Pixy با طرح پیش فرض Xو Y (مکان) و عرض و طول (اندازه) شی را خواهید داشت. طرح های دیگر نیز می توانند مورد استفاده قرار گیرند. مانند pan و tilt.
نکته:در این آموزش دو روش را توضیح دادیم: 1. با استفاده از PIXY بدون PIXY MON، مانند آنچه که روبات ها انجام می دهند و به کامپیوتر متصل نیستند. اما چگونه علامتها را مشخص کنیم؟ پس از اینکه ال ای دی در ابتدا روشن شد، با کلیک بر روی هر رنگ کد آن مشخص میشود.از قرمز به معنای 1 تا بنفش به معنای 7. در روش 2، تنظیم تعداد با استفاده از نرم افزار انجام می شود.
نظر خود را بنویسید