بایگانی برچسب برای: بینایی رایانه

Interpolation يا درون یابی

Interpolation يا درون یابی (كه گاهي resampling نيز ناميده ‌مي‌شود) يك روش گرافيكي براي افزايش يا كاهش تعداد پيكسل‌هاي يك تصوير ديجيتالي است. دوربين‌هاي ديجيتالي از اين روش براي زوم ديجيتال و يا افزايش مصنوعي ابعاد تصوير، نسبت به تصوير اصلي ثبت شده توسط حسگر خود استفاده مي‌كنند. كيفيت تصوير نهايي حاصل از درون‌يابي به پيچيدگي الگوريتم ساخت تصوير بستگي دارد. حالت‌هاي متفاوت درون‌يابي عبارتند است از:

Nearest Neighbor Interpolation

اين روش ساده‌ترين عمليات درون‌يابي محسوب مي‌شود كه اساساً پيكسل‌هاي بزرگ‌تري را ايجاد مي‌كند و رنگ هر پيكسل در تصوير جديد، با رنگ نزديك‌ترين پيكسل در تصوير اصلي مطابقت دارد. به عنوان مثال اگر شما يك تصوير را 200 درصد بزرگ كنيد، يك پيكسل تصوير به يك فضاي چهار پيكسلي (دو پيكسل در دو پيكسل) با رنگ پيكسل اوليه تبديل مي‌شود. بسياري از دوربين‌هاي ديجيتالي براي زوم‌كردن روي يك سوژه از اين روش استفاده مي‌كنند. زيرا اين روش هيچ تأثيري بر اطلاعات رنگي تصوير نمي‌گذارد. اصولاً بهتر است از اين روش براي افزايش ابعاد تصوير استفاده نشود. چرا كه موجب ايجاد حالت شطرنجي در تصوير مي‌گردد.

Bilinear Interpolation

اين روش ارزش يك پيكسل رنگي را براساس چهار پيكسل در جهت‌هاي عمودي و افقي پيكسل در تصوير اصلي معين‌مي‌كند. تصوير جديد داراي خاصيت Anti-aliasing است و تقريباً هيچ اثري از پيكسل‌هاي شطرنجي در آن ديده نمي‌شود.

Bicubic Interpolation

اين روش داراي پيچيده‌ترين الگوريتم درون‌يابي است و تصويري كه با اين روش به دست مي‌آيد، لبه‌هاي بسيارنرم‌تري پيدا مي‌كند. در اين حالت پيكسل جديد براساس ارزش تخميني 16 پيكسل (چهار پيكسل در چهار پيكسل) برآورد‌مي‌شود.

شايان ذكر است كه اغلب دوربين‌ها، چاپگرها و نرم‌افزارهاي گرافيكي براي تغيير تعداد پيكسل‌هاي يك تصوير از اين روش استفاده مي‌كنند.
نرم‌افزار Photoshop CS دو نوع Sharper و Smoother اين درون‌يابي را نيز ارائه مي‌دهد.

Fractal Interpolation

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

واژه نامه پردازش سیگنال و پردازش تصویر

واژه نامه پردازش سیگنال و پردازش تصویر حاوی لغات و اصطلاحات تخصصی استفاده شده در زمینه پردازش تصویر و پردازش سیگنال است.

نویسنده: خانم شهره کسائی

دانشگاه صنعتی شریف

تعداد صفحات: 20

 

پسورد فایل: behsanandish.com

دانلود

شناسایی حروف توسط شبکه های عصبی

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

سوال : به نظر میرسه باید توی مثال هامون به کامپیوتر بگیم مثلا این A هست و این B هست!
جواب : اون هم نوعی یادگیری هست که بهش اصطلاحا Supervised می گن. اما توی این مثال حالت جالب تر یعنی Unsupervised رو می خوایم بررسی کنیم. به این صورت که فقط به کامپیوتر می گیم ۳ دسته وجود داره و براش چندین مثال می زنیم و خودش مثال ها رو توی ۳ دسته قرار می ده! در نهایت ما مثلا می تونیم بگیم همه ی مثال هایی که در دسته ی دوم قرار گرفتن A هستند.
شاید جالب باشه بدونید گوگل هم برای دسته بندی اطلاعات از همچین روشی استفاده می کنه! البته کمی پیشرفته تر. مثلا ۱۰۰ متن اقتصادی و ۱۰۰ متن ورزشی به کامپیوتر میده و از کامپیوتر می خواد اونها رو به ۲ بخش تقسیم بندی بکنه! ورودی لغت های اون متن ها هستند. “

ابزار مورد نیاز
برای این که شروع کنیم به چند مورد نیاز داریم:

  1. در مورد هوش مصنوعی و شبکه های عصبی یکم اطلاعات داشته باشید.
  2. برنامه ای برای تولید الگو که ورودی شبکه ی عصبی ما خواهد بود. این برنامه رو میتونید از اینجا تهیه کنید.
  3. نرم افزار JOONE Editor. عبارت JOONE مخفف Java Object Oriented Neural Engine هست. که یک ابزار قدرت مند برای بوجود آوردن و آموزش انواع شبکه های عصبی در Java هست. توی این آموزش ما از ویرایشگر این ابزار استفاده می کنیم که محیطی گرافیکی برای تولید شبکه های عصبی داره و کار با اون بسیار ساده هست. این ابزار از اینجا قابل دریافت هست. بدیهیه که برای نصب این ابزار ابتدا باید جاوا روی کامپیوتر شما نصب باشه.
  4. کمی پشتکار و حوصله.

لینک جایگزین برای دانلود JOONE Editor:
https://sourceforge.net/projects/joone/files/

حالا می خوایم یک سری الگو تولید کنیم. الگو همون مثال هایی هست که گفتیم برای کامپیوتر می زنیم تا بتونه یاد بگیره.
برای این کار از برنامه ای که در شماره ی ۲ ابزارها معرفی کردم استفاده می کنیم. این برنامه خیلی ساده کار می کنه و فقط الگو ها رو از حالت تصویری به ۰ و ۱ تبدیل می کنه.
روش کار به این صورت هست که اول تصویر رو به یک ماتریس ۸ در ۸ تقسیم می کنه. یعنی ۶۴ قسمت. وقتی دکمه ی سمت چپ ماوس پایینه در صورتی که ماوس از هر کدوم از اون ۶۴ بخش رد بشه اون بخش رو داخل ماتریس علامت گذاری می کنه (مقدار اون قسمت رو True می کنه). وقتی دکمه ی Learn زده می شه برنامه مقدار تمام قسمت ها رو از بالا به پایین داخل یک فایل ذخیره می کنه. مقدار هر قسمت می تونه ۰ یا False و ۱ یا True باشه. ”
در صورتی که سورس این برنامرو خواستید کافیه توی بخش نظرات بگید تا براتون میل کنم.
کار با این برنامه خیلی آسون هست همونطور که توی شکل مشخصه.

کافیه الگویی که دوست دارید رو داخل فضای سفید بکشید و دکمه ی Learn رو بزنید. Textbox پایینی برای تغییر دادن آدرس فایلی هست که اطلاعات توی اون ذخیره میشه. و Textbox بالایی برای اینه که بگید این الگو چه حرفی هست که توی این مطلب نیازی به پر کردن اون نیست چون ما بحثمون یادگیری Unsupervised هست. توی مطالب بعدی برای یادگیری Supervised به این فیلد نیاز خواهیم داشت.
خوب من برای اینکه مثال پیچیده نشه ۳ حرف رو می خوام به کامپیوتر یاد بدم. A و C و Z!
برای این کار برای هر کدوم از حروف چهار مثال وارد می کنم و دکمه ی Learn رو می زنم. توی شکل زیر می تونید هر ۱۲ الگو رو ببینید.

فایل خروجی مربوط به این الگوهای مثال از اینجا قابل دریافت هست.همونطور که می بینید هر ردیف به نظر من و شما عین هم هستند. اما اگر کمی بیشتر دقت کنیم می بینیم جای مربع های مشکی با هم فرق دارن. به نظر شما کامپیوتر هم خواهد فهمید هر ردیف نشاندهنده ی یک حرف مجزا هست؟
تشکیل شبکه ی عصبیخوب! حالا می خواهیم ساختار شبکه ی عصبی رو طراحی کنیم. برای این کار از JOONE Editor کمک می گیریم.
صفحه ی اول این نرم افزار به این شکل هست:

توی این مثال ما از یک لایه ی ورودی خطی ۶۴ نورونی استفاده می کنیم که هر نورون یک قسمت از ماتریسی که در بخش قبل گفتیم رو به عنوان ورودی می گیره. به عنوان خروجی هم از یک لایه ی ۳ نورونی WinnerTakeAll استفاده می کنیم. در این نوع خروجی یکی از نورون ها ۱ و بقیه ۰ خواهند بود که برای تقسیم بندی بسیار مناسب هست.

برای شروع ابتدا یک لایه ی FileInput ایجاد می کنیم. توسط این ابزار می تونیم یک فایل رو به عنوان ورودی به شبکه بدیم.
روی FileInput کلیک راست کرده و در Properties اون فایل درست شده در مرحله ی قبلی رو به عنوان fileName انتخاب می کنیم و به عنوان Advanced Column Selector مقدار 1-64 رو وارد می کنیم تا برنامه متوجه بشه باید از ستون های ۱ تا ۶۴ به عنوان ورودی استفاده کنه.

ایجاد یک لایه ی خطی:

مرحله ی بعدی ایجاد یک Linear Layer یا لایه ی خطی هست. بعد از ایجاد این لایه Properties اون باید به شکل زیر باشه:

همونطور که می بینید تعداد ردیف ها ۶۴ مقداردهی شده که دلیلش این هست که ۶۴ ورودی داریم.
حالا با انتخاب FileInput و کشیدن نقطه ی آبی رنگ سمت راست اون روی Linear Layer خروجی FileInput یعنی اطلاعات فایل رو به عنوان ورودی Linear Layer انتخاب می کنیم.
تا این لحظه ما یک لایه ی ۶۴ نورونه داریم که ورودی اون مقادیر مثال های تولید شده در مرحله ی قبل هست.

ایجاد لایه ی WinnerTakeAll :

خوب توی این مرحله لایه ی خروجی که یک لایه ی WinnerTakeAll هست رو تولید می کنیم. Properties این لایه باید به شکل زیر تغییر پیدا کنه تا اطمینان پیدا کنیم الگوها به سه دسته تقسیم میشن:

حالا باید بین لایه ی خطی و لایه ی WinnerTakeAll ارتباط برقرار کنیم. برای این کار باید از Kohonen Synapse استفاده کنیم و Full Synapse جواب نخواهد داد. پس روی دکمه ی Kohonen Synapse کلیک کرده و بین لایه ی خطی و لایه ی WinnerTakeAll ارتباط ایجاد می کنیم.
در آموزش های بعدی فرق انواع سیناپس ها رو بررسی خواهیم کرد.آموزش شبکه

تا این لحظه شبکه باید به این شکل باشه. حالا می تونیم آموزش شبکرو شروع کنیم. برای این کار در منوی Tools بخش Control Panel رو انتخاب می کنیم. و در صفحه ی جدید learningRating و epochs و training pattern و learning رو به شکل زیر تغییر می دیم.

epochs تعداد دفعاتی که مرحله ی آموزش تکرار میشرو تعیین می کنه.
learningRate ضریبی هست که در یادگیری از اون استفاده می شه. بزرگ بودن اون باعث میشه میزان تغییر وزن نورون ها در هر مرحله بیشتر بشه و سرعت رسیدن به حالت مطلوب رو زیاد می کنه اما اگر مقدار اون خیلی زیاد شه شبکه واگرا خواهد شد.
training patterns هم تعداد الگو هایی که برای آموزش استفاده می شن رو نشون می ده که در این مثال ۱۲ عدد بود.
بعد از اینکه تمام تغییرات رو ایجاد کردیم دکمه ی Run رو می زنیم و منتظر می شیم تا ۱۰۰۰۰ بار عملیات یادگیری انجام بشه.

تبریک می گم! شما الان به کامپیوتر سه حرف A و C و Z رو یاد دادید!
اما خوب حالا باید ببینید کامپیوتر واقعا یاد گرفته یا نه.
برای این کار از یک لایه ی FileOutput استفاده می کنیم تا خروجی شبکرو داخل یک فایل ذخیره کنیم.
Properties لایه ی FileOutput باید بصورت زیر باشه:

همونطور که می بینید به عنوان fileName مقدار c:\output.txt رو دادیم. یعنی خروجی شبکه در این فایل ذخیره میشه.
حالا کافیه لایه ی WinnerTakeAll رو به لایه ی FileOutput متصل کنیم.
بعد از متصل کردن این دو لایه شکل کلی باید بصورت زیر باشه:

برای اینکه فایل خروجی ساخته بشه باید یک بار این شبکرو اجرا کنیم. برای این کار مجددا در منوی Tools بخش Control Panel رو انتخاب می کنیم و در اون learning رو False و epochs رو ۱ می کنیم تا شبکه فقط یک بار اجرا شه. پس از تغییرات این صفحه باید به شکل زیر باشه:

حالا با توجه به اینکه من اول چهار مثال A رو وارد کردم و بعد به ترتیب چهار مثال C و چهار مثال Z رو ببینیم خروجی این شبکه به چه شکل شده.
باور کردنی نیست! خروجی به این شکل در اومده:

1.0;0.0;0.0
1.0;0.0;0.0
1.0;0.0;0.0
1.0;0.0;0.0
0.0;1.0;0.0
0.0;1.0;0.0
0.0;1.0;0.0
0.0;1.0;0.0
0.0;0.0;1.0
0.0;0.0;1.0
0.0;0.0;1.0
0.0;0.0;1.0

همونطور که می بینید ۴ خط اول که مربوط به A هستن ستون اولشون ۱ هست و در چهار خط دوم ستون دوم و در چهار خط سوم ستون سوم!
این یعنی کامپیوتر بدون اینکه کسی به اون بگه کدوم مثال ها کدوم حرف هست خودش فهمیده و اون ها رو دسته بندی کرده.
سوال :  ممکنه چون پشت هم دادید مثال هر حرف رو اینطوری نشده؟
جواب : نه! کامپیوتر که نمی دونسته من می خوام مثال های هر حرف رو پشت سر هم بدم! من برای راحتی خودم این کار رو کردم. شما می تونی ورودی هاتو غیر مرتب بدی!
سوال : دلیل خاصی داره که در A ستون اول ۱ هست و …
جواب : نه! ممکن بود برای A ستون دوم ۱ بشه و یا هر حالت دیگه. شما اگر امتحان کنید ممکنه تفاوت پیدا کنه. اما مهم اینه در تمام A ها یک ستون خاص مقدارش ۱ و بقیه ی ستون ها مقدارشون صفر می شه. پس یعنی کامپیوتر تونسته به خوبی تقسیم بندی کنه.

حالا می خوایم شبکرو با سه مثال جدید تست کنیم که در مثال های آموزشی نبوده! برای این کار من با استفاده از برنامه ی تولید الگو ۳ مثال جدید درست می کنم و به عنوان فایل ورودی در شبکه فایل جدید رو انتخاب می کنم.
توی شکل زیر سه مثال جدید رو می تونید ببینید:

برای جذابیت علاوه بر این سه مثال ۲ مثال دیگه هم که حروف خاصی نیستند گذاشتم!

فایل خروجی این مثال ها از اینجا قابل دریافت هست.

خوب حالا بگذارید ببینیم کامپیوتر چه جوابی می ده. با توجه به اینکه اول مثال C بعد مثال Z و بعد مثال A رو وارد کردم. دو مثال بعدی هم به ترتیب مثال بد خط سمت چپ و مثال بد خط سمت راست هستند. و اما جواب:

0.0;1.0;0.0
0.0;0.0;1.0
1.0;0.0;0.0
0.0;0.0;1.0
0.0;1.0;0.0

کامپیوتر سه مورد اول رو به خوبی C و Z و A تشخیص داده. و دو مورد بد خط هم به ترتیب از چپ به راست Z و C تشخیص داده!
حتی برای انسان هم سخته فهمیدن اینکه مورد های چهارم و پنجم چی هستند اما اگر خوب دقت کنید می بینید به مواردی که کامپیوتر خروجی داده نزدیک تر هستند.
کامپیوتر شعور نداره! اما ما سعی کردیم طریقه ی عملکرد مغز رو به صورت خیلی ابتدایی و به ساده ترین نحو توش شبیه سازی کنیم! ”
تو  این مطلب دیدیم که کامپیوتر تونست بدون اینکه ما براش مثال هایی بزنیم و بگیم هر کدوم چه حرفی هستند و فقط با دادن تعداد دسته ها، مثال ها رو به سه دسته همونطوری که انسان ها تقسیم می کنند تقسیم کنه. همونطور که گفتیم به این نوع دسته بندی، دسته بندی Unsupervised میگن.
منبع

تاریخچه

(آنالیز موجک) ایده ی نمایش یک تابع برحسب مجموعه ی کاملی از توابع اولین بار توسط ژوزف فوریه، ریاضیدان و فیزیکدان بین سال های ۱۸۰۶-۱۸۰۲ طی رساله ای در آکادمی علوم راجع به انتشار حرارت، برای نمایش توابع بکار گرفته شد. در واقع برای آنکه یک تابع(f(x به شیوه ای ساده و فشرده نمایش داده شود فوریه اساسا ثابت کرد که می توان از محور هایی استفاده کرد که بکمک مجموعه ایی نامتناهی از توابع سینوس وار ساخته می شوند. بعبارت دیگر فوریه نشان داد که یک تابع (f(x را می توان بوسیله ی حاصل جمع بی نهایت تابع سینوسی و کسینوسی به شکل (sin(ax و (cos(ax نمایش داد. پایه های فوریه بصورت ابزار هایی اساسی، با کاربردهای فوق العاده متواتر در علوم، در آمده اند، زیرا برای نمایش انواع متعددی از توابع و در نتیجه کمین های فیزیکی فراوان بکار می روند.
با گذشت زمان ضعف پایه های فوریه نمایان شد مثلا دانشمندان پی بردند پایه های فوریه و نمایش توابع سینوس وار در مورد سیگنال های پیچیده نظری تصاویر، نه تنها ایده آل نیستند بلکه از شرایط مطلوب دورند، بعنوان مثال به شکل کارآمدی قادر به نمایش ساختارهای گذرا نظیر مرزهای موجود در تصاویر نیستند. همچین آنها متوجه شدند تبدیل فوریه فقط برای توابع پایه مورد استفاده قرار می گیرد و برای توابع غیر پایه کار آمد نیست.(البته در سال ۱۹۴۶ با استفاده از توابع پنجره ای، که منجر به تبدیل فوریه ی پنجره ای شداین مشکل حل شد.)
در سال ۱۹۰۹ هار اولین کسی بود که به موجک ها اشاره کرد. در سال های ۱۹۳۰ ریاضیدانان به قصد تحلیل ساختارهای تکین موضوعی به فکر اصلاح پایه های فوریه افتادند. و بعد از آن در سال ۱۹۷۰ یک ژئوفیزیکدان فرانسوی به نام ژان مورله متوجه شد که پایه های فوریه بهترین ابزار ممکن در اکتشافات زیر زمین نیستند، این موضوع در آزمایشگاهی متعلق به الف آکیلن منجر به یکی از اکتشافات تبدیل به موجک ها گردید.
در سال ۱۹۸۰ ایومیر ریاضیدان فرانسوی، نخستین پایه های موجکی متعامد را کشف کرد(تعامد نوعی از ویژگی ها را بیان می کند که موجب تسهیلات فراوانی در استدلال و محاسبه می شود، پایه های فوریه نیز متعامدند.) در همین سال ها مورله مفهوم موجک و تبدیل موجک را بعنوان یک ابزار برای آنالیز سیگنال زمین لزره وارد کرد و گراسمن فیزیکدان نظری فرانسه نیز فرمول وارونی را برای تبدیل موجک بدست آورد.
در سال ۱۹۷۶ میرو و مالت از پایه های موجک متعامد توانسنتد آنالیز چند تفکیکی را بسازند و مالت تجزیه موجک ها و الگوریتم های بازسازی را با بکار بردن آنالیز چند تفکیکی بوجود آورد. در سال ۱۹۹۰ مورنزی همراه با آنتوان موجک ها را به دو بعد و سپس به فضاهایی با ابعد دیگر گسترش دادند و بدین ترتیب بود که آنالیز موجکی پایه گذاری گردید.

 آشنایی

آنالیز موجک (Wavelet Analysis) یکی از دستاوردهای نسبتا جدید و هیجان انگیز ریاضیات محض که مبتنی بر چندین دهه پژوهش در آنالیز همساز است، امروزه کاربردهای مهمی در بسیاری از رشته های علوم و مهندسی یافته و امکانات جدیدی برای درک جنبه های ریاضی آن و نیز افزایش کاربردهایش فراهم شده است.
در آنالیز موجک هم مانند آنالیز فوریه با بسط تابع ها سروکار داریم ولی این بسط برحسب «موجک ها» انجام می شود.
موجک تابع مشخص مفروضی با میانگین صفر است و بسط برحسب انتقالها و اتساعهای این تابع انجام می گیرد، بر خلاف چند جمله ای های مثلثاتی، موجک ها در فضا بصورت موضعی بررسی می شوند و به این ترتیب ارتباط نزدیکتری بین بعضی توابع و ضرایب آن ها امکان پذیر می شود و پایداری عددی بیشتری در باز سازی و محاسبات فراهم می گردد. هر کاربردی را که مبتنی بر تبدیل سریع فوریه است می توان با استفاده از موجک ها فومول بندی کرد و اطلاعات فضایی (یا زمانی) موضعی بیشتری بدست آورد. بطور کلی، این موضوع بر پردازش سیگنال و تصویر و الگوریتم های عددی سریع برای محاسبه ی عملگرهای انتگرالی اثر می گذارد.
آنالیز موجک حاصل ۵۰ سال کار ریاضی (نظریه ی لیتلوود – پیلی و کالدرون – زیگموند) است که طی آن، با توجه به مشکلاتی که در پاسخ دادن به ساده ترین پرسش های مربوط به تبدیل فوریه وجود داشت، جانشینهای انعطاف پذیر ساده تری از طریق آنالیز همساز ارائه شدند. مستقل از این نظریه که درون ریاضیات محض جای دارد، صورتهای مختلفی از این رهیافت چند مقیاسی (multi Scale) را در طی دهه ی گذشته در پردازش تصویر، آکوستیک، کدگذاری(به شکل فیلترهای آیینه ای متعامد و الگوریتمهای هرمی)، و استخراج نفت دیده ایم.

 کاربردها

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

منبع


موجک

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

مِیِر

مورله

کلاه مکزیکی

تبدیل‌های موجک

تعداد زیادی تبدیل موجک وجود دارد که لیست آن را می‌شود در فهرست تبدیل‌های مرتبط با موجک مشاهده نمود. معمول‌ترین این تبدیل‌ها عبارتند از:

  • تبدیل موجک پیوسته (Continuous wavelet transform (CWT
  • تبدیل موجک گسسته (Discrete wavelet transform (DWT
  • تبدیل سریع موجک (Fast wavelet transform (FWT
  • Lifting scheme
  • تجزیه بسته‌های موجک(Wavelet packet decomposition (WPD
  • تبدیل موجک ساکن (Stationary wavelet transform (SWT

موجک‌ها و معادلات اتساع
موجک‌ها بر مبنای دو عمل اصلی قرار دارند:

  • انتقال (Translation)

[عکس: 34b5ae95f23a0378679d434d7cea3360.png]

  • اتساع (Dilation)

[عکس: a9be4f8956d1bb85c9e932c584196743.png]

مقایسه با تبدیل فوریه

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

تاریخچه

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

کارهای قبل از ۱۹۳۰
مربوط به قبل از ۱۹۳۰ (م) می‌توان به آنالیز فرکانس‌ها اشاره کرد، که به وسیلهٔ فوریه شروع شد.
استفاده از واژهٔ موجک‌ها، برای اولین بار، در یکی از ضمیمه‌های تز آلفرد هار (۱۹۰۹ م) ظاهر شد. امروزه هم، این موجک‌ها به همان نام یعنی به موجک‌های هار معروف اند. موجک‌های هار دارای دامنهٔ تعریف فشرده (compact) بوده، و غیر مشتق‌پذیر به صورت پیوسته هستند.

کارهای مربوط به دهه ۱۹۳۰
در این دهه چند گروه پیرامون موضوع نمایش توابع با به کارگیری پایه‌های با مقیاس متغیر برای تنیدن فضاهای توابع تحقیق می‌نمودند.

موجک‌های متعامد

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

موجک هار

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

منبع

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

Basics of digital image processing

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

فایل PDF – در 57 صفحه – نویسنده : ناشناس

Basics of digital image processing

پسوردفایل : behsanandish.com


Digital Image Processing Laboratory Manual

کتابچه راهنمای آزمایشگاه پردازش تصویر دیجیتال

فایل PDF – در 19 صفحه – نویسنده :  Bhaskar Mondal

Digital Image Processing laboratory manual

پسوردفایل : behsanandish.com


Fundamentals of Digital Image Processing

اصول پردازش تصویر دیجیتال

فایل PDF – در 8 صفحه – نویسنده : ناشناس

Fundamentals of Digital Image Processing

پسوردفایل : behsanandish.com


Fundamentals of Image Processing

اصول پردازش تصویر

فایل PDF – در 112 صفحه – نویسنده : Ian T. Young , Jan J. Gerbrands  , Lucas J. van Vliet

Image Processing Fundamentals–An Overview

پسوردفایل : behsanandish.com


Image Processing Manual

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

فایل PDF – در 164 صفحه – تهیه کننده : انستیتو ملی اسناد آمریکا

Image processing manual

پسوردفایل : behsanandish.com


Image Processing Tutorial-Basic Concepts 

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

فایل PDF – در 55 صفحه – تهیه کننده : شرکت CCDWare Publishing

Image Processing Tutorial

پسوردفایل : behsanandish.com


Intel® Image Processing Library-Reference Manual

کتابخانه پردازش تصویر اینتل-دستورالعمل مرجع

فایل PDF – در 319 صفحه – نویسنده :  شرکت Intel

Intel Image Processing Library-reference manual

پسوردفایل : behsanandish.com


آنالیز و پردازش تصویر

فایل Word – در 15 صفحه – نویسنده :  ناشناس

pardazesh tasvir

پسوردفایل : behsanandish.com


مفاهیم پایه پردازش تصویر-محیط های چند رسانه ای

فایل PDF – در 109 صفحه – نویسنده :  احمد محمودی ازناوه (دانشگاه شهید بهشتی)

مفاهیم_پایه_پردازش_تصویر_دانشگاه

پسوردفایل : behsanandish.com

بینایی کامپیوتری (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

منبع

مطالب مرتبط :

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

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

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

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

چکيده

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

كليد واژه- پردازش تصویر(Image processing)، بینایی ماشین(Machine vision)، کاربرد

1- مقدمه

امروزه با گسترش روز افزون روش های مختلف اخذ اطلاعات گسسته مانند پویشگرها و دوربین های دیجیتالی، پردازش تصویر کاربرد فراوانی یافته است. تصاویر حاصله از این اطلاعات همواره کم و بیش همراه مقداری نویز بوده و در مواردی نیز دارای مشکل محوشدگی مرزهای نمونه های داخل تصویر می باشند که موجب کاهش وضوح تصویر دریافتی می گردند. مجموعه عملیات و روش هایی که به منظور کاهش عیوب و افزایش کیفیت ظاهری تصویر مورد استفاده قرار میگیرد، پردازش تصویر نامیده می شود. اگرچه حوزه های کار با تصویر بسیار وسیع است ولی عموماً محدوده مورد توجه در چهار زمینه ی بهبود کیفیت ظاهری(Enhancement)، بازسازی تصاویر مختل شده(Restoration)، فشرده گی و رمزگذاری تصویر (Compression and Coding) و درک تصویر توسط ماشین (Understanding) متمرکز می گردد.
بهبود تصاویر شامل روش هایی مثل استفاده از فــ….یـــ……لـــ……تـــ…. …ر محو کننده و افزایش تضاد برای بهتر کردن کیفیت دیداری تصاویر و اطمینان از نمایش درست آن ها در محیط مقصد است. بینایی ماشین به روش هایی می پردازد که به کمک آن ها می توان معنی و محتوای تصاویر را درک کرد تا از آن ها در کارهایی چون رباتیک و محور تصاویر استفاده شود. پردازش تصویر از هر دو جنبه نظری و عملی پیشرفت های چشمگیری داشته است و بسیاری از علوم به آن وابسته اند.

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

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

2-1-صنعت

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

2-2- هواشناسی

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

2-3-شهرسازی

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

2-4- کشاورزی

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

2-5-علوم نظامی و امنیتی

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

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

2-6-نجوم و فضا نوردی

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

پردازش تصویر در فضانوردی هم کاربرد زیادی دارد. در تصاویر دور می توان سطح سیارات و همچنین سطح قمرها را اسکن کرده و اطلاعات بسیار ریزی از آنها استخراج کنیم.
کاربرد دیگر پردازش تصویر در فــ….یـــ……لـــ……تـــ…. …ر کردن عکس هایی است که توسط تلسکوپ های فضایی مختلف از جمله هابل (Hubble Space Telescope)، از فضا گرفته می شود.
کاربرد دیگر آن حذف گرد و خاک و جو سیاره ها از تصاویر به کمک تصویربرداری IR و X-RAY به صورت همزمان و ترکیب این تصاویر است.
در تصاویر نزدیک هم کاربرد دارد، از جمله هدایت مریخ نوردها، فرود فضاپیماهای بدون سرنشین و الصاق تجهیزات جدید به ایستگاههای فضایی به صورت خودکار.
از امکانات سایت گوگل، امکاناتی است به نام Google Mars که این برنامه دقیقاً مانند Google Earth عمل می کند با این تفاوت که Google Earth سطح زمین را در هر زمان که بخواهید و در هر نقطه ای از زمین و از ارتفاع های بسیار پائین هم نشان می دهد ولی Google Mars دقیقاً همین کار را برای سطح سیاره مریخ انجام می دهد.

2-7-پزشکی

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

2-8-فناوری های علمی

پردازش تصویر در افزایش سرعت پیشرفت های علمی تأثیر فوق العاده داشته است. اولین و مشخص ترین تأثیر آن را می توان در علم عکاسی یا هنر دید. شکار لحظه های شگفت آوری که در کسری از ثانیه اتفاق می افتد، بالا بردن وضوح عکس های گرفته شده و ایجاد افکت های خیره کننده، از دستاوردهای پردازش تصویر است.
همچنین در توسعه تکنولوژی پیشرفته (gps (Global Positioning Systems کمک زیادی داشته و تهیه نقشه های سه بعدی از جاده ها در تمام نقاط جهان، از کاربردهای دیگر آن است. با به وجود آمدن این علم، مسابقات ربات های فوتبالیست به صورت جدی دنبال شد.
این علم در پیشرفت علوم پایه فیزیک ، شیمی و مخصوصاً تحقیقات فیزیکی و مکانیکی، کمک فراوانی کرده است. به عنوان مثال وسیله ای برای حمل و نقل کالاها در مسیرهای صعب العبور ساخته شده است. قبل از ساخت آن، رفتار چهارپایان در حالت های مختلف توسط کامپیوتر تحلیل و عیناً به دستگاه آموزش داده شده است.در کل پردازش تصاویر به علت سرعت زیاد آن، در ساخت وسایل مکانیکی پر سرعت، کاربرد زیادی دارد. وسیله ای وجود دارد که قادر است ، توپی که با سرعت بسیار زیاد به سمت پائین می آید را مهار کند.

2-9-باستان شناسی

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

2-10-تبلیغات

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

2-11-سینما

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

2-12-اقتصاد

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

2-13-روانشناسی

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

2-14-زمین شناسی‌

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

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

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

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

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

——————–
صنايع چوب يكي از پر كاربرد ترين صنايع در عصر حاضر است.
اين صنعت قديمي روز به روز در حال پيشرفت در زمينه هاي مختلف آن مي باشد.
اكنون ديگر صنايع چوب به يك صنعت آميخته با هنر تبديل شده است.
همان طور كه مي دانيم برش و حالت دهي از جمله مهمترين و كليدي ترين كار هاي صنعت چوب مي باشد.
اما هميشه يك مشكل اساسي در برش صحيح چوب وجود داشت و آن هم اين بود كه چگونه چوب به حالتي برش شود كه كمترين ميزان اتلاف چوب را داشته باشد و نيز بعد از برش چگونه مي توان صحيح بودن برش را كنترل كرد.
اين مشكل نيز به راحتي توسط پردازش تصوير قابل حل است.
بعد از اين كه برش يك قسمت از چوب تمام شد ، با استفاده از يك دوربين آن قسمت را كنترل مي كنيم تا نقصي از لحاظ برش وجود نداشته باشد.

——————–
بحث شمارش، جزء لاينفك بسته بندي كالاهاي مختلف مي باشد.
زماني كه تعداد بسته بندي ها بالا رود ، اين كار يك كار خسته كننده و طاقت فرسا براي انسان به نظر مي آيد.
اما شايد ساده ترين كار در بحث پردازش تصوير ، شمارش باشد.
شمارش تعداد به خودي خود شامل چندين موضوع مي شود؛ از جمله : شمارش اجزاي داخل بسته بندي ، شمارش اجزاي روي نوار نقاله و … .

——————–
تشخیص شماره پلاک خودرو
نرم افزار شمارش خودروهای عبوری از عرض خیابان

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

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

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

1. اندازه گیری و کالیبراسیون
2. جداسازی پینهای معیوب
3. بازرسی لیبل و خواندن بارکد
4. بازرسی عیوب چوب
5. بازرسی قرص
6. بازرسی و دسته بندی زعفران
7. درجه بندی و دسته بندی کاشی
8. بازرسی میوه
———————-
اتوماسیون صنعتی

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

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

———————
نمونه ای از کاربردهای پردازش تصویر در زمینه رهگیری (tracking):

نمونه ای از کاربردهای پردازش تصویر در زمینه رهگیری (tracking)

نمونه ای از کاربردهای پردازش تصویر در زمینه رهگیری (tracking)

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

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

یادگیری ماشین چیست؟

تعریف عمومی از یادگیری ماشین  آن است که توسط دانشمند کامپیوتر آرتور ساموئل در سال ۱۹۵۹ داده شده است:

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

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

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

برخی اصطلاحات

مدل

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

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

معادله ای که به عنوان ورودی مقدار رنگ پیکسل های یک عکس را می گیرد و به عنوان خروجی شناسایی شیء موجود در عکس را می دهد.

معادله ای که به عنوان ورودی وضعیت کنونی هیئت مدیره Go را می دهد و به عنوان خروجی نشانگر حرکتی است که بهترین شانس برنده شدن در بازی را به ارمغان می آورد.

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

ویژگی ها

ویژگی های ورودی  مدل ماشین آموخته شده :

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

بیش برازش overfitting

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

طبقه بندی مشکلات یادگیری ماشین

سه طبقه بندی اصلی از وظایف یادگیری ماشین وجود دارد:

  • یادگیری تحت نظارت: مدل با استفاده از یک مجموعه شناخته شده “داده های آموزشی” ساخته شده است که شامل تمام ویژگی ها و همچنین مقادیر شناخته شده (“برچسب ها”) خروجی است که ما در حال تلاش برای مدل سازی آن هستیم. هدف از تکنیک های یادگیری تحت نظارت، رسیدن به یک مدل است که ویژگی های ورودی را برحسب برچسب ها نشان می دهد.
  • یادگیری بدون نظارت: خروجی این الگوریتم یادگیری،  برچسب ها  نیستند؛ هدف این روش کشف ساختار ناشناخته مانند خوشه ها clutsters و یا الگوهای دیگر است.
  • یادگیری تقویتی: الگوریتم پاداش و مجازات را بر اساس موفقیت آن در دستیابی به یک هدف خاص به ارمغان می آورد – به عنوان مثال، یک الگوریتم Go برای تغییرات در یک مدل که باعث افزایش نسبت زمان برنده شدن مدل و مجازات برای تغییراتی که قصد کاهش آن را دارد.این  الگوریتم قصد دارد پاداش را به حداکثر و مجازات را به حداقل برساند.

وظایف همچنین می تواند بر اساس خروجی مورد نظر از مدل یادگیری طبقه بندی شود. سه تا از رایج ترین ها عبارتند از:

طبقه بندی: داده ها به دو یا چند کلاس یا “برچسب ها” تقسیم می شوند (مثلا “hotdog” در مقابل “not hotdog “) و هدف عمل یادگیری این است که یک مدل تولید کند که ورودی ها را به یکی یا بیشتر از این برچسبها اختصاص دهد.

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

خوشه بندي: آنالوگ بدون نظارت برای طبقه بندي؛ ورودی ها باید به گروه ها تقسیم شوند، اما قبل از ساخت مدل، گروه ها شناخته نمی شوند.مثال کاربرد: پیش بینی قیمت خانه

منبع


آشنایی با الگوریتم های ضروری یادگیری ماشین

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

انواع الگوریتم های یادگیری ماشین

سه نوع اصلی الگوریتم های یادگیری ماشین از قرار زیرند :

  • یادگیری نظارت شده (هدایت شده – Supervised Learning) : در این نوع از الگوریتم ها که بار اصلی یادگیری ماشین را بر دوش می کشند (از لحاظ تعداد الگوریتم های این نوع)، با دو نوع از متغیرها سروکار داریم . نوع اول که متغیرهای مستقل نامیده میشوند، یک یا چند متغیر هستند که قرار است بر اساس مقادیر آنها، یک متغیر دیگر را پیش بینی کنیم. مثلا سن مشتری و تحصیلات و میزان درآمد و وضعیت تاهل برای پیش بینی خرید یک کالا توسط یک مشتری ، متغیرهای مستقل هستند. نوع دوم هم متغیرهای وابسته یا هدف یا خروجی هستند و قرار است مقادیر آنها را به کمک این الگوریتم ها پیش بینی کنیم . برای این منظور باید تابعی ایجاد کنیم که ورودیها (متغیرهای مستقل) را گرفته و خروجی موردنظر (متغیر وابسته یا هدف) را تولید کند.
  • فرآیند یافتن این تابع که در حقیقت کشف رابطه ای بین متغیرهای مستقل و متغیرهای وابسته است را فرآیند آموزش (Training Process) می گوئیم که روی داده های موجود (داده هایی که هم متغیرهای مستقل و هم متغیرهای وابسته آنها معلوم هستند مثلا خریدهای گذشته مشتریان یک فروشگاه) اعمال میشود و تا رسیدن به دقت لازم ادامه می یابد.  نمونه هایی از این الگوریتم ها عبارتند از رگرسیون، درختهای تصمیم ، جنگل های تصادفی، N نزدیک ترین همسایه، و رگرسیون لجستیک.
  • یادگیری بدون ناظر (unsupervised learning) : در این نوع از الگوریتم ها ، متغیر هدف نداریم و خروجی الگوریتم، نامشخص است. بهترین مثالی که برای این نوع از الگوریتم ها می توان زد، گروه بندی خودکار (خوشه بندی) یک جمعیت است مثلاً با داشتن اطلاعات شخصی و خریدهای مشتریان، به صورت خودکار آنها را به گروه های همسان و هم ارز تقسیم کنیم . الگوریتم Apriori و K-Means از این دسته هستند.
  • یادگیری تقویت شونده (Reinforcement Learning) : نوع سوم از الگوریتم ها که شاید بتوان آنها را در زمره الگوریتم های بدون ناظر هم دسته بندی کرد ، دسته ای هستند که از آنها با نام یادگیری تقویت شونده یاد میشود. در این نوع از الگوریتم ها، یک ماشین (در حقیقت برنامه کنترل کننده آن)، برای گرفتن یک تصمیم خاص ، آموزش داده می شود و ماشین بر اساس موقعیت فعلی (مجموعه متغیرهای موجود) و اکشن های مجاز (مثلا حرکت به جلو ، حرکت به عقب و …) ، یک تصمیم را می گیرد که در دفعات اول، این تصمیم می تواند کاملاً تصادفی باشد و به ازای هر اکشن یا رفتاری که بروز می دهد، سیستم یک فیدبک یا بازخورد یا امتیاز به او میدهد و از روی این فیدبک، ماشین متوجه میشود که تصمیم درست را اتخاذ کرده است یا نه که در دفعات بعد در آن موقعیت ، همان اکشن را تکرار کند یا اکشن و رفتار دیگری را امتحان کند.
  • با توجه به وابسته بودن حالت و رفتار فعلی به حالات و رفتارهای قبلی، فرآیند تصمیم گیری مارکوف ، یکی از مثالهای این گروه از الگوریتم ها می تواند باشد . الگوریتم های شبکه های عصبی هم می توانند ازین دسته به حساب آیند. منظور از کلمه تقویت شونده در نام گذاری این الگوریتم ها هم اشاره به مرحله فیدبک و بازخورد است که باعث تقویت و بهبود عملکرد برنامه و الگوریتم می شود

الگوریتم های اصلی و رایج یادگیری ماشین

  1. رگرسیون خطی
  2. رگرسیون لجستیک
  3. درخت تصمیم
  4. SVM
  5. Naive Bayes
  6. KNN
  7. K-Means
  8. جنگل تصادفی
  9. الگوریتم های کاهش ابعاد
  10. Gradient Boost & Ada Boost

منبع

یادگیری ماشین قسمت 1
یادگیری ماشین قسمت 2
یادگیری ماشین قسمت 3

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

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

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

Computer Vision
Field of robotics in which programs attempt to identify objects represented in digitized images provided by video cameras, thus enabling robots to “see.” Much work has been done on stereo vision as an aid to object identification and location within a three-dimensional field of view. Recognition of objects in real time, as would be needed for active robots in complex environments, usually requires computing power beyond the capabilities of present-day technology. See also pattern recognition.

بینایی کامپیوتر گرایشی از رباتیک است که در آن ، با شناسایی اشیاء موجود در تصاویر دیجیتالی بدست آمده از دوربین های فیلم برداری ، امکان “دیدن” را برای ربات ها فراهم می سازد. تا کنون کار های زیادی بر روی دید دوگانه (استریو ویژن) جهت کمک به شناسایی و مکان جسم در سه بعد انجام شده است. جهت شناسایی اشیا به صورت بلادرنگ که ربات ها در محیط های پیچیده بدان نیازمندند ، معمولا احتیاج به قدرت محاسباتی فراتر از تکنولوژی روز داریم.
منبع : Britannica Encyclopedia

پردازش تصویر

image processing
به مجموعه عملیاتی که یک ماشین الکترونیکی(مثلا کامپیوتر) به منظور ویرایش تصاویر انجام میدهد پردازش تصویر گفته می شود.
مثال: به تمامی عملیاتی که در برنامه فوتوشاپ بر روی تصاویر انجام میشود پردازش تصویر گفته می شود.
بین سه عبارت “پردازش تصویر” و “بینایی کامپیوتر” و “بینایی ماشین” تفاوت وجود دارد. که متاسفانه در ایران خیلی ها فرق این ها را نمی دانند و به همه ی آن ها می گویند پردازش تصویر !
منبع

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

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

همانند نیروی انسانی که با چشم غیر مسلح در خط تولید کالاها را برای تعیین کیفیت و نوع ساخت آنها بازبینی می کنند، Machine vision از دوربین‌های دیجیتال و دوربین‌های هوشمند و نرم‌افزارهای image processing (پردازش تصویر) برای این کار استفاده می کند. دستگاههای مربوطه (Machine vision) برای انجام دادن وظایفی خاص از جمله شمردن اشیاء در بالابرها، خواندن شماره سریالها (Serial numbers)، جستجوی سطح‌های معیوب به کار می روند.

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

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

سیستم‌های Machine vision و computer vision قادر هستند به صورت ثابت تصاویر را تجزیه و تحلیل کنند، ولی image processing بر پایهٔ کامپیوتر به صورت کلی برای انجام کارهای تکراری طراحی می شوند و علی رغم پیشرفت‌های صورت گرفته در این زمینه، هیچ سیستم machine vision و computer vision قادر نیست با برخی از ویژگی‌های سیستم بینایی انسان در قالب درک تصویر، تلرانس به تغییرات نور، تضعیف قدرت تصویر و تغییرات اجزا و… تطبیق پیدا کند.
منبع

اجزای یک سیستم ماشین بینایی :

اگرچه “Machine vision” بیشتر به عنوان یک پروسهٔ به کار بستنٍ “Machine vision” در کاربردهای صنعتی شناخته شده است، برای لیست کردن اجزای سخت‌افزاری و نرم‌افزاری به کار برده شده نیز مفید می باشد. معمولاً یک Machine vision از اجزای زیر ساخته می شود :

1. یک و یا چند دوربین دیجیتال یا آنالوگ ( سیاه-سفید یا رنگی ) با اپتیک مناسب برای گرفتن عکس.
2. واسطه ای که عکس‌ها را برای پردازش آماده می سازد. برای دوربین‌های آنالوگ این واسطه شامل یک دیجیتال کننده عکس است. هنگامی که این واسطه یک سخت‌افزارٍ جدا باشد، به آن Frame grabber ( کارتی که برای دریافت سیگنال تصویری و فرستادن آن به کامپیوتر استفاده می شود)می گویند.
3. یک پردازشگر ( گاهی یک PC یا پردازنده تعبیه شده ( Embedded Processor ) مانند DSP
4. نرم‌افزار Machine vision : این نرم‌افزار امکاناتی برای توسعه یک برنامه نرم‌افزاری که برای کاربردی مشخص است را فراهم می کند.
5. سخت‌افزار ورودی / خروجی ( مثلا I/O دیجیتال ) یا حلقه‌های ارتباطی ( مثلا ارتباط شبکه ای یا RS-232 ) برای گزارش نتایج.
6. یک دوربین هوشمند : یک وسیله ساده که همه موارد فوق را داراست.
7. لنزهایی که بتواند به مقدار مطلوبی روی سنسور تصویر زوم کند.
8. منابع نوری مناسب و گاهی خیلی مخصوص ( مثلا چراغهای LED، فلورسنت، لامپهای هالوژن و . . . )
9. یک برنامهٔ مشخص که بتواند تصاویر را پردازش کرده و مشخصه‌های مربوط و مناسب را شناسایی کند.
10. یک سنسور همزمان ساز برای شناسایی اجزا ( گاهی یک سنسور نوری و یا یک سنسور مغناطیسی ) : این سنسور برای راه اندازی سیستمٍ استخراج و پردازش تصویر می باشد.

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

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

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

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

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

همچنین امروزه شاهد شیوع فراوان استفاده از تجهیزات دوربین‌های دیجیتال به جای یک دوربین و یک frame grabber جداگانه در Machine vision هستیم. استفاده از یک دوربین دیجیتال به منظور برقراری ارتباط مستقیم، باعث صرفه جویی در هزینه و نیز سادگی سیستم خواهد شد. دوربین‌های هوشمند که در داخل آنها embedded processor‌ها تعبیه شده اند، در حال تسخیر سهم بالایی از بازار Machine vision‌ها هستند.

استفاده از یک embedded processor ( و یا یک پردازنده بهینه ) نیاز ما به frame grabber و یک کامپیوتر خارجی را از بین می برد. به همین خاطر این پردازنده‌ها باعث کاهش هزینه، کاهش پیچیدگی سیستم و همچنین اختصاص توان پردازشی مشخص به هر دوربین می شود. دوربین‌های هوشمند معمولاً ارزان تر از سیستمهای شامل یک دوربین و یک برد و یک کامپیوتر خارجی هستند. همچنین توان بالای embedded processor و DSP‌ها منجر به بالا رفتن عملکرد و توانایی آنها نسبت به سیستمهای مرسوم ( که بر مبنای PC هستند ) شده است.
منبع

روش‌های پردازش :

شمارش پیکسل :

شمردن تعداد پیکسل‌های روشن و تاریک.

تعیین آستانه :

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

بخش بندی کردن (Segmentation) :

تبدیل تصویر ورودی به بخش‌های مختلف برای موقعیت یابی و شمارش پیکسل ها.

تشخیص و شناسایی لکه‌ها و دستکاری :

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

تشخیص و شناسایی توسط اجزاء موجود :

استخراج اجزاءی خاص از یک تصویر ورودی مثلا عکس.

تشخیص وشناسایی الگو به طور مقاوم در برابر تغییرات :

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

خواندن بارکد :

شناسایی و تعیین کدهای یک بعدی (1D) و دو بعدی (2D) اسکن شده توسط ماشین‌ها طراحی شده است.

تشخیص و شناسایی کاراکتر نوری :

خواندن خودکار یک متن (مثال : یک رشته اعداد پشت سر هم).

اندازه گیری :

اندازه گیری ابعاد یک جسم (بر حسب میلی متر یا اینچ).

تشخیص و شناسایی لبه ها :

پیدا کردن لبه‌های یک جسم در یک تصویر.

تشخیص و شناسایی از طریق تطبیق الگو :

پیدا کردن، مطابقت دادن و شمارش اشکال خاص در یک تصویر.

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

کاربردهای ماشین بینایی :

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

1. تولید صنعتی در مقیاس بزرگ.
2. ساخت اجزایی که نیاز به زمان تولید مشخصی دارند.
3. سیستمهای ایمنی موجود در محیط‌های صنعتی.
4. بررسی مواد اولیه تولید ( مثلا کنترل کیفیت و بررسی وقوع خطا )
5. کنترل موجودی انبار و سیستمهای مدیریتی ( شمارش، بارکد خواندن و ذخیره اطلاعات در سیستمهای دیجیتال )
6. کنترل رباتهای تعقیب خطی که برای حمل بار در کارخانه‌های صنعتی استفاده می شوند.
7. کنترل کیفیت و بهبود محصولات غذایی.
8. ماشینی کردن اجزای کوچک صنعتی.
سیستم‌های ماشین بینایی به طور گسترده در صنعت تولید نیمه هادی ها کاربرد دارند. به راستی بدون وجود این سیستم‌ها تولید قطعات کامپیوتری کاهش می یابد. این دستگاهها برای بازبینی دقیق ویفرهای سیلیکونی و بردازش گرها به کار می روند. در صنعت خودروسازی، Machine vision برای هدایت روبات‌های صنعتی، سنجیدن مناسب بودن کالاهای مشخص شده برای اهدافی خاص و بازبینی سطح‌های رنگ شده ماشین جهت یافتن عیب. اگرچه تکنیک‌های مربوط به سیستمهای ماشین بینایی برای طیف‌های مرئی از اشیاء گسترش یافته اند ولی ممکن است مشابه با روش‌ها برای طیف‌های نامرئی نور مانند اشعه مادون قرمز یا اشعه به کار برده شوند.

زمینه‌های مربوط به ماشین بینایی :

ماشین بینایی به مهندسی سیستمهای تصویر در صنعت و تولید و همچنین به گستره وسیعی از علوم کامپیوتر شامل computer vision، کنترل تجهیزات، شبکه‌های کامپیوتری، مدارهای واسط و فراگیری ماشین مربوط می شود. لازم به ذکر است که دو مفهوم Machine vision و Computer vision نباید با یکدیگر اشتباه گرفته شوند. Computer vision مفهوم گسترده تری در حل مسائل تصویری دارد درحالیکه Machine vision یک روش مهندسی است که عموما در مسائل مهندسی کاربرد دارد.
منبع

كاربردهاي ماشين‌ بينايي در صنايع مختلف

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

……………………..

صنايع فولاد، آلومينيوم، مس و …
• بازرسي و كنترل كيفيت سطح
• اندازه‌گيري عرض
• مانيتورينگ، آرشيو و بازبيني تصاوير محصول
• تهيه نقشه عيوب
• درجه‌بندي محصول

………………………………….

ورق پليمري، كامپوزيت، كارتن پلاست و …
• بازرسي و كنترل كيفيت سطح
• مانيتورينگ، آْرشيو و بازبيني تصاوير محصول
• تهيه نقشه عيوب
• درجه‌بندي محصول

……………………………….

ورق‌هاي سلولوزي(كاغذ، مقوا، كارتن)
• بازرسي و كنترل كيفيت سطح
• مانيتورينگ، آْرشيو و بازبيني تصاوير محصول
• تهيه نقشه عيوب
• درجه‌بندي محصول

……………………………….

لوله و پروفيل فلزي
• بازرسي و كنترل كيفيت سطح
• اندازه‌گيري ابعاد
• تهيه نقشه عيوب
• درجه‌بندي محصول

…………………………

لوله پليمري و كابل
• بازرسي و كنترل كيفيت سطح
• اندزه‌گيري قطر
• تهيه نقشه عيوب
• درجه‌بندي محصول

……………………………

منسوجات (پارچه، موكت، فرش و بافته‌هاي صنعتي)
• بازرسي الياف
• بازرسي نخ
• بازرسي بافت پارچه
• بازرسي چاپ
• تهيه نقشه عيوب

……………………………..

كاشي، سراميك و كفپوش‌هاي ديگر
• بازرسي سطح
• كنترل طرح چاپ
• کنترل سطح رنگ (Shade)
• درجه‌بندي
منبع

مديريت و كنترل هوشمند ترافيك
• آمار و اطلاعات ترافيكي
• كنترل هوشمند تقاطع
• كنترل ترافيك تونل‌ها و پل‌ها
• تشخيص سانحه
• ثبت تخلف سرعت

……………………………

صنايع هوافضا
• آشكارسازي اپتيكي
• هدايت و كنترل هوشمند
• رديابي اهداف متحرك
• نقشه‌برداري و پردازش تصاوير هوايي

…………………………..

بسته‌بندي و چاپ
• بازرسي چاپ
• بازرسي برچسب، باركد و تاريخ مصرف
• بازرسي بطري و ظرف محصول
• كنترل پربودن جعبه

………………………….

صنايع خودرو
• كنترل رباتهاي خط توليد
• كنترل ابعادي قطعات
• بازرسي سطح قطعات
• بازرسي رنگ خودرو
• بازرسي مونتاژ خودرو

………………………….

داروسازي و پزشكي
• كنترل بسته‌بندي انواع دارو
• بازرسي برچسب، باركد و تاريخ
• آشكارسازي و تشخيص تومورها
• پردازش تصاوير پزشكي(آنژيوگرافي، ماموگرافي و …)

…………………………….

صنايع الكترونيك
• بازرسي PCB
• بازرسي قطعات مونتاژشده
• بازرسي چاپ بورد
• بازرسي برچسب و باركد

……………………………..

صنايع غذايي
• بازرسي بطري و ظرف محصول
• درجه‌بندي ميوه‌ها، غلات، حبوبات و …
• بازرسي برچسب و باركد و تاريخ مصرف
• كنترل پربودن جعبه
منبع

هوش مصنوعی چیست؟

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

هوش مصنوعی به هوشی که یک ماشین از خود نشان می‌دهد و یا به دانشی در کامپیوتر که سعی در ایجاد آن دارد گفته می‌شود. بیشتر نوشته‌ها و مقاله‌های مربوط به هوش مصنوعی آن را «دانش شناخت و طراحی عامل‌های هوشمند» تعریف کرده‌اند. یک عامل هوشمند سیستمی است که با شناخت محیط اطراف خود، شانس موفقیت خود را بالا می‌برد.[۲] جان مکارتی که واژه هوش مصنوعی را در سال ۱۹۵۶ استفاده نمود، آن را «دانش و مهندسی ساخت ماشین‌های هوشمند» تعریف کرده‌است. تحقیقات و جستجوهایی انجام شده برای رسیدن به ساخت چنین ماشین‌هایی مرتبط با بسیاری از رشته‌های علمی دیگر می‌باشد، مانند علوم رایانه، روان‌شناسی، فلسفه، عصب شناسی، علوم ادراکی، تئوری کنترل، احتمالات، بهینه سازی و منطق.

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

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

نام هوش مصنوعی در سال ۱۹۶۵ میلادی به عنوان یک دانش جدید ابداع گردید. البته فعالیت درزمینه این علم از سال ۱۹۶۰ میلادی شروع شده‌بود.

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

این اصطلاح (هوش مصنوعی) برای اولین بار توسط جان مکارتی (John Mccorthy) که از آن به‌عنوان پدر «علم و دانش تولید ماشینهای هوشمند» یاد می‌شود استفاده شد.آقای جان مکارتی مخترع یکی از زبانهای برنامه نویسی هوش مصنوعی به نام (lisp) نیز هستند. با این عنوان می‌توان به هویت هوشمند یک ابزار مصنوعی اشاره کرد. (ساختهٔ دست بشر، غیر طبیعی، مصنوعی)

حال آنکه AI به عنوان یک اصطلاح عمومی پذیرفته شده که شامل محاسبات هوشمندانه و ترکیبی (مرکب از مواد مصنوعی) می‌باشد.

از اصطلاح strong and weak AI می‌توان تا حدودی برای معرفی رده‌بندی سیستم‌ها استفاده کرد. AI‌ها در رشته‌های مشترکی چون علم کامپیوتر، روانشناسی و فلسفه مورد مطالعه قرار می‌گیرند، که مطابق آن باعث ایجاد یک رفتار هوشمندانه، یادگیری و سازش می‌شود و معمولاً نوع پیشرفتهٔ آن در ماشینها و کامپیوترها استفاده می‌شود.

آزمون تورینگ

آزمون تورینگ آزمونی است که توسط آلن تورینگ در سال ۱۹۵۰ در نوشته‌ای به نام «محاسبات ماشینی و هوشمندی» مطرح شد. در اين آزمون شرايطي فراهم مي شود كه شخصي با ماشين تعامل برقرار كند و پرسش هاي كافي براي بررسي هوشمندي او بپرسد. چنانچه در پايان آزمايش نتواند تعيين كند كه با انسان در تعامل بوده است يا با ماشين، تست تورينگ با موفقيت انجام شده است. تا كنون هيچ ماشيني از اين آزمون با موفقيت بيرون نيامده است. کوشش این آزمون برای تشخیص درستی هوشمندی یک سیستم است که سعی در شبیه سازی انسان دارد.
منبع

تعریف و طبیعت هوش مصنوعی

هنوز تعریف دقیقی که مورد قبول همهٔ دانشمندان این علم باشد برای هوش مصنوعی ارائه نشده‌است، و این امر، به هیچ وجه مایهٔ تعجّب نیست. چرا که مقولهٔ مادر و اساسی‌تر از آن، یعنی خود هوش هم هنوز بطور همه‌جانبه و فراگیر تن به تعریف نداده‌است. در واقع، می‌توان نسل‌هایی از دانشمندان را سراغ گرفت که تمام دوران زندگی خود را صرف مطالعه و تلاش در راه یافتن جوابی به این سؤال عمده نموده‌اند که: هوش چیست؟

اما اکثر تعریف‌هایی که در این زمینه ارایه شده‌اند بر پایه یکی از ۴ باور زیر قرار می‌گیرند:

1. سیستم‌هایی که به طور منطقی فکر می‌کنند
2. سیستم‌هایی که به طور منطقی عمل می‌کنند
3. سیستم‌هایی که مانند انسان فکر می‌کنند
4. سیستم‌هایی که مانند انسان عمل می‌کنند

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

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

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

–مشاهده رفتاري هوشمندانه و صحيح از يك سيستم را نمي توان دليلي كافي بر هوشمندي آن سيستم تصوركرد بلكه بايستي به ساختار داخلي و مكانيزم انتخاب راه توسط سيستم توجه شود كه آيا مبتني بر آگاهي خود سيستم است يا نه و اين آگاهي زماني ميسر خواهد بود كه سيستم خود قابليت تحليل اطلاعات در يافتي از محيط را داشته باشد و بتواند رابطه هاي معني داري بين علت و معلول ما بين اتفاقات محيطي ايجاد كند و در واقع قادر به ايجاد مدلي هر چند غير دقيق بر پايه مشاهدات خود از محيط باشد سپس سيستم ايده ارزشمندي از نظرگاه خود توليد بكند و بعنوان خواسته و هدفي سعي در پياده سازي آن بكند يعني در پي پيدا كردن و اتصال ابزارهاي مناسبي به آن هدف باشد تا بتواند آلگوريتم عملياتي براي برآورد آن خواسته توليد نمايد.
منبع

فلسفهٔ هوش مصنوعی

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

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

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

اتاق چینی

اتاق چینی بحثی است که توسط «جان سیرل» در ۱۹۸۰ مطرح شد در این راستا که یک ماشین سمبل گرا هرگز نمی‌تواند دارای ویژگی‌هایی مانند «مغز» و یا «فهمیدن» باشد، صرف نظر از اینکه چقدر از خود هوشمندی نشان دهد.
منبع

مدیریت پیچیدگی

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

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

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

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

هر چند نمونه بالا ممکن است کمی آرمانی به نگر برسد، ولی به هیچ عنوان دور از دسترس نمی‌باشد. دانشمندان, عموماً برای تولید چنین ماشینهایی، از وجود مدلهای زنده‌ای که در طبیعت وجود، به ویژه آدمی نیز سود برده‌اند.

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

تکنیک‌ها وزبان‌های برنامه نویسی هوش مصنوعی

عملکرد اولیه برنامه نویسی هوش مصنوعی ایجاد ساختار کنترلی مورد لزوم برای محاسبه سمبولیک است زبانهای برنامه نویسی LISP,PROLOG علاوه بر اینکه از مهمترین زبانهای مورد استفاده در هوش مصنوعی هستند خصوصیات نحوی ومعنایی انها باعث شده که انها شیوه‌ها و راه حل‌های قوی برای حل مسئله ارایه کنند. تاثیر قابل توجه این زبانها بر روی توسعه AI از جمله توانایی‌های انها بعنوان «ابزارهای فکرکردن» می باشد. در حقیقت همانطور که هوش مصنوعی مراحل رشد خود را طی می‌کند زبانهای LISP ,PROLOG بیشتر مطرح می‌شوند این زبانها کار خود را در محدوده توسعه سیستم‌های AIدر صنعت ودانشگاه‌ها دنبال می‌کنند و طبیعتاً اطلاعات در مورد این زبانها بعنوان بخشی از مهارت هر برنامه نویس AIمی‌باشد. PROLOGیک زبان برنامه نویسی منطقی است. یک برنامه منطقی دارای یک سری ویژگیهای قانون ومنطق است.

در حقیقت خود این نام از برنامه نویسی PROدر LOGIC می‌آید. در این زبان یک مفسر برنامه را بر اساس یک منطق می‌نویسد.ایده استفاده توصیفی محاسبهٔ اولیه برای بیان خصوصیات حل مسئله یکی از محوریتهای مشارکت PROLOG می باشد که برای علم کامپیوتر بطور کلی و بطور اخص برای زبان برنامه نویسی هوشمند مورد استفاده قرار می‌گیرند. LISP اصولاً LISP یک زبان کامل است که دارای عملکردها و لیست‌های لازمه برای توصیف عملکردهای جدید، تشخیص تناسب و ارزیابی معانی می‌باشد. LISP به برنامه نویس قدرت کامل برای اتصال به ساختارهای اطلاعاتی را می‌دهد گر چه LISP یکی از قدیمی ترین ترین زبانهای محاسباتی است که هنوز فعال است ولی دقت کافی در برنامه نویسی وطراحی توسعه باعث شده که این یک زبان برنامه نویسی فعال باقی بماند. در حقیقت این مدل برنامه نویسی طوری موثر بوده‌است که تعدادی از دیگر زبانها براساس عملکرد برنامه نویسی آن بنا شده‌اند: مثل FP ،ML ،SCHEME یکی از مهمترین برنامه‌های مرتبط با LISP برنامه SCHEME می‌باشد که یک تفکر دوباره در باره زبان در آن وجود دارد که بوسیله توسعه AI وبرای آموزش واصول علم کامپیوتر مورد استفاده قرار می‌گیرد.
منبع

عامل‌های هوشمند

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

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

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