بایگانی برچسب برای: نرم افزار باسکول

تاريخچه

الگوريتم SVM اوليه در ۱۹۶۳ توسط Vladimir Vapnik ابداع شد و در سال ۱۹۹۵ توسطVapnik و Corinna Cortes براي حالت غيرخطي تعميم داده شد.

ماشين بردار پشتيباني (Support vector machines) يکي از روش‌هاي يادگيري بانظارت(Supervised learning) است که از آن براي طبقه‌بندي و رگرسيون استفاده مي‌کنند.

اين روش از جمله روش‌هاي نسبتاً جديدي است که در سال‌هاي اخير کارايي خوبي نسبت به روش‌هاي قديمي‌تر براي طبقه‌بندي از جمله شبکه‌هاي عصبي پرسپترون نشان داده است. مبناي کاري دسته‌بنديکنندة SVM دسته‌بندي خطي داده‌ها است و در تقسيم خطي داده‌ها سعي مي‌کنيم خطي را انتخاب کنيم که حاشيه اطمينان بيشتري داشته باشد. حل معادلة پيدا کردن خط بهينه براي داده‌ها به وسيله روش‌هايQP (Quadratic Programming) که روش‌هاي شناخته شده‌اي در حل مسائل محدوديت‌دار هستند صورت مي‌گيرد.

SVM از يک تکنيک که kernel trick ناميده مي شود، براي تبديل داده هاي شما استفاده مي کند و سپس بر اساس اين تبديل، مرز بهينه بين خروجي هاي ممکن را پيدا مي کند. به عبارت ساده تبديلات بسيار پيچيده را انجام مي دهد، سپس مشخص مي کند چگونه داده هايتان را بر اساس برچسب ها يا خروجي هايي که تعريف کرده ايد، جدا کنيد.

يکي از روش هايي که در حال حاضر به صورت گسترده براي مسئله دسته بندي (Classification) مورد استفاده قرار مي گيرد، روش ماشين بردار پشتيبان (SVM) است. شايد به گونه اي بتوان محبوبيت کنوني روش ماشين بردار پشتيبان را با محبوبيت شبکه هاي عصبي در دهه گذشته مقايسه کرد. علت اين قضيه نيز قابليت استفاده اين روش در حل مسائل گوناگون مي باشد، در حاليکه روش هايي مانند درخت تصميم گيري را نمي توان به راحتي در مسائل مختلف به کار برد.

کاربردهاي SVM

الگوريتم  SVM، جز الگوريتم هاي تشخيص الگو دسته بندي مي شود. از الگوريتم SVM، در هر جايي که نياز به تشخيص الگو يا دسته بندي اشيا در کلاس هاي خاص باشد مي توان استفاده کرد. در ادامه به کاربرد هاي اين الگوريتم به صورت موردي اشاره مي شود:

سيستم آناليز ريسک، کنترل هواپيما بدون خلبان، رديابي انحراف هواپيما، شبيه سازي مسير، سيستم راهنمايي اتوماتيک اتومبيل، سيستمهاي بازرسي کيفيت، آناليز کيفيت جوشکاري، پيش بيني کيفيت، آناليز کيفيت کامپيوتر، آناليز عملياتهاي آسياب، آناليز طراحي محصول شيميايي، آناليز نگهداري ماشين، پيشنهاد پروژه، مديريت و برنامه ريزي، کنترل سيستم فرايند شيميايي و ديناميکي، طراحي اعضاي مصنوعي، بهينه سازي زمان پيوند اعضا، کاهش هزينه بيمارستان، بهبود کيفيت بيمارستان، آزمايش اتاق اورژانس، اکتشاف روغن و گاز، کنترل مسير در دستگاههاي خودکار، ربات، جراثقال، سيستمهاي بصري، تشخيص صدا، اختصار سخن، کلاسه بندي صوتي، آناليز بازار، سيستمهاي مشاوره اي محاسبه هزينه موجودي، اختصار اطلاعات و تصاوير، خدمات اطلاعاتي اتوماتيک، مترجم لحظه اي زبان، سيستمهاي پردازش وجه مشتري، سيستمهاي تشخيص ترمز کاميون، زمانبندي وسيله نقليه، سيستمهاي مسيريابي، کلاسه بندي نمودارهاي مشتري/بازار، تشخيص دارو، بازبيني امضا، تخمين ريسک وام، شناسايي طيفي، ارزيابي سرمايه، کلاسه بندي انواع سلولها، ميکروبها و نمونه ها، پيش بيني فروشهاي آينده، پيش بيني نيازهاي محصول، پيش بيني وضعيت بازار، پيش بيني شاخصهاي اقتصادي، پيش بيني ملزومات انرژي، پيش بيني واکنشهاي دارويي، پيش بيني بازتاب محصولات شيميايي، پيش بيني هوا، پيش بيني محصول، پيش بيني ريسک محيطي، پيش بيني جداول داوري، مدل کردن کنترل فرآيند، آناليز فعاليت گارانتي، بازرسي اسناد، تشخيص هدف، تشخيص چهره، انواع جديد سنسورها، دستگاه کاشف زير دريايي بوسيله امواج صوتي، رادار، پردازش سيگنالهاي تصويري شامل مقايسه اطلاعات، پيگيري هدف، هدايت جنگ افزارها، تعيين قيمت وضعيت فعلي، جلوگيري از پارازيت، شناسايي تصوير /سيگنال، چيدمان يک مدار کامل، بينايي ماشين، مدل کردن غير خطي، ترکيب صدا، کنترل فرآيند ساخت، آناليز مالي، پيش بيني فرآيندهاي توليد، ارزيابي بکارگيري يک سياست، بهينه سازي محصول، تشخيص ماشين و فرآيند، مدل کردن کنترل سيستمها، مدل کردن ساختارهاي شيميايي، مدل کردن سيستمهاي ديناميکي، مدل کردن سيگنال تراکم، مدل کردن قالبسازي پلاستيکي، مديريت قراردادهاي سهام، مديريت وجوه بيمه، ديريت سهام، تصويب چک بانکي، اکتشاف تقلب در کارت اعتباري، ثبت نسيه، بازبيني امضا از چکها، پيش بيني ارزش نسيه، مديريت ريسک رهن، تشخيص حروف و اعدا، تشخيص بيماري و…..

ايده اصلي SVM

l      با فرض اينکه دسته ها بصورت خطي جداپذير باشند، ابرصفحه هائي با حداکثر حاشيه(maximum margin)  را بدست مي آورد که دسته ها را جدا کنند.

l      در مسايلي که داده ها بصورت خطي جداپذير نباشند، داده ها به فضاي با ابعاد بيشتر نگاشت پيدا مي کنند تا بتوان آنها را در اين فضاي جديد بصورت خطي جدا نمود.

l      در يک فرايند يادگيري که شامل دو کلاس مي­باشد، هدف SVM پيدا کردن بهترين تابع براي طبقه­بندي مي­باشد به نحوي که بتوان اعضاي دو کلاس را در مجموعه داده­ها از هم تشخيص داد. معيار بهترين طبقه­بندي به­صورت هندسي مشخص مي­شود، براي مجموعه داده­هايي که به­صورت خطي قابل تجزيه هستند. به­طور حسي آن مرزي که به­صورت بخشي از فضا تعريف مي­شود يا همان تفکيک بين دو کلاس بوسيله hyperplane تعريف مي­شود. همين تعريف هندسي به ما اجازه مي­دهد تا کشف کنيم که چگونه مرزها را بيشينه کنيم ولو اينکه تعداد بيشماري hyperplane داشته باشيم و فقط تعداد کمي، شايستگي راه حل براي SVM دارند.

مسئله جداسازي خطي: Linear Discrimination

اگر دو دسته وجود داشته باشند که بصورت خطي از هم جداپذير باشند، بهترين جدا کننده اين دو دسته چيست؟

الگوريتم هاي مختلفي از جمله  پرسپترون ميتوانند اين جداسازي را انجام دهند.

آيا همه اين الگوريتمها بخوبي از عهده اين کار بر مي آيند؟

 

آشنايي با مفاهيم ابتدايي

خط يا ابر صفحه جدا کننده:

هدف: پيدا کردن بهترين خط ( ابر صفحه) که دو دسته را از هم جدا کند. در حالت دو بعدي معادله اين خط بصورت زير است:

در حالت n  بعدي خواهيم داشت:

حداکثر حاشيه (maximum margin)

بر طبق قضيه اي در تئوري يادگيري اگر مثالهاي آموزشي بدرستي دسته بندي شده باشند، از بين جداسازهاي خطي، آن جداسازي که حاشيه داده هاي آموزشي را حداکثر مي کند، خطاي تعميم را حداقل خواهد کرد.

چرا حداکثر حاشيه؟

¢     به نظر مي رسد که مطمئن ترين راه باشد.

¢     تئوري هائي برمبناي VC dimension وجود دارد که مفيد بودن آنرا اثبات مي کند.

¢     بطور تجربي اين روش خيلي خوب جواب داده است.

¢     دليل اينکه SVM روي بزرگ­ترين مرز براي hyperplane پافشاري مي­کند اين­ست که قضيه قابليت عموميت بخشيدن به الگوريتم را بهتر تامين مي­کند. اين نه تنها به کارايي طبقه­بندي و دقت  آن روي داده­هاي آزمايشي کمک مي­کند، فضا را نيز براي طبقه­بندي بهتر داده­هاي آتي مهيا مي­کند.

بردار پشتيبان

نزديکترين داده هاي آموزشي به ابر صفحه هاي جدا کننده بردار پشتيبان ناميده مي شوند.

ماشين بردار پشتيبان خطي

ماشين بردار پشتيبان يک روش يادگيري نسبتا جديد است که اغلب براي کلاسبندي باينري مورد استفاده واقع مي شود. فرض کنيد L مشاهده داريم که هر مشاهده مشتمل بر زوج هاي است که در آن . بردار ورودي و  يک مقدار دو وضعيتي (1- يا 1+) است. ايده ي ماشين بردار پشتيبان مي کوشد، ابرصفحاتي در فضا رسم کند که عمل تمايز نمونه هاي کلاس هاي مختلف داده ها را بطور بهينه انجام دهد. مي توان يک ابرصفحه را از طريق رابطه زير نشان داد:

براي يک بردار خطي b با وزن w ، حاشيه جداسازي عبارتست از فاصله ي بين ابرصفحه تعريف شده توسط رابطه ي فوق و نزديکترين ويژگي به آن. هدف ماشين بردار پشتيبان يافتن ابرصفحه اي ست که بيشترين حاشيه ي جداسازي را داشته باشد. مهمترين وظيفه SVM ، يافتن پارامترهاي w0 و b0 بر اساس بردارهاي آموزشي داده شده، براي اين ابرصفحه بهينه است. براي يک بردار ويژگي X، فاصله تا ابرصفحه بهينه به صورت زير است:

از رابطه بالا نتيجه مي شود که ماکزيموم کردن حاشيه جداسازي بين الگوها و ابرصفحه، معادلست با مينيموم کردن فرم اقليدسي بردار وزن w. بنابراين مساله بهينه سازي مقيد را مي توان به صورت زير تعريف کرد:

براي حل اين مساله، تابع لاگرانژ زير را تشکيل داده و حل مي کنيم:

لاگرانژين L بايد نسبت به متغيرهاي اوليه  bو w مينيموم و نسبت به متغيرهاي دوگان ماکزيموم شود. با مساوي صفر قراردادن مشتق L نسبت به b،w:

به معادلات زير خواهيم رسيد:

مجموعه جواب، بسطي از نمونه هاي آموزشي است که مقدار  متناظر با آن ها، يک مقدار غير صفر است. اين نمونه هاي آموزشي خاص به بردارهاي پشتيبان مشهورند. بردارهاي پشتيبان روي مرز حاشيه قرار دارند. مابقي نمونه هاي آموزشي در اين قسمت نقشي ندارند.

تمايز نمونه هاي دو کلاس با ابرصفحه ي بهينه

با قرار دادن 7 و 8 در  به مساله دوگان ولف زير خواهيم رسيد:

حل اين مساله دوگان ضرايب لاگرانژ را به ما مي دهد. تابع ابرصفحه متمايز کننده را مي توان به صورت زير نوشت:

ماشين بردار پشتيبان براي بردارهاي ورودي جدايي ناپذير:

اغلب در عمل، يافتن يک ابرصفحه متمايز کننده به راحتي امکان پذير نيست. زيرا مثلا يک نويز قوي مي تواند باعث ايجاد رويهم افتادگي کلاس ها شود. در اين حالت از متغير هايي به نام متغيرهاي کمبود(Slack Variables) استفاده مي کنيم. به گونه اي که شرايط زير برقرار باشند:

حال يک تعميم خوب براي ابرصفحه ي متمايز کننده، با کنترل ظرفيت کلاسبند (از طريق ) و همچنين تعداد خطاهاي مرحله آموزش بدست مي آيد. مساله بهينه سازي به صورت زير تعريف خواهد شد:

مساله دوگان به فرم زير خواهد بود:

ماشين بردار پشتيبان غيرخطي:

ابرصفحه جداکننده بهينه اولين بار توسط Vapnik در سال ۱۹۶۳ ارائه شد که يک دسته کننده خطي بود. در سال ۱۹۹۲ ،Bernhard Boser ،  Isabelle GuyonوVapnik راهي را براي ايجاد دسته بند غيرخطي، با استفاده قرار دادن هسته براي پيدا کردن ابرصفحه با بيشتر حاشيه، پيشنهاد دادند. الگوريتم نتيجه شده ظاهرا مشابه است، به جز آنکه تمام ضرب هاي نقطه اي با يک تابع هسته غيرخطي جايگزين شده اند. اين اجازه مي دهد، الگوريتم، براي ابرصفحه با بيشترين حاشيه در يک فضاي ويژگيِ تغييرشکل داده، مناسب باشد. ممکن است، تغييرشکل غيرخطي باشد و فضاي تغيير يافته، داراي ابعاد بالاتري باشد. به هر حال دسته کننده، يک ابرصفحه در فضاي ويژگي با ابعاد بالا است، که ممکن است در فضاي ورودي نيز غيرخطي باشد.

در حالت غيرخطي، مي توان با اعمال پيش پردازش داده ها، مساله را به فضايي برد که در آن جا با يک ابرصفحه ساده قابل حل باشد. براي اين منظور يک نگاشت  تعريف مي کنيم که بردار ورودي d بعدي x را به بردار d’ بعدي z تبديل مي کند.

بايد به گونه اي انتخاب شود که بردارهاي فضاي ويژگي جديد جدايي پذير باشند. در حالت کلي مي توان گفت که اگر  بردارهاي ورودي را به فضايي ببرد که تعداد ابعاد آن به اندازه کافي بزرگ باشد (

منبع


منابع

1.https://fa.wikipedia.org

2.http://www.bigdata.ir

3.www.barjoueian.com

4.http://fumblog.um.ac.ir

ماشین بردار پشتیبان (svm) قسمت 1
ماشین بردار پشتیبان (svm) قسمت 2
ماشین بردار پشتیبان (svm) قسمت 3

یادگیری ماشین – SVM یا ماشین بردار پشتیبان به زبان ساده

یکی از الگوریتم ها و روشهای بسیار رایج در حوزه دسته بندی داده ها، الگوریتم SVM یا ماشین بردار پشتیبان است که در این مقاله سعی شده است به زبان ساده و به دور از پیچیدگیهای فنی توضیح داده شود.

آشنایی با مفهوم دسته بندی

فرض کنید مجموعه داده ای داریم که ۵۰٪ افراد آن مرد و ۵۰٪ افراد آن زن هستند. این مجموعه داده می تواند مشتریان یک فروشگاه آنلاین باشد. با داشتن یک زیرمجموعه از این داده ها که جنسیت افراد در آن مشخص شده است، می خواهیم قوانینی ایجاد کنیم که به کمک آنها جنسیت بقیه افراد مجموعه را بتوانیم با دقت بالایی تعیین کنیم. تشخیص جنسیت بازدیدکنندگان فروشگاه، باعث می شود بتوانیم تبلیغات جداگانه ای را برای زنان و مردان نمایش دهیم و سودآوری فروشگاه را بالا ببریم . این فرآیند را در علم تحلیل داده، دسته بندی می نامیم .

برای توضیح کامل مسأله، فرض کنید دو پارامتری که قرار است جنسیت را از روی آنها تعیین کنیم، قد و طول موی افراد است . نمودار پراکنش قد و طول افراد در زیر نمایش داده شده است که در آن جنسیت افراد با دو نماد مربع (مرد) و دایره (زن) به طور جداگانه نمایش داده شده است .

SVM-1

 

با نگاه به نمودار فوق، حقایق زیر به سادگی قابل مشاهده است :

  1. مردان در این مجموعه، میانگین قد بلندتری دارند.
  2. زنان از میانگین طول موی بیشتری برخوردار هستند.

اگر یک داده جدید با قد ۱۸۰cm و طول موی ۴cm به ما داده شود، بهترین حدس ما برای ماشینی این شخص، دسته مردان خواهد بود .

بردارهای پشتیبان و ماشین بردار پشتیبان

بردارهای پشتیبان به زبان ساده، مجموعه ای از نقاط در فضای n بعدی داده ها هستند که مرز دسته ها را مشخص می کنند و مرزبندی و دسته بندی داده ها براساس آنها انجام می شود و با جابجایی یکی از آنها، خروجی دسته بندی ممکن است تغییر کند . به عنوان مثال در شکل فوق ، بردار (۴۵,۱۵۰) عضوی از بردار پشتیبان و متعلق به یک زن است . در فضای دوبعدی ،‌بردارهای پشتیبان، یک خط، در فضای سه بعدی یک صفحه و در فضای n بعدی یک ابر صفحه را شکل خواهند داد.

SVM یا ماشین بردار پشتیبان ، یک دسته بند یا مرزی است که با معیار قرار دادن بردارهای پشتیبان ، بهترین دسته بندی و تفکیک بین داده ها را برای ما مشخص می کند.

در SVM فقط داده های قرار گرفته در بردارهای پشتیبان مبنای یادگیری ماشین و ساخت مدل قرار می گیرند و این الگوریتم به سایر نقاط داده حساس نیست و هدف آن هم یافتن بهترین مرز در بین داده هاست به گونه ای که بیشترین فاصله ممکن را از تمام دسته ها (بردارهای پشتیبان آنها) داشته باشد .

چگونه یک ماشین بر مبنای بردارهای پشتیبان ایجاد کنیم ؟

به ازای داده های موجود در مثال فوق، تعداد زیادی مرزبندی می توانیم داشته باشیم که سه تا از این مرزبندی ها در زیر نمایش داده شده است.

 

SVM-2

 

سوال اینجاست که بهترین مرزبندی در این مسأله کدام خط است ؟

یک راه ساده برای انجام اینکار و ساخت یک دسته بند بهینه ، محاسبه فاصله ی مرزهای به دست آمده با بردارهای پشتیبان هر دسته (مرزی ترین نقاط هر دسته یا کلاس) و در نهایت انتخاب مرزیست که از دسته های موجود، مجموعاً بیشترین فاصله را داشته باشد که در شکل فوق خط میانی ، تقریب خوبی از این مرز است که از هر دو دسته فاصله ی زیادی دارد. این عمل تعیین مرز و انتخاب خط بهینه (در حالت کلی ، ابر صفحه مرزی) به راحتی با انجام محاسبات ریاضی نه چندان پیچیده قابل پیاده سازی است .

توزیع غیر خطی داده ها و کاربرد ماشین بردار پشتیبان

اگر داده ها به صورت خطی قابل تفکیک باشند، الگوریتم فوق می تواند بهترین ماشین را برای تفکیک داده ها و تعیین دسته یک رکورد داده، ایجاد کند اما اگر داده ها به صورت خطی توزیع شده باشند (مانند شکل زیر )، SVM را چگونه تعیین کنیم ؟

 

SVM-3

 

در این حالت، ما نیاز داریم داده ها را به کمک یک تابع ریاضی (Kernel functions) به یک فضای دیگر ببریم (نگاشت کنیم ) که در آن فضا، داده ها تفکیک پذیر باشند و بتوان SVM آنها را به راحتی تعیین کرد. تعیین درست این تابع نگاشت در عملکرد ماشین بردار پشتیبان موثر است که در ادامه به صورت مختصر به آن اشاره شده است.

با فرض یافتن تابع تبدیل برای مثال فوق،‌ فضای داده ما به این حالت تبدیل خواهد شد :

 

SVM-4

 

در این فضای تبدیل شده، یافتن یک SVM به راحتی امکان پذیر است .

نگاهی دقیق تر به فرآیند ساخت SVM

همانطور که اشاره شد،‌ماشین بردار پشتیبان یا SVM داده ها را با توجه به دسته های از پیش تعیین شده آنها به یک فضای جدید می برد به گونه ای که داده ها به صورت خطی (یا ابر صفحه ) قابل تفکیک و دسته بندی باشند و سپس با یافتن خطوط پشتیبان (صفحات پشتیبان در فضای چند بعدی) ، سعی در یافتن معادله خطی دارد که بیشترین فاصله را بین دو دسته ایجاد می کند.

در شکل زیر داده ها در دو دوسته آبی و قرمز نمایش داده شده اند و خطوط نقطه چین ، بردار های پشتیبان متناظر با هر دسته را نمایش می دهند که با دایره های دوخط مشخص شده اند و خط سیاه ممتد نیز همان SVM است . بردار های پشتیبان هم هر کدام یک فرمول مشخصه دارند که خط مرزی هر دسته را توصیف می کند.

SVM-5

SVM‌ در پایتون

برای استفاده از ماشین بردار پشتیبان در پایتون، توصیه بنده استفاده از کتابخانه یادگیری ماشین پایتون به نام scikitlearn است که تمام کرنل ها و توابع نگاشت را به صورت آماده شده دارد. سه تا تابعSVC , NuSVC , LinearSVC وظیفه اصلی دسته بندی را برعهده دارند . (SVC = Support Vector Classifier) . نمونه ای از دسته بندی با این توابع را در زیر می توانید مشاهده کنید :

 

SVM-6

ماشین بردار پشتیبانی در عمل

برای استفاده از SVM در مورد داده های واقعی ، چندین نکته را باید رعایت کنید تا نتایج قابل قبولی را بگیرید

  1. ابتدا داده ها را پالایش کنید (نقاط پرت ،‌ داده های ناموجود و …..)
  2. داده را عددی و نرمال کنید . این مباحث را در مقالات پیش پردازش داده ها دنبال کنید. به طور خلاصه ، داده هایی مانند جنسیت، رشته تحصیلی و … را به عدد تبدیل کنید و سعی کنید مقادیر همه صفات بین یک تا منهای یک [۱,-۱] نرمال شوند تا بزرگ یا کوچک بودن مقادیر یک ویژگی داده ها،‌ ماشین را تحت تاثیر قرار ندهد .
  3. کرنل های مختلف را امتحان و به ازای هر کدام، با توجه به مجموعه داده آموزشی که در اختیار دارید و دسته بندی داده های آنها مشخص است، دقت SVM را اندازه گیری کنید و در صورت نیاز پارامتر های توابع تبدیل را تغییر دهید تا جواب های بهتری بگیرید. این کار را برای کرنل های مختلف هم امتحان کنید . می توانید از کرنل RBF شروع کنید .

نقاط ضعف ماشین بردار پشتیان

  • این نوع الگوریتم ها، محدودیت های ذاتی دارند مثلا هنوز مشخص نشده است که به ازای یک تابع نگاشت ، پارامترها را چگونه باید تعیین کرد.
  • ماشینهای مبتنی بر بردار پشتیبان به محاسبات پیچیده و زمان بر نیاز دارند و به دلیل پیچیدگی محاسباتی، حافظه زیادی نیز مصرف می کنند.
  • داده های گسسته و غیر عددی هم با این روش سازگار نیستند و باید تبدیل شوند.

با این وجود، SVM‌ ها دارای یک شالوده نظری منسجم بوده و جواب های تولید شده توسط آنها ، سراسری و یکتا می باشد. امروزه ماشینهای بردار پشتیبان، به متداول ترین تکنیک های پیش بینی در داده کاوی تبدیل شده اند.

سخن پایانی

ماشینهای بردار پشتیبان، الگوریتم های بسیار قدرتمندی در دسته بندی و تفکیک داده ها هستند بخصوص زمانی که با سایر روشهای یادگیری ماشین مانند روش جنگل تصادفی تلفیق شوند. این روش برای جاهایی که با دقت بسیار بالا نیاز به ماشینی داده ها داریم، به شرط اینکه توابع نگاشت را به درستی انتخاب کنیم، بسیار خوب عمل می کند .

ساختار اصلی این نوشتار از روی یک مقاله سایت آنالیتیکزویدیا برداشته شده است و برای دو بخش پایانی مقاله هم از کتاب «داده کاوی پیشرفته : مفاهیم و الگوریتم ها» دکتر شهرابی استفاده شده است .

منبع


آشنایی با ماشین بردار پشتیبان (SVM) – مرور کلی

SVM یک مدل یادگیری نظارت شده است.

پس قبل از این که به سراغ آن برویم باید یک مجموعه داده(Dataset) که از قبل برچسب‌گذاری شده(Labeled) را داشته باشیم.

مثالفرض کنیم من صاحب یک کسب‌وکار هستم و هر روز تعداد زیادی ایمیل از مشتری‌ها دریافت می‌کنم. بعضی از این ایمیل‌ها شکایت‌ها و نارضایتی‌هایی هستند که من هرچه سریع‌تر باید به آن‌ها پاسخ بدهم و به آن‌ها رسیدگی کنم. در غیر این صورت کسب‌وکار من با ضرر روبرو خواهد شد.

من به دنبال راهی هستم که این ایمیل‌ها را هرچه سریع‌تر تشخیص بدهم(پیدا کنم) و پاسخ آن‌ها را زودتر از بقیه ارسال کنم.

رویکرد اولمن می‌توانم برچسب‌هایی با عنوان‌های: اورژانسی، شکایت و راهنمایی در جیمیل(GMail) خود ایجاد کنم.

اشکال این روش این است که من باید مدتی فکر کنم و همه کلمه‌های کلیدی(Keyword) بالغوه که مشتری‌های عصبانی ممکن است در ایمیل‌های خود استفاده کنند را پیدا کنم. طبیعی است که بعضی از آن‌ها را هم از قلم انداخته شوند. با گذشت زمان هم لیست این کلمه‌ها به احتمال زیاد شلوغ و مدیریت کردن آن‌ها به کار مشکلی تبدیل می‌شود.

رویکرد دوممن می‌توانم از یک الگوریتم یادگیری ماشین نظارت شده استفاده کنم.

قدم اولبه تعدادی ایمیل نیاز دارم.(هرچه بیشتر بهتر)

قدم دومعنوان ایمیل‌های قدم اول رو می‌خوانم و آن‌ها را در یکی از دو گروه «شکایت است» و یا «شکایت نیست» طبقه‌بندی می‌کنم. اینجوری می‌توانم ایمیل‌ها را برچسب ‌گذاری کنم.

قدم سومروی این مجموعه داده، مدلی را آموزش می‌دهم.

قدم چهارمکیفیت یا صحت پیش‌بینی های مدل آموزش داده‌شده را ارزیابی می‌کنم.(با استفاده از روش Cross Validation)

قدم پنجماز این مدل برای پیش‌بینی این که ایمیل‌های جدیدی که رسیده‌اند، شکایت هستند یا نه، استفاده می‌کنم.

در این رویکرد اگر مدل را با تعداد ایمیل‌های زیادی آموزش داده باشیم، مدل عملکرد خوبی را نشون می‌دهد. SVM فقط یکی از روش‌هایی هست که ما می‌توانیم برای یادگرفتن از داده‌های موجود و پیش‌بینی کردن، استفاده کنیم.

همچنین باید به این نکته هم توجه داشته باشیم که قدم دوم اهمیت زیادی دارد و دلیلش این است که اگر در شروع کار، ایمیل‌های برچسب‌گذاری نشده را به SVM بدهیم، کار خاصی را نمیتواند انجام دهد.

SVM یک مدل خطی را یاد می‌گیرد

در مثال قبل دیدیم که در قدم سوم یک الگوریتم یادگیری نظارت شده مثل SVM به کمک داده‌هایی که از قبل برچسب‌گذاری شده‌اند آموزشداده شد. اما برای چه چیزی آموزش داده شد؟ برای این که چیزی را یاد بگیرد.

چه چیزی را یاد بگیرد؟

در مورد SVM، یک مدل خطیرا یاد میگیرد.

مدل خطی چیست؟ اگر بخواهیم به زبان ساده بیان کنیم یک خط است.(و در حالت پیچیده‌تر یک ابر صفحه).

اگر داده‌های شما خیلی ساده و دو بعدی باشند، در این صورت SVM خطی را یاد می‌گیرد که آن خط می‌تواند داده‌ها را به دو بخش تقسیم کند.

 

svm

SVM قادر است که خطی را پیدا کند که داده‌ها را جدا می‌کند.

 

خب پس اگر SVM فقط یک خط است، پس چرا ما داریم راجع به مدل خطی صحبت می‌کنیم؟

برای این که ما همینطوری نمی‌توانیم به یک خط چیزی را آموزش بدهیم.

در عوض:

  1. در نظر می‌گیریم که داده‌هایی که می‌خواهیم طبقه‌بندی کنیم، می‌توانند به وسیله یک خط از هم تفکیک شوند.
  2. می‌دانیم که یک خط می‌تواند به کمک معادله y=wx+by=wx+b نمایش داده شود.(این همان مدل ما است)
  3. می‌دانیم با تغییر دادن مقدار w و b بی‌نهایت خط وجود خواهد داشت.
  4. برای تعیین این که کدام مقدار w و b بهترینخط جداکننده داده‌ها را به ما می‌دهد، از یک الگوریتم استفاده می‌کنیم.

SVM یکی از این الگوریتم‌ها هست که می‌تواند این کار را انجام دهد.

الگوریتم یا مدل؟

در شروع این پست من نوشتم که SVM یک مدل یادگیری نظارت شده است، و الآن می‌نویسم که آن یک الگوریتم است. چه شده؟ از واژه الگوریتم معمولا آزادانه استفاده می‌شود. برای نمونه، ممکن است که شما جایی بخوانید یا بشنوید که  SVM یک الگوریتم یادگیری نظارت شده است. اگر این نکته را در نظر بگیریم که الگوریتم مجموعه‌ای از فعالیت‌ها است که انجام می‌شوند تا به نتیجه مشخصی دست یابیم، می‌بینیم که استفاده از این واژه در اینجا صحیح نیست(منظور از واژه الگوریتم اینجا الگوریتمی است که برای آموزش از آن استفاده می‌کنیم). بهینه‌سازی متوالی کمینه(Sequential minimal optimization) پر استفاده ترین الگوریتم برای آموزش SVM است. با این حال می‌توان از الگوریتم‌های دیگری مثل کاهش مختصات(Coordinate descent) هم استفاده کرد. در کل بیشتر به جزییاتی مثل این علاقمند نیستند، در نتیجه ما هم برای ساده‌تر شدن فقط از واژه الگوریتم SVM استفاده می‌کنیم(بدون ذکر جزییات الگوریتم آموزشی که استفاده می‌کنیم).

SVM یا SVMها؟

بعضی وقت‌ها می‌بینیم که مردم راجع به SVM و بعضی وقت‌ها هم راجع به SVMها صحبت می‌کنند.

طبق معمول ویکی‌پدیا در روشن و شفاف کردن چیزها به ما کمک می‌کند:

در یادگیری ماشینی، ماشین‌های بردار پشتیبان (SVMsمدل‌های یادگیری نظارت شده به همراه الگوریتم‌های آموزش مربوطههستندکه در تحلیل داده‌های استفاده شده در  رگرسیون و طبقه‌بندی از آن‌ها استفاده می‌شود.(ویکی‌پدیا)

پس حالا ما این را می‌دانیم که چندین مدل‌ متعلق به خانواده SVM وجود دارند.

SVMها – ماشین‌های بردار پشتیبان

بر اساس ویکی‌پدیا SVMها همچنین می‌توانند برای دو چیز استفاده شوند، طبقه‌بندی و رگرسیون.

  • SVM برای طبقه‌بندی استفاده می‌شود.
  • SVR یا(Support Vector Regression) برای رگرسیون.

پس گفتن ماشین‌های بردار پشتیبان هم دیگه الآن منطقی به نظر میاد. با این وجود این پایان داستان نیست!

طبقه‌بندی

در سال ۱۹۵۷ یک مدل خطی ساده به نام پرسپترون توسط فردی به نام فرانک روزنبلت برای طبقه‌بندی اختراع شد(که در واقع اساس شبکه‌های عصبی ساده‌ای به نام پرسپترون چند لایه است).

چند سال بعد، واپنیک و چروننکیس مدل دیگری به نام «طبقه‌بندی کننده حداکث حاشیه» پیشنهاد دادند و همان‌جا بود که SVM متولد شد.

در سال ۱۹۹۲ واپنیک و همکارانش ایده‌ای داشتند که یک چیزی به نام کلک کرنل(Kernel Trick) را به روش قبلی اضافه کنند تا به آن‌ها اجازه دهد که حتی داده‌هایی که به صورت خطی تفکیک‌پذیر نیستند را هم طبقه‌بندی کنند.

سرانجام در سال ۱۹۹۵، کورتز و واپنیک، طبقه‌بندی کننده حاشیه نرم را معرفی کردند که به SVM اجازه می‌دهد تا بعضی از اشتباهات در طبقه‌بندی را هم بپذیرد.

پس وقتی که ما از طبقه‌بندی صحبت می‌کنیم، چهار ماشین بردار پشتیبان مختلف وجود دارد.

  1. طبقه‌بندی کننده حاشیه حداکثر.
  2. نسخه‌ای که از کلک کرنل استفاده می‌کند.
  3. نسخه‌ای که از حاشیه نرم استفاده می‌کند.
  4. نسخه‌ای که ترکیب همه موارد قبلی است.

و البته آخرین روش معمولا بیشترین کاربرد را دارد. دلیل اصلی این که قهمیدن SVMها در نگاه اول کمی گیج کننده به نظر می‌رسد هم همین موضو ع است که ‌آن‌ها از چندین قطعه تسکیل شده اند که در طول زمان به ‌‌آن‌ها چیزهایی اضافه شده است.

به همین دلیل است که وقتی از یک زبان برنامه‌‌نویسی استفاده می‌کنید می‌پرسید از کدام کرنل باید استفاده کنیم(بخاطر کرنل‌های مختلفی که وجود دارند) و یا کدام مقدار ابرپارامتر C را باید استفاده کنید(برای کنترل تاثیر حاشیه نرم).

رگرسیون

در سال ۱۹۹۶، واپنیک و همکارانش، نسخه‌ای از SVM را پیشنهاد دادند که به جای طبقه‌بندی، عمل رگرسیون را انجام می‌دهد. این مورد به Support Vector Regression یا SVR معروف است. همانند SVM در این مدل نیز از کلک کرنل و ابرپارامتر C  استفاده می‌شود.

در آینده مقاله ساده‌ای در مورد توضیح چگونگی استفاده از  SVR در زبان R خواهم نوشت و آدرس آن را همین‌جا قرار خواهم داد.

اگر علاقمند هستید که راجع به SVR بیشتر بدانیند، می‌توانید به این آموزش خوب که نوشته Smola and Schölkopft است، مراجعه کنید.

خلاصه تاریخچه

  • طبقه‌بندی کننده حاشیه حداکثر (۱۹۶۳ یا ۱۹۷۹)
  • کلک کرنل (۱۹۹۲)
  • طبقه‌بندی کننده حاشیه نرم (۱۹۹۵)
  • رگرسیون بردار پشتیبان (۱۹۹۶)

در صورتی که مایلید بیشتر راجع به تاریخچه بدانید، می‌توانید به مقاله مرور همراه با جزییات از تاریخچه مراجعه کنید.

انواع دیگری از ماشین‌های بردار پشتیبان

به دلیل این که SVMها در طبقه‌بندی خیلی موفق بودند، مردم شروع به فکر کردن راجع به این موضوع کردند که چطور می‌توانند از همین منطق در انواع دیگر مسائل استفاده کنند یا این‌ که چطور مشتقات آن را ایجاد کنند. در نتیجه چندین روش مختلف و جالب در خانواده SVM به وجود آمد.

  • ماشین بردار پشتیبان ساخت‌یافتهکه توانایی پیش‌بینی اشیای ساخت‌یافته را دارد.
  • ماشین بردار پشتیبان حداقل مربعکه در طبقه‌بندی و رگرسیون استفاده می‌شود.
  • خوشه‌بندی بردار پشتیبانکه در تحلیل خوشه استفاده می‌شود.
  • ماشین بردار پشتیبان هدایتیکه در یادگیری نیمه نظارت‌شده استفاده می‌شود.
  • SVM رتبه‌بندیبرای مرتب کردن نتایج.
  • ماشین بردار پشتیبان تک کلاسهکه برای تشخیص ناهنجاری استفاده می‌شود.

نتیجه‌گیری

دیدیم که سختی در درک کردن این که SVMها دقیقا چه چیزی هستند، امری طبیعی است. علتش هم این است که چندین SVM برای چندین منظور وجود دارند. مثل همیشه تاریخ به ما اجازه می‌دهد که دید بهتری راجع به چگونگی به وجود آمدن SVMهایی که امروزه وجود دارند، داشته باشیم.

امیدوارم این مقاله دید وسیع‌تری از چشم‌انداز  SVM به شما داده باشد و کمک کرده باشد که بهتر این ماشین‌ها را بشناسید و درک کنید.

اگه مایلید که بیشتر راجع به نحوه کار SVM در طبقه‌بندی بدانید، می‌توانید به آموزش‌های ریاضی مربوط به آن مراجعه کنید.

اصلاح دیجیتالی عکس در دوربین

عکس دیجیتال عبارت از ارقام صفر ویک است که می توان به طریق الکترونیکی اندازه آنها را کم و زیاد کرد . این بدین معنی است که بلافاصله بعد ازاینکه اطلاعات مربوط به عکس در سنسور نوری ثبت و مشخص شد ، می توان این اطلاعات را ادیت یا تصحیح کرد . اینکه چه کارکردهایی در این رابطه وجود دارند و دست شما چقدر باز است ، بستگی به مدل دوربین دارد و در هر دوربینی فرق می کند . بنابراین جهت اطلاع از امکانات دوربین خود در این زمینه به دفترچه راهنمای آن مراجعه کنید .

اندازه عکس

در اکثر دوربینهای دیجیتال امکان عوض کردن اندازه عکس وجود دارد . این اندازه معمولا” به واحد پیکسل بیان می شود ،1920×2560،1200×1600،960×1280 و یا 480×640 ، هرچه اندازه قطع عکس را کوچک تر انتخاب کنید ، می توانید تعداد عکسهای بیشتری را روی کارت حافظه ذخیره کنید . یک عکس کوچک باعث می شود که ارسال آن ازطریق e-mail ساده تر و سریع تر صورت گیرد . اما از طرف دیگر این نوع عکس ها ، مناسب چاپ در قطع بزرگ نیستند .

کیفیت عکس

عکس در فرمت غیر فشرده ، فضای زیادی را اشغال خواهد کرد . اگر شما کیفیت پایین تری برای عکس انتخاب کنید می توانید اندازه فایل خود را با کمک برنامه های فشرده سازی کوچک کنید . البته در حالت فشرده کردن فایل مقداری از اطلاعات عکس حذف می شوند . کیفیتهای عادی عکس عبارتند از استاندارد ، نرمال ، خوب و RAW به معنی خام . حالت RAW که بهترین کیفیت عکس را ارائه می کند ، فرمت غیر فشرده عکس است که مخصوص دوربینی که با آن کار می کنید ، است .

وضوح عکس

دوربین می تواند وضوح عکس را جهت نشان دادن جزئیات بیشتر افزایش دهد . این مسئله را با فوکوس کردن مخلوط نکنید ، اینها دو مقوله جدا از هم هستند . اگر خطوط مرزی ( لبه های) سوژه سخت وغیر ظریف باشند ، جزئیاتی کمتر در عکس دیده می شوند . در حالت عادی ، قبل از اینکه عکس در کارت حافظه ضبط شود ، مقداری لبه های آن واضح تر می شوند .

تعادل نور سفید

چشم انسان به طور اتوماتیک به انواع نورهای موجود خود را تطبیق می دهد . یک صفحه کاغذ سفید را چشم ما چه در زیر نور آفتاب و چه در زیر نور لامپ های خانه سفید می بیند .برای دوربینهای ویدئو  و یا دوربینهای عکاسی دیجیتال ، باید معادل نور سفید را روی آنها تنظیم کرد . این بدین معنی است که روش دوربین برای ثبت رنگهای مختلف باید طوری تنظیم شود که رنگ سفید یا خاکستری سوژه هم به طور خنثی درروی عکس به رنگ سفید یا خاکستری ظاهر شوند .

حالت رنگ

بعضی از دوربینها دارای قابلیت عکاسی در حالت رنگ های مختلف مثل سیاه و سفید ، غلظت رنگ بالا و یا پایین و یا  تون قهوه ای رنگ معروف به سپیا (Sepia )هستند .

حساسیت به نور

در دوربینهای معمولی که با فیلم کار می کنند و در این کتاب دوربینهای آنالوگ نامیده می شوند ، می توان حساسیت فیلم را مناسب نوع فیلمی که به کار می برید ، انتخاب وتنظیم کرد . هرچه حساسیت فیلم پایین تر باشد ، دانه هایی که روی فیلم هستند ریزتر و جزئیات زیادتری از سوژه در عکس ثبت می شوند . واحد حساسیت فیلم به ISO بیان می شود که ترکیبی از سیستم آمریکایی ASA وسیستم آلمانی DIN است . مثلا” 400/27˚ ISO واحدی برای نمایش فیلم با حساسیت 400 ایزو است .

در یک دوربین عکاسی دیجیتال باید دید که کارخانه سازنده آن چه حساسیتی را برا ی آن مدل در نظر گرفته است. هر اندازه ای که دوربین برای آن تنظیم و ساخته شده باشد، همه عکسها بر مبنای آن حساسیت گرفته خواهند شد. حساسیت برای یک سنسور نوری CCD به صورت ISO بیان می شود. حساسیت سنسور نوری در دوربین های دیجتال کمپکت معمولا” 100 ایزو است. بعضی از دوربینها دارای قابلیت تغییر ایزو یا حساسیت فیلم از طریق تقویت سیگنالهای الکترونیکی هستند. این کارکرد باعث می شود که حتی در زیر نور ضعیف هم بتوان عکاسی کرد ولی عکسی که شما دریافت خواهید کرد، دارای برفک و پارازیت خواهد بود.

کار روی عکسها درون دوربین

دوربین دیجیتال در حقیقت کامپیوتر کوچکی است که با آن نه تنها می توان عکس گرفت ، بلکه می توان در سازماندهی و نشان دادن عکسها هم از آن استفاده کرد. امکانات موجود در دوربینهای مختلف فرق می کنند در زیر چند نمونه مرسوم آنها آورده می شوند.

ذخیره عکسها در پوشه های مختلف

یک کارت حافظه دوربین می تواند دهها و بلکه صدها عکس را در خود جای دهد. در بسیاری مواقع ، بهتر است که عکسها را در پوشه ها ی مختلف کارت ذخیره کرد. مثلا” فرض کنیم که می خواهید به یک مسافرت دور اروپا بروید و از شهرهای چند کشور مختلف دیدن کنید. از طریق سازمان دادن و درست کردن پوشه های مختلف و جای دادن عکسها درون آنها، راحت تر می توانید به خاطر بیاورید که کدام عکس را در چه محلی انداخته اید. به این طریق، نمایش دادن عکسها هم کار راحت تری خواهد بود و هر زمان که تصمیم به نمایش عکس های شهر مشخصی بگیرید، می توانید بلافاصله و سریع به پوشه شهر مربوطه بروید.

تنظیم نامگذاری عکسها

بعضی از دوربینها از نامگذاری استاندارد استفاده می کنند، یعنی یک فایل عکس را با یک حرف و سه یا چهار شماره نامگذاری می کنند . زمانیکه ارقام تمام شدند، مجددا” دوربین از صفر شروع می کند. بعضی دیگر از مدلها به محض اینکه کارت حافظه جدید را در آن می گذارید، کنتور شماره عکس صفر می شود و شماره ها از نوع شروع می شوند. در اینگونه مدلها زمانیکه عکسهای خود را از دوربین به کامپیوتر منتقل می کنید، خطر این وجود دارد که عکسهای هم نام سابق حذف و عکسهای جدید جایگزین آنها شوند. به این دلیل حتما” کنترل کنید که آیا، دوربین شما می تواند شماره پشت سر هم به عکسها بدهد ، بدون اینکه کنتور آن صفر شود یا نه. یک راه مناسب جهت مقابله با این خطر، این هست که عکسها را در پوشه های خاص خود ذخیره کنید و همه عکسهای قدیمی و جدید در یک پوشه ذخیره نشوند.

حذف کردن عکسها

عکسهای ناجور و نامطلوب را می توانید بلافاصله پس از رویت پاک کنید. هم چنین می توانید در پایان یک روز همراه با عکاسی ، عکسها را یک به یک رویت کنید و آنهایی را که نمی خواهید، پاک کنید. به این طریق می توانید، جا برای عکسهای جدید خود ایجاد کنید.

منبع


دوربین های دیجیتال:

 

دوربین ۳۶۰ درجه ی ozo محصول نوکیا

دوربین دیجیتال دوربین هایی هستند که برای گرفتن عکس و ذخیره آن بجای فیلم عکاسی از حسگرهای حساس به نور معمولاً از نوع CCD یا CMOS استفاده می‌کند و تصویر گرفته شده توسط سنسور طی چند مرحله به حافظهٔ دوربین برای استفاده فرستاده می‌شود.

تاریخچه:

در سال ۱۹۷۵ اولین دوربین دیجیتال جهان توسط استیون ساسون (Steve Sasson) یکی از مهندسان شرکت ایستمن کداک (Eastman Kodak) ساخته شد. این ابزار ۳٫۶ کیلوگرمی می توانست عکس‌های ۰٫۰۱ مگاپیکسلی خود را بر روی یک نوار کاست ضبط کند و نوردهی هر عکس به ۲۳ ثانیه زمان نیاز داشت.

 

اولین دوربین دیجیتال دنیا

عملکرد:

 

گرچه اصول کلی این دوربین‌ها شبیه به دوربین‌های فیلمی هستند، نحوه کار داخل این دوربین‌ها کاملاً متفاوت است. در این دوربین‌ها تصویر توسط یک سنسور CCD یا یک CMOS گرفته می‌شود. CCD بصورت ردیفها و ستونهایی از سنسورهای نقطه‌ای نور هستند که هر چه تعداد این نقاط بیشتر و فشرده تر باشد، تصویر دارای دقت بالاتری است) هر سنسور نور را به ولتاژی متناسب با درخشندگی نور تبدیل کرده و آن را به بخش تبدیل سیگنال‌های آنالوگ به دیجیتال ADC می‌فرستد که در آنجا نوسانات دریافتی از CCD به کدهای مجزای باینری(عددهای مبنای دو بصورت صفر و یک) تبدیل می‌شود. خروجی دیجیتال از ADC به یک پردازنده سیگنال‌های دیجیتال DSP فرستاده می‌شود که کنتراست و جزئیات تصویر در آن تنظیم می‌شود و قبل از فرستادن تصویر به حافظه برای ذخیره تصویر، اطلاعات را به یک فایل فشرده تبدیل می‌کند. هر چه نور درخشنده‌تر باشد، ولتاژ بالاتری تولید شده و در نتیجه پیکسل‌های رایانه‌ای روشن‌تری ایجاد می‌شود. هر چه تعداد این سنسورها که به‌صورت نقطه هستند بیشتر باشد، وضوح تصویر به دست آمده بیشتر است و جزئیات بیشتری از تصویر گرفته می‌شود.

سنسورهای CCD و CMOS

دوربین‌های دیجیتال برای دریافت نور از یک تصویر دیجیتالی،  از سنسورهای مشخصی استفاده می‌کنند که معمولاً CCD (افزاره ی بار جفت ‌شده) یا  CMOS (نیم رسانای اکسید فلزی مکمل) نامیده می‌شوند. هر دو سنسورهای نام‌برده شده در اغلب دوربین‌های دیجیتال استفاده‌شده و ابزاری مناسب برای گرفتن تصاویر دیجیتالی به حساب می‌آیند. سنسورهای CCD و CMOS به طور معمول به اندازه‌ی یک ناخن انگشت بوده و تماماً از سیلیکون ساخته‌شده‌اند. سطح این سنسورها شامل میلیون‌ها دیود فوق‌العاده کوچک است که هر کدام یک پیکسل از تصاویر گرفته‌شده توسط لنز دوربین را ثبت می‌کنند. به طور کلی دیودهای بیشتر بر روی سطح یک دوربین دیجیتال برابر است باکیفیت بهتر تصاویر گرفته‌شده توسط آن دوربین! جالب است بدانید واژه‌ی مگا پیکسل در مشخصات یک دوربین حاکی از تعداد سنسورهای موجود بر روی سطح CCD یا CMOS است.

 

سنسور CMOS و سنسور CCD

تفاوت دیجیتال و آنالوگ چیست؟

در فناوری آنالوگ، امواج و یا سیگنال به شکل اولیه ضبط و یا استفاده میشوند. برای مثال در یک دستگاه ضبط صوت آنالوگ سیگنال دریافت شده مستقیما از میکروفون دریافت و به نوار کاست منتقل میشود. صوت شما که از میکروفن دریافت میشود به صورت طبیعی یا همان آنالوگ است و امواج ضبط شده بر روی نوار کاست نیزبه همین صورت (آنالوگ) خواهد بود. این امواج میتواند از روی نوار خوانده و یا تقویت شوند و برای تولید صدا به بلندگو ها فرستاده شوند. واژه انالوگ از واژه یونانی ΑΝΆΛΟΓΟΣ که معنای “نسبی” می دهد گرفته شده است.

در فناوری دیجیتال امواج نمونه ای از امواج آنالوگ در یک سری از فواصل میشوند. سپس تبدیل به یک سری اعداد(صفر و یک) میشوند که توانایی ذخیره شدن روی دستگاه های دیجیتالی را خواهند داشت.

در یک سی دی میزان این نمونه سازی ۴۴۰۰۰ نمونه (سیگنال) در هر ثانیه است. به عبارت دیگر ۴۴۰۰۰ شماره در هر ثانیه از یک موسیقی توسط دستگاه خوانده میشود. برای شنیدن موسیقی اعداد به صورت امواج ولتاژ(مستقیم یا متناوب) در می آیند که به صوت اصلی بسیار نزدیک است.

واژه دیجیتال از لغت DIGIT (رقم) ویا DIGITUS (واژه پونانی به معنی انگشت) گرفته شده، بخاطر اینکه از انگشتان برای شمارش استفاده میشود.

تصاویر رنگی در دوربین های دیجیتال:

برای ثبت عکس‌های رنگی، بر روی هر سنسور یک فیلتر نصب می‌شود که اجازه عبور رنگ‌های نوری معینی را می‌دهد. در واقع همه دوربین‌های دیجیتال موجود در زمان حاضرتنها می‌توانند یکی از سه رنگ اصلی را در هر سنسور دریافت کنند و در نتیجه این که تقریبا از سه تا رنگ اصلی دوتای آن دور ریخته می‌شود. برای جبران این موضوع دوربین باید دو رنگ اصلی دیگر را تخمین بزند تا بتواند رنگ کاملی در هر پیکسل به دست آورد. معمول ترین روش برای کار استفاده از آرایه فیلتر رنگ است که یکی از آنها به نام «فیلتر بایر» را در تصویر زیر مشاهده می‌کنید.

 

فیلتر بایر از ردیف‌های فیلتر سبز-قرمز و سبز-آبی تشکیل شده است. دقت کنید که تعداد سنسورهای سبز در فیلتر بایر دو برابر سنسورهای قرمز و آبی است. دلیل این انتخاب با ساختار چشم و حساسیت بیشتر آن به نور سبز باز می‌گردد. بیشتر بودن تعداد فیلترهای سبز منجر به تولید عکسی با نویز کمتر و جزئیات بیشتر می‌شود.

 

لازم است بدانید تمام دوربین‌های دیجیتال از فیلتر بایر استفاده نمی‌کنند، اما تا کنون این الگوریتم متداول‌ترین روش بوده است.

 

 

 

منبع


منابع

  1. http://fa.wikipedia.org
  2. http://www.camshop.ir
  3. http://article.tebyan.net
  4. http://newnesh.com

دوربین دیجیتال چیست؟ قسمت 1
دوربین دیجیتال چیست؟ قسمت 2
دوربین دیجیتال چیست؟ قسمت 3

بینایی کامپیوتری (Computer vision) چیست؟

 بینایی کامپیوتری (Computer vision) یا بینایی ماشین (Machine vision) یکی از شاخه‌های علوم کامپیوتر است که شامل روش‌های مربوط به دستیابی تصاویر، پردازش، آنالیز و درک محتوای آن‌ها است. معمولاً این پردازش‌ها تصاویر تولید شده در دنیای واقعی را به عنوان ورودی دریافت و داده‌هایی عددی یا سمبلیک را به عنوان خروجی تولید می‌کنند، مانند در شکل‌هایی از تصمیم‌گیری. یکی رویه‌های توسعهٔ این شاخه بر اساس شبیه‌سازی توانایی بینایی انسان در رایانه می باشدنرم.

تصویر هنری از مریخ نورد NASA بر روی سطح سیاره مریخ. مثالی از خودروهای زمینی بدون سرنشین

بینایی رایانه‌ای به مسائل مختلفی از جمله استخراج داده از عکس، فیلم، مجموعه چند عکس از زوایای مختلف و پردازش تصاویر پزشکی می‌پردازد. معمولاً ترکیبی از روش‌های مربوط به پردازش تصاویر و ابزارهای یادگیری ماشینی و آمار برای حل مسایل مختلف در این شاخه استفاده می‌گردد.

کاوش در داده‌ها

بینایی ماشینی را می‌توان یکی از مصادیق و نمونه‌های بارز زمینهٔ مادر و اصلی‌تر کاوش‌های ماشینی داده‌ها به‌حساب آورد که در آن داده‌ها تصاویر دوبعدی یا سه‌بعدی هستند، که آن‌ها را با استفاده از هوش مصنوعی آنالیز می‌کنند.

وظایف اصلی در بینایی رایانه‌ای(بینایی کامپیوتری)

تشخیص شیء

تشخیص حضور و/یا حالت شیء در یک تصویر. به عنوان مثال:

  • جستجو برای تصاویر دیجیتال بر اساس محتوای آن‌ها (بازیابی محتوامحور تصاویر).
  • شناسایی صورت انسان‌ها و موقعیت آن‌ها در عکس‌ها.
  • تخمین حالت سه‌بعدی انسان‌ها و اندام‌هایشان.

پیگیری

پیگیری اشیاء شناخته شده در میان تعدادی تصویر پشت سر هم. به عنوان مثال:

  • پیگیری یک شخص هنگامی که در یک مرکز خرید راه می‌رود.

تفسیر منظره

ساختن یک مدل از یک تصویر/تصویر متحرک. به‌عنوان مثال:

  • ساختن یک مدل از ناحیهٔ پیرامونی به کمک تصاویری که از دوربین نصب شده بر روی یک ربات گرفته می‌شوند.

خودمکان‌یابی

مشحص کردن مکان و حرکت خود دوربین به عنوان عضو بینایی رایانه. به‌عنوان مثال:

  • مسیریابی یک ربات درون یک موزه.

سامانه‌های بینایی رایانه‌ای یا بینایی کامپیوتری

یک سامانهٔ نوعی بینایی رایانه‌ای را می‌توان به زیرسامانه‌های زیر تقسیم کرد:

تصویربرداری

تصویر یا دنباله تصاویر با یک سامانه تصویربرداری(دوربین، رادار، لیدار، سامانه توموگرافی) برداشته می‌شود. معمولاً سامانه تصویربرداری باید پیش از استفاده تنظیم شود.

پیش‌پردازش

در گام پیش‌پردازش، تصویر در معرض اَعمال «سطح پایین» قرار می‌گیرد. هدف این گام کاهش نوفه (کاهش نویز – جدا کردن سیگنال از نویز) و کم‌کردن مقدار کلی داده‌ها است. این کار نوعاً با به‌کارگیری روش‌های گوناگون پردازش تصویر(دیجیتال) انجام می‌شود. مانند:

  • زیرنمونه‌گیری تصویر.
  • اعمال فیلترهای دیجیتال.
    • پیچشها.
    • همبستگیها یا فیلترهای خطی لغزش‌نابسته.
      • عملگر سوبل.
      • محاسبهٔ گرادیان x و y(و احتمالاً گرادیان زمانی).
  • تقطیع تصویر.
    • آستانه‌گیری پیکسلی.
  • انجام یک ویژه‌تبدیل بر تصویر.
    • تبدیل فوریه.
  • انجام تخمین حرکت برای ناحیه‌های محلی تصویرکه به نام تخمین شارش نوری هم شناخته می‌شود.
  • تخمین ناهمسانی در تصاویر برجسته‌بینی.
  • تحلیل چنددقتی.

استخراج ویژگی

هدف از استخراج ویژگی کاهش دادن بیش تر داده‌ها به مجموعه‌ای از ویژگی‌هاست، که باید به اغتشاشاتی چون شرایط نورپردازی، موقعیت دوربین، نویز و اعوجاج ایمن باشند. نمونه‌هایی از استخراج ویژگی عبارت‌اند از:

  • انجام آشکارسازی لبه.
  • استخراج ویژگی‌های گوشه ای.
  • استخراج تصاویر چرخش از نقشه‌های ژرفا.
  • بدست آوردن خطوط تراز و احتمالاً گذر از صفرهای خمش.

ثبت

هدف گام ثبت برقراری تناظر میان ویژگی‌های مجموعه برداشت شده و ویژگی‌های اجسام شناخته‌شده در یک پایگاه داده‌های مدل و/یا ویژگی‌های تصویر قبلی است. در گام ثبت باید به یکفرضیه نهایی رسید. چند روش این کار عبارت‌اند از:

  • تخمین کمترین مربعات.
  • تبدیل هاگ در انواع گوناگون.
  • درهم‌سازی هندسی.
  • پالودن ذره‌ای.

بینایی و تفسیر تصاویر در انسان‌ها

lز آنجایی که هدف نهایی computer vision ساخت مفسر قدرتمند اجسام 3D , رنگ‌ها و عمق تصاویر هست. دانستن این موضوع که چگونه مغز موجودات، بینایی و دیدن را تفسیر می‌کند و اینکه چند درصد نورون‌های کل مغز در گیر این پروسه هستند نسبتاً اهمیت پیدا می‌کند. مقاله زیر می‌تواند یک نگاه کلی از این روند پیچیده بدهد.

حل مسئله تفسیر نور به ایده‌ها از جهان، درک بصری ویژگی‌ها و اشیا، عملی خیلی پیچیده و به مراتب فراتر از توانایی‌های قدرتمندترین ابرکامپیوترهای جهان است. بینایی نیازمند جدا کردن پیش زمینه از پس زمینه هست. تشخیص اشیا قرار گرفته در طیف گسترده ای از جهت‌ها، تفسیر نشانه‌های فضایی با دقت بالا. مکانیزم‌های نورونی در شبکه‌های عصبی ادراک بصری نگاه کلی از چگونگی محاسبه مغز در وضعیت‌های پیچیده برای تفسیر بینایی را به ما می‌دهد.

ادراک بینایی زمانی آغاز می‌شوند که چشم نور را بر روی شبکیه چشم یا (retina) متمرکز می‌کند، که در آن جا توسط یک لایه از سلول‌های گیرنده نوری جذب می‌شود. این سلول‌ها نور را به سیگنال‌های الکتروشیمیایی تبدیل می‌کنند و به دو نوع، میله ای و مخروطی تقسیم می‌شوند (بر اساس شکل هایشان). سلولهای میله ای مسئول دید ما در شب هستند و به نور کم پاسخ خیلی خوبی می‌دهند. سلول‌های میله ای (Rod cells) عمدتاً در مناطق پیرامونی از شبکیه چشم (حول یا اطراف شبکیه) یافت می‌شوند و بنابراین اکثر مردم این موضوع را فهمیده اندکه اگر نگاه خود را در شب متمرکز کنند می‌توانند منطقه مورد تمرکز را بهتر ببینند.

جریان dorsal بصری (سبز رنگ در تصویر) و جریان ventral(بنفش) در تصویر مشخص شده. قسمت‌های بسیار زیادی ازcerebral cortex در پروسه بینایی نقش دارند.

سلولهای مخروطی (Cone cells) در یک منطقه مرکزی شبکیه متمرکز به نام گودال متمرکز شده‌اند که فرورفتگی (یا fovea) هم نام دارد. آنها مسئول وظایف سنگین و دقیقی مثل خواندن هستند. سلول‌های Cone بسته به اینکه به نور آبی، قرمز، سبز چگونه واکنش می‌دهند به سه دسته تقسیم می‌شوند، و در مجموع این سه نوع از Cone ما را قادر به درک رنگ‌ها می‌کنند. سیگنال‌ها از سلول‌های گیرنده نوری (photoreceptor cells) از طریق شبکه ای از interneuronsها در لایه دوم شبکیه چشم به سلول‌های ganglion در لایه سوم منتقل می‌شوند. نورون‌های موجود در این دو لایه از شبکیه زمینه پذیرای پیچیده ای که آنها را قادر به تشخیص تضادهای تغییراتی در یک تصویر می‌کند را ارائه می‌دهند: این تغییرات ممکن است لبه‌ها یا سایه‌ها را نشان دهند. سلول‌های Ganglion این اطلاعات را به همراه دیگر اطلاعات در مورد رنگ جمع‌آوری می‌کنند و خروجی خود را به مغز از طریق عصب بینایی ارسال می‌کنند. عصب یا Nerve بینایی در درجه اول اطلاعات را از طریق thalamus به قشاء مغزی (cerebral cortex) ارسال می‌کند. پس از ارسال اطلاعات در قسمت cerebral cortex ادراک بصری انسان به وقوع می‌پیوندد. اما در عین حال این عصب (Nerve) حامل اطلاعات مورد نیاز برای مکانیک دید نیز هست که به دو قسمت از ساقه مغز (brainstem) این اطلاعات را منتقل می‌کند. اولین قسمت از brainstem گروهی از سلول‌های هسته هستند که pretectum نام دارند که کنترل غیرارادی اندازه مردمک در پاسخ به شدت نور را بر عهده دارند. اطلاعات مربوط به اهداف متحرک و اطلاعات ساکن اسکن شده توسط چشم نیز به قسمت دوم در brainstem منتقل می‌شود، یک هسته که با نام superior colliculus شناخته می‌شود مسئول حرکات چشم در پرش‌های کوتاه هست. بخش دیگر از این دو قسمت saccades هست که به مغز اجازه درک یک اسکن هموار را با کمک چسباندن یک سری از تصاویر نسبتاً ثابت می‌دهد. Saccadic eye movement مشکل تاری شدید- که می‌تواند برای تصویر پیش بیاید – را حل می‌کند. چشم می‌تواند به صورت یکنواخت در سراسر چشم‌انداز بصری حرکت کند؛ saccadesها در بعضی از وضعیت‌ها تجربه بصری را ممکن و آسان می‌کنند مانند مشاهده چشم فرد دیگری برای شما، در حالی که آن فرد در تلاش برای نگاه کردن سرتاسر اتاق هست.

محل دقیق قسمت thalamus(تالاموس) در عمق مغز در تصویر سه بعدی

بسیاری از تصاویر از شبکیه چشم (retina) از طریق عصب بینایی به بخشی از thalamus که به نام (lateral geniculate nucleus) شناخته شده است و در اختصار (LGN) هم کفته می‌شود منتقل می‌شوند، thalamus در عمق مرکز مغز قرار گرفته. LGN ورودی شبکیه (retinal) را به جریان‌های موازی ای مورد جداسازی قرار می‌دهد که یکی حاوی رنگ و ساختار ثابت و دیگری حاوی تضادها (contrast) و حرکات هست. سلول‌هایی که پردازش رنگ و ساختار را انجام می‌دهند چهار لایه بالایی از شش لایه LGN را تشکیل می‌دهند. این چهار لایه به علت کوچکی سلول‌ها، parvocellular نامیده می‌شوند. سلول‌هایی که پردازش حرکات و تضادهای تصویر را انجام می‌دهند دو لایه پایینی LGN رو تشکیل می‌دهند و به علت بزرگی سلول‌های این قسمت، لایه magnocellular نامیده می‌شوند.

سلول‌های لایه‌های magnocellular و parvocellular همه راه‌ها را به بخش‌های پشت مغز و به سمت قشر بینایی اولیه (Visual cortex _ V1) طرح‌ریزی می‌کنند. سلول‌ها در V1 در چندین مسیر مرتب شده‌اند که این مسئله اجازه می‌دهد سیستم بینایی محل اشیاء را در فضا محاسبه کند. در ابتدا سلول‌های V1 به صورت retinotopically یا موضعی سازمان یافته‌اند، که به معنای این است که نقطه به نقطه روی نقشه بین شبکیه و قشر بینایی اولیه وجود دارد و مناطق همجوار در شبکیه چشم با مناطق همجوار در V1 مطابقت دارد؛ که این به V1 اجازه می‌دهد که موقعیت اشیا را در دو بعد از جهان بصری که افقی و عمودی (مختصات (x , y)) تعیین کند. بعد سوم و عمق نیز با مقایسه سیگنال‌های دو چشم توسط V1 نقشه‌برداری و تعیین می‌شود. این سیگنال‌ها در پشته سلولها که ستون ocular dominance نامیده می‌شوند پردازش می‌شوند، که یک الگوی شطرنجی اتصالات متناوب بین سمت چپ و چشم راست است. اختلافی جزئی در موقعیت یک شی نسبت به هر چشم وجود دارد که اجازه می‌دهد تا عمق توسط مثلث محاسبه شود.

در نهایت، V1 به ستون‌های جهت گیری سازمان یافته است، پشته از سلول‌ها که به شدت توسط خطوط یک جهت گیری داده شده، فعال می‌شوند. ستون‌های جهت امکان تشخیص لبه‌های اشیاء در جهان بصری را برایV1 را فراهم می‌سازند، و به طوری که آنها کار پیچیده ای از تشخیص بصری را شروع می‌کنند. سازمان ستونی از قشر بینایی اولیه برای اولین بار توسط David Hubel و Torsten Wiesel توصیف شده است، که در نتیجه بخاطر این موضوع جایزه نوبل ۱۹۸۱ را دریافت کرده‌اند.

جالب توجه است که این الگوی شطرنجی، سازمان ستونی V1 در هنگام تولد بسیار مبهم است. قشر بینایی یک نوزاد تازه متولد شده رشد بیش از حد (hypertrophy) , یا اتصالات اتفاقی دارد که باید به دقت و بر اساس تجربه بصری در بلند مدت هرس شوند، و در نهایت به ستون‌های جداگانه تعریف شده تبدیل شوند- این در واقع یک کاهش در تعداد اتصالات و نه افزایش اتصالات خواهد بود -که در نهایت توانایی نوزاد برای دیدن جزئیات ریز و به رسمیت شناختن اشکال و الگوها را بهبود می‌بخشد.

primary visual cortex (V1)

این نوع از پالایش وابسته، به فعالیت به V1 محدود نمی‌شود و در بسیاری از مناطق سراسر قشر مغز (cerebral cortex) رخ می‌دهد. در همان زمان که توانایی تبعیض خطوط و لبه در قشر بینایی اولیه بهبود می‌یابد، سلول‌ها را در قشر بینایی ثانویه (secondary visual cortex V2) , توانایی خود را برای تفسیر رنگ پالایش می‌کنند. V2 تا حد زیادی مسئول پدیده ثبات رنگ است؛ و این حقیقت را توضیح می‌دهد که واقعیت یک گل سرخ تحت تأثیر بسیاری از رنگ‌های مختلف نور توسط ما هنوز هم به رنگ سرخ به نظر می‌رسد. این طور گمان می‌شود که ثبات رنگ وقتی رخ می‌دهد که V2 می‌تواند یک شیء و نور محیط را مقایسه کند و می‌تواند برآورد رنگ روشنایی را کاهش دهد. با اینحال این پروسه با توجه به اینکه بیننده انتظار دارد که شیء بخصوص به چه رنگی داشته باشد، به شدت تحت تأثیر قرار می‌گیرد.

در حقیقت، تقریباً تمام ویژگی‌های مرتبه بالاتر از بینایی و منظره توسط انتظارات بر اساس تجربه گذشته تحت تأثیر قرار می‌گیرد. این ویژگی به گسترش رنگ و درک فرم موجود در V3 و V4، به چهره و تشخیص شیء در لوب temporal (جایی که تصویر ذهنی سه بعدی از آنچه که می‌بینیم در نهایت تشکیل می‌شود) و به حرکت و آگاهی از فضای موجود در لوب parietal می‌انجامد. هرچند چنین روش و تأثیراتی گاهی اجازه می‌دهد مغز تحت تأثیر تصورات نادرست فریب بخورد، برای مثال در مواقع خطای دید در برخی از تصاویر، ولی این روش پردازش به ما توانایی دیدن و پاسخ سریع به جهان بصری را داده است. از تشخیص روشنایی و تاریکی در شبکیه چشم (retina) تا خطوط انتزاعی در V1 تا تفسیر اشیا و روابط فضاییشان در ناحیه‌های بصری بالاتر، هر وظیفه ای در ادراک بصری کارایی و قدرت سیستم بینایی انسان را نشان می‌دهد.

موارد حال حاضر استفاده از تکنولوژی computer vision

  • کاربردهای غیرنظامی
    1. سرچ پیدا کردن تصاویر مشابه در سرویس‌های Google یا Bing
    2. سرویس‌های شناختی Microsoft
      1. پیدا کردن افراد یکسان در تصاویر حتی در صورتی که آنها تغییر فیافه داده باشند
      2. سرویس تشخیص احساسات لحظه ای افراد مبتنی بر تصاویر
      3. سرویس تشخیص سن افراد و جنسیت و . . . در تصاویر
      4. سرویس PhotoDNA
      5. سرویس قدرتمند تبدیل نوشته‌های موجود در تصاویر به متن
      6. تشخیص چهره در ویدئو به صورت real time
      7. تبدیل گفتار به متن
      8. تشخیص لحن گفتار بر پایه متن
      9. سرویس پیدا کردن مفاهیم بر پایه محتویات متنی
      10. سرویس‌های تشخیص زبان‌های طبیعی
      11. سرویس توصیف تصاویر
      12. ربات‌های چت پیشرفته (از جمله این ربات‌ها می شه به Tay در twitter اشاره کرد)
      13. و سرویس‌های دیگر . . . .
    3. سرویس‌های شناختی IBM
      1. تشخیص احساسات بر پایه تصاویر
      2. سرویس اپن سورس توصیف تصاویر با node.js (سورس code)
      3. توصیف محتواهای متنی
      4. سرویس شناختی آنالیز شبکه‌های اجتماعی
      5. ربات‌های خودکار پاسخ دهنده هوشمند به کاربران
      6. تشخیص احساسات بر پایهٔ محتوای متنی
      7. سرویس گراف‌های شناختی از داده‌های تاریک
      8. کسب و کارهای شناختی
      9. تشخیص real time ایتم‌های مختلف با تراشه SyNAPSE
      10. و سرویس‌های دیگر . . . .
    4. خودروهای خودران Google و بقیه شرکت‌ها
    5. استفاده برای تشخیص چهره درگرفتن عکس در تلفن‌های همراه همچنین استفاده در سرویس شبکه اجتماعی فیسبوک جهت نوشتن نام‌ها بر روی تصاویر
    6. استفاده در فروشگاه‌ها برای دنبال کردن سلایق بازدید کننده گان
    7. استفاده در تشخیص پلاک خودرو
    8. درمان بیماری‌ها و تومورها و سرطان با Nanobots های که انرژی خود را از برخورد اتفاقی با سلول‌ها به دست می آورند

 

ناو ACTUV

تصویری از رونمایی کشتی جنگی بدون سرنشین ضد زیر دریایی با قابلیت ردیابی ممتد یا به اختصار (ACTUV)

  • کاربردهای نظامی
    • تشخیص و شناسایی چهره افراد در فرودگاها و مراکز حساس دیگر
    • وسایل حرکتی بدون سرنشین _ مستقل (Uncrewed vehicle)
      1. خودروهای زمینی بدون سرنشین نظامی چند منظوره با قابلیت‌های استفاده موتوریزه و انتقال نیروها و تجهیزات . . . (Unmanned ground vehicle)
      2. زیردریایی بدون سرنشین: زیردریایی شرکت بوئینگ (Boeing submarine) که قابلیت ماه‌ها ماندن در زیر دریا و بررسی و ارسال اطلاعات به طور کاملاً مستقل را قادر می‌باشند
      3. ناوهای بدون سرنشین: ناوهای ضد زیردریایی ACTUV ساخت DARPA (سازمان پروژه‌های تحقیقاتی پیشرفتهٔ دفاعی)
      4. هواپیماهای بدون سرنشین و پهپادها با کنترل مستقل (Unmanned aerial vehicle)
      5. سیستم دفاع موشکی هوش مصنوعی (Artificially Intelligent Missile Defense System)
      6. فضاپیمای بدون سرنشین (Unmanned spacecraft)
      7. ربات‌های Humanoid (پروژه Atlas robot)
      8. Nanobots

منبع

مطالب مرتبط :

تفاوت بینایی ماشین و بینایی کامپیوتر

آشنایی با ماشین بینایی

آشنایی با بینایی ماشین و بینایی رایانه ای

مقدمه :

استفاده از الگوریتم‌های ابتکاری در  حل مسئله بهینه‌سازی امری ضروری و اجتناب‌ناپذیر است. این روش از توانایی مورچه‌ها در پیدا  کردن کوتاه‌ترین مسیر بین لانه و یک منبع غذایی الهام گرفته است. وقتی مورچه‌ها در محیط  اطراف حرکت می‌نمایند، اثری شیمیایی به نام فرومون از خود بجای می‌گذارند. وقتی  جمعیتی از مورچه‌ها از چند مسیر بین لانه و یک منبع غذایی حرکت می‌کنند، پس از  مدت زمان معینی مشاهده می‌شود که در مسیرهای متفاوت، فرومونهای برجای گذاشته شده  متفاوت می‌باشد. این امر ناشی از این واقعیت است که مورچه‌هایی که در  مسیر کوتاه حرکت می‌کنند، به علت کوتاه‌تر بودن مسیر در یک مدت زمان معین‌تردد بیشتری داشته‌اند چون مورچه‌ها، مسیر کوتاه‌تر را انتخاب  کرده‌اند. با  استفاده از روش مورچه‌ها، روش جستجوئی پیاده‌سازی می‌شود که در هر مرحله‌ای از اطلاعات مراحل قبلی برای رسیدن به  هدف استفاده میگردد.

تاریخچه الگوریتم کلونی مورچه ها :

به‌کارگیری سیستم مورچگان اولین بار (الگوریتم مورچگان) توسط Dorgio و همکاران . به عنوان یک نگرش با چندین عامل برای حل مسائل بهینه‌سازی ترکیبی یا راه‌حل چندعامله (multi Agent) مشکل، مانند مسئله فروشنده دوره گرد یا (TSP) (Traveling Sales Person)  و مسئله تخصیص منابع یا QAP پیشنهاد و ارائه شد.

الگوریتم بهینه سازی کلونی مورچه ها یا Ant Colony

Optimization و یا به اختصار ACO، که در سال 1992 توسط مارکو دوریگو  و در رساله دکتری وی مطرح شد، یکی از بارزترین نمونه ها برای روش   های هوش جمعی است. این الگوریتم از روی رفتار جمعی مورچه ها الهام گرفته شده   است. مورچه ها با همکاری یکدیگر، کوتاه ترین مسیر را میان لانه و منابع غذایی   پیدا می کنند تا بتوانند در کمترین زمان مواد غذایی را به لانه منتقل کنند. هر   کدام از مورچه ها، به تنهایی قادر به انجام چنین کاری نیستند

اما با همکاری و پیروی از چند اصل ساده، بهترین راه را پیدا می کنند.
به عنوان مثال، عملکرد مورچه های آرژانتینی  در یافتن کوتاه ترین مسیر بین لانه و منبع غذایی، بسیار عجیب و حیرت انگیز است. مورچه آرژانتینی عملا کور است و طبعا کوتاه ترین مسیر برای او مفهومی ندارد و توسط او قابل شناخت نمی باشد. اما با وجود چنین کمبودی، توده ای از این مورچه ها می توانند با همکاری یکدیگر، کوتاه ترین مسیر موجود بین لانه و محل مواد غذایی را پیدا کنند. این الگوریتم برای حل مسائلی که به صورت پیدا کردن کوتاه ترین مسیر در یک گراف قابل بیان هستند، طراحی شده است.

الگوریتم بهینه سازی کلونی مورچه ها یا ACO، از رفتار مورچه های طبیعی که در مجموعه ها بزرگ در کنار هم زندگی می کنند الهام گرفته شده است. الگوریتم های دیگری نیز بر اساس الگوریتم مورچه ها ساخته شده اند که همگی سیستمهای چند عاملی هستند و عامل ها مورچه های مصنوعی یا به اختصار مورچه هایی هستند که مشابه با مورچه های واقعی رفتار می کنند. الگوریتم مورچه ها، یک مثال بارز از هوش جمعی هستند که در آن عامل هایی که قابلیت چندان بالایی ندارند، در کنار هم و با همکاری یکدیگر می توانند نتایج بسیار خوبی به دست بیاورند. این الگوریتم برای حل وبررسی محدوده وسیعی از مسائل بهینه سازی به کار برده شده است.

1. اجتماعی بودن:

مطالعات نشان داده است که مورچه‌ها حشراتی اجتماعی هستند که در کلونی‌ها زندگی می‌کنند و رفتار آنها بیشتر در جهت بقاء کلونی است تا در جهت بقاء یک جزء از آن . در دنیای واقعی مورچه‌ها ابتدا به طور تصادفی به این سو و آن سو می‌روند تا غذا بیابند. سپس به لانه بر می‌گردند و ردّی از فرومون (Pheromone) به جا می گذارند. چنین ردهایی پس از باران به رنگ سفید در می‌آیند و قابل رویت اند. مورچه‌های دیگر وقتی این مسیر را می‌یابند، گاه پرسه زدن را رها کرده و آن را دنبال می‌کنند. سپس اگر به غذا برسند به خانه بر می‌گردند و رد دیگری از خود در کنار رد قبل می گذارند؛ و به عبارتی مسیر قبل را تقویت می‌کنند. فرومون به مرور تبخیر می‌شود که از سه جهت مفید است:

1. باعث می‌شود مسیر جذابیت کمتری برای مورچه‌های بعدی داشته باشد. از آنجا که یک مورچه در زمان دراز راه‌های کوتاه‌تر را بیش تر می‌پیماید و تقویت می‌کند هر راهی بین خانه و غذا که کوتاه‌تر(بهتر) باشد بیشتر تقویت می‌شود و آنکه دورتر است کمتر.

2. اگر فرومون اصلاً تبخیر نمی‌شد، مسیرهایی که چند بار طی می‌شدند، چنان بیش از حد جذّاب می‌شدند که جستجوی تصادفی برای غذا را بسیار محدود می‌کردند.

3. وقتی غذای انتهای یک مسیر جذاب تمام می‌شد رد باقی می ماند.لذا وقتی یک مورچه مسیر کوتاهی (خوبی) را از خانه تا غذا بیابد بقیهٔ مورچه‌ها به احتمال زیادی همان مسیر را دنبال می‌کنند و با تقویت مداوم آن مسیر و تبخیر ردهای دیگر،
به مرور همهٔ مورچه‌ها هم مسیر می‌شوند. هدف الگوریتم کلونی مورچه ها تقلید این رفتار توسط مورچه‌هایی مصنوعی ست که روی نمودار در حال حرکت اند. مساله یافتن کوتاه‌ترین مسیر است و حلالش این مورچه‌های مصنوعی اند.

2.هوشمندی توده‌ای: هوش جمعی (swarmIntelligence)

مورچه‌ها با وجود کور و کم‌هوش بودن کوتاهترین مسیر رفت و برگشت از خانه تا غذا را پیدا می‌کنند. این یکی از مهمترین و جالبترین رفتار مورچه‌ها می‌باشد که این نوع رفتار مورچه‌ها دارای نوعی هوشمندی توده‌ای است که عناصر رفتاری تصادفی(احتمال) دارند و بین آنها (همدیگر) هیچ نوع ارتباط مستقیمی وجود ندارد و آنها تنها بصورت غیرمستقیم و با استفاده از نشانه‌ها با یکدیگر در تماس هستند.

مورچه ها چگونه کوتاهترین مسیر را انتخاب می‌کنند؟

مورچه ها هنگام راه رفتن از خود ردی از ماده شیمیایی فرومون (pheromone) بجای می‌گذارند که البته این ماده بزودی تبخیر می‌شود ولی در کوتاه مدت بعنوان رد مورچه بر سطح زمین باقی می‌ماند. یک رفتار پایه‌ای ساده در مورچه ها وجود دارد.آنها هنگام انتخاب بین دو مسیر بصورت احتمالاتی (statistical) مسیری را انتخاب می‌کنند که فرومون بیشتری داشته باشد یا بعبارت دیگر مورچه هایبیشتری قبلاً از آن جا عبور کرده باشند.

مسیریابی با الهام از کلونی مورچه ها

  • ترشح اسید فرمیک در مسیر حرکت
  • دنبال کردن مسیرهای با اسید فرمیک بیشتر
  • تبخیر

تعاملات محلی ، محدود و ساده اعضای یک دسته و جمعیت  با محیط ، منتهی به یک رفتار جمعی هوشمندانه میشوداین تعاملات غالبا غریزی بوده وبدون نظارت انجام می گیرندنتیجه آن غالبا یک رفتار پیچیده و هوشمندانه جمعی و بطورخاص انجام بعضی بهینه سازی های پیچیده است این نوع هوشمندی هیچ نیازی به کنترل مرکزی و دید کلی نسبت به سیستم ندارد

  •   Stigmergy  :  ایده اصلی در تعاملات ارتباط با واسطه محیط  لانه سازی موریانه ها  ترشح اسید فرمیک توسط مورچه هامزایایی که هوش جمعی از آن بهره می برند
  • مقیاس پذیری(scalability): تعاملات توزیع شده موجودات
  • خطا پذیری(Fault tolerance)
  • عدم وجود کنترل متمرکز
  • قابلیت تطبیق پذیری عاملها
  • سرعت انتقال تغییر
  • تفکیک پذیری (modularity)
  • خودکار بودن سیستم : نیاز به نظارت انسان نیست
  • کارکرد موازی

الگوریتم های مبتنی برآمیزی در حل مسائل بهینه سازی ترکیبی داشته انددر بر گیرندة تعداد زیادی مورچه است که این ACOمورچه ها در طول گراف حرکت می کنندوکوتاهترین مسیر را پیدا می کنند . مورچه ها ، نوعادانشی درباره اینکه کدام مسیر کوتاه تر است راندارند بنابراین آنها به تنهایی ، فقط یک مسیر با کیفیت پایین را می توانند پیدا کنند ، ولی هماهنگیسراسری در میان مورچه های یک کولونی باعث می شود که مسیر های بهینه و کوتاه پیدا شوند .رفتار این مورچه ها( مورچه های مصنوعی ) ، از مورچه های واقعی مدل می شود . درجهانواقعی مورچه ها در حین حرکت درطول مسیرشان یک مقدار فرومون را در مسیر از خودبه جایمی گذارند . تصمیم گیری حرکت مورچه دریک مسیر بر اساس غلظت فرومون آن مسیر انجاممیشود . مورچه ها ترجیح می دهند از مسیری حرکت کنند که مقدار فرومون آن زیاد است . ازطرفی مورچه های مصنوعی یکسری خصوصیات گسترده تری دارند

که در مورچه های طبیعی یافت نمی شود . به اینصورت که حرکت آنها معمولا سازگار با عملیاتقبلی شان است که در یک ساختار داده ویژه ای ذخیره شده است . این مورچه ها در طول حرکت ازیک گره به گره دیگر مقداری فرومون را متناسب با مسیر ازخود به جای می گذارند ، به اینصورت که اگر مورچه در حرکت خود از گره مبدأ به گره مقصد مسیر کوتاه ومناسبی را انتخابکرده باشد ، میانگین توزیع فرومون در آن مسیر زیاد خواهد بود و از طرف دیگر اگر مسیرضعیفیرا طی کرده باشد ، مقدار فرومون در طول مسیر کم خواهد بود. در واقع مقدار فرومون باقی ماندهدر مسیر متناسب با کیفیت مسیر است . به این ترتیب مورچه ها در یک گراف ، کوتاهترین مسیر هارا پیدا می کنند.

ویژگیهای الگوریتم کلونی مورچه ها:

الگوریتم مورچگان:

1. چندمنظوره میباشد: می‌تواند برای انواع مشابه یک مسأله به کار رود.

2قوی می باشد:یعنی با کمترین تغییرات برای دیگر مسائل بهینه‌سازی ترکیبی به کار برده می‌شود

3.یک روش مبتنی بر جمعیت می‌باشد.

 مزیت های ACO :

1. ایجاد انعطاف در حل هرگونه مسئله بهینه‌سازی

2. پسخورد مثبت (پسخورد مثبت، منجر به کشف سریع جوابهاب خوب می‌شود)

3. محاسبات توزیع شده (محاسبات توزیع شده از همگرایی زودرس وبی‌موقع جلوگیری می‌کند)

4. هیوریستیک آزمند سازنده (به کشف جوابهای قابل قبول در مراحل اولیه جستجو کمک می‌کند).

کاربردهای الگوریتم کلونی مورچه ها:

از کاربردهای الگوریتم (ACO) می‌توان به بهینه کردن هر مسئله‌ای که نیاز به یافتن کوتاهترین مسیر دارد استفاده می شود:

  • مسیریابی داخل شهری و بین شهری
  • مسیریابی بین پست‌های شبکه‌های توزیع برق ولتاژ بالا
  • مسیریابی شبکه‌های کامپیوتری
  • مسیر یابی تامین مواد اولیه جهت تولید به هنگام
  • برنامه ریزی دروس دانشگاهی
  • توازن بار ترافیک شبکه ومسیریابی مبتنی برمهندسی ترافیک
  • کاوش استفاده از وب با استفاده از کلونی مورچه ها
  • مسئله زمان بندی حرکت قطار ها
  • برنامه ریزی پرواز
  • بهینه سازی سکوهای دریا
  • مسیریابی شبکه های کامپیوتری
  • مسأله راهیابی در شبکه های مخابرات راه دور

 

از کابردهای این الگوریتم، رسیدن به راه حل تقریباً بهینه در مسئله فروشنده دوره‌گرد است. به طوری که انواع الگوریتم مورچه ها برای حل این مساله تهیه شده. زیرا این روش عددی نسبت به روشهای تحلیلی و genetic در مواردی که نمودار مدام با زمان تغییر کند یک مزیت دارد؛ و آن این که الگوریتمی ست با قابلیت تکرار. و لذا با گذر زمان می‌تواند جواب را به طورزنده تغییر دهد. که این خاصیت در روتینگ شبکه‌های کامپیوتری و سامانه حمل و نقل شهری مهم است.

پروسه پیدا کردن کوتاه‌ترین مسیر توسط مورچه ها، ویژگی‌های بسیار جالبی دارد، اول از همه قابلیت تعمیم زیاد و خود- سازمانده بودن آن است. در ضمن هیچ مکانیزم کنترل مرکزی ای وجود ندارد. ویژگی دوم قدرت زیاد آن است. سیستم شامل تعداد زیادی از عواملی است که به تنهایی بی اهمیت هستند بنابراین حتی تلفات یک عامل مهم، تاثیر زیادی روی کارآیی سیستم ندارد. سومین ویژگی این است که، پروسه یک فرآیند تطبیقی است. از آنجا که رفتار هیچ کدام از مورچه ها معین نیست و تعدادی از مورچه ها همچنان مسیر طولانی تر را انتخاب میکنند، سیستم می تواند خود را با تغییرات محیط منطبق کند و ویژگی آخر اینکه این پروسه قابل توسعه است و می تواند به اندازهٔ دلخواه بزرگ شود.
همین ویژگی‌ها الهام بخش طراحی الگوریتم هایی شده اند که در مسائلی که نیازمند این ویژگی‌ها هستند کاربرد دارند. اولین الگوریتمی که بر این اساس معرفی شد،الگوریتم ABC بود. چند نمونه دیگر از این الگوریتم‌ها عبارتند از: Ant Net،ARA،PERA، Ant Hot Net

نرم‌افزارهای کاربردی در الگوریتم کلونی مورچه ها:

 در برنامه‌های کامپیوتری الگوریتم از زبان برنامه‌نویسی  (Borland C ++5.02,C) نیز استفاده می‌شود مدلهای ریاضی که دراین الگوریتم استفاده می‌شود جوابهای آن بااستفاده از نرم‌افزار LINGO بدست می‌آید.

جمع‌بندی و نتیجه‌گیری:

روشهای بهینه‌یابی موجود برای حل مسائل سخت که بطور عمده شامل تعداد بسیار زیادی متغیر و محدودیت می‌باشند که از کارآیی عملی آنها در حل مسائل با ابعاد واقعی می‌کاهد. بدین علت از الگوریتمهای ابتکاری و فوق ابتکاری هیوریستیک بر مبنای بهینه‌یابی کلنی مورچگان استفاده نمود.استفاده از الگوریتم لانه مورچه و اقتباس از آن در صنعت برای یافتن کوتاهترین مسیر جهت تأمین بهنگام مواد و قطعات باعث کاهش هزینه‌های تولید و انبارداری و بهبود بهره‌وری می‌شود . می توان از روی این الگوریتم برای مسائل چندین عامله نمونه سازی کرد ولااقل به جوابی در حد بهینه و در کمترین زمان یافت.

منبع


منابع

http://fa.wikipedia.org

http://www.asriran.com

http://www.radoo.ir/

http://rayanehmag.net

http://farhanian.blogsky.com

الگوریتم کلونی مورچه ها قسمت 1
الگوریتم کلونی مورچه ها قسمت 2
الگوریتم کلونی مورچه ها قسمت 3

۱– Behavioral- خصوصیات رفتاری

چندین تکنیک رفتاری برای تایید هویت وجود دارد که به اختصار به آن ها اشاره می کنیم.

۱-۱ تایید امضاخصوصیات رفتاری

بررسی خودکار امضاء تعمیمی از یک پروسه آشناست. در حالیکه اپراتور انسانی شکل نهایی امضاء را بررسی میکند، بیشتر شکلهای خودکار تایید امضاء، تاکید بیشتری روی حرکتهای پروسه امضا کردن دارند. سرعت نسبی که خطها کشیده می شود و فشار وارده، سیستم را قادر میسازد که سنجشهای انجام شده را بین امضاها حتی جایی که محیط کاملا متفاوت است, مقایسه کند و بیشتر تلاشها برای جعل امضا را با شکست مواجه کندالگوی مرجع امضا معمولا ۱ کیلو بایت است که این حجم کم دیتا این تکنیک را برای استفاده آنلاین یا بهمراه کارت هوشمند مناسب میسازد. یک فایده جانبی بیشتر سیستمهای تایید امضا این است که با ثبت امضاء بعنوان اثبات تراکنش صورت گرفته، باعث کم شدن سیستمهای برپایه کاغذ می شود و احتیاج به مستندسازی کاغذی را مرتفع می کند.

۲-۱ الگو و دینامیک تایپ کلید

روشی که یک نفر با صفحه کلید تایپ می کند با امضا کردن تشابهاتی دارد. الگو های تایپیست های ماهر تقریبا خیلی زود از الگوهای تایپ کردنشان تشخیص داده می شود. پیاده سازی های فعلی به دلیل مشکلات یکسان نبودن صفحه کلیدها و تاخیرهای نرم افزار سیستم به آزمایشگاه محدود هستند. از طرف دیگر، هزینه اضافی پایین و عملیات شفاف, این روش را به یک تکنیک بسیار جذاب برای کاربردهایی مثل محافظت کردن از تعداد کمی از کاربرهای با الویت بالا در سیستم کامپیوتری، تبدیل می کند.

۱-۳ تشخیص صدا

سیستم های تشخیص صدا به راحتی توسط مشتریان پذیرفته می شود، اما متاسفانه هنوز به سطح کارایی که مورد نیاز بیشتر محیط های تجاری هستند، نرسیده اند. استفاده از تشخیص صدا اجازه بررسی بیش از یک مورد را می دهد: سیستم می تواند تست کند که چه چیز گفته می شود به علاوه این که چگونه گفته می شود. در بعضی از محیط ها پیاده سازی این سیستم هزینه خیلی کمی دارد. تشخیص صدا شاخه ای از فناوری پردازش صوت است که کاربردهای بسیار وسیع تری در زمینه های دیگر، به خصوص در سیستم های تلفنی دیجیتالی و کنفرانس تصویری دارد. نکته جالب توجه این است که مشخصاتی از صدا که توسط این سیستم ها سنجیده می شود با آن هایی که یک انسان شنونده توجه می کند، تفاوت دارند، در حالی که شخصی که با تقلید صدا می خواهد خود را جای شخص دیگر نشان بده، روی مشخصات انسانی تمرکز می کند.

۲– Physiometric – خصوصیات فیزیکی

سنجش اعضا بدن از قدیمی ترین روش های تشخیص هویت است که با پیشرفت فناوری به تنوع آن افزوده شده است.

۱-۲ اثر انگشت

این روش قدیمی ترین روش آزمایش تشخیص هویت از راه دور است. اگرچه قبلا اثر انگشت تنها در زمینه جرم قابل بحث بود، تحقیقات در بسیاری کشورها سطحی از پذیرش را نشان می دهد که به این روش اجازه استفاده در برنامه های عمومی می دهد. سیستم ها می توانند جزئیاتی از اثر انگشت (نقاطی مانند تقاطعها یا کناره های برجستگی ها) یا کل تصویر را بگیرند. الگوهای مرجع که برای حفظ این جزئیات به کار می رود در حدود۱۰۰ بایت هستند که در مقایسه با تصویر کاملی که از اثر انگشت با حجم ۵۰۰ تا ۱۵۰۰ بایت میباشد, بسیار کوچک تر هستنددر برنامه های عمومی مشکلاتی در ثبات وجود دارد. بعضی کارگران و افراد سیگاری اغلب انگشتانی دارند که تحلیل اثر انگشت آنان مشکل است. با این وجود، طرح های بلند مدت و موفق زیادی در استفاده از اثر انگشت وجود داشته استدر حال حاضر اثر انگشت خوان های زیادی در بسیاری از کشور های دنیا وجود دارند که به همراه بعضی کارتخوان ها استفاده می شود. اگرچه در حال حاضر قیمت آن ها چندان پایین نیست اما میزان عرضه آنان در فروشگاه های کامپیوتر عادی باعث افت سریع قیمت آنان خواهد شد.

۲-۲ هندسه دست

هندسه دست امتیاز بالایی در راحتی استفاده بدلیل بزرگ بودن کسب میکند و میتواند با استفاده از سیستم راهنما در جای ثابتی قرار بگیرد. دست توسط مجموعه ای برجستگیهای مشخص به موقعیت صحیح برای اسکن شدن هدایت می شود و تصویر توسط یک دوربین CCD گرفته می شود.الگوی مرجع میتواند از نظر حجم خیلی کوچک باشد. (محصولی که بیشترین وسعت استفاده تجاری را در حال حاضر دارد تنها از ۹ بایت استفاده می کند). اگرچه تغییرات روزانه مانند کثیفی روی کارایی آن تاثیر ندارد اما سنجش می تواند بوسیله جراحت یا افزایش سن تاثیر بپذیرد و اگر الگو مرتبا نتواند بروز شود، عملیات ثبت مجدد در هر زمانی لازم است.

۳-۲ اسکن شبکیه

اسکنرهای شبکیه مشخصات الگوهای رگ های خونی روی شبکیه را با استفاده از لیزر مادون قرمز کم قدرت و دوربین می سنجند. در این روش، برای بدست آوردن یک تصویر متمرکز, چشم باید نزدیک دوربین قرار بگیرد. الگوهای مرجع بسیار کوچک هستند (۳۵ بایت در بیشتر سیستمهای تجاری معمول). تحقیقات پزشکی اخیر نشان داده است که مشخصات شبکیه برخلاف آنچه در گذشته تصور می شد، پایدار نیست و توسط بعضی بیماری ها که حتی ممکن است خود شخص مطلع نباشد تغییر می کنند. بسیاری از افراد نگران قرار دادن چشم خود درتماس نزدیک با منبع نور هستند. به همین دلیل، این روش جای خود را به اسکن عنبیه داده است.

۴-۲ اسکن عنبیه

اسکنرهای عنبیه رگه‌های موجود در عنبیه چشم را مورد سنجش قرار می دهند. این تکنیک به عنوان نتیجه ای از تعداد زیادی از ویژگی ها، سطح بالایی از تفاوت را به وجود می آورد و نسبت به گذشت زمان پایداری بالایی داردکاربر باید از فاصله ۳۰ سانتیمتری یا بیشتر برای چند ثانیه به دوربین نگاه کند. سیستم با عینک و لنزهای تماسی کاربران تطابق دارد، هرچند که سنسور باید طوری قرار بگیرد یا تغییر کند که برای کابران با قدهای متفاوت و آن هایی که روی صندلی چرخدار قرار دارند، مناسب باشداسکن عنبیه از تمام مواردی که شرح داده شد، جدیدتر است.  از نظر نظری، هر بخش از ساختمان بدن انسان می تواند در زیست سنجی قابل استفاده قرار گیرد. اما طرح های تجاری روی آن هایی تمرکز شده است که به راحتی سنجیده می شود و از طرف جامعه آسان تر پذیرفته می شود. گاهی لازم است بررسی شود که سنجش برروی یک شخص زنده انجام می شود تا یک کپی. یک روش که مستقیما از خصوصیات زنده استفاده می کند اسکن سیاهرگ است. موقعیت سیاهرگ از طریق جریان خون گرم سنجیده می شود. تشخیص های مربوط به صورت تکنیکی که بیشتر توسط انسان ها استفاده می شود. یک زیست سنجی قابل دوام است، مخصوصا جایی که دوربین ها از قبل استفاده می شود و جایی که بررسی کلی، همه آن چیزی است که مورد نیاز است. ویژگی های مشخص یا نقاط برجسته سنجیده برای ایجاد الگوی مرجع استفاده می شودآخرین زیست سنجی مربوط به تحلیل DNA است. به هر حال، با اطمینان می توان گفت که هنوز خیلی سال مانده است تا این روش در بررسی هویت در فروشگاه های عادی یا هنگام سوار شدن به اتوبوس مورد استفاده قرار گیرد.

زیست سنجی و کارت ها

بعضی تکنیک های شناسایی، به ویژه کلمات عبور، استثنائا برای پیاده سازی در سیستم توزیع شده مناسب سازی شده اند. آن ها کمترین حجم ذخیره سازی و پردازش را دارند، اما همچنان که دیدیم، به عنوان ابزار چندان امنی شناخته نمی شودبه هرحال احتیاجات فضای ذخیره سازی یک عامل محدودکننده است. بیشتر الگوهای مرجع به ۴۰ تا ۱۵۰۰ بایت برای ذخیره شدن احتیاج دارند. الگوهای مرجع کوچک تر می توانند روی کارت های مغناطیسی یا بارکدها ذخیره شوند. برای الگوهای بزرگ تر می توان از بارکدهای دو بعدی یا هلوگرام ها استفاده کرد، اما تقریبا هر جایی که ذخیره امن مورد نیاز است راضی کننده ترین پاسخ استفاده از کارت هوشمند استکارت ها ابزار مناسبی برای ترکیب زیست سنجی ها هستند. اگر دو یا سه عامل زیست سنجی روی کارت ذخیره شوند، اشتباهات در عدم تایید افراد ذینفع به حداقل می رسد یا همان کارت می تواند در محیط های متفاوت مورد استفاده قرار گیرد: تشخیص صدا برای سیستم تلفن، اثرانگشت برای کار با کامپیوتر و یک PIN برای خرید و فروش. استفاده از چنین زیست سنجی های لایه بندی شده ای امروزه در حال آغاز در تجارت هستند.

تشخیص هویت زیست سنجی و بیومتریک قسمت 1
تشخیص هویت زیست سنجی و بیومتریک قسمت 2
تشخیص هویت زیست سنجی و بیومتریک قسمت 3
تشخیص هویت زیست سنجی و بیومتریک قسمت 4
تشخیص هویت زیست سنجی و بیومتریک قسمت 5

ریشه شناسی ربات (اتیمولوژی)

واژه ربات برای اولین بار توسط کارل چاپک نویسنده اهل جمهوری چک و در نمایشنامه کارخانه ربات‌سازی روسوم در سال 1920 مورداستفاده قرار گرفت. این نمایشنامه در یک کارخانه شروع می شود که در آن از یک ماده شیمیایی به‌جای پروتوپلاسم(بخش زنده سلول) استفاده می شود تا بتوان انس آن‌هایی زنده ولی ساده را تولید کرد که به آن‌ها ربات گفته می شود. این نمایشنامه بر روی جزئیات تکنولوژیکی ساخت این موجودات زنده تمرکز نمی کند اما ظاهر این موجودات، دربردارنده ایده های اولیه ربات‌های انسان‌نما ( اندروید) می باشد. این ربات‌های کارگر که به طور انبوه تولید شده‌اند، به‌صورت بسیار پربازده ولی بدون احساس، ناتوان از فکر کردن به‌صورت ابتکاری و بی تفاوت نسبت به حفظ جان خود به تصویر کشیده شده‌اند.

یکی از مشکلات مطرح‌شده در این نمایشنامه این است که آیا ربات‌ها مورد بهره کِشی قرار می‌گیرند یا نه و در ادامه تبعات وابستگی شدید انسان به نیروی کار مصنوعی نمایش داده می شود( به‌خصوص بعد از این‌که تعدادی از ربات‌های ساخته‌شده با روشی خاص، به خودآگاهی می رسند و ربات‌های سرتاسر دنیا را به شورش علیه انسان‌ها تحریک می کنند).

کارل چاپک خودش این واژه را اختراع نکرد. او نامه ای کوتاه به بخش ریشه شناسی فرهنگ لغت انگلیسی آکسفورد نوشت و در آن برادرش جوزف چاپک را که یک نویسنده و نقاش بود به‌عنوان خالق اولیه کلمه ربات معرفی کرد.

چاپک در مقاله ای که در مجله Lidové noviny (متعلق به جمهوری چک) منتشر شد توضیح داد که در ابتدا قصد داشت این موجودات را laboři( کارگر به زبان لاتین) نام‌گذاری کند اما از این کلمه خوشش نمی آمد، بنابراین از برادرش مشورت گرفت. جوزف نیز به او کلمه ی  roboti را پیشنهاد کرد.

Robota در زبان چک، از نظر ادبی به معنای بیگاری و کار اجباری و همچنین به‌صورت تلویحی به معنای کار سخت و دشوار است و همچنین در بسیاری از زبان‌های اسلاوی( مانند بلغاری،روسی، صربی، لهستانی، مقدونیه ای،اوکراینی و مجارستانی)، این واژه به معنای عمومی کار و نیروی کار است.

به طور سنتی، Robota مدت زمانی بود که یک کارگر باید به‌صورت اجباری در اختیار اربابش قرار می گرفت. این مدت به طور معمول 6 ماه از سال در نظر گرفته می‌شد. ریشه این کلمه در زبان اسلاوی کلیسایی باستان است که در آن rabota به معنی بندگی و خدمت اجباری است که البته خود این واژه نیز از ریشه  *orbh- متعلق به زبان پوروا هندواروپایی گرفته شده  است. واژه ربات با ریشه آلمانی Arbeit( به معنی کار) هم ریشه تلقی می شود.

واژه رباتیک به که برای توصیف علم بررسی ربات‌ها استفاده می شود، اولین بار توسط ایزاک آسیموف، نویسنده داستان‌های علمی-تخیلی استفاده شد. آسیموف، زمینه ای به نام “سه قانون اصلی رباتیک” را ساخت که در داستان‌های مختلف او مورداستفاده قرار گرفته است.

این قوانین در داستان‌های تخیلی دیگر که توسط نویسنده های مختلفی نوشته شده نیز مورداستفاده قرار گرفته اند ( سه قانون مطرح‌شده توسط آسیموف کاملا تخیلی هستند و هیچ فناوری که تاکنون ساخته‌شده باشد توانایی درک یا پیروی از آن‌ها را ندارد. درحقیقت، بسیاری از ربات‌ها برای کاربردهای نظامی ساخته می‌شوند که کاملا بر خلاف آنچه در قانون اول آسیموف گفته شده، است و در برخی موارد، قانون سوم او را نیز نقض می کند).

پروفسور Joanna Bryson از دانشگاه University of Bath در این باره می گوید: “مردم اغلب در مورد قانون های آسیموف فکر می کنند؛ اما این قوانین برای این طراحی شده بودند تا نشان دهند یک سیستم اخلاقی ساده هرگز موثر نخواهد بود؛ اگر داستان‌های کوتاه آسیموف را بخوانید خواهید دید که در تمامی آن‌ها، عدم پیروی ربات‌ها از قوانین آسیموف منجر به اتفاقات اصلی داستان می شود. پس می‌توان گفت این قوانین کاملا غیر کاربردی هستند”.

انواع ربات‌های مدرن

ربات‌های متحرک

ربات‌های متحرک می‌توانند در محیط اطرافشان حرکت کنند و به یک موقعیت مکانی مشخص محدود نیستند. به‌عنوان مثالی از یک ربات متحرک می‌توان به ارابه یا ربات های حمل و نقل خود راهنما (AGVs) اشاره کرد. AGV یک ربات متحرک به شمار می‌رود که علامت ها و یا سیم های بر روی کف زمین را دنبال می کند و یا با کمک دید خود و یا استفاده از لیرزها، از نقطه ای به نقطه دیگر جابجا می شود. AGV ها در ادامه مطلب به طور گسترده تری مورد بررسی قرار می‌گیرند.

نمونه ای از ربات های متحرک مشهور به ارابه یا ربات های حمل و نقل خود راهنما – AVGs

نمونه ای از ربات های متحرک مشهور به ارابه یا ربات های حمل و نقل خود راهنما – AVGs

ربات‌های متحرک در محیط های صنعتی، نظامی و امنیتی مورداستفاده قرار می‌گیرند. همچنین در بعضی موارد از این ربات‌ها به‌عنوان کالای مصرفی و به منظور سرگرمی یا انجام دادن کارهایی مشخص مانند جارو کردن خانه نیز استفاده می شود. ربات‌های متحرک موضوع اصلی بسیاری از تحقیقاتی هستند که در حال حاضر در زمینه رباتیک در حال انجام است و تقریباً هر دانشگاه بزرگی، یک یا دو آزمایشگاه را به تحقیق بر روی ربات‌های متحرک اختصاص داده است.

ربات‌های متحرک اغلب در محیط هایی که کنترل دقیقی بر روی آن‌ها صورت می‌گیرد، مثلا در خطوط مونتاژ، مورداستفاده قرار می‌گیرند زیرا این ربات‌ها در واکنش نشان دادن به دخالت های غیر منتظره مشکل خواهند داشت. به همین دلیل نیز انسان‌ها به ندرت با این گونه ربات‌ها روبرو می‌شوند. با این وجود، ربات‌های خانگی که برای تمیز کردن و نگهداری منزل به کار می روند در بسیاری از کشور های توسعه یافته متداول هستند. از ربات‌های متحرک در کاربردهای نظامی نیز استفاده می شود.

ربات‌های صنعتی

ربات‌های صنعتی اغلب از یک بازوی مفصل دار( بازوی مکانیکی چند قسمتی) و بخش انتهایی آن که به یک سطح ثابت متصل می شود، تشکیل شده‌اند. یکی از متداول ترین انواع بخش انتهایی، گیره ها هستند.

سازمان بین المللی استانداردسازی تعریف ربات صنعتی(بازوی مکانیکی) را در استاندارد  ISO 8373 به شرح زیر تعریف کرده است:

“یک بازوی مکانیکی با کنترل خودکار، قابل برنامه ریزی و چندکاره که می‌توان آن را در سه محور مختلف(یا بیشتر) برنامه ریزی کرد. این ربات می‌تواند به‌صورت ثابت در محل و یا متحرک، در کاربردهای اتوماسیون صنعتی مورداستفاده قرار بگیرد.”

این تعریف توسط فدراسیون بین المللی رباتیک، شبکه تحقیقات رباتیک اروپا (Euron) و بسیاری از کمیته های استاندارد کشور های مختلف مورد قبول واقع شده است.

ربات‌های خدماتی

بیشتر ربات‌های صنعتی و بازو های مکانیکی به‌صورت ثابت هستند و به منظور تولید و توزیع کالا ها مورداستفاده قرار می‌گیرند. اما واژه “ربات‌های خدماتی” به خوبی ربات‌های صنعتی تعریف نشده است. فدراسیون بین المللی رباتیک، تعریف اولیه ای را برای این گونه ربات‌های مشخص کرده است:” یک ربات خدماتی، رباتی است که برای ارائه خدماتی که رفاه انسان‌ها و تجهیزات مفید است، به‌صورت نیمه یا تمام خودگردان عمل می کند. این ربات در فعالیت های تولیدی شرکت نمی کند.”

نمونه ای از یک ربات خدماتی مشهور به TWENDY-ONE

نمونه ای از یک ربات خدماتی مشهور به TWENDY-ONE

ربات‌های آموزشی

می‌توان از ربات‌ها به‌عنوان وسایل کمک آموزشی برای معلمان استفاده کرد. از دهه 1980، ربات‌هایی به شکل لاک پشت در مدارس مورداستفاده قرار می گرفتند و دانش آموزان با استفاده از زبان برنامه‌نویسی لوگو، آن‌ها را برنامه ریزی می‌کردند.

امروزه کیت های رباتی مانند Lego Mindstorms NXT،  BIOLOID، OLLO و یا ربات‌های آموزشی شرکت BotBrain در بازار موجود هستند. این کیت ها به کودکان کمک می کنند تا در مورد ریاضی، فیزیک، برنامه‌نویسی و الکترونیک چیز های مختلفی یاد بگیرند. ربات‌ها حتی از طریق مسابقات رباتیک، وارد زندگی دانش آموزان مقاطع ابتدایی و دبیرستان نیز شده است و هر ساله مسابقات مختلفی  در سرتاسر جهان برگزار می شود.

کیت رباتیLego Mindstorms NXT از سری ربات های آموزشی

کیت رباتیLego Mindstorms NXT از سری ربات های آموزشی

البته دستگاه‌هایی نیز وجود دارند که به شکل ربات طراحی شده‌اند که به‌عنوان نمونه می‌توان به کامپیوتر معلم به نام  Leachim و یا  2-XL که یک اسباب بازی آموزشی به شکل ربات است اشاره کرد. هر دو این وسایل توسط  Michael J. Freeman ساخته‌شده‌اند.

ربات‌های ماژولار (تکه ای)

ربات‌های ماژولار، نسل جدیدی از ربات‌ها هستند که قرار است با تکه ای کردن ساختار ربات‌ها، موارد کاربرد آن‌ها را بیشتر کنند. بهبود عملکرد و بازده ربات‌های ماژولار نسبت به ربات‌های معمولی آسان تر است. این ربات‌ها از یک نوع ماژول (تکه) مشابه یا چند نوع ماژول مختلف و یا ماژول های شبیه به هم که اندازه آن‌ها با هم متفاوت است، ساخته می‌شوند. ساختار این ربات‌ها باعث می شود تا امکان تغییر شکل های زیادی داشته باشند. در واقع می‌توان ربات‌های ماژولار را با بیش از 8 درجه آزادی نیز طراحی کرد. با این وجود، برنامه‌نویسی و سینماتیک و دینامیک معکوس برای این دسته از ربات‌ها نسبت به ربات‌های معمولی پیچیده تر است.

ربات‌های ماژولار ممکن است از ماژول های L شکل، ماژول های مکعبی، ماژول های H شکل و ماژول های U شکل تشکیل شوند. فناوری ANAT که اولین فناوری مخصوص برای ساخت ربات‌های ماژولار است و توسط شرکت Robotics Design طراحی شده، امکان ساخت ربات‌های ماژولار با ماژول های H و U شکل را فراهم می کند به طوری که این ماژول ها در زنجیره هایی به یکدیگر متصل هستند. از چنین سیستمی برای ساخت ربات‌های ماژولار با شکل های همگن و یا غیرهمگن استفاده می شود.

نمونه ای از ربات ماژولار

نمونه ای از ربات ماژولار

ربات‌های ساخته‌شده با فناوری ANAT را می‌توان با n درجه آزادی در نظر گرفت زیرا در این سیستم هر ماژول، یک سیستم رباتیک متحرک کامل است که به راحتی در برابر حرکت ماژول های قبل و بعد از خود در زنجیره، حرکت می کند و جابجا می شود. در نتیجه هر یک ماژول، امکان داشتن یک درجه​ آزادی را فراهم می کند. بنابراین، هرچقدر ماژول هایی بیشتری به یکدیگر متصل باشند، مجموعه آن‌ها درجه آزادی بیشتری خواهد داشت. ماژول های L شکل را نیز می‌توان به‌صورت زنجیره ای در آورد، البته با افزایش اندازه زنجیره، اندازه ماژول ها باید به ناچار کمتر شود زیرا در غیر این صورت، با اضافه شدن باری که به دو انتهای زنجیره وارد می شود، کرنش وارد بر ماژول هایی که در وسط زنجیره هستند افزایش می یابد.

ربات‌های ANAT با ماژول های H شکل از این مشکل رنج نمی‌برند زیرا طراحی آن‌ها به‌گونه‌ای است که به ربات اجازه می دهد تا فشار و ضربه‌ی وارده را به طور یکنواخت در سرتاسر ماژول ها پخش کند و در نتیجه با افزایش طول ربات، ظرفیت باربری آن کاهش نمی یابد. ربات‌های ماژولار را می‌توان به‌صورت دستی و یا خودکار مجددا تغییر شکل داد تا به رباتی دیگر تبدیل شود. در این فرآیند حتی ممکن است کاربرد ربات نیز عوض شود. به دلیل این‌که ربات‌های ماژولار با ساختار مشابه، از ماژول هایی تشکیل شده‌اند که برای ربات‌های مختلف استفاده می‌شوند، می‌توان یک ربات ماژولار به شکل مار را با رباتی مشابه ترکیب کرد تا یک ربات چند بازویی به دست آورد، یا حتی می‌توان آن را به ربات‌های کوچک تری تقسیم کرد که هر کدامشان باز هم می‌توانند به ربات‌های کوچکتری تقسیم شوند. این قابلیت به یک ربات ماژولار اجازه می دهد در یک وظیفه مشخص،  به‌صورت کاملا تخصصی عمل کند یا توانایی انجام چند وظیفه مختلف را به طور همزمان داشته باشد.

فنّاوری ربات‌های ماژولار امروزه در حمل و نقل هیبریدی، اتوماسیون صنعتی، نظافت و تعمیر کانال های تهویه هوا مورداستفاده قرار می‌گیرد. بسیاری از مراکز تحقیقاتی و دانشگاه ها نیز بر روی این فنّاوری تحقیق کرده‌اند و حتی توانسته اند نمونه های اولیه موفقی را نیز بسازند.

ربات‌های مشارکتی

ربات‌های مشارکتی یا همکار که به آن‌ها کوبات نیز گفته می شود، ربات‌هایی هستند که می‌توانند در حین انجام مسئولیت‌های صنعتی ساده، به‌صورت ایمن و موثر با کارگران تعامل داشته باشند. با این وجود بازوهای ربات و سایر شرایط محیطی در کارگاه ممکن است باعث ایجاد حوادثی شوند؛ در نتیجه لازم است تا قبل از از هرگونه استفاده واقعی، تحلیل خطرات احتمالی انجام شود.

ربات‌های مشارکتی که امروزه در صنعت مورداستفاده قرار می‌گیرند عمدتاً ساخت شرکت  Universal Robots در کشور دانمارک هستند.

شرکت Rethink Robotics که توسط  Rodney Brooks تاسیس شده، در سپتامبر سال 2012 رباتی به نام  Baxter را معرفی کرد. این ربات، یک ربات صنعتی است که به‌گونه‌ای طراحی شده تا بتواند با سایر کارگران در محیط کارگاه، به طور ایمن تعامل داشته باشد و بتوان آن را برای انجام کار های ساده برنامه ریزی کرد.

ربات‌های Baxter در صورتی که انسانی در مسیر بازو های رباتیک آن‌ها قرار داشته باشد متوقف می‌شوند و همچنین کلید های مخصوص خاموش کردن ربات نیز به‌صورت برجسته بر روی بدنه آن‌ها نصب شده است. این ربات‌ها که با هدف فروش به کسب و کار های کوچک ساخته‌شده‌اند، به‌عنوان معادل رباتیک یک کامپیوتر شخصی تلقی می‌شوند. تا ماه مِی 2014، 190 شرکت در ایالات‌متحده ربات‌های Baxter را خریداری کرده‌اند و این ربات‌ها در بریتانیا نیز به‌صورت تجاری مورداستفاده قرار می‌گیرند.

ربات‌ها در جامعه

تقریباً نصف ربات‌های جهان در قاره آسیا، 32 درصد در اروپا، 16 درصد در آمریکای شمالی، 1 درصد در استرالیا و 1 درصد نیز در آفریقا هستند. 40 درصد تمام ربات‌های جهان در کشور ژاپن هستند که این کشور را به بزرگترین کشور از نظر تعداد ربات‌ها تبدیل می کند.

استقلال ربات‌ها و سوالات اخلاقی مطرح‌شده

با پیشرفته تر شدن ربات‌ها، این سوال که چه قوانین اخلاقی  می‌تواند رفتار آن‌ها کنترل کند توسط متخصصان و دانشگاهیان متعددی بررسی شده است. سوال دیگری که در این زمینه مطرح است این است که آیا ربات‌ها می‌توانند داشتن هر نوع حق اجتماعی، فرهنگی، اخلاقی یا حقوقی را ادعا کنند یا خیر. یک تیم از دانشمندان اعلام کرده که ممکن است تا سال 2019، مغز رباتیک ساخته شود. عده ای دیگر پیش بینی می کنند هوش رباتیک تا سال 2050 به طرز چشمگیری گسترش خواهد یافت. پیشرفت های اخیر، رفتار ربات‌ها را بسیار پیچیده تر از قبل کرده است. تاثیر اجتماعی ربات‌های هوشمند موضوع مستندی به نام  Plug & Pray محصول سال 2010 میلادی است. Vernor Vinge

(متخصص و رمان نویس آمریکایی) اعلام کرده ممکن است زمانی برسد که کامپیوتر ها و ربات‌ها از انسان باهوش تر شوند. او این پدیده را تکینگی فناوری نامیده است. او همچنین معتقد است این پدیده می‌تواند برای انسان‌ها تا حدودی یا حتی به مقدار زیادی خطرناک باشد. عواقب احتمالی و راهکار مناسب برای این پدیده در مکتبی که به نام سینگولاریتاریانیسم (Singularitarianism)  شناخته می شود، مورد بحث و بررسی قرار می‌گیرد.

در سال 2009، متخصصان در کنفرانسی به میزبانی انجمن پیشبرد هوش مصنوعی (AAAI) شرکت کردند و در مورد این‌که آیا ممکن است ربات‌ها بتوانند هرگونه استقلالی به دست بیاورند و در صورت استقلال آن‌ها، این امر چقدر می‌تواند برای انسان‌ها تهدید یا خطر به شمار رود، بحث و گفتگو کردند. آن‌ها به این مطلب اشاره کردند که برخی از ربات‌ها توانسته اند به شکل های مختلفی از نیمه استقلال برسند. برای مثال بعضی از ربات‌ها می‌توانند خودشان منبع انرژی را پیدا کنند و یا به طور کاملا مستقل، از بین دشمنان، اهدافی را انتخاب کرده و با استفاده از سلاح هایشان به آن‌ها حمله کنند. آن‌ها همچنین به این مطلب اشاره کردند که برخی از ویروس های کامپیوتری می‌توانند در مقابل پاک سازی مقاومت کنند و به درجه “هوش سوسک ها” رسیده اند. البته دستیابی ربات خودآگاهی کامل، یعنی مشابه آنچه در بسیاری از کتاب ها و فیلم های علمی-تخیلی دیده می شود، محتمل نیست، اما خطرات و مشکلات احتمالی دیگری وجود دارد. منابع رسانه ای و گروه های علمی مختلفی به روند تغییرات مشابهی در بخش های مختلف رباتیک اشاره کرده‌اند که در کنار هم ممکن است منجر به افزایش کاربردهای ربات‌ها و خودگردانی و استقلال آن‌ها شود که طبیعتا نگرانی‌هایی را نیز در بر خواهد داشت. در سال 2015،  نشان داده شد که ربات‌های Nao alderen توانایی داشتن درجه ای از خودآگاهی را نیز دارند. محققین آزمایشگاه هوش مصنوعی و منطق موسسه پلی تکنیک   Rensselaer  در نیویورک، آزمایشی را انجام دادند که در آن ربات به خودآگاهی رسید؛ و وقتی این اتفاق افتاد ربات جواب قبلی خود به یک سوال مشخص را اصلاح کرد.

ربات‌های نظامی

بعضی از متخصصان و اعضای جامعه دانشگاهی، استفاده از ربات‌ها برای نبرد نظامی، به‌خصوص زمانی که دارای قابلیت‌های خودگردانی و استقلال نسبی باشند را زیرسوال برده اند. همچنین نگرانی‌هایی نیز در مورد فناوری که امکان کنترل ربات‌های مسلح را توسط ربات‌های دیگر فراهم می کند وجود دارد. نیروی دریایی ایالات‌متحده، با بودجه خود گزارشی را تهیه کرده که می گوید با پیچیده تر شدن و پیشرفت ربات‌های نظامی، باید به پیامد های تصمیم گیری آن‌ها به‌صورت مستقل، توجه بیشتری شود. یکی از محققان اعلام کرده که ربات‌های خودگردان می‌توانند رفتار انسانی تری داشته باشند زیرا می‌توانند به طور موثری تصمیم گیری کنند اما سایر متخصصان این مطلب را قبول ندارند.

در سال 2012، ربات چهارپای نظامی Cheetah که نسخه تکامل یافته BigDog می باشد با شکستن رکورد ربات دوپایی MIT که مربوط به سال 1989 بود به‌عنوان سریع ترین ربات دنیا شناخته شد.

در سال 2012، ربات چهارپای نظامی Cheetah که نسخه تکامل یافته BigDog می باشد با شکستن رکورد ربات دوپایی MIT که مربوط به سال 1989 بود به‌عنوان سریع ترین ربات دنیا شناخته شد.

رباتی که نگرانی های عمومی زیادی را در این زمینه ایجاد کرده است  EATR نام دارد. این ربات می‌تواند سوخت مورد نیاز خود را به طور پیوسته و با استفاده از مواد آلی تامین کند. موتور EATR به‌گونه‌ای طراحی شده تا با استفاده از بیومَس و پوشش گیاهی که به طور مشخص توسط سنسورهایش انتخاب می شود کار کند. ربات می‌تواند این مواد را در میدان جنگ و یا در محل های دیگر پیدا کند. البته مسئولین پروژه اعلام کرده‌اند که این ربات می‌تواند از چربی مرغ نیز به‌عنوان سوخت استفاده کند.

Manuel De Landa، نویسنده و فیلسوف آمریکایی معتقد است موشک های هوشمند و بمب های خودگردان که به درک مصنوعی مجهز هستند نیز می‌توانند به‌عنوان ربات تلقی شوند زیرا می‌توانند به در بعضی موارد به‌صورت مستقل تصمیم بگیرند. او معتقد است این کار، روندی مهم و بسیار خطرناک است که در آن انسان‌ها، مسئولیت اتخاذ تصمیم های مهم را به ماشین‌ها واگذار می کنند.

ربات چیست؟ قسمت 1
ربات چیست؟ قسمت 2
ربات چیست؟ قسمت 3
ربات چیست؟ قسمت 4
ربات چیست؟ قسمت 5
ربات چیست؟ قسمت 6
ربات چیست؟ قسمت 7
ربات چیست؟ قسمت 8

آسیمو ربات انسان نمای دوپا

ربات چیست؟ قسمت 1
ربات چیست؟ قسمت 2
ربات چیست؟ قسمت 3
ربات چیست؟ قسمت 4
ربات چیست؟ قسمت 5
ربات چیست؟ قسمت 6
ربات چیست؟ قسمت 7
ربات چیست؟ قسمت 8

شبکه عصبی مصنوعی به زبان ساده

یک شبکه عصبی مصنوعی (Artificial Neural Network – ANN) ایده ای برای پردازش اطلاعات است که از سیستم عصبی زیستی الهام گرفته و مانند مغز به پردازش اطلاعات می‌پردازد. عنصر کلیدی این ایده، ساختار جدید سیستم پردازش اطلاعات است. این سیستم از شمار زیادی عناصر پردازشی فوق العاده بهم پیوسته به نام نورون‌ها (neurons) تشکیل شده که برای حل یک مسئله با هم هماهنگ عمل می‌کنند.

شبکه های عصبی مصنوعی نیز مانند انسان‌ها با مثال یاد می گیرند و یک شبکه عصبی برای انجام وظیفه‌های مشخص مانند شناسایی الگوها و دسته بندی اطلاعات، در طول یک پروسه یاد گیری تنظیم می‌شود. در سیستم‌های زیستی، یاد گیری با تنظیماتی در اتصالات سیناپسی که بین اعصاب قرار دارد همراه است. از این روش در شبکه های عصبی نیز استفاده می‌شود.

شبکه های عصبی مصنوعی (ANN) که به اختصار به آن شبکه عصبی نیز گفته می‌شود، نوع خاصی از مدل یادگیری است که روش کارکرد سیناپس‌ها در مغز انسان را تقلید می‌کند.

شبکه های عصبی مصنوعی با پردازش داده‌های تجربی، دانش یا قانون نهفته در ورای داده‌ها را به ساختار شبکه منتقل می‌کند که به این عمل یادگیری می‌گویند. اصولاً توانایی یادگیری مهمترین ویژگی یک سیستم هوشمند است. سیستمی کهقابلیت یادگیری داشته باشد، منعطف تر است وساده تر برنامه‌ریزی می‌شود، بنابراین بهتر می‌تواند در مورد مسایل و معادلات جدید پاسخگو باشد.

ساختار شبکه عصبی

انسان‌ها از زمان‌های بسیار دور سعی بر آن داشتند که بیوفیزیولوژی مغز را دریابند زیرا که همواره مسئله هوشمندی انسان و قابلیت یادگیری، تعمیم، خلاقیت، انعطاف پذیری و پردازش موازی در مغز برای بشر جالب بوده و بکارگیری این قابلیت‌ها در ماشین‌ها بسیار مطلوب می‌نمود. روش‌های الگوریتمیک برای پیاده سازی این خصایص در ماشین‌ها مناسب نمی‌باشند، در نتیجه می‌بایست روش‌هایی مبتنی بر همان مدل‌های بیولوژیکی ابداع شوند.

شبکه عصبی-05

 

به عبارت دیگر شبکه‌ی عصبی  یک سامانه پردازش داده‌ها است که از مغز انسان ایده گرفته و پردازش داده‌ها را به عهدهپردازنده‌های کوچک و بسیار زیادی می‌سپارد که به صورت شبکه‌ای به هم پیوسته و موازی با یکدیگر برای حل یک مسئله رفتار می‌کنند. در این شبکه‌ها به کمک دانش برنامه نویسی، ساختار داده‌ای طراحی می‌شود که می‌تواند همانندنورون عمل کند. به این ساختار داده گره گفته می‌شود.

در این ساختار با ایجاد شبکه‌ای بین این گره‌ها و اعمال یک الگوریتم آموزشی به آن، شبکه را آموزش می‌دهند. در این حافظه یا شبکه عصبی گره‌ها دارای دو حالت فعال (روشن یا ۱) و غیرفعال (خاموش یا ۰) اند و هر یال (سیناپس یا ارتباط بین گره‌ها) دارای یک وزن می‌باشد. یال‌های با وزن مثبت، موجب تحریک یا فعال کردن گره غیر فعال بعدی می‌شوند و یال‌های با وزن منفی، گره متصل بعدی را غیر فعال یا مهار (در صورتی که فعال بوده باشد) می‌کنند.

مثالی برای  شبکه عصبی

در روش‌های محاسباتی سنتی، از یک سری عبارات منطقی برای اجرای یک عمل استفاده می‌شود؛ اما در مقابل، شبکه های عصبی از مجموعه نودها (به عنوان نرون) و یال‌ها (در نقش سیناپس) برای پردازش داده بهره می‌گیرند. در این سیستم، ورودی‌ها در شبکه به جریان افتاده و یک سری خروجی تولید می‌گردد.

 

شبکه عصبی-02

 

سپس خروجی‌ها با داده‌های معتبر مقایسه می‌گردند. مثلا فرض کنید می‌خواهید کامپیوتر خود را به گونه‌ای آموزش دهید که تصویر گربه را تشخیص دهد. برای این کار میلیون‌ها تصویر از گربه‌های مختلف را وارد شبکه کرده و آنهایی که از سوی سیستم به عنوان خروجی انتخاب می‌شوند را دریافت می‌کنید.

در این مرحله کاربر انسانی می‌تواند به سیستم بگوید که کدام یک از خروجی‌ها دقیقا تصویر گربه هستند. بدین ترتیب مسیرهایی که به تشخیص موارد درست منجر شده، از طرف شبکه تقویت خواهند شد. با تکرار این فرایند در دفعات زیاد، شبکه نهایتا قادر است به دقت بسیار خوبی در اجرای وظیفه موردنظر دست یابد.

البته شبکه های عصبی را نمی‌توان پاسخ تمام مسائل محاسباتی پیش روی انسان دانست، اما در مواجهه با داده‌های پیچیده، بهترین گزینه به شمار می‌روند.

اخیرا گوگل و مایکروسافت هر دو اعلام کردند یادگیری مبتنی بر شبکه های عصبی را به نرم‌افزار‌های مترجمشان افزوده‌اند.

گوگل و مایکروسافت از شبکه های عصبی برای تقویت اپلیکیشن‌های ترجمه خود بهره گرفته‌اند و به نتایج بسیار خوبی دست یافته‌اند، زیرا عمل ترجمه از جمله فرایندهای بسیار پیچیده محسوب می‌گردد.

شبکه عصبی-ترجمه

 

بدین ترتیب با استفاده از قابلیت یادگیری شبکه های عصبی، سیستم ترجمه می‌تواند ترجمه‌های صحیح را برای یادگیری به کار گرفته و به مرور زمان به دقت بیشتری دست یابد.

چنین وضعیتی در تشخیص گفتار نیز به وجود آمد. پس از افزودن یادگیری با شبکه های عصبی در Google Voice نرخ خطای این برنامه تا ۴۹% کاهش یافت. البته این قابلیت هیچوقت بدون نقص نخواهد بود، اما به مرور زمان شاهد پیشرفت آن هستیم.

در مجموع با به کار گیری روش‌های یادگیری مبتنی بر شبکه های عصبی، آنالیز داده‌های پیچیده روز به روز پیشرفت می‌کند و در نهایت به قابلیت‌های انعطاف پذیر‌تری در نرم‌افزار‌ها و کاربرد آن‌ها در زندگی روزانه دست خواهیم یافت.

شبکه های عصبی در مقابل کامپیوتر های معمولی

شبکه های عصبی نسبت به کامپیوتر‌های معمولی مسیر متفاوتی را برای حل مسئله طی می‌کنند. کامپیوتر‌های معمولی یکمسیر الگوریتمی را استفاده می‌کنند به این معنی که کامپیوتر یک مجموعه از دستورالعمل‌ها را به قصد حل مسئله پی می‌گیرد. اگر قدم‌های خاصی که کامپیوتر باید بردارد، شناخته شده نباشند، کامپیوتر قادر به حل مسئله نخواهد بود. این حقیقت قابلیت حل مسئله‌ی کامپیوترهای معمولی را به مسائلی محدود می‌کند که ما قادر به درک آن‌ها هستیم و می دانیم چگونه حل می‌شوند.

از طرف دیگر، کامپیوترهای معمولی از یک مسیر مشخص برای حل یک مسئله استفاده می‌کنند. راه حلی که مسئله از آن طریق حل می‌شود باید از قبل شناخته شده و به صورت دستورات کوتاه و غیر مبهمی شرح داده شده باشد. این دستورات به زبان‌های برنامه نویسی سطح بالا برگردانده شده و سپس به کدهایی قابل درک و پردازش برای کامپیوترها تبدیل می‌شوند.

شبکه های عصبی اطلاعات را به روشی مشابه با کاری که مغز انسان انجام می‌دهد پردازش می‌کنند. آن‌ها از تعداد زیادی ازعناصر پردازشی (سلول عصبی) که فوق العاده بهم پیوسته‌اند تشکیل شده است که این عناصر به صورت موازی باهم برای حل یک مسئله مشخص کار می‌کنند. شبکه های عصبی با مثال کار می‌کنند و نمی‌توان آن‌ها را برای انجام یک وظیفه خاص برنامه ریزی کرد. مثال‌ها می‌بایست با دقت انتخاب شوند در غیر این صورت باعث اتلاف وقت و هزینه می‌شود و حتی بدتر از آن، ممکن است شبکه درست کار نکند.

امتیاز شبکه عصبی در آن است که چگونگی حل مسئله را خودش کشف می‌کند!

شبکه های عصبی و کامپیوتر‌های معمولی با هم در حال رقابت نیستند بلکه کامل کننده یکدیگرند. انجام بعضی وظایف مانند عملیات‌های محاسباتی بیشتر مناسب روش‌های الگوریتمی است. همچنین انجام برخی دیگر از وظایف که به یادگیریو آزمون و خطا نیاز دارند را بهتر است به شبکه های عصبی بسپاریم. فراتر که می‌رویم، مسائلی وجود دارد که به سیستمیترکیبی از روش های الگوریتمی و شبکه های عصبی برای حل آن‌ها مورد نیاز است (بطور معمول کامپیوتر های معمولی برای نظارت بر شبکه های عصبی به کار گرفته می‌شوند ) به این منظور که بیشترین کارایی بدست آید.

 

شبکه عصبی-03

مزیت‌های شبکه عصبی

شبکه عصبی با قابلیت قابل توجه آن‌ها در جست و جو معانی از داده‌های پیچیده یا مبهم، می‌تواند برای استخراج الگوها و شناسایی روش‌هایی که آگاهی از آن‌ها برای انسان و دیگر تکنیک‌های کامپیوتری بسیار پیچیده و دشوار است به کار گرفته شود. یک شبکه عصبی تربیت یافته می‌تواند به عنوان یک متخصص در مقوله اطلاعاتی که برای تجزیه تحلیل به آن داده شده به حساب آید.

شبکه های عصبی معجزه نمی‌کنند اما اگر خردمندانه به کار گرفته شوند نتایج شگفت آوری خلق می‌کنند.

مزیت‌های دیگر شبکه های عصبی

  • یادگیری انطباق پذیر (Adaptive Learning)

یادگیری انطباق پذیر، قابلیت یادگیری و نحوه انجام وظایف بر پایه اطلاعات داده شده برای تمرین و تجربه‌های مقدماتی.

سازماندهی توسط خود یعنی یک شبکه هوش مصنوعی سازماندهی یا ارائه‌اش را برای اطلاعاتی که در طول دوره یادگیری دریافت می‌کند، خودش ایجاد کند.

در عملکرد بهنگام محاسبات شبکه هوش مصنوعی می‌تواند بصورت موازی انجام شود  و سخت افزارهای مخصوصی طراحی و ساخته شده‌ که می‌تواند از این قابلیت استفاده کنند.

خرابی جزئی یک شبکه منجر به تنزل کارایی متناظر با آن می‌شود، اگر چه تعدادی از قابلیت‌های شبکه حتی با خسارت بزرگی هم به کار خود ادامه می‌دهند.

ما شبکه های عصبی را با تلاش اولیه در جهت یافتن خصوصیات اساسی سلول‌های عصبی و اتصالات آن‌ها هدایت می‌کنیم. سپس بطور معمول یک کامپیوتر را برای شبیه سازی این خصوصیات برنامه‌ریزی می‌کنیم. اگر چه بدلیل اینکه دانش ما از سلول‌های عصبی ناقص است و قدرت محاسبات ما محدود است، مدل‌های ما لزوما آرمان‌های خام و ناقصی از شبکه‌های واقعی سلول‌های عصبی است.

انواع شبکه عصبی مصنوعی

شبکه‌های پیش خور، شبکه‌هایی هستند که مسیر پاسخ در آن‌ها همواره رو به جلو پردازش شده و به نرون‌های لایه‌های قبل خود باز نمی‌گردد. در این نوع شبکه‌ به سیگنال‌ها تنها اجازه عبور از مسیر یکطرفه (از ورودی تا خروجی) داده می‌شود. بنابراین بازخورد یا فیدبک وجود ندارد به این معنی که خروجی هر لایه تنها بر لایه بعد اثر میگذارد و در لایه‌ی خودش تغییری ایجاد نمی‌کند.

شبکه عصبی-شبکه عصبی-پیش‌خور-01

 

تفاوت شبکه هاِی پس خور با شبکه‌های پیش خور در آن است که در شبکه‌های برگشتی حداقل یک سیگنال برگشتی از یک نرون به همان نرون یا نرون‌های همان لایه یا نرون‌های لایه‌های قبل وجود دارد و اگر نرونی دارای فیدبک باشد بدین مفهوم است که خروجی نرون در لحظه حال نه تنها به ورودی در آن لحظه بلکه به مقدار خروجی خود نرون در لحظه ی گذشته نیز وابسته است.

شبکه عصبی-پس خور

 

 یادگیری در شبکه‌ های عصبی

در یادگیری با ناظر  به الگوریتم یادگیری، مجموعه ای از زوج داده‌ها داده می‌شود. هر داده یادگیری شامل ورودی به شبکه و خروجی هدف است. پس از اعمال ورودی به شبکه، خروجی شبکه با خروجی هدف مقایسه می‌گردد و سپس خطای یادگیری محاسبه شده و از آن جهت تنظیم پارامترهای شبکه (وزن ها)، استفاده می‌گردد. به گونه ای که اگر دفعه بعد به شبکه همان ورودی را دادیم، خروجی شبکه به خروجی هدف نزدیک گردد.

یادگیری تشدیدی حالت خاصی از یادگیری با ناظر و یک یادگیری بر‌خط (On-Line) از یک نگاشت ورودی-خروجی است. این کار از طریق یک پروسه سعی و خطا به صورتی انجام می‌پذیرد که شاخصی موسوم به سیگنال تشدید، ماکزیمم شود که در آن بجای فراهم نمودن خروجی هدف، به شبکه عددی که نشان‌دهنده میزان عملکرد شبکه است ارائه می‌گردد.

در یادگیری بدون ناظر یا یادگیری خود سامانده، پارامترهای شبکه عصبی تنها توسط پاسخ سیستم اصلاح و تنظیم می‌شوند. به عبارتی تنها اطلاعات دریافتی از محیط به شبکه را بردارهای ورودی تشکیل می‌دهند.

همان طور که متوجه شدید شبکه عصبی از مهمترین گرایش‌های هوش مصنوعی ، علمی رو‌به رشد و در حال پیشرفت است و شرکت‌های بزرگ نظیر گوگل و مایکروسافت از آن در نرم‌افزارهای خود استفاده می‌کنند.

ساختار شبکه های عصبی مصنوعی به زبان ساده (Artificial Neural Network)

 

ساختار شبکه‌های عصبی مصنوعی به زبان ساده (Artificial Neural Network)

 

شبکه عصبی مصنوعی روشی عملی برای یادگیری توابع گوناگون نظیر توابع با مقادیر حقیقی، توابع با مقادیر گسسته و توابع با مقادیر برداری می‌باشد.

مطالعه شبکه های عصبی مصنوعی تا حد زیادی ملهم از سیستم های یادگیر طبیعی است که در آنها یک مجموعه پیچیده از نرونهای به هم متصل درکار یادگیری دخیل هستند.

گمان می‌رود که مغز انسان از تعداد ‌1011 نرون تشکیل شده باشد که هر نرون با تقریبا 104 نرون دیگر در ارتباط است. سرعت سوئیچنگ نرونها در حدود 310 ثانیه است که در مقایسه با کامپیوترها 1010 ثانیه  بسیار ناچیز می‌نماید. با این وجود آدمی قادر است در 0.1 ثانیه  تصویر یک انسان را بازشناسائی نماید. ولی برای کامپیتر دقایقی طول می کشد که این بازشناسی انجام شود.

شاید بد نباشد ابتدا به این سوال فکر کنید، چرا با اینکه سرعت سوئیچنگ نرونهای کامپیوتر از مغز انسان بیشتر است ولی انسان‌ها سریعتر چهره یک شخص را به یاد می‌آورند؟

ساختار شبکه عصبی

 

 

هر دو تصویر بالا را مشاهده کنید. چه شباهت‌هایی می‌بینید؟

همانطور که ملاحظه می کنید، تصویر اول یک نرون طبیعی بیولوژیکی است. اطلاعات از طریق ورودی یا همان دندریت وارد نرون می شوند، همان ورودی‌ها در تصویر دوم با مقادیر (x1,…….,xm) قابل مشاهده هستند. در مدل شبکه عصبی مصنوعی به هر ورودی یک وزن (w1,…….,wm) اختصاص می دهیم. این وزن‌ها در واقع اهمیت ورودی‌ها برای ما هستند، یعنی هر چه وزن بیشتر باشد، ورودی برای آموزش شبکه مهمتر است. سپس تمامی ورودی‌ها با هم جمع (Σ) شده و به صورت یک‌لایه به آکسون وارد می شوند. در مرحله بعد Activation Function را بر روی داده‌ها اعمال می‌کنیم.

Activation Function در واقع نسبت به نیاز مسئله و نوع شبکه عصبی ما (در آموزش های بعدی به آن می پردازیم) تعریف می شود. این function شامل یک فرمول ریاضی برای بروزرسانی وزن‌ها در شبکه است.

پس از انجام محاسبات در این مرحله اطلاعات ما از طریق سیناپس های خروجی وارد نرون دیگر می‌شوند، و این مرحله تا جایی ادامه پیدا می‌کند که شبکه اصطلاحا train شده باشد.

منبع

شبکه های عصبی مصنوعی چیست؟ قسمت 1
شبکه های عصبی مصنوعی چیست؟ قسمت 2
شبکه های عصبی مصنوعی چیست؟ قسمت 3
شبکه های عصبی مصنوعی چیست؟ قسمت 4

تاریخچه پردازش تصویر چیست؟

در اوایل دهه ۶۰ متعلق به ناسا شروع به ارسال تصاویر تلویزیونی مبهمی از سطح ماه به زمین کرد. استخراج جزئیات تصویر برای یافتن محلی برای فرود سفینه آپولو نیازمند اعمال تصمیماتی روی تصاویر بود. این کار مهم به عهده لابراتوار  Jet Propulsion قرار داده شد. بدین ترتیب زمینه تخصصی پردازش تصاویر رقومی آغاز گردید و مثل تمام تکنولوژی های دیگر سریعاً استفاده های متعدد پیدا کرد.

از سال ۱۹۶۴ تاکنون، موضوع پردازش تصویر، رشد زیادی کرده است.

پردازش تصویر روشی برای تبدیل یک تصویر به صورت دیجیتال و انجام برخی از عملیات بر روی آن، به منظور دریافت یک تصویر بهبود یافته و یا برای استخراج برخی از اطلاعات مفید از آن است.

این کار درواقع  یک نوع تبدیل سیگنال است  که ورودی  آن تصویر است، مانند ( ویدئوها  و عکس ها ) و خروجی ها ممکن است تصویر یا ویژگی های مرتبط با آن تصویر باشند.
امروزه با پیشرفت و توسعه سریع تکنولوژی، پردازش تصویر  کاربرد بیشتری در جنبه های مختلف کسب و کار و علوم مهندسی و علوم کامپیوتر از خود به نمایش گذاشته است.

آموزش MATLAB - تاریخچه پردازش تصویر

 پردازش تصویر اساسا شامل سه مرحله زیر است:

۱) گرفتن تصویر با اسکنر های نوری یا با دوربین ها و حسگرهای دیجیتال.
۲) تجزیه و تحلیل و دستکاری تصویر ، شامل:  فشرده سازی داده ها ، ترمیم تصویر و استخراج اطلاعات خاص از تصویر توسط فرآیند پردازش تصویر.
۳) آخرین مرحله که در آن نتیجه خروجی می تواند تصویر یا گزارشی از اطلاعاتی که در مرحله تجزیه و تحلیل تصویر در مرحله قبل بدست آمد، باشد.

عملیات اصلی در پردازش تصویر :

  1. تبدیلات هندسی: همانند تغییر اندازه، چرخش و…
  2. رنگ: همانند تغییر روشنایی، وضوح و یا تغییر فضای رنگ
  3. ترکیب تصاویر: ترکیب دو یا چند تصویر
  4. فشرده سازی پرونده: کاهش حجم تصویر
  5. ناحیه بندی پرونده: تجزیهٔ تصویر به نواحی با معنی
  6. بهبود کیفیت پرونده: کاهش نویز، افزایش کنتراست، اصلاح گاما و …
  7. سنجش کیفیت تصویر
  8. ذخیره سازی اطلاعات در تصویر
  9. انطباق تصاویر

هدف از پردازش تصویر :

هدف از پردازش تصویر را می توان به ۴ گروه تقسیم کرد.

۱٫ تشدید تصویر و بهبود

۲٫ بازیابی تصویر

۳٫ اندازه گیری الگو

۴٫ تشخیص تصویر

 پردازش تصویر با نرم افزار MATLAB :

از جمله نرم افزار های قوی و توانمند در خصوص پردازش تصویر به نرم افزار متلب می توان اشاره کرد که دانستن دانش آن برای متخصصین گرایش های مختلف علوم مهندسی و پزشکی هر روز پررنگ تر می شود.

کاربردهای پردازش تصویر :

ابتدایی ترین کاربردهای پردازش تصاویر رقومی در دهه ۶۰ و۷۰ جنبه های نظامی و جاسوسی بود که باعث شد نیاز به تصاویر با کیفیت بالاتر بوجود آید. پس از آن مصارف دیگری برای تصاویر رقومی سطح زمین پیدا شد که کاربرد تصاویر چند طیفی (Multi Spectral)  در کشاورزی و جنگل داری از آن جمله است. همچنین با استفاده از تصاویر رقومی عملیاتهایی مثل کنکاش نفت در سرزمین های دور افتاده و یا ردیابی منابع آلودگی شهری از داخل دفتر کار متخصصین آنها انجام شد.

بزودی کاربردهای زمینی زیادتری برای پردازش تصاویر رقومی پیدا شد . از اواسط دهه ۷۰ تا اواسط دهه ۸۰ اختراع اسکنر ها ی CAT یا (Computerized Arial Topography )  و اسکنر های MRI یا (Magnetic Resonance Imagery ) پزشکی را متحول کردند. صنعت چاپ استفاده کننده بعدی بود. در اواخر دهه ۸۰ پردازش تصاویر رقومی وارد دنیای سرگرمی شد بطوریکه امروزه این نقش به امر عادی تبدیل شده است. بهمین ترتیب دنیای صنعت با روباتهایی که عملا می بینند یعنی در واقع با ظهور تکنولوژی Machine Vision  متحول شد و هنوز هم در حال تحول است.

هر ساله با سریعتر و ارزانتر شدن کامپیوتر ها و ایجاد امکان پخش تصاویر با استفاده از تکنولوژی ارتباطات، افراد بیشتری به این تصاویر دسترسی پیدا می کنند. کنفرانس های ویدئویی یک روش زنده برای انجام کسب و کار شده اند و کامپیوترها ی خانگی توانایی نمایش و مدیریت تصاویر را به خوبی پیدا کرده اند. خوشبختانه با بالاتر رفتن سرعت پردازش و فضای حافظه کامپیوترها دیگر از بابت امکانات پردازش تصاویر نگرانی ها کمتر شده است و روز به روز این روند رو به رشد ادامه پیدا می کند.

با استفاده از پردازش تصویر، شمارش و اندازه گیری اشیا، تشخیص عیوب، تشخیص ترک، دسته بندی اشیا و عملیات بیشمار دیگری را انجام می‌دهند:

۱٫         اندازه گیری و کالیبراسیون

۲٫         جداسازی پینهای معیوب

۳٫         بازرسی لیبل و خواندن بارکد

۴٫         بازرسی عیوب چوب

۵٫         بازرسی قرص و بلیسترها

۶٫         بازرسی و دسته بندی

۷٫         درجه بندی و دسته بندی کاشی

۸٫         بازرسی و درجه بندی میوه

۹٫         بازرسی عیوب ورق های فلزی، پلیمری و …

۱۰٫       بازرسی لوله ها

۱۱٫       میکروسکوپ های دیجیتال

۱۲٫       اسکن سه بعدی

۱۳٫       بازرسی کمی بطری ها

۱۴٫       هدایت روبات ها

کاربرد پردازش تصویر در اتوماسیون صنعتی 

با استفاده از تکنیکهای پردازش تصویر می‌توان دگرگونی اساسی در خطوط تولید ایجاد کرد. بسیاری از پروسه‌های صنعتی که تا چند دهه پیش پیاده سازیشان دور از انتظار بود، هم اکنون با بهرگیری از پردازش هوشمند تصاویر به مرحله عمل رسیده‌اند. از جمله منافع کاربرد پردازش تصویر به شرح زیر است.

  • افزایش سرعت و کیفیت تولید
  • کاهش ضایعات
  • اصلاح روند تولید
  • گسترش کنترل کیفیت

منبع

پردازش تصویر چیست؟

تعریف پردازش تصویر:

پردازش تصویر روشی برای تبدیل یک تصویر به صورت دیجیتال و انجام برخی از عملیات بر روی آن، به منظور دریافت یک تصویر بهبود یافته و یا برای استخراج برخی از اطلاعات مفید از آن است.

تاریخچه:

در اوايل دهه 60 سفينه فضايي رنجر 7 متعلق به ناسا شروع به ارسال تصاوير تلويزيوني مبهمي از سطح ماه به زمين کرد. استخراج جزئيات تصوير براي يافتن محلي براي فرود سفينه آپولو نيازمند اعمال تصميماتي روي تصاوير بود. اين کار مهم به عهده لابراتوار  Jet Propulsion قرار داده شد. بدين ترتيب زمينه تخصصي پردازش تصاوير رقومي آغاز گرديد و مثل تمام تکنولوژي های ديگر سريعاً استفاده هاي متعدد پيدا کرد.

از سال 1964 تاكنون، موضوع پردازش تصوير، رشد فراواني كرده است. علاوه بر برنامه تحقيقات فضايي، اكنون از فنون پردازش تصوير، در موارد متعددي استفاده مي شود. براي نمونه در پزشكي شيوه هاي رايانه اي Contrast تصوير را ارتقا مي دهند يا اين كه براي تعبير آسانتر تصاوير اشعه ايكس يا ساير تصاوير پزشكي، سطوح شدت روشنايي را با رنگ، نشانه گذاری می کنند. متخصصان جغرافيايي نيز از اين روش ها يا روش هاي مشابه براي مطالعه الگوهاي آلودگي هوا كه با تصوير برداري هوايي و ماهواره اي بدست آمده است، استفاده مي كنند. در باستان شناسی برای تصویربرداری سه بعدی از اجسام و فسیل ها مورد استفاده قرار می گیرد. در موزه های نيز روش هاي پردازش تصوير براي بازيابي عكس هاي مات شده اي كه تنها باقي مانده آثار هنري نادر هستند، مورد استفاده قرار مي گيرد. كاربردهاي موفق ديگري از پردازش تصوير را نيز مي توان در نجوم، زيست شناسي، پزشكي هسته ای، صنعت بيان كرد. پردازش تصویر در صنایع مختلف از جمله صنايع هوافضا،صنایع بسته‌بندي و چاپ، صنايع خودرو، داروسازي و پزشكي، صنايع الكترونيك، صنايع غذايي، صنایع فولاد، آلومينيوم، مس و …،صنایع سلولوزي(كاغذ، مقوا، كارتن)، صنایع لوله، پروفيل فلزي، لوله پليمري و كابل، صنایع منسوجات (پارچه، موكت، فرش و بافته‌هاي صنعتي)، صنایع كاشي، سراميك کاربردهای فراوانی دارد.

پردازش تصویر اساسا شامل سه مرحله زیر است.

    • گرفتن تصویر با اسکنر های نوری یا با دوربین ها و حسگرهای دیجیتال.
    •  تجزیه و تحلیل تصویر که شامل فشرده سازی اطلاعات، بهبود تصویر، تشخیص الگوها
  •  آخرین مرحله خروجی است که می تواند تصویر یا گزارش باشد که از نتیجه تجزیه و تحلیل تصویر حاصل شده است.

هدف از پردازش تصویر

هدف از پردازش تصویر را می توان به 4 گروه تقسیم کرد.

1. تشدید تصویر و بهبود

2. بازیابی تصویر

3. اندازه گیری الگو

4. تشخیص تصویر

انواع پردازش تصویر

دو نوع از روش های مورد استفاده برای پردازش تصویر پردازش تصویر آنالوگ و دیجیتال می باشد.  تکنیک های بصری  آنالوگ از پردازش تصویر را برای نسخه های سخت مانند چاپ و عکس استفاده می شود و پردازش تصویر دیجیتال که امروز بیشتر شناخته شده است دارای کاربردهای متعددی از تجزیه و تحلیل تصاویر ماهوارهای تا کنترل ابعادی قطعات میکروسکوپی می باشد.

ماشین بینایی و پردازش تصویر در اتوماسیون صنعتی

کنترل ماشین آلات و تجهیزات صنعتی یکی از وظایف مهم در فرآیندهای تولیدی است. بکارگیری کنترل خودکار و اتوماسیون روزبه روز گسترده تر شده و رویکردهای جدید با بهره گیری از تکنولوژی‌های نو امکان رقابت در تولید را فراهم می‌سازد. لازمه افزایش کیفیت و کمیت یک محصول، استفاده از ماشین آلات پیشرفته و اتوماتیک می‌باشد. ماشین آلاتی که بیشتر مراحل کاری آنها به طور خودکار صورت گرفته و اتکای آن به عوامل انسانی کمتر باشد. امروزه استفاده از تکنولوژی ماشین بینایی و تکنیک‌های پردازش تصویر کاربرد گسترده‌ای در صنعت پیدا کرده‌است و کاربرد آن بویژه در کنترل کیفیت محصولات تولیدی، هدایت روبات و مکانیزم‌های خود هدایت شونده روز به روز گسترده تر می‌شود.

عدم اطلاع کافی مهندسین از تکنولوژی ماشین بینایی و عدم آشنایی با توجیه اقتصادی بکارگیری آن موجب شده‌است که در استفاده از این تکنولوژی تردید و در بعضی مواقع واکنش منفی وجود داشته باشد. علی رغم این موضوع، ماشین بینایی روز به روز کاربرد بیشتری پیدا کرده و روند رشد آن چشمگیر بوده‌است. عملیات پردازش تصویر در حقیقت مقایسه دو مجموعه عدد است که اگر تفاوت این دو مجموعه از یک محدوده خاص فراتر رود، از پذیرفتن محصول امتناع شده و در غیر این‌صورت محصول پذیرفته می‌شود. در زیر پروژه‌هایی که در زمینه پردازش تصاویر پیاده سازی شده‌است، توضیح داده می‌شود. این پروژه‌ها با استفاده از پردازش تصویر، شمارش و اندازه گیری اشیا، تشخیص عیوب، تشخیص ترک، دسته بندی اشیا و عملیات بیشمار دیگری را انجام می‌دهند:

1.         اندازه گیری و کالیبراسیون

2.         جداسازی پینهای معیوب

3.         بازرسی لیبل و خواندن بارکد

4.         بازرسی عیوب چوب

5.         بازرسی قرص و بلیسترها

6.         بازرسی و دسته بندی

7.         درجه بندی و دسته بندی کاشی

8.         بازرسی و درجه بندی میوه

9.         بازرسی عیوب ورق های فلزی، پلیمری و …

10.       بازرسی لوله ها

11.       میکروسکوپ های دیجیتال

12.       اسکن سه بعدی

13.       بازرسی کمی بطری ها

14.       هدایت روبات ها

منبع

پردازش تصویر چیست؟ قسمت 1
پردازش تصویر چیست؟ قسمت 2