کاربرد پایتون در هوش مصنوعی و یادگیری ماشین؛ معرفی بینایی کامپیوتری
هوش مصنوعی و یادگیری ماشین از روندهای روبهرشد و پرطرفدار فناوری اطلاعات هستند. در حالی که بحث در مورد ایمنی هوش مصنوعی و یادگیری مورد بحث جدی قرار دارد، توسعهدهندگان در حال توسعه قابلیتها و ظرفیتهای این حوزهها هستند. امروزه هوش مصنوعی بسیار فراتر از یک پدیده فانتزی و سوژه داستانهای علمی-تخیلی است و به یک ضرورت تبدیل شده است. هوش مصنوعی بهطور گسترده برای پردازش و تجزیه و تحلیل حجم عظیمی از دادهها در جهت پیشبینی امور، تعیین استراتژی و ارائه ارهکار استفاده میشود. به عنوان مثال در صنعت فینتک و در پلتفرمهای سرمایهگذاری از هوش مصنوعی برای انجام تحقیقات بازار برای کسب سود بیشتر استفاده میشود. صنعت گردشگری از هوش مصنوعی برای ارائه پیشنهادهای شخصی یا راهاندازی رباتهای گفتگو استفاده میکند و تجربه کلی کاربر را بهبود میبخشد. این مثالها نشان میدهند که هوش مصنوعی و یادگیری ماشین از حجم زیادی از دادهها برای ارائه تجربه کاربری بهتر، شخصیتر و دقیقتر استفاده میکنند.
اما بخش اعظم این توسعه در استفاده از ظرفیتهای هوش مصنوعی و یادگیری ماشین در کسبوکارها و نیازهای روزمره، مدیون تسهیل توسعه و برنامهنویسی در این حوزه است. یکی از تاثیرگذارترین بازیگران این حوزه زبان سطح بالای پایتون است. در این مقاله قصد داریم با دلایل گستردگی کاربرد پایتون در هوش مصنوعی بیشتر آشنا شویم.
هوش مصنوعی و نیاز به زبان برنامهنویسی خاص
مغز انسان میتواند حجم زیادی از دادهها را تجزیه و تحلیل کند، اما این توانایی با حجم دادههایی که در هر لحظه میتواند جذب کند، محدود میشود. هوش مصنوعی این محدودیتها را نداشته و پیشبینیها و بینشهای دقیقتر آن باعث بهبود کارایی کسبوکار، کاهش هزینه تولید و افزایش بهرهوری میشود. از این رو بسیاری از کسبوکارها به استفاده از آن نیاز دارند.
از سوی دیگر، استفاده از هوش مصنوعی برای بهینهسازی فرآیند تحلیل و توسعه محصول مبتنی بر هوش مصنوعی، میتواند خیلی پیچیده باشد. این امر میتواند به پاشنه آشیل این فناوری تبدیل شود. به همین دلیل، هوش مصنوعی نیاز به راهکارهای سادهتر برای پیادهسازی دارد. با توجه به حجم عظیمی از دادههایی که باید تجزیه و تحلیل شوند، محصول هوش مصنوعی باید بتواند فرآیندها را به طور موثر در زمان کوتاهی اداره کند. برای این هدف باید زبان مناسب برای توسعه آن انتخاب شود. استفاده از فناوری با ساختار سادهتر امکان مدیریت فرآیندهای پیچیده و پشتیبانی آسان را ممکن میسازد.
پایتون، بهترین زبان برنامهنویسی برای هوش مصنوعی
با افزایش کاربردهای هوش مصنوعی و یادگیری ماشین در صنایع مختلف، سرمایهگذاری و نیاز به متخصصان در این حوزه در حال افزایش است. طبق نظر ژان فرانسوا پوژه (Jean Francois Puget) از دپارتمان یادگیری ماشین آیبیام، پایتون محبوبترین زبان در این دو حوزه است. در ادامه با دلایل محبوبیت و گستردگی کاربرد پایتون در هوش مصنوعی آشنا خواهیم شد.
اکوسیستم کتابخانهای عالی
کتابخانههای عالی پایتون یکی از دلایل محبوبیت آن بین برنامهنویسان حوزه هوش مصنوعی است. کتابخانه یک یا گروهی از ماژولهای منتشرشده توسط منابع مختلف است که شامل یک قطعه کد ازپیشنوشتهشده برای عملکردها یا اقدامات مختلف است. کتابخانههای پایتون آیتمهای سطح پایه را ارائه میکنند تا توسعهدهندگان مجبور نباشند هر بار آنها را از ابتدا کدنویسی کنند. یادگیری ماشین نیازمند پردازش مداوم دادههاست و کتابخانههای پایتون به شما امکان دسترسی، مدیریت و تبدیل دادهها را میدهند. در ادامه تعدادی از کتابخانههایی که میتوانید برای برنامهنویسی در حوزه هوش مصنوعی و یادگیری ماشین استفاده کنید، معرفی شدهاند.
- Scikit-learn: برای مدیریت الگوریتمهای پایه یادگیری ماشین مانند خوشهبندی، رگرسیونهای خطی، رگرسیون لجستیک، طبقهبندی و موارد دیگر به کار میرود.
- Keras: در یادگیری عمیق. امکان محاسبات سریع و نمونهسازی را فراهم میکند، زیرا علاوه بر CPU از GPU رایانه نیز استفاده میکند.
- TensorFlow: برای کار با یادگیری عمیق با راهاندازی، آموزش و استفاده از شبکههای عصبی مصنوعی با مجموعه دادههای عظیم استفاده میشود.
- Matplotlib: برای ایجاد نمودارهای دو بعدی، هیستوگرام، نمودارها و سایر اشکال تجسم بکار میرود.
- NLTK: برای کار با زبانشناسی محاسباتی، تشخیص زبان طبیعی و پردازش استفاده میشود.
- Scikit-image: مخصوص پردازش تصویر است.
- PyBrain: برای شبکه های عصبی، یادگیری بدون نظارت و تقویتی بکار میرود.
- StatsModels: در الگوریتمهای آماری و اکتشاف دادهها کاربرد دارد.
در مخزن PyPI، میتوانید کتابخانههای بیشتری را یافته و مقایسه کنید.
سطح بالای زبان پایتون
کار با هوش مصنوعی و یادگیری ماشین به معنای پرداختن به مجموعهای از دادهها است که باید آنها را به راحتترین و مؤثرترین روش پردازش کرد. پایتون به دانشمندان داده اجازه میدهد تا بدون هدر دادن تلاش زیاد برای یادگیری زبان، از آن برای توسعه هوش مصنوعی استفاده کنند. زبان برنامهنویسی پایتون شبیه زبان انگلیسی روزمره است و این روند یادگیری را آسانتر میکند. پایتون به شما اجازه میدهد تا به راحتی با سیستمهای پیچیده کار کرده و از روابط شفاف بین عناصر سیستم اطمینان حاصل کنید. علاوه بر در دسترس بودن اسناد زیاد، انجمن پایتون همیشه برای کمک و مشاوره به شما آماده است.
انعطافپذیری بالای زبان پایتون
پایتون برای یادگیری ماشین یک انتخاب عالی است، زیرا این زبان بسیار انعطافپذیر است. همچنین نیازی به کامپایل مجدد کد منبع نیست. توسعهدهندگان میتوانند هر تغییری را اعمال کرده و نتایج را به سرعت مشاهده کنند. علاوه بر این، امکان ترکیب پایتون و زبانهای دیگر برای رسیدن به اهداف خاص نیز وجود دارد. انعطافپذیری به توسعهدهندگان این امکان را میدهد تا سبکهای برنامهنویسی را که کاملاً با آن راحت هستند انتخاب کنند یا حتی این سبکها را ترکیب کرده تا انواع مختلف مسائل را با کارآمدترین راهکار حل کنند.
- The imperative style: برنامهنویسی دستوری متشکل از دستوراتی است که نحوه اجرای دستورات را توسط رایانه توضیح میدهد. با این سبک، دنبالهای از محاسبات تعریف میشوند که گامبهگام تغییر حالت متغیرهای برنامه را تبیین میکنند.
- The functional style: برنامهنویسی تابعی بیان میکند که چه توابعی باید اجرا شود. در این سبک، در برنامه از تغییر حالت متغیرها اجتناب میشود و عملیات در قالب توابع ریاضی اجرا میشوند.
- The object-oriented style: سبک شیگرا بر اساس دو مفهوم کلاس و شی تعریف میشود که در آن اشیاء مشابه، کلاسها را تشکیل میدهند. این سبک به طور کامل توسط پایتون پشتیبانی نمیشود، زیرا نمیتواند به طور کامل کپسولهسازی را انجام دهد، اما توسعهدهندگان همچنان میتوانند از این سبک بهطور محدود استفاده کنند.
- The procedural style: سبک رویهای در بین مبتدیان رایجترین سبک است، زیرا وظایف را در قالب گامبهگام انجام میدهد و اغلب برای توالی، تکرار و ماژولارسازی استفاده میشود.
ضریب انعطافپذیری احتمال خطا را کاهش میدهد، زیرا برنامهنویسان این فرصت را دارند که شرایط را تحت کنترل درآورده و با استایل مدنظر خود کار کنند.
استقلال پلتفرم
یکی دیگر از دلایل گستردگی کاربرد پایتون در هوش مصنوعی این است که خروجی آن روی هر پلتفرمی از جمله ویندوز، MacOS، لینوکس، یونیکس و بیستویک پلتفرم دیگر قابل اجراست. برای انتقال فرآیند از یک پلتفرم به پلتفرم دیگر، توسعهدهندگان باید چندین تغییر در مقیاس کوچک اعمال کرده و برخی از خطوط کد را اصلاح کنند تا یک فرم اجرایی از کد برای پلتفرم انتخابی ایجاد کنند. توسعهدهندگان میتوانند از پکیجهایی مانند PyInstaller برای آمادهسازی کد خود برای اجرا روی پلتفرمهای مختلف استفاده کنند. این امر موجب صرفهجویی در زمان و هزینه برای آزمایش بر روی سیستم عاملهای مختلف میشود و روند کلی را سادهتر میکند.
خوانایی کد پایتون
خواندن پایتون بسیار آسان است، بنابراین هر توسعهدهنده پایتون میتواند کد سایر برنامهنویسان را درک کند، آن را تغییر دهد، کپی کند یا به اشتراک بگذارد. هیچ سردرگمی، خطا یا پارادایمهای متناقضی در آن وجود ندارد و این منجر به تبادل کارآمد الگوریتمها، ایدهها و ابزارها بین متخصصان هوش مصنوعی و یادگیری ماشین میشود. همچنین ابزارهایی مانند IPython در دسترس هستند که یک پوسته تعاملی بوده و ویژگیهای اضافی مانند تست، اشکالزدایی، تکمیل برگهها و موارد دیگر را فراهم و روند کار را تسهیل میکنند.
قابلیت تصویرسازی
قبلاً اشاره کردهایم که پایتون کتابخانههای مختلفی را ارائه میکند که برخی از آنها ابزارهای تجسمی قدرتمندی هستند. در هوش مصنوعی، یادگیری عمیق و یادگیری ماشین، توانایی نمایش دادهها در قالبی مفهوم برای انسان ضروری است. کتابخانههایی مانند Matplotlib به دانشمندان داده اجازه میدهند تا نمودارها و هیستوگرامهایی را برای درک بهتر دادهها، ارائه مؤثر و تجسم بسازند. رابطهای برنامهنویسی برنامههای کاربردی مختلف نیز فرآیند تجسم و ایجاد گزارشهای قابلفهم را تسهیل میکنند.
پشتیبانی جوامع برنامهنویسی
پشتیبانی قوی جامعه حول زبان برنامهنویسی بسیار کارساز است. در واقع، یکی از مهمترین دلایل گستردگی کاربرد پایتون در هوش مصنوعی و سایر حوزهها همین است. پایتون یک زبان منبع باز و برای برنامهنویسان مبتدی تا حرفهای در دسترس است. بسیاری از اسناد پایتون بهصورت آنلاین و در انجمنها در دسترس است، جایی که برنامهنویسان و توسعهدهندگان یادگیری ماشین در جهت حل مشکلات و کمک به یکدیگر با هم تبادل نظر میکنند.
محبوبیت روزافزون
طبق پیشبینی StackOverflow، تعداد توسعهدهندگان زبان پایتون رفتهرفته افزایش مییابد. بنابرین در صورت نیاز جایگزینی افراد تیم، تسهیل شده و هزینه کار آنها کاهش خواهد یافت.
موارد کاربرد پایتون در هوش مصنوعی و یادگیری ماشین
به دلایل محبویت پایتون در بین برنامهنویسان حوزه هوش مصنوعی و یادگیری ماشین اشاره شد. اما برای درک بهتر از میزان کاربرد پایتون در هوش مصنوعی در ادامه چند مورد از کاربردهای آن را بررسی میکنیم.
نمونهای از کاربرد پایتون و هوش مصنوعی در صنعت گردشگری
غول صنعت گردشگری، اسکایاسکنر از یک الگوریتم یادگیری ماشین بدون نظارت پایتون برای پیشبینی رفتار مسیرهای جدید هواپیما استفاده کرد. آنها هزاران مبدأ و مقصد را مقایسه کرده و هر یک از آنها را با 30 معیار مختلف برای تعریف تقاضای مسافران ارزیابی کردند. نتایج آنها روی داشبوردی مشاهده میشد که امکان انتخاب هر شهر مبدأ و سپس دریافت پیشنهادهایی درباره گروهی از مقاصد به همراه ویژگیهای آنها و بودجه مورد نیاز وجود داشت.
نمونههای کاربرد پایتون در هوش مصنوعی حوزه فینتک
هوش مصنوعی مورد استفاده در خدمات مالی به حل مشکلات مرتبط با مدیریت ریسک، پیشگیری از تقلب، بانکداری شخصی، اتوماسیون و مواردی از این دست به کاربران کمک میکند. پیشبینی میشود که استفاده از هوش مصنوعی در صنعت فینتک میتواند تا سال ۲۰۳۰ هزینههای عملیاتی را تا ۲۲ درصد کاهش دهد. برخی از نمونههای موفق نرم افزار بانکداری آنلاین ساخته شده بر روی پایتون Venmo، Affirm و Robinhood هستند. این سرویسها به کاربران اجازه میدهند تا پرداختها و خریدهای خود را انجام داده و کنترل کنند. همچنین پایتون در تجزیه و تحلیل موثر بازار، پیشبینی و تجسم دادهها در زمینه ارز دیجیتال نیز کاربرد دارد.
نمونهای از کاربرد پایتون در حملونقل هوشمند
اوبر که یکی از شرکتهای پیشرو در حوزه علم داده است، نمونه بسیار جالبی برای کاربرد پایتون در صنعت حملونقل است. این شرکت به توسعه پلتفرم ML Michelangelo PyML با استفاده از پایتون پرداخته است. این ابزار برای پیشبینیهای آنلاین و آفلاین برای تصمیمات و کارهای روزمره بخش عملیات اوبر استفاده میشود.
کاربرد پایتون در صنعت مراقبتهای بهداشتی
هوش مصنوعی با کمک پیشبینی و اسکن بیماریها، تشخیص آسیبها و کمک به مردم در حفظ سلامتی با استفاده از برنامههای کاربردی آسان موبایل، صنعت مراقبتهای بهداشتی را تغییر داده است. یکی از پروژههای مبتنی بر هوش مصنوعی در این صنعت، Fathom است که یک سیستم پردازش زبان طبیعی برای تجزیه و تحلیل سوابق سلامت الکترونیکی بوده و ماموریت خودکارسازی کدگذاری پزشکی را بر عهده دارد.
استارت آپ دیگری که خدمت آن اطمینان از مصرف داروی مناسب در زمان مناسب است، AiCure نام دارد. این برنامه با جمعآوری دادههای بالینی قادر است وضعیت بیمار را تجزیه و تحلیل کرده و اثرگذاری درمان را بسنجد. برای این منظور، از فناوریهایی مانند تشخیص چهره، تشخیص قرص و تشخیص عملکرد بدن استفاده میشود.
بینایی کامپیوتری در پایتون
به مدلسازی و تکرار بینایی انسان با استفاده از نرمافزار و سختافزار کامپیوتری، بینایی کامپیوتری گفته میشود. این مفهوم به مطالعه چگونگی بازسازی، قطع کردن و درک یک صحنه سه بعدی از تصاویر دو بعدی آن بر حسب ویژگیهای ساختار موجود در صحنه میپردازد.
تفاوت بینایی کامپیوتری و پردازش تصویر
پردازش تصویر تبدیل تصویر به تصویر را مطالعه میکند. ورودی و خروجی پردازش تصویر هر دو تصویر هستند. بینایی کامپیوتری ساختن توصیفهای صریح و معنادار از اشیاء فیزیکی به کمک تصویر آنهاست. خروجی بینایی کامپیوتر توصیف یا تفسیری از ساختارها در صحنه سه بعدی است. بینایی کامپیوتر به سه دسته اصلی تقسیم میشود:
- بینایی سطح پایین: شامل پردازش تصویر برای استخراج ویژگی.
- بینایی سطح متوسط: شامل تشخیص شی و تفسیر صحنه سه بعدی.
- دید سطح بالا: شامل توصیف مفهومی یک صحنه مانند فعالیت، قصد و رفتار.
کاربردهای بینایی کامپیوتری
بینایی کامپیوتری در صنایع و حوزههای مختلفی کاربرد دارد که در ادامه به برخی از آنها اشاره میکنیم:
- رباتیک: شامل تعیین مکان ربات به صورت خودکار، جهتیابی، دوری از موانع، مونتاژ (سوراخکاری، جوشکاری، رنگآمیزی) و تعامل ربات با انسان (HRI).
- پزشکی: شامل طبقهبندی و تشخیص (طبقهبندی ضایعه یا سلولها و تشخیص تومور)، بازسازی سهبعدی اندام انسان با MRI یا اولتراساوند و جراحی رباتیک با هدایت بینایی.
- امنیت: شامل بیومتریک (عنبیه، اثر انگشت، تشخیص چهره) و نظارت (تشخیص برخی فعالیتها یا رفتارهای مشکوک).
- حملونقل: شامل وسیله نقلیه خودران و ایمنی (نظارت بر هوشیاری راننده).
- اتوماسیون صنعتی: شامل بازرسی صنعتی (تشخیص عیب)، مونتاژ، خواندن بارکد و برچسب بسته، مرتبسازی اشیاء و درک سند (OCR).

کتابخانه بینایی کامپیوتری در پایتون
یکی از زبانهای محبوب برای برنامهنویسی هوش مصنوعی، زبان پایتون است. در این بخش با کتابخانه کاربردی برای توسعه بینایی کامپیوتری در پایتون آشنا میشویم. بینایی کامپیوتری، زبان پایتون است. برای شروع کدنویسی، میتوانید از یک کتابخانه محبوب به نام OpenCV (Open Source Computer Vision) استفاده کنید که یک کتابخانه از توابع برنامهنویسی است که عمدتاً با هدف بینایی کامپیوتر تدارک دیده شده است. با استفاده از دستور زیر میتوانید این بسته را نصب کنید.
pip install opencv_python-X.X-cp36-cp36m-winX.whl
اگر از محیط آناکوندا استفاده میکنید، از دستور زیر برای نصب OpenCV استفاده کنید:
conda install -c conda-forge opencv
اکثر برنامههای CV نیاز دارند که تصاویر را به عنوان ورودی دریافت کرده و تصاویر را به عنوان خروجی تولید کنند. در این بخش نحوه خواندن و نوشتن فایل تصویری را با کمک توابع ارائه شده توسط OpenCV فرا خواهید گرفت.
توابع OpenCV برای خواندن، نمایش و نوشتن یک فایل تصویری
توابع زیر در OpenCV برای خواندن، نمایش و نوشتن یک فایل تصویری فراهم شدهاند. این توابع از فرمتهای مختلف تصویر مانند PNG، JPEG، JPG و TIFF پشتیبانی میکنند.
- تابع imread برای خواندن تصویر.
- تابع imshow برای نمایش تصویر در یک پنجره است که پنجره بهطور خودکار با توجه به اندازه تصویر تنظیم میشود.
- تابع imwrite برای نوشتن تصویر.
در مثال زیر، کد پایتون برای خواندن یک تصویر در یک فرمت، نمایش آن در یک پنجره و نوشتن همان تصویر در فرمت دیگر نشان داده شده است. ابتدا کتابخانه OpenCV را مطابق شکل فراخوانی کنید:
import cv2
اکنون برای خواندن یک تصویر خاص، از تابع imread استفاده کنید.
image = cv2.imread(‘image_flower.jpg‘)
برای نمایش نیز میتوانید از تابع imshow استفاده کنید. نام پنجرهای که میتوانید تصویر را در آن ببینید image_flower خواهد بود.
cv2.imshow(‘image_flower’,image)
()cv2.destroyAllwindows
اکنون میتوانیم با استفاده از تابع imwrite همان تصویر را در قالب دیگری بنویسیم، مثلاً png.
cv2.imwrite(‘image_flower.png’,image)
خروجی True به این معنی است که تصویر با موفقیت به عنوان فایل png نیز در همان پوشه نوشته شده است.
تبدیل فضای رنگی با کتابخانه OpenCV
درOpenCV، تصاویر با استفاده از رنگ RGB معمولی ذخیره نمیشوند، بلکه به ترتیب معکوس یعنی به ترتیب BGR ذخیره میشوند. بنابراین کد رنگ پیشفرض هنگام خواندن یک تصویر BGR است. تابع تبدیل رنگ cvtColor برای تبدیل تصویر از یک کد رنگی به کد دیگر است. این مورد را با یک مثال توضیح میدهیم.
کتابخانه OpenCV را مطابق شکل فراخوانی کنید.
import cv2
اکنون برای خواندن یک تصویر خاص، از تابع imread استفاده کنید.
image = cv2.imread(‘image_flower.jpg’)
حال اگر این تصویر را با استفاده از تابع imshow ببینیم، میبینیم که این تصویر در BGR است.
cv2.imshow(‘BGR_Penguins’,image)
اکنون از تابع cvtColor برای تبدیل این تصویر به مقیاس خاکستری استفاده کنید.
image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
cv2.imshow(‘gray_penguins‘,image)
تشخیص لبه در OpenCV
در OpenCV تابع بسیار ساده و مفیدی به نام Canny برای تشخیص لبهها وجود دارد. مثال زیر شناسایی واضح لبهها را نشان میدهد.
import cv2
import numpy as np
حال برای خواندن یک تصویر خاص از تابع imread استفاده کنید.
image = cv2.imread(‘Penguins.jpg‘)
اکنون، از تابع Canny برای تشخیص لبههای تصویر خوانده شده استفاده کنید.
cv2.imwrite(‘edges_Penguins.jpg’,cv2.Canny(image,200,300))
حال برای نمایش تصویر با لبهها از تابع imshow استفاده کنید.
cv2.imshow(‘edges’, cv2.imread(‘‘edges_Penguins.jpg’))
این برنامه پایتون یک تصویر با نام edges_penguins.jpg با تشخیص لبه ایجاد میکند.
تشخیص چهره با کتابخانه بینایی کامپیوتری در پایتون
تشخیص چهره یکی از کاربردهای جذاب بینایی کامپیوتری است. کتابخانه OpenCV امکانات خوبی برای پیادهسازی تشخیص چهره دارد. در این روش، از طبقهبندی برای تشخیص چهره استفاده میشود و برای استفاده از طبقهبندی به داده نیاز داریم. میتوان این دادهها را در بسته OpenCV پیدا کرد. پس از نصب، میتوانید نام پوشه haarcascades را بررسی کنید. فایلهای xml برای برنامههای مختلف وجود دارد. اکنون، همه آنها را برای استفادههای مختلف کپی کرده و سپس در یک پوشه جدید با نام پروژه فعلی قرار دهید. در مثال زیر مراحل را قدم به قدم توضیح میدهیم. این کد پایتون با استفاده از Haar Cascade برای تشخیص چهره آمیتا باچان است که در یک فایل JPG نمایش داده شده است.
import cv2
import numpy as np
اکنون، از HaarCascadeClassifier برای تشخیص چهره استفاده کنید.
face_detection=
cv2.CascadeClassifier(‘D:/ProgramData/cascadeclassifier/haarcascade_frontalface_default.xml‘)
حال برای خواندن یک تصویر خاص از تابع imread استفاده کنید.
img = cv2.imread(‘AB.jpg‘)
اکنون، آن را به مقیاس خاکستری تبدیل کنید، زیرا تنها تصاویر خاکستری قابل پذیرش است.
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
اکنون به کمک face_detection.detectMultiScale، تشخیص چهره را انجام دهید.
faces = face_detection.detectMultiScale(gray, 1.3, 5)
یک مستطیل در اطراف کل صورت بکشید.
for (x,y,w,h) in faces:
img = cv2.rectangle(img,(x,y),(x+w, y+h),(255,0,0),3)
cv2.imwrite(‘Face_AB.jpg‘,img)
این برنامه پایتون، تصویری به نام Face_AB.jpg ایجاد میکند که در آن دور چهره آمیتا باچان با کادر مشخص شده است.
تشخیص چشم با کتابخانه بینایی کامپیوتری در پایتون
تشخیص چشم اپلیکیشن جذاب دیگری از بینایی کامپیوتری در پایتون است. مثال زیر، کد پایتون برای تشخیص چشم در همان تصویر آمیتا باچان است.
import cv2
import numpy as np
اکنون، از HaarCascadeClassifier برای تشخیص چشم استفاده کنید.
= eye_cascade
cv2.CascadeClassifier(‘D:/ProgramData/cascadeclassifier/haarcascade_eye.xml‘)
حال برای خواندن یک تصویر خاص از تابع imread استفاده کنید و سپس آن را به به مقیاس خاکستری تبدیل کنید.
img = cv2.imread(‘AB_Eye.jpg‘)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
حال به کمک eye_cascade.detectMultiScale، تشخیص چشم را انجام دهید.
eyes = eye_cascade.detectMultiScale(gray, 1.03, 5)
سپس یک مستطیل در اطراف کل چشم بکشید.
for (ex,ey,ew,eh) in eyes:
img = cv2.rectangle(img,(ex,ey),(ex+ew, ey+eh),(0,255,0),2)
cv2.imwrite(‘Eye_AB.jpg‘,img)
این برنامه پایتون، تصویری به نام Eye_AB.jpg ذخیره میکند که در آن چشم با کادری دور آن مشخص شده است.
اگر تمایل به دریافت اطلاعات بیشتری در مورد دورههای آموزشی یا تخصص اشتغال و مهاجرت دارید میتوانید از راه های ارتباطی زیر استفاده نمایید.
سخن پایانی
هوش مصنوعی و یادگیری ماشین فناوریهایی هماهنگ با رشد سریع جهانی هستند و به دانشمندان اجازه میدهند که معضلات زندگی واقعی را با راهکارهای هوشمندانه حل کنند. زبان برنامهنویسی پایتون با قابلیتهایی چون اکوسیستم کتابخانهای عالی، انعطافپذیری بالا، استقلال پلتفرم، خوانایی بالا و اوپن سورس بودن، محبوبیت روزافزون در حوزه هوش مصنوعی پیدا کرده است. از این رو، هر روز شاهد توسعه کاربرد پایتون در هوش مصنوعی برای بهبود عملکرد شرکتها و صنایع مختلف هستیم.
بینایی کامپیوتری در کنار سایر حوزههای هوش مصنوعی از پرطرفدارترین حوزههای برنامهنویسی هستند. با پیشرفت روزافزون تجهیزات کامپیوتری، کاربردهای این حوزه در صنایع مختلف روز به روز بیشتر میشوند. از صنعت رباتیک گرفته تا فناوریهای امنیتی همگی نیاز به استفاده از بینای کامپیوتری دارند. اگر به حوزه بینایی کامپیوتری علاقهمندید و میخواهید با کاربردها و قابلیتهای مختلف بینایی کامپیوتری در پایتون آشنا شوید، دورههای آموزش پایتون راشد را از دست ندهید.
موسسه آموزشی راشد در راستای افزایش مهارت برنامهنویسی و آشنایی با هوش مصنوعی، به کمک اساتید مجرب دورههای مقدماتی و پیشرفته پایتون و دورههای تخصصی در حوزه هوش مصنوعی را بهصورت آنلاین و حضوری در شعب راشد در سطح مشهد برگزار میکند. برای مشاوره و ثبت نام در دورههای هوش مصنوعی پایتون با ما در ارتباط باشید.
مطالب زیر را حتما بخوانید
-
آزمون آلمانی چی بدیم ؟ ÖSD Telc Goethe
1.42k بازدید
-
آموزش حسابداری برای بازار کار: از صفر تا استخدام
1.72k بازدید
-
ورکشاپ طراحی کاراکتر بازی؛ ورود به دنیای خلاقیت دیجیتال برای نوجوانان و جوانان
1.71k بازدید
-
۱۰ راهکار برای دو زبانه شدن کودک
2.32k بازدید
-
تقویت حافظه بلند مدت کودکان با یادگیری زبان انگلیسی
2.28k بازدید
-
8 فعالیت و بازی سرگرم کننده برای آموزش لغات زبان
2.3k بازدید
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

ممنون از این مقاله کاربردی