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

تاریخچه سیستمهای OCR

از جنبه تاریخی سیستم های OCR تا کنون سه مرحله تکاملی را پشت سر گذاشته اند:

ﺍﻟﻒ ) ﻣﺮحله ﺗﻜﻮﻳﻦ : (از سال 1900 تا 1980)

ﺭﺩ ﭘﺎﻱ ﺍﻭﻟﻴﺔ ﺍﻗﺪﺍﻣﺎﺕ ﺻﻮﺭﺕ ﮔﺮﻓﺘﻪ ﺩﺭ ﺯﻣﻴﻨﺔ ﺑﺎﺯﺷﻨﺎﺳﻲ حروف را ﺩﺭ ﺳﺎﻟﻬﺎﻱ ﺍﻭﻝ ﺩﻫﺔ 1900 می ﺗﻮﺍﻥ ﻳﺎﻓﺖ ﻭ ﺁﻥ ﺯﻣﺎﻧﻲ ﺍﺳﺖ ﻛﻪ Tyuring ﺩﺍﻧﺸﻤﻨﺪ ﺭوسی بر آن بود  ﻛﻪ ﺑﻪ ﺍﻓﺮﺍﺩ ﻣﺒﺘﻼ ﺑﻪ ﻧﺎﺭﺳﺎﻳﻴﻬﺎﻱ ﺑﻴﻨﺎﻳﻲ ﻛﻤﻚ ﻧﻤﺎﻳﺪ و ﺍﻭﻟﻴﻦ ﺍﺧﺘﺮﺍﻉ های ﺛﺒﺖ ﺷﺪﻩ ﺩﺭ ﺍﻳﻦ ﺯﻣﻴﻨﻪ مربوط به سالهای 1929 و 1933 هستند
ﺍﻳﻦ ﺳﻴﺴﺘﻢ ﻫﺎ ﺣﺮﻭﻑ ﭼﺎﭘﻲ ﺭﺍ ﺑﺎ ﺭﻭﺵ ﺗﻄﺎﺑﻖ ﻗﺎﻟﺒﻲ ﺷﻨﺎﺳﺎﻳﻲ ﻣﻲ كردند. ﻣﺎﺳﻜﻬﺎﻱ ﻣﻜﺎﻧﻴﻜﻲ ﻣﺨﺘﻠﻔﻲ ﺍﺯ ﻣﻘﺎﺑﻞ ﺗﺼﻮﻳﺮ ﺣﺮﻑ ﻋﺒﻮﺭ می ﻛﺮﺩﻧﺪ و نور از یك سو ﺑﻪ ﺁﻥ ﺗﺎﺑﺎﻧﺪﻩ ﺷﺪﻩ ﻭ ﺍﺯ ﺳﻮﻱ ﺩﻳﮕﺮ ﺗﻮﺳﻂ ﻳﻚ ﺁﺷﻜﺎﺭﺳﺎﺯ ﻧﻮﺭﻱ ﺩﺭﻳﺎﻓﺖ ﻣﻲ شد. وقتی یك انطباق كامل صورت می گرفت ﻧﻮﺭ ﺑﻪ ﺁﺷﻜﺎﺭﺳﺎﺯ ﻧﻤﻲ ﺭﺳﻴﺪ ﻭ ﺣﺮﻑ ﻭﺭﻭﺩﻱ ﺑﺎﺯﺷﻨﺎﺳﻲ ﻣﻲ شد. این ﺍﺧﺘﺮﺍﻉ ﺑﻪ ﺩﻟﻴﻞ ﺗﻜﻨﻮﻟﻮﮊﻱ ﺍﭘﺘﻮﻣﻜﺎﻧﻴﻜﻲ ﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺁﻧﻬﺎ ﻛﺎﺭﺑﺮﺩﻱ ﻧﺒﻮﺩ و ﺗﺼﻮﺭ ﺩﺳﺘﺮﺳﻲ ﺑﻪ ﺩﺳﺘﮕﺎﻫﻲ ﺑﺮﺍﻱ ﺑﺎﺯﺷﻨﺎﺳﻲ ﺣﺮﻭﻑ ﺗﺎ ﺩﻫﻪ 1940 ﻣﻴﻼﺩﻱ ﻭ ﻇﻬﻮﺭ ﻛﺎﻣﭙﻴﻮﺗﺮﻫﺎﻱ ﺩﻳﺠﻴﺘﺎﻝ ﺑﺼﻮﺭﺕ ﻳﻚ ﺭﺅﻳﺎ ﺑﺎﻗﻲ ﻣﺎﻧﺪ.
ﺍﻗﺪﺍﻣﺎﺕ ﺍﻭﻟﻴﻪ ﺩﺭ ﺯﻣﻴﻨﺔ ﺑﺎﺯﺷﻨﺎﺳﻲ ﺣﺮﻭﻑ، ﺑﺮ ﺭﻭﻱ ﻣﺘﻮﻥ ﭼﺎﭘﻲ ﻭ ﻳﺎ ﻣﺠﻤﻮﻋﺔ ﻛﻮﭼﻜﻲ ﺍﺯ ﺣﺮﻭﻑ ﻭ ﻧﻤﺎﺩﻫﺎﻱ ﺩﺳﺘﻨﻮﻳﺲ ﻛﻪ ﺑﺮﺍﺣﺘﻲ ﻗﺎﺑﻞ ﺗﺸﺨﻴﺺ ﺑﻮﺩﻧﺪ، ﻣﺘﻤﺮﻛﺰ ﮔﺮﺩﻳﺪﻩ ﺑﻮﺩ. ﺳﻴﺴﺘﻤﻬﺎﻱ ﺑﺎﺯﺷﻨﺎﺳﻲ ﺣﺮﻭﻑ ﭼﺎﭘﻲ ﻛﻪ ﺩﺭ ﺍﻳﻦ ﻣﻘﻄﻊ ﺯﻣﺎﻧﻲ ﻣﻌﺮﻓﻲ ﺷﺪﻧﺪ، ﻋﻤﺪﺗﺎً ﺍﺯ ﺭﻭﺵ ﺗﻄﺎﺑﻖ ﻗﺎﻟﺒﻲ ﺍﺳﺘﻔﺎﺩﻩ می نمودند ﻛﻪ ﺩﺭ ﺁﻥ ﺗﺼﻮﻳﺮ ﻭﺭﻭﺩﻱ ﺑﺎ ﻛﺘﺎﺑﺨﺎﻧﻪ ای از تصاویر ﺣﺮﻭﻑ ﻣﻮﺭﺩ ﻣﻘﺎﻳﺴﻪ ﻗﺮﺍﺭ ﻣﻲ گرفت. در ﻣﻮﺭﺩ ﻣﺘﻮﻥ ﺩﺳﺘﻨﻮﻳﺲ ﻧﻴز ﺍﻟﮕﻮﺭﻳﺘﻤﻬﺎﻱ ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ ﻛﻪ ﻭﻳﮋﮔﻴﻬﺎﻱ ﺳﻄﺢ ﭘﺎﻳﻴﻦ را از تصاویر ﺍﺳﺘﺨﺮﺍﺝ ﻣﻲ كنند، ﺑﻪ ﺗﺼﺎﻭﻳﺮ ﺩﻭﺩﻭﻳﻲ ﺍﻋﻤﺎﻝ ﻣﻲ ﺷﺪ ﺗﺎ ﺑﺮﺩﺍﺭﻫﺎﻱ ﻭﻳﮋﮔﻲ ﺍﺳﺘﺨﺮﺍﺝ ﮔﺮﺩﻧﺪ. ﺳﭙﺲ ﺍﻳﻦ ﺑﺮﺩﺍﺭﻫﺎﻱ ﻭﻳﮋﮔﻲ ﺑﻪ ﻃﺒﻘﻪ ﻛﻨﻨﺪﻩ ﺁﻣﺎﺭﻱ ﺳﭙﺮﺩﻩ ﻣﻲ ﺷﺪﻧﺪ.
ﺩﺭ ﺍﻳﻦ ﺩﻭﺭﻩ، ﺗﺤﻘﻴﻘﺎﺕ ﻣﻮﻓﻖ ﺍﻣﺎ ﻣﻘﻴﺪﻱ ﺑﻴﺸﺘﺮ ﺑﺮ ﺭﻭﻱ ﺣﺮﻭﻑ ﻭ ﺍﻋﺪﺍﺩ لاتین ﺍﻧﺠﺎﻡ ﮔﺮﻓﺖ با ﺍﻳﻦ ﻭﺟﻮﺩ ﻣﻄﺎﻟﻌﺎﺕ ﭼﻨﺪﻱ ﻧﻴﺰ ﺩﺭ ﺯﻣﻴﻨﺔ ﺣﺮﻭﻑ ﮊﺍﭘﻨﻲ، ﭼﻴﻨﻲ، ﻋﺒﺮﻱ، ﻫﻨﺪﻱ، ﺳﻴﺮﻳﻠﻴﻜﻲ، ﻳﻮﻧﺎﻧﻲ ﻭ ﻋﺮﺑﻲ ﺩﺭ ﻫﺮ ﺩﻭ ﺯﻣﻴﻨﺔ ﺣﺮﻭﻑ ﭼﺎﭘﻲ ﻭ ﺩﺳﺘﻨﻮﻳﺲ ﺁﻏﺎﺯ ﮔﺮﺩﻳﺪ ﺑﺎ ﻇﻬﻮﺭ ﺻﻔﺤﺎﺕ ﺭﻗﻮﻣﻲ كننده ( ﺩﻳﺠﻴﺘﺎﻳﺰﺭﻫﺎ ) در دهه 1950 كه ﻗﺎﺩﺭ ﺑﻪ ﺗﺸﺨﻴﺺ ﻣﺨﺘﺼﺎﺕ ﺣﺮﻛﺘﻲ ﻧﻮﻙ ﻳﻚ ﻗﻠﻢ ﻣﺨﺼﻮﺹ ﺑﻮﺩﻧﺪ، ﺳﻴﺴﺘﻤﻬﺎﻱ OCR ﺗﺠﺎﺭﻱ ﻧﻴﺰ ﺍﻣﻜﺎﻥ ﻋﺮﺿﻪ ﻳﺎﻓﺘﻨﺪ. ﺍﻳﻦ ﻧﻮﺁﻭﺭﻱ ﺳﺒﺐ ﺷﺪ ﻛﻪ ﻣﺤﻘﻘﺎﻥ ﺑﺘﻮﺍﻧﻨﺪ ﺩﺭ ﺯﻣﻴﻨﺔ بازشناسایی حروف دست نویس فعالیت خود را آغاز نمایند.

ب ) ﻣﺮحله توسعه: (از سال 1980 تا 1990) 

ﻣﻄﺎﻟﻌﺎﺕ ﺻﻮﺭﺕ ﮔﺮﻓﺘﻪ ﺗﺎ ﻗﺒﻞ ﺍﺯ ﺳﺎﻝ 1980 ﺍﺯ ﻓﻘﺪﺍﻥ سخت افزارهای ﻛﺎﻣﭙﻴﻮﺗﺮﻱ ﻗﺪﺭﺗﻤﻨﺪ ﻭ ﺩﺳﺘﮕﺎﻫﻬﺎﻱ ﺍﺧﺬ ﺩﺍﺩﻩها رنج می بردند. در ﺍﻳﻦ ﺩﻫﻪ ﺑﻮﺍﺳﻄﺔ ﺭﺷﺪ ﺍﻧﻔﺠﺎﺭﮔﻮﻧﺔ ﺗﻜﻨﻮﻟﻮﮊﻱ اطلاعات، ﻭﺿﻌﻴﺖ ﺑﺴﻴﺎﺭ ﻣﻨﺎﺳﺒﻲ ﺑﺮﺍﻱ ﺯﻣﻴﻨﻪ ﻫﺎﻱ ﺗﺤﻘﻴﻘﺎﺗﻲ ﻣﺨﺘﻠﻒ ﺍﺯ ﺟﻤﻠﻪ ﺑﺎﺯﺷﻨﺎﺳﻲ ﺣﺮﻭﻑ ﻓﺮﺍﻫﻢ ﮔﺮﺩﻳﺪ. ﺭﻭﺷﻬﺎﻱ ﺳﺎﺧﺘﺎﺭﻱ ﺑﻪ ﻫﻤﺮﺍﻩ ﺭﻭﺷﻬﺎﻱ ﺁﻣﺎﺭﻱ ﺩﺭ ﺑﺴﻴﺎﺭﻱ ﺍﺯ ﺳﻴﺴﺘﻤﻬﺎ ﻇﺎﻫﺮ ﮔﺮﺩﻳﺪﻧﺪ.  ﺗﺤﻘﻴﻘﺎﺕ ﺩﺭ ﺯﻣﻴﻨﺔ OCR ﺍﺳﺎﺳﺎً ﺗﻮﺟﻪ ﺧﻮﺩ ﺭﺍ ﺑﻪ ﺭﻭﺷﻬﺎﻱ ﺑﺎﺯﺷﻨﺎﺳﻲ ﺍﺷﻜﺎﻝ ﺑﺪﻭﻥ ﺗﻮﺟﻪ ﺑﻪ ﻫﺮﮔﻮﻧﻪ اطلاعات ﻣﻌﻨﺎﺷﻨﺎﺧﺘﻲ ﻣﻌﻄﻮﻑ ﻧﻤﻮﺩ. این مسئله سبب ﮔﺮﺩﻳﺪ ﻛﻪ ﻧﺮﺥ ﺑﺎﺯﺷﻨﺎﺳﻲ نتواند ﺍﺯ ﻳﻚ ﺣﺪ ﺧﺎﺹ ﻓﺮﺍﺗﺮ بروﺩ. ﻛﻪ ﺩﺭ ﺑﺴﻴﺎﺭﻱ ﺍﺯ ﻛﺎﺭﺑﺮﺩﻫﺎﻱ OCR ﻗﺎﺑﻞ ﻗﺒﻮﻝ ﻧﺒﻮﺩ.

ج ) ﻣﺮحله بهبود: (از سال 1990 به بعد) 

ﺩﺭ ﺍﻳﻦ ﻣﻘﻄﻊ ﺯﻣﺎﻧﻲ ﺑﻮﺩ ﻛﻪ ﺑﺎ ﺗﻜﻮﻳﻦ ﺍﺑﺰﺍﺭﻫﺎ ﻭ ﺗﻜﻨﻴﻜﻬﺎﻱ ﭘﺮﺩﺍﺯﺷﻲ ﺟﺪﻳﺪ، ﭘﻴﺸﺮﻓﺖ ﻭﺍﻗﻌﻲ ﺳﻴﺴﺘﻤﻬﺎﻱ OCR ﻣﺤﻘﻖ ﮔﺮﺩﻳﺪ. ﺩﺭ ﺍﻭﺍﻳﻞ ﺩﻫﺔ 1990 ﺭﻭﺷﻬﺎﻱ ﭘﺮﺩﺍﺯﺵ ﺗﺼﻮﻳﺮ ﻭ ﺑﺎﺯﺷﻨﺎﺳﻲ ﺍﻟﮕﻮ ﺑﺎ ﺗﻜﻨﻴﻜﻬﺎﻱ ﻛﺎﺭﺁﻣﺪ ﻫﻮﺵ ﻣﺼﻨﻮﻋﻲ (AI) ﺍﺩﻏﺎﻡ ﮔﺸﺘﻨﺪ. ﻣﺤﻘﻘﺎﻥ ﺍﻟﮕﻮﺭﻳﺘﻤﻬﺎﻱ ﺑﺎﺯﺷﻨﺎﺳﻲ ﺣﺮﻭﻑ ﭘﻴﭽﻴﺪﻩ ﺭﺍ ﺍﺑﺪﺍع ﻧﻤﻮﺩﻧﺪ ﻛﻪ ﻗﺎﺩﺭ بودند ﺩﺍﺩﻩ ﻫﺎﻱ ﻭﺭﻭﺩﻱ ﺑﺎ ﺗﻔﻜﻴﻚ پذیری ﺑﺎﻻ ﺭﺍ ﺩﺭﻳﺎﻓﺖ ﻛﻨﻨﺪ ﻭ ﺩﺭ ﻣﺮﺣﻠﺔ ﭘﻴﺎﺩﻩ سازی، ﻣﺤﺎﺳﺒﺎﺕ ﺑﺴﻴﺎﺭ ﺯﻳﺎﺩﻱ ﺭﺍ ﺑﺮ ﺭﻭﻱ ﺩﺍﺩﻩ ﺍﻧﺠﺎﻡ ﺩﻫﻨﺪ. كه عبارتند از شبكه های عصبی ، منطق فازی و پردازش زبانهای طبیعی و غیره.

منبع

ﺑﺨﺸﻬﺎی ﻣﺨﺘﻠﻒ ﻳک ﺳﻴﺴﺘﻢ OCRﻛﺎﻣﻞ و انواع آن

ﺍﻧﻮﺍﻉ ﺳﻴﺴﺘﻤﻬﺎی OCR

ﺩﺭ ﻳﻚ ﺗﻘﺴﻴﻢ كلی می توان سیستمهای OCR را به ﻟﺤﺎﻅ ﻧﻮﻉ ﺍﻟﮕﻮﻱ ﻭﺭﻭﺩﻱ ﺑﻪ ﺩﻭ ﮔﺮﻭﻩ ﺍﺻﻠﻲ ﺗﻘﺴﻴﻢ ﻛﺮﺩ :
الف ) ﺳﻴﺴﺘم های ﺑﺎﺯﺷﻨﺎﺳﻲ ﻣﺘﻮﻥ ﭼﺎﭘﻲ
ب ) ﺳﻴﺴﺘم های ﺑﺎﺯﺷﻨﺎﺳﻲ ﻣﺘﻮﻥ ﺩﺳﺘﻨﻮﻳﺲ
ﻫﺮ ﻳﻚ ﺍﺯ ﺍﻳﻦ ﮔﺮﻭﻫﻬﺎ ﺗﻜﻨﻴﻜﻬﺎﻱ ﺧﺎﺹ ﺧﻮﺩ ﺭﺍ ﺩﺍﺭﻧﺪ. همچنین ﺍﺯ ﺟﻨﺒﺔ ﻧﺤﻮﺓ ﻭﺭﻭﺩ اطلاعات، سیستمهای OCR به دو دسته زیر تقسیم میﺷﻮﻧﺪ :
الف ) ﺳﻴﺴﺘﻤﻬﺎﻱ ﺑﺮﺧﻂ (OnLine)
ﺩﺭ ﺑﺎﺯﺷﻨﺎﺳﻲ ﺑﺮﺧﻂ، حروف در همان زمان نگارش ﺗﻮﺳﻂ ﺳﻴﺴﺘﻢ ﺗﺸﺨﻴﺺ ﺩﺍﺩه می شوند. دستگاههای ورودی ﺍﻳﻦ ﺳﻴﺴﺘﻤﻬﺎ ﻳﻚ ﻗﻠﻢ ﻧﻮﺭﻱ ﺍﺳﺖ. ﺩﺭ ﺍﻳﻦ ﺭﻭﺵ ﻋﻼﻭﻩ ﺑﺮ اطلاعات ﻣﺮﺑﻮﻁ ﺑﻪ ﻣﻮﻗﻌﻴﺖ قلم، اطلاعات ﺯﻣﺎﻧﻲ ﻣﺮﺑﻮﻁ ﺑﻪ ﻣﺴﻴﺮ ﻗﻠﻢ ﻧﻴﺰ ﺩﺭ ﺍﺧﺘﻴﺎﺭ می باشد. ﺍﻳﻦ اطلاعات ﻣﻌﻤﻮﻻً ﺗﻮﺳﻂ ﻳﻚ صفحه Digitizer اخذ می شوند.
ﺩﺭ ﺍﻳﻦ ﺭﻭﺵ ﻣﻲ توان ﺍﺯ اطلاعات ﺯﻣﺎﻧﻲ، ﺳﺮﻋﺖ، شتاب، ﻓﺸﺎﺭ ﻭ ﺯﻣﺎﻥ برداشتن و گذاشتن قلم روی صفحه در بازشناسایی استفاده كرد.
ب ) ﺳﻴﺴﺘﻤﻬﺎﻱ ﺑﺮﻭﻥ ﺧﻂ (OutLine)
ﺩﺭ ﺑﺎﺯﺷﻨﺎﺳﻲ ﺑﺮﻭﻥ خط، ﺍﺯ ﺗﺼﻮﻳﺮ ﺩﻭ ﺑﻌﺪی ﻣﺘﻦ ﻭﺭﻭﺩی ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲشود. ﺩﺭ ﺍﻳﻦ ﺭﻭﺵ ﺑﻪ ﻫﻴﭻ ﻧﻮﻉ ﻭﺳﻴﻠﻪ ﻧﮕﺎﺭﺵ ﺧﺎﺻﻲ ﻧﻴﺎﺯ ﻧﻴﺴﺖ ﻭ ﺗﻔﺴﻴﺮ ﺩﺍﺩﻩ ﻣﺴﺘﻘﻞ ﺍﺯ ﻓﺮﺁﻳﻨﺪ ﺗﻮﻟﻴﺪ ﺁﻧﻬﺎ ﺗﻨﻬﺎ ﺑﺮﺍﺳﺎﺱ ﺗﺼﻮﻳﺮ ﻣﺘﻦ ﺻﻮﺭﺕ ﻣﻲ’گیرد. ﺍﻳﻦ ﺭﻭﺵ ﺑﻪ ﻧﺤﻮﺓ ﺑﺎﺯﺷﻨﺎﺳﻲ ﺗﻮﺳﻂ انسان ﺷﺒﺎﻫﺖ ﺑﻴﺸﺘﺮﻱ ﺩﺍﺭﺩ.


ﺑﺨﺸﻬﺎی ﻣﺨﺘﻠﻒ ﻳﻚ ﺳﻴﺴﺘﻢ OCR ﻛﺎﻣﻞ 

ﻳﻚ ﺳﻴﺴﺘﻢ OCR ﻛﺎﻣﻞ مركب از 5 ﻗﺴﻤﺖ ﺍﺻﻠﻲ زیر می باشد :

الف ) ﭘﻴﺶ ﭘﺮﺩﺍﺯﺵ  (Preprocessing):
ﺷﺎﻣﻞ ﻛﻠﻴه ﺍﻋﻤﺎﻟﻲ ﻛﻪ ﺭﻭﻱ ﺳﻴﮕﻨﺎﻝ ﺗﺼﻮﻳﺮﻱ ﺧﺎﻡ ﺻﻮﺭﺕ ﻣﻲ ﮔﻴﺮﻧﺪ ﺗﺎ موجب ﺗﺴﻬﻴﻞ ﺭﻭﻧﺪ ﺍﺟﺮﺍﻱ ﻓﺎﺯﻫﺎﻱ ﺑﻌﺪﻱﮔﺮﺩﻧﺪ؛ ﻣﺎﻧﻨﺪ ﺑﺎﻳﻨﺮﻱ ﻛﺮﺩﻥ ﺗﺼﻮﻳﺮ ، ﺣﺬﻑ ﻧﻮﻳﺰ ، ﻫﻤﻮﺍﺭﺳﺎﺯﻱ، ﻧﺎﺯﻛﺴﺎﺯﻱ ، ﺗﺸﺨﻴﺺ ﺯﺑﺎﻥ ﻭ ﻓﻮﻧﺖ ﻛﻠﻤﺎﺕ و ﻧﻈﺎﻳﺮ ﺍﻳﻨﻬﺎ.

ب) قطعه بندی (Segmentation) :
ﻋﺒﺎﺭﺕ ﺍﺳﺖ ﺍﺯ ﺭﻭﺷﻬﺎﻳﻲ ﻛﻪ ﺑﺨﺸﻬﺎﻱ ﻣﺨﺘﻠﻔﻲ ﻫﻤﭽﻮﻥ ﭘﺎﺭﺍﮔﺮﺍﻓﻬﺎ، ﺟﻤﻼﺕ ﻳﺎ ﻛﻠﻤﺎﺕ ﻭ ﺣﺮﻭﻑ ﺭﺍ ﺍﺯ ﺗﺼﻮﻳﺮﺳﻨﺪ ﺍﺳﺘﺨﺮﺍﺝ ﻣﻲ کنند.

ج ) ﺍﺳﺘﺨﺮﺍﺝ ﻭﻳﮋﮔﻴﻬﺎ (Feature Extraction) :
ﻣﺠﻤﻮﻋﺔ از ﻛﻠیه ﻣﺤﺎﺳﺒﺎﺗﻲ است ﻛﻪ ﺭﻭﻱ ﺍﻟﮕﻮﻫﺎﻱ ﺑﺪﺳﺖ ﺁﻣﺪﻩ ﺍﺯ ﻣﺮحله ﭘﻴﺶ پردازش ﺍﻧﺠﺎﻡ ﻣﻲ شود ﺗﺎ ﺑﺮﺩﺍﺭ ﻭﻳﮋﮔﻴﻬﺎﻱ ﻣﺘﻨﺎﻇﺮ ﺑﺎ ﻫﺮ ﺍﻟﮕﻮ ﺗﻌﻴﻴﻦ گردد.

د ) ﺑﺎﺯﺷﻨﺎﺳﻲ ﺑﺎ ﻳﻚ ﻳﺎ ﭼﻨﺪ ﻃﺒﻘﻪ بندی كننده (Classification & Recognition):
ﺷﺎﻣﻞ ﺭﻭﺷﻬﺎﻳﻲ ﺑﺮﺍﻱ ﻣﺘﻨﺎﻇﺮ ﺳﺎﺧﺘﻦ ﻫﺮ ﻳﻚ ﺍﺯ ﺍﻟﮕﻮﻫﺎﻱ ﺑﺪﺳﺖ ﺁﻣﺪﻩ ﺍﺯ ﻣﺮﺣﻠﺔ ﺍﺳﺘﺨﺮﺍﺝ ﻭﻳﮋﮔﻴﻬﺎ ﺑﺎ ﻳﻜﻲ ﺍﺯ ﻛﻼﺳﻬﺎﻱ ﻓﻀﺎﻱ ﺍﻟﮕﻮﻫﺎﻱ ﻣﻮﺭﺩ ﺑﺤﺚ ﺍﺳﺖ ﻛﻪ ﺍﺯ ﻃﺮﻳﻖ ﻛﻤﻴﻨﻪ ﺳﺎﺧﺘﻦ ﻓﺎصله ﺑﺮﺩﺍﺭ ﻭﻳﮋﮔﻴﻬﺎی ﻫﺮ ﺍﻟﮕﻮ ﻧﺴﺒﺖ ﺑﻪ ﻳﻜﻲ ﺍﺯ ﺑﺮﺩﺍﺭﻫﺎﻱ ﻣﺮﺟﻊ ﻣﻮﺟﻮﺩ ﺩﺭ ﭘﺎﻳﮕﺎﻩ ﺩﺍﺩﻩ های ﺳﻴﺴﺘﻢ ﺍﻧﺠﺎﻡ ﻣﻲ ﮔﻴﺮﺩ.

هـ ) ﺑﻜﺎﺭﮔﻴﺮﻱ اطلاعات ﺟﺎﻧﺒﻲ (ﭘﺲ ﭘﺮﺩﺍﺯﺵ) :
ﻣﺎﻧﻨﺪ ﻣﺠﻤﻮﻋﻪ اطلاعات ﺁﻣﺎﺭﻱ ﻣﺮﺑﻮﻁ به رخداد حروف ، اطلاعات ﺩﺳﺘﻮﺭﻱ ﻭ ﻣﻌﻨﺎﻳﻲ.

منبع

خوانش پلاک خودرو از تصاویر جاده‌ای

(پیاده سازی شده برای پلاک های ایرانی)

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

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

فقط قبل از اجرای برنامه این مراحل رو طی کنید:
1- مسیر عکس خودرو(glx.jpg) رو وارد کنید
2-دیتا بیس (فایل زیپ) رو دانلود کنید
3-مسیر دیتا-بیس کاراکترها رو درست وارد کنید.
4-برنامه رو اجرا کنید-نتایج رو صفحه کامند matlab نمایش داده میشود.
5-هر جا خواستید از پشت دستور imshow و figure علامت % رو حذف کنید تا کارهای که روی تصویر انجام میشود رو مرحله به مرحله ببینید.
6-برنامه را اجرا کنید و نتایج را در صفحه متلب ببیند.

 

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

تعداد صفحات پی دی اف : 18

تعداد صفحات پاور پوینت : 18

سورس کد : نرم افزار متلب Matlab

قیمت : رایگان

کلمه عبور فایل : behsanandish.com

 

دانلود

 

 

 

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

سورس برنامه در نرم افزار متلب:


clear all
close all
clc

p0=imread('E:\NIT\DIP\dip data proj\car\glx.jpg');
p=rgb2gray(p0);
p=im2double(p);

f=fspecial('gaussian');
pf=imfilter(p,f,'replicate');
%imshow(pf)
%figure
Pm=mean2(pf); %Average or mean of matrix elements
Pv=((std2(pf))^2); %the variance of an M-by-N matrix is the square of the standard deviation
T=Pm+Pv;

% taerife astane............................................
[m n]=size(pf);
for j=1:n
 for i=1:m
 if pf(i,j)>T;
 pf(i,j)=1;
 else
 pf(i,j)=0;
 end
 end
end

ps=edge(pf,'sobel');
%imshow(ps)
%figure
pd=imdilate(ps,strel('diamond',1));
pe=imerode(pd,strel('diamond',1));
pl=imfill(pe,'holes');
[m n]=size(pl);

%barchasb gozary..............................................
pll=bwlabel(pl);
stat =regionprops(pll,'Area','Extent','BoundingBox','Image','Orientation','Centroid');
index = (find([stat.Area] == max([stat.Area]))); %meghdare barchasb dakhele bozorgtarin masahat ra mikhanad
ppout=stat(index).Image;
%imshow(ppout);
%figure

% biron keshidane mokhtasate pelak.............................
x1 = floor(stat(index).BoundingBox(1)); %shomare stone awalin pixel (B = floor(A) rounds the elements of A to the nearest integers less than or equal to A)
x2 = ceil(stat(index).BoundingBox(3)); %pahnaye abject dar sathe ofoghi(B = ceil(A) rounds the elements of A to the nearest integers greater than or equal to A)
y1 = ceil(stat(index).BoundingBox(2)); %shomare satre avalin pixel(B = ceil(A) rounds the elements of A to the nearest integers greater than or equal to A)
y2 = ceil(stat(index).BoundingBox(4)); %pahnaye abject dar sathe amodi(B = ceil(A) rounds the elements of A to the nearest integers greater than or equal to A)
bx=[y1 x1 y2 x2];
ppc=imcrop(p0(:,:,:),[x1,y1,x2,y2]);
%imshow(ppc)
%figure
ppg=imcrop(p(:,:),[x1,y1,x2,y2]);
%imshow(ppg)
%figure

%plate enhancment..............................................
ppcg=rgb2gray(ppc);
ppcg=imadjust(ppcg, stretchlim(ppcg), [0 1]); % specify lower and upper limits that can be used for contrast stretching image(J = imadjust(I,[low_in; high_in],[low_out; high_out]))
ppg=im2double(ppcg);
pb=im2bw(ppg);%im2bw(I, level) converts the grayscale image I to a binary image
%imshow(pb)
%figure

%rotate correction..............................................
if abs(stat(index).Orientation) >=1; %The orientation is the angle between the horizontal line and the major axis of ellipse=angle
 ppouto=imrotate(ppout,-stat(index).Orientation); %B = imrotate(A,angle) rotates image A by angle degrees in a counterclockwise direction around its center point. To rotate the image clockwise, specify a negative value for angle.
 pbo=imrotate(pb,-stat(index).Orientation);
 angle = stat(index).Orientation;
else
 pbo=pb;
end;
%imshow(pbo)

pbod=imdilate(pbo,strel('line',1,0));
pbodl=imfill(pbod,'holes');
px = xor(pbodl , pbod);

pz= imresize(px, [44 250]); % 4*(57*11)=(chahar barabar size plake khodroye irani)

%barchasb zanye plak..........................................
stat1 = regionprops(bwlabel(pz,4),'Area','Image');
index1 = (find([stat1.Area] == max([stat1.Area])));
maxarea =[stat1(index1).Area];%braye hazfe neweshteye iran va khatahaye ehtemali
pzc=bwareaopen(pz,maxarea-200); %maxarea(1,1) meghdare structur ra adres dehi mikonad,va migoyad object haye ka mte z an ra hazf konad
%histogram plak......
%v=sum(pzc);
%plot(v);

%biron keshidan karakterha......................................
stat2=regionprops(pzc,'Area','BoundingBox','Image','Orientation','Centroid');
cx=cell(1,8);
for i=1:8
 x=stat2(i).Image;
 rx=imresize(x, [60 30]);
 %imshow(rx)
 %figure
 cx{1,i}=rx;
 %fx=mat2gray(cx{1,1});
 %imshow(cx{1,2})
 
 imwrite(rx,['E:\NIT\DIP\dip data proj\char\car\glx\' num2str(i) '.jpg']);
end

%khandane karakterha.........mini database1...................

for i=1:1
 for j=1:8
 temp=imread(['E:\NIT\DIP\dip data proj\char\car\glx\' num2str(j) '.jpg']);
 temp=im2bw(temp);
 nf1=temp.*cx{1,i};
 nf2=sum(sum(nf1));
 nf(j)=nf2/(sum(sum(temp)));
 mx=max(nf(j));
 
 
 if nf(1,1)== mx
 disp(1);
 else
 if nf(1,2)== mx
 disp(5);
 else
 if nf(1,3)== mx
 disp('j');
 else
 if nf(1,4)== mx
 disp(6);
 else
 if nf(1,5)== mx
 disp(3);
 else
 if nf(1,6)== mx
 disp(1);
 else
 if nf(1,7)== mx
 disp(7);
 else
 if nf(1,8)== mx
 disp(2);
 
 
 end
 end
 end
 end
 end
 end
 
 end
 
 end
 
 
 end
 
end

 

ترجمه لغات پردازش‌تصویر

فهرست بعضی از لغات در زمینه هوش مصنوعی و پردازش تصویر عبارت اند از:

فهرست واژگان:

A
accuracy دقت action اقدام action-value function تابع اقدام-مقدار

activation function تابع فعالیت

active learning یادگیری فعال

adaptive control theory نظریه کنترل تطبیقی

adaptive dynamic برنامه نویسی پویای تطبیقی

programming (ADP)

algebraic expressions اصطلاحات جبری

applicability قابلیت اعمال

approximation algorithm الگوریتم تقریب

arbitrary دلخواه

arithmetic unknown مجهول حسابی

assertion اظهار

assumption فرض

attribute صفت

attribute-based language زبان مبتنی بر صفت

availability در دسترس بودن

B

background knowledge دانش زمینه

back-propagate پس-انتشار

backtrack عقب گرد

backward proof process فرایند اثبات رو به عقب

backward-chaining قضیه زنجیره ای رو به عقب

theorem

bandit problems مسائل قمار

bang-bang control کنترل بنگ-بنگ

basis functions توابع پایه ای

Bayes’ rule قانون بیز

Bayesian learning یادگیری بیزین

Bayesian network شبکه بیزین

Bellman equations معادلات بلمن

beta distribution توزیع بتا

bias weight وزن بایاس

Booleanclassification دسته بندی بولی(دودویی)

Boosting algorithm الگوریتم بوستینگ

boundary set مجموعه کران

branching factor فاکتور انشعاب

bump برامدگی

C

candidate definition تعریف مطلوب

candidate elimination حذف مطلوب

cart-pole balancing problem مسأله تنظیم میله ارابه

classification دسته بندی

clause بند

complete data داده های کامل

complexity پیچیدگی

component مؤلفه (جزء)

compression تراکم

computation محاسبه

computational complexity پیچیدگی محاسباتی

computational learning نظریه یادگیری محاسباتی

theory

computational عصب شناسی محاسباتی

neuroscience

conditional probability احتمال شرطی

conjugate prior مزدوج اول

conjunct عطف

Conjunction ترکیب عطفی

connectionism پیوندگرایی

consistency سازگاری

consistent hypothesis فرض سازگار

constraint equation معادله محدودیت

constructive الگوریتم های استقرای سازنده

induction algorithms

continuous-valued پیوسته مقدار

contradiction تناقض

convergence همگرایی

Cross-validation اعتبارسنجی متقابل

cumulative learning یادگیری فزاینده

current state حالت جاری

current-best- جستجوی بهترین فرض جاری

hypothesis search

D

debate مباحثه

decision list لیست تصمیم

decision stumps ریشه های تصمیم

decision theory نظریه تصمیم

Decision tree درخت تصمیم

declarative bias بایاس اعلانی

definition تعریف

delta rule قانون دلتا

density estimation تخمین چگالی

description توصیف

determinations تعیین کننده ها

deterministic قطعی

dictionary فرهنگ لغات

differentiating مشتق گیری

dimension of the space بعد فضا

direct utility estimation تخمین مستقیم سودمندی

discount factor فاکتور تخفیف

discrete گسسته

discrete-valued گسسته- مقدار

disjunct فاصل

Disjunction ترکیب فصلی

domain دامنه

dropping conditions حذف شرطها

dynamic environment محیط پویا

E

efficiency کارایی

empirical gradient گرادیان تجربی

ensemble learning یادگیری گروهی

entailment constraint محدودیت ایجاب

epoch دوره

equality literal لیترال تساوی

equation معادله (تساوی)

equivalence معادل (هم ارز)

error rate نرخ خطا

estimate تخمین زدن

evaluation function تابع ارزیابی

evidence شاهد

example مثال

example descriptions توصیف های مثال

expectation– ماکزیمم سازی امیدواری

maximization (EM)

expected value مقدار مورد انتظار

Explanation-based یادگیری مبتنی بر تشریح

learning (EBL)

exploitation بهره برداری

exploration اکتشاف

exploration function تابع اکتشاف

expressiveness رسا بودن

extension بسط

extract استخراج کردن

F

fairly good نسبتا خوب

false negative منفی کاذب

false positive مثبت کاذب

feature ویژگی (مشخصه)

feedback بازخور

feed-forward network شبکه پیشرو

filtering فیلتر کردن

first-order logic منطق مرتبه اول

fit برازش کردن

fixed policy خط مشی ثابت

formulation تدوین

forward–backward الگوریتم پیشرو-پسرو

algorithm

fully connected network شبکه کاملا متصل

fully observable کاملا رؤیت پذیر

function تابع

function approximation تقریب تابع

functional dependencies وابسته های تابعی

G

gain ratio نسبت بهره

generality عمومیت

generalization تعمیم

generalization hierarchy سلسله مراتب تعمیم

general-purpose الگوریتم های یادگیری همه منظوره

learning algorithms

goal predicate گزاره هدف

gradient descent نزول گرادیان

gradient-based algorithm الگوریتم مبتنی بر گرادیان

greedy agent عامل حریص

H

hamming distance فاصله همینگ

handwritten digits ارقام دست نویس

happy graphs گرافهای خوشحال

head (of a clause) سر(یک بند)

heuristic هیوریستیک

hidden Markov مدل های پنهان مارکوف

models (HMMs)

hidden units واحدهای پنهان

hidden variables متغیرهای پنهان

hill-climbing search جستجوی تپه نوردی

hole حفره

horn clause بند هورن

hypothesis فرض

hypothesis prior پیش فرض

hypothesis space فضای فرض

I

implement پیاده سازی کردن

inconsistent ناسازگار

incremental رو به رشد

independent مستقل

independently توزیع شده بطور مستقل و یکنواخت

and identically distributed (i.i.d.)

indicator variables متغیرهای نمایشگر

individual جداگانه

induction استقرا

inductive learning یادگیری استقرایی

inductive logic برنامه نویسی منطقی استقرایی

programming(ILP)

inequality literal لیترال عدم تساوی

infer استنتاج کردن

inference استنتاج

inferential استنتاجی

information content محتوای اطلاعات

information encoding رمزگذاری اطلاعات

information gain بهره اطلاعات

initial state حالت اولیه

instance-based learning یادگیری نمونه محور

interaction تعامل

internal state حالت درونی

invention اختراع

inverse entailment ایجاب معکوس

inverse resolution تحلیل معکوس

irrelevant attribute صفت نامربوط

iterative solution الگوریتم های راه حل تکراری

algorithms

K

kernel function تابع کرنل

kernel machines ماشین های کرنل

kernel model مدل کرنل

knowledge-based approach رهیافت مبتنی بر دانش

knowledge-based یادگیری استقرایی مبتنی بر دانش

inductive learning (KBIL)

knowledge-free بدون دانش

L

latent variables متغیرهای نهفته

layers لایه ها

leaf node گره برگ

learning curve منحنی یادگیری

learning element عنصر یادگیری

learning mixtures یادگیری ترکیبی گاوس

of gaussians

learning rate نرخ یادگیری

least-commitment جستجوی حداقل تعهد

search

likelihood درستنمایی

linear separator جداکننده خطی

linear-Gaussian model مدل خطی گاوس

linearly separable جداشدنی خطی

links پیوندها

list لیست

literal (sentence) لیترال (جمله)

local search جستجوی محلی

log likelihood لگاریتم درستنمایی

logistic function تابع استدلالی

lookup table جدول مراجعه

M

machine learning یادگیری ماشین

mahalanobis distance فاصله ماهالانوبیس

majority function تابع اکثریت

majority vote رأی گیری اکثریت

margin حاشیه

Markov decision فرایندهای تصمیم مارکوف

processes (MDPs)

maximum a posteriori (MAP) حداکثر تجربی

maximum-likelihood (ML) حداکثر درستنمایی

measure مقیاس

measurement اندازه گیری

memorization یادسپاری

memory-based learning یادگیری حافظه محور

Mercer’s theorem قضیه مرکر

minimal کمینه

minimum description حداقل طول توصیف

length (MDL)

mixture distribution توزیع ترکیبی

model checking وارسی مدل

model structure ساختار مدل

OCR چیست

OCR سرنام اصطلاحی است كه صورت كامل آن در واژه‌نامه انگلیسی Optical Character Recognition و به معنی بازشناسایی كاراكتر نوری است.
فرض كنید كه ما متنی را روی كاغذ داریم و می‌خواهیم آن را وارد رایانه كنیم. اولین روشی كه به ذهن می‌رسد این است كه متن را به تایپیست بدهیم تا با كامپیوتر تایپ كند. اما آیا می‌شود عین همان متن را وارد رایانه بكنیم تا نیازی به تایپ نباشد؟ البته دستگاه «اسكنر» می‌تواند تصویری از آن متن را وارد رایانه كند، تا اینجا بخشی از مشكل ما حل شده است. اما رایانه كه نه عقلی دارد و نه «زبان» می‌فهمد، نمی‌تواند حروف و كلمات را از هم تشخیص دهد. مثلاً اگر از كامپیوتر بخواهیم به ما بگوید كه در متن اسكن‌شده كلمة «علی» چند بار آمده است، بی‌آنكه شرمنده شود، می‌گوید: «error»، یعنی: «نمی‌توانم تشخیص بدهم!» در واقع این «تصویر دیجیتال‌شده» باید به «تصویر قابل پردازش» تبدیل شود. موضوع اصلی OCR همین است.

فرض كنید كه مثلاً می‌خواهیم متن مقالات روزنامه اطلاعات سال 1340 شمسی را (كه اكنون نه تنها فایل تایپی‌اش موجود نیست ــ چون آن زمان اصلاً تایپ كامپیوتری در كار نبود! ــ بلكه خود نسخه‌های روزنامه را هم به زحمت می‌توان پیدا كرد) تایپ دیجیتالی كنیم، و این متن‌ها را داخل بسته‌های نرم‌افزاری یا اینترنت قرار دهیم. اگر هر شماره از روزنامه را 24 صفحه فرض كنیم، و هر تایپیست بتواند در هر روز حداكثر یك صفحه از آن صفحات كاهی و كهنه شدة قدیمی را دوباره تایپ كند، مجموعاً 24 روز لازم است تا تنها مقالات یك شماره از روزنامه تایپ شود. بنابراین در عرض یك سال یك نفر می‌تواند تنها 15 شماره از روزنامه را تایپ كند.

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

 ﺷﻨﺎﺳﺎﻳﻲ ﺍﻟﮕﻮ 

ﺷﻨﺎﺳﺎﻳﻲ ﺍﻟﮕﻮ ﺷﺎﺧﻪ ای اﺯ ﻫﻮﺵ ﻣﺼﻨﻮﻋﻲ است كه با ﻃﺒﻘﻪ بندی (ﻛﻼﺳﻪ ﺑﻨﺪﻱ) ﻭ ﺗﻮﺻﻴﻒ ﻣﺸﺎﻫﺪﺍﺕ ﺳﺮﻭﻛﺎﺭ ﺩﺍﺭﺩ.  ﺷﻨﺎﺳﺎﻳﻲ ﺍﻟﮕﻮ ﺑﻪ ﻣﺎ ﻛﻤﻚ ﻣﻲ ﻛﻨﺪ ﺗﺎ ﺩﺍﺩﻩ ها ( ﺍﻟﮕﻮﻫﺎ ) ﺭﺍ ﺑﺎ ﺗﻜﻴﻪ ﺑﺮ ﺩﺍﻧﺶ ﻗﺒﻠﻲ ﻳﺎ اطلاعات ﺁﻣﺎﺭﻱ ﺍﺳﺘﺨﺮﺍﺝ ﺷﺪﻩ ﺍﺯ ﺍﻟﮕﻮﻫﺎ، ﻃﺒﻘﻪ ﺑﻨﺪﻱ ﻧﻤﺎﻳﻴﻢ. ﺍﻟﮕﻮﻫﺎﻳﻲ ﻛﻪ ﻣﻲ ﺑﺎﻳﺴﺖ ﻛﻼﺳﻪ ﺑﻨﺪﻱ شوند،  ﻣﻌﻤﻮﻻً گروهی ﺍﺯ ﺳﻨﺠﺸﻬﺎ ﻳﺎ ﻣﺸﺎﻫﺪﺍﺕ ﻫﺴﺘﻨﺪ ﻛﻪ ﻣﺠﻤﻮﻋﻪ ﻧﻘﺎﻃﻲ ﺭﺍ ﺩﺭ ﻳﻚ ﻓﻀﺎﻱ ﭼﻨﺪ ﺑﻌﺪﻱ ﻣﻨﺎﺳﺐ ﺗﻌﺮﻳﻒ ﻣﻲ ﻧﻤﺎﻳﻨﺪ.

ﻳﻚ ﺳﻴﺴﺘﻢ ﺷﻨﺎﺳﺎﻳﻲ ﺍﻟﮕﻮﻱ ﻛﺎﻣﻞ ﻣﺘﺸﻜﻞ ﺍﺳﺖ ﺍﺯ ﻳﻚ ﺣﺴﮕﺮ ﻛﻪ ﻣﺸﺎﻫﺪﺍﺗﻲ ﺭﺍ ﻛﻪ ﻣﻲبایست ﺗﻮﺻﻴﻒ ﻳﺎ ﻛﻼﺳﻪ بندی گردند جمع آوری می نماید، ﻳﻚ ﻣﻜﺎﻧﻴﺰﻡ ﺍﺳﺘﺨﺮﺍﺝ ﻭﻳﮋﮔﻴﻬﺎ كه اطلاعات عددی ﻳﺎ ﻧﻤﺎﺩﻳﻦ ( ﺳﻤﺒﻮﻟﻴﻚ ) ﺭﺍ ﺍﺯ ﻣﺸﺎﻫﺪﺍﺕ ﻣﺤﺎﺳﺒﻪ می كند و  ﻳﻚ ﻧﻈﺎﻡ ﻛﻼﺳﻪ بندی یا ﺗﻮﺻﻴﻒ ﺍﻟﮕﻮﻫﺎ ﺭﺍ ﺑﺎ ﺗﻜﻴﻪ ﺑﺮ ﻭﻳﮋﮔﻴﻬﺎﻱ ﺍﺳﺘﺨﺮﺍﺝ ﺷﺪﻩ ﻋﻬﺪﻩ دار است. شكل زیر ﺑﻠﻮﻙ ﺩﻳﺎﮔﺮﺍﻡ ﻳﻚ ﺳﻴﺴﺘﻢ ﺷﻨﺎﺳﺎﻳﻲ ﺍﻟﮕﻮ ﺭﺍ ﻧﺸﺎﻥ می دهد همانطور كه از ﭘﻴﻜﺎﻧﻬﺎﻱ ﺑﺮﮔﺸﺘﻲ ﻣﺸﺨﺺ ﺍﺳﺖ، ﺍﻳﻦ ﺑﻠﻮﻛﻬﺎ ﻟﺰﻭﻣﺎً ﻣﺴﺘﻘﻞ ﻧﻴﺴﺘﻨﺪ ﻭ ﺑﺴﺘﻪ ﺑﻪ ﻧﺘﺎﻳﺞ ﺣﺎﺻﻠﻪ ﻣﻤﻜﻦ ﺍﺳﺖ ﻻﺯﻡ ﺑﺎﺷﺪ ﻛﻪ ﺑﻠﻮكﻫﺎﻱ ﺍﻭﻟﻴﻪ ﻣﺠﺪﺩﺍً ﻃﺮﺍﺣﻲ ﮔﺮﺩﻧﺪ ﺗﺎ ﺭﺍﻧﺪﻣﺎﻥ ﻛﻠﻲ ﺳﻴﺴﺘﻢ ﺑﻬﺒﻮﺩ ﻳﺎﺑﺪ.
ﺑﺎﺯﺷﻨﺎﺳﻲ ﺍﻟﮕﻮ ﺩﺭ ﺑﺴﻴﺎﺭﻱ ﺍﺯ ﺯﻣﻴﻨﻪها ﻧﻘﺶ ﻛﺎﺭبردی دارد. ﺑﺎﺯﺷﻨﺎﺳﻲ ﺣﺮﻭﻑ، ﺑﺎﺯﺷﻨﺎﺳﻲ  ﻧﻮﻳﺴﻨﺪﻩ ﺗﺼﺪﻳﻖ ﺍﻣﻀﺎﺀ ، ﻃﺒﻘﻪ ﺑﻨﺪﻱ ﺍﺛﺮ ﺍﻧﮕﺸﺖ ﻭ ﺑﺎﺯﺷﻨﺎﺳﻲ ﮔﻔﺘﺎﺭ ﻧﻤﻮﻧﻪ ﻫﺎﻳﻲ ﺍﺯ ﺍﻳﻦ ﻛﺎﺭﺑﺮﺩﻫﺎ ﻫﺴﺘﻨﺪ.

 ﺑﺎﺯﺷﻨﺎﺳﻲ ﻧﻮﺭﻱ ﺣﺮﻭﻑ OCR

ﺩﺭ ﭼﻨﺪ ﺩﻫﺔ ﮔﺬﺷﺘﻪ مسئله ﺑﺎﺯﺷﻨﺎﺳﻲ ﺍﻟﮕﻮﻫﺎﻱ ﻧﻮﺷﺘﺎﺭﻱ ﺷﺎﻣﻞ ﺣﺮﻭﻑ، ﺍﺭﻗﺎﻡ ﻭ ﺳﺎﻳﺮ ﻧﻤﺎﺩﻫﺎﻱ ﻣﺘﺪﺍﻭﻝ ﺩﺭ ﺍﺳﻨﺎﺩ ﻣﻜﺘﻮﺏ ﺷﺪﻩ ﺑﻪ ﺯﺑﺎﻧﻬﺎﻱ ﻣﺨﺘﻠﻒ، ﺗﻮﺳﻂ ﮔﺮﻭﻫﻬﺎﻱ ﻣﺨﺘﻠﻔﻲ ﺍﺯ ﻣﺤﻘﻘﻴﻦ ﻣﻮﺭﺩ ﻣﻄﺎلعه و ﺑﺮﺭﺳﻲ ﻗﺮﺍﺭ ﮔﺮﻓﺘﻪ ﺍﺳﺖ ﻧﺘﻴﺠه ﺍﻳﻦ ﺗﺤﻘﻴﻘﺎﺕ ﻣﻨﺠﺮ ﺑﻪ ﭘﻴﺪﺍﻳﺶ ﻣﺠﻤﻮﻋﻪ ﺍﻱ ﺍﺯ ﺭﻭﺷﻬﺎﻱ ﺳﺮﻳﻊ ﻭ ﺗﺎ ﺣﺪ ﺯﻳﺎﺩﻱ ﻣﻄﻤﺌﻦ ﻣﻮﺳﻮﻡ ﺑﻪ OCR یا « ﺑﺎﺯﺷﻨﺎﺳﻲ ﻧﻮﺭﻱ ﺣﺮﻭﻑ » ﺑﻤﻨﻈﻮﺭ ﻭﺍﺭﺩ ﻧﻤﻮﺩﻥ اطلاعات ﻣﻮﺟﻮﺩ ﺩﺭ  ﺍﺳﻨﺎﺩ، ﻣﺪﺍﺭﻙ، ﻛﺘﺎﺑﻬﺎ ﻭ ﺳﺎﻳﺮ ﻣﻜﺘﻮﺑﺎﺕ ﭼﺎﭘﻲ ﻳﺎ ﺗﺎﻳﭗ ﺷﺪﻩ ﻭ ﺣﺘﻲ ﺩﺳﺘﻨﻮﻳﺲ ﺑﻪ ﺩﺍﺧﻞ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺷﺪﻩ ﺍﺳﺖ  ﻫﻨﮕﺎﻣﻲ ﻛﻪ ﻳﻚ ﺳﻨﺪ ﻣﺘﻨﻲ ﺍﺳﻜﻦ ﻣﻲ ﺷﻮﺩ، ﻛﺎﻣﭙﻴﻮﺗﺮ ﺍﻳﻦ ﻣﺘﻦ ﺭﺍ ﺑﺼﻮﺭﺕ ﻳﻚ ﺗﺼﻮﻳﺮ ﮔﺮﺍﻓﻴﻜﻲ ﺗﺸﺨﻴﺺ ﻣﻲ ﺩﻫﺪ ﺩﺭ ﻧﺘﻴﺠﻪ ﻛﺎﺭﺑﺮﺍﻥ ﻗﺎﺩﺭ ﻧﺨﻮﺍﻫﻨﺪ ﺑﻮﺩ ﻛﻪ ﻣﺘﻦ ﻣﻮﺟﻮﺩ ﺩﺭ ﺗﺼﻮﻳﺮ ﺳﻨﺪ ﺭﺍ ﻭﻳﺮﺍﻳﺶ ﻧﻤﺎﻳﻨﺪ ﻭ ﻳﺎ ﺁﻥ ﺭﺍ ﻣﻮﺭﺩ ﺟﺴﺘﺠﻮ ﻗﺮﺍﺭ ﺩﻫﻨﺪ.   ﻳﻚ ﻧﺮﻡ ﺍﻓﺰﺍﺭ OCR ﺍﻳﻦ ﻣﺘﻦ ﺍﺳﻜﻦ ﺷﺪﻩ ﺭا ﺧﻮﺍﻧﺪﻩ و ﻣﺤﺘﻮﻳﺎﺕ ﺁﻧﺮﺍ  ﺷﻨﺎﺳﺎﻳﻲ ﻧﻤﻮﺩﻩ ﻭ ﺑﺼﻮﺭﺕ ﻳﻚ ﻓﺎﻳﻞ ﺩﺭ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺫﺧﻴﺮﻩ ﻣﻲ ﺳﺎﺯﺩ.

مزیت های سیستم های OCR

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

ﭼﻨﻴﻦ ﻗﺎﺑﻠﻴﺘﻲ ﺍﻣﻜﺎﻥ ﺍﺳﺘﻔﺎﺩه ﮔﺴﺘﺮﺩﻩ ﺍﺯ ﻛﺎﻣﭙﻴﻮﺗﺮ ﺭﺍ ﺩﺭ ﭘﺮﺩﺍﺯﺵ ﺳﺮﻳﻊ ﺣﺠﻢ ﻭﺳﻴﻌﻲ ﺍﺯ ﺩﺍﺩﻩ ﻫﺎی ﻣﻜﺘﻮﺏ ﺗﻮﻟﻴﺪ ﺷﺪﻩ ﺗﻮﺳﻂ ﺍﺩﺍﺭه ﭘﺴﺖ ﻭ ﺷﺮﻛﺘﻬﺎ ﻭ ﻣﺆﺳﺴﺎﺕ ﻣﺨﺘﻠﻒ ﻧﻈﻴﺮ ﺑﺎﻧﻜﻬﺎ، ﺷﺮﻛﺘﻬﺎی ﺑﻴﻤﻪ و ﻣﺆﺳﺴﺎﺕ ﺧﺪﻣﺎﺕ ﻋﻤﻮﻣﻲ و ﺳﺎﻳﺮ ﻧﻬﺎﺩﻫﺎﻳﻲ ﻛﻪ ﺳﺎﻟﻴﺎﻧﻪ ﺑﺎ ﻣﻴﻠﻴﻮﻧﻬﺎ ﻣﻮﺭﺩ ﭘﺮﺩﺍﺧﺖ، ﺩﺭﻳﺎﻓﺖ ﻭ ﺣﺴﺎﺑﺮﺳﻲ ﺍﻣﻮﺭ ﻣﺸﺘﺮﻳﺎﻥ ﺧﻮﺩ ﻣﻮﺍﺟﻬﻨﺪ، ﻓﺮﺍﻫﻢ ﻣﻲ ﺁﻭﺭﺩ .

منبع

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

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

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

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

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

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

اجزای یک ماشین بینایی

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

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

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

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

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

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

بینایی ماشین

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

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

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

تصویربرداری

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

شکلی از تصویربرداری خطی و تصویر برداری سه بعدی

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

پردازش تصویر

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

تصمیم گیری

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

چند مثال برای بینایی ماشین در زیر ذکر شده است :

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

مزیت ها

فواید استفاده از یک سیستم بینایی ماشین چیست ؟

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

بینایی رایانه ای

بینایی رایانه ای یا “Computer Vision” یک فیلدی است که شامل دریافت ، پردازش ، آنالیز و فهم تصاویر است ؛ به طور کلی به دریافت تصاویر از محیط و استخراج اطلاعات کمی و کیفی از آن ها اطلاق می شود.

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

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

در زیر جدولی ارائه شده است که تا حدودی تفاوت های بینایی رایانه ای با بینایی ماشین ذکر شده است :

منبع : http://d-i-p.ir

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

مشکل deepfake ما در مورد بدتر شدن است: مهندسان سامسونگ در حال حاضر سرهای سخنگوی واقع گرایانه ای را توسعه داده اند که می تواند از یک تصویر تولید شود، بنابراین AI حتی می تواند کلمات را در دهان مونا لیزا قرار دهد.

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

 

 

 

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

و در حالی که همه انواع برنامه های جالب وجود دارد که از تکنولوژی می توان برای آن استفاده کرد – مانند قرار دادن یک نسخه فوق واقع گرایانه از خودتان در واقعیت مجازی – این نگرانی وجود دارد که فیلم های ویدئویی کاملاً تقلبی را می توان از یک تصویر کوچک تولید کرد.

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

deepfake

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

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

 

deepfake new

 

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

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

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

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

از طرف دیگر، ستاره های تلویزیون و فیلم مورد علاقه شما هرگز نباید رشد کنند و بمیرند – AI شبیه به این است که به زودی به اندازه کافی هوشمند خواهد بود تا نمایش های کاملا واقعی را فقط از چند عکس تولید کند و همچنین در زمان ذخیره.

 

 

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

جهت خریداری توجه داشته باشید، دوربین مورد نظر شرایط فنی زیر را دارا باشد.

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

 1/2.8 cmos – 2 mp Full HD Image sensor
Color: 0/1 lox          –        B/w: 0/1 lox Min illumination
1s~1/10,000s Minshutter time
P-Iris Auto Iris
IR cut filter with auto switch Day & Night
DNR Digital noise reduction
True – 120 dB Real Wide dynamic range
H.264-MPEG4-MJPEG Video compression
UP TO 1920*1080 Resolution
UP TO 30 fps at (1920*1080) Frame Rate
-30 °C ~ 55 °C – Humidity 100% Operating conditions
At least one zone configurable Rol
Yes HLC
Yes BLC
Yes Defog
Yes ELC
Yes Smart Focus
Yes Network Interface
User Authentication, anonymous access Security
ONVIF (Profile S, Profile G) System Compatibility
PoE Power Supply
Import/Export configuration capability – rese buttom – web broeser access Other feature
Varifocal P-Iris Lens Type
Under the terms of Iris Focal Length
IP66 Housing

 

منبع

مقدمه

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

 

 

«فصل اول: آموزش توابع اولیه پردازش تصویر در متلب»

 

تابع ()imread :

هدف : هدف از این تابع خواندن تصویر از فایل می باشد.

 

نحوه استفاده :

imread( مسیر فایل )

 

مثال :

img= imread('c:\1.jpg');

 

 


تابع ()imshow :

هدف : هدف از این تابع نمایش تصویر می باشد.

 

نحوه استفاده :

imshow(نام متغیر)

 

مثال :

img= imread('c:\1.jpg');
imshow(img)

 

خروجی دستور :

آموزش توابع اولیه پردازش تصویر در متلب - imshow


 

تابع ()subplot:

هدف : جهت نمایش تصاویر بطور همزمان و در یک پنجره.

 

نحوه استفاده :


subplot( rows , columns , image number) , imshow( pic )

 

مثال :


subplot(131);
imshow(img(:,:,1)); 

subplot(132);
imshow(img(:,:,2)); 

subplot(133);
imshow(img(:,:,3)); 

 

خروجی دستور:

آموزش توابع اولیه پردازش تصویر در متلب - subplot


تابع ()title:

هدف : جهت نمایش توضیحات در مورد آخرین تصویر نمایش داده شده.

 

نحوه استفاده :

imshow(img); 
title('Red')

 

مثال :

subplot(131); 
imshow(img(:,:,1)); 
title('Red'); 

subplot(132); 
imshow(img(:,:,2)); 
title('Green'); 

subplot(133); 
imshow(img(:,:,3)); 
title('Blue'); ; 

 

خروجی دستور :

آموزش توابع اولیه پردازش تصویر در متلب - title


تابع ()figure :

هدف : جهت نمایش تصویر در پنجره های جداگانه. در صورتی که بخواهیم خروجی دستور imshow در پنجره ای جدید باز شود از این دستور استفاده می شود.

نحوه استفاده :

figure , imshow( pic )

 

مثال :

figure , imshow( pic )

تابع ()imwrite :

هدف : هدف از این تابع ذخیره تصویر بصورت فایل می باشد.

 

نحوه استفاده :

imwrite( pic , path)

 

مثال :

 imwrite( pic , 'c:\1.jpg');

تابع ()iminfo:

هدف : نمایش اطلاعات تصویر.

 

نحوه استفاده :

iminfo( pic )

 

مثال :

 iminfo( peppers.png);

 

خروجی دستور:


ans =

 Filename: '/Applications/MATLAB_R2014a.app/toolbox/matla...'
FileModDate: '02-Apr-2013 15:55:52'
FileSize: 287677
Format: 'png'
FormatVersion: []
Width: 512
Height: 384
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: [137 80 78 71 13 10 26 10]
Colormap: []
Histogram: []
InterlaceType: 'none'
Transparency: 'none'
SimpleTransparencyData: []
BackgroundColor: []
RenderingIntent: []
Chromaticities: []
Gamma: []
XResolution: []
YResolution: []
ResolutionUnit: []
XOffset: []
YOffset: []
OffsetUnit: []
SignificantBits: []
ImageModTime: '16 Jul 2002 16:46:41 +0000'
Title: []
Author: []
Description: 'Zesty peppers'
Copyright: 'Copyright The MathWorks, Inc.'
CreationTime: []
Software: []
Disclaimer: []
Warning: []
Source: []
Comment: []
OtherText: []


تابع ()imtool:

هدف : نمایش اطلاعات تصویر.

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

 

نحوه استفاده :

imtool( pic )

 

مثال :

 imtool( coins.png);

 

خروجی دستور:

آموزش توابع اولیه پردازش تصویر در متلب - imtool


پایان آموزش پردازش تصویر در متلب (فصل اول)