تجزیه و تحلیل محتوای تصویر با API

shape
shape
shape
shape
shape
shape
shape
shape

تجزیه و تحلیل محتوای تصویر با Microsoft Cognitive Vision API در ASP.Net

در این مطلب قصد داریم در مورد تجزیه و تحلیل محتوای تصویر با API صحبت کنیم.

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

مقدمه

در این مقاله از Microsoft Cognitive Computer Vision استفاده می شود که شامل چندین API است که این API ها مبتنی بر Azure، Cloud-based و REST services هستند. این API ها به برنامه نویسان اجازه دسترسی به الگوریتم های پیشرفته یادگیری ماشین را می دهند تا برنامه نویسان بتوانند به این API ها تصویر بفرستند و تجزیه و تحلیل تصویر را به صورت یک فایل JSON دریافت نمایند. API های شناسایی تصویر، به برنامه نویسان کمک می کنند تا برنامه هایی هوشمند بسازند که قابلیت تعامل با تصاویر طبیعی و متنی را داشته باشند. API های بینایی ماشین می توانند برای تولید اطلاعاتی مثل توضیحات عکس، شناخت افراد مشهور، خواندن متن های داخل تصویر و ساخت تصویر بند انگشتی استفاده شوند.

با استفاده از API های بینایی ماشین، برنامه نویسان می توانند فعالیت های زیر را به راحتی انجام دهند.

– تجزیه و تحلیل محتویات داخل تصویر

– دسته بندی تصاویر

– ساخت تصاویر بند انگشتی

– مشخص نموندن نوع و کیفیت تصاویر

– شناسایی افراد مشهور در تصاویر

– تشخیص چهره انسان ها در تصویر

– شناسایی متون موجود در تصاویر و قابلیت خواندن این متون

– تشخیص محتویات غیراخلاقی در تصویر

– استفاده از OCR برای شناسایی متون داخل تصاویر

نحوه ثبت نام و دریافت API Key

برای استفاده از API مخصوص بینایی(Vision API)، ابتدا باید یک API keys از Microsoft Cognitive Services دریافت نمایید که این سرویس ها در Azure Cloud قرار داده شده اند. در حال حاضر یک طرح رایگان وجود دارد که دارای محدودیت 5000 تراکنش در ماه است.

لینک بالا را باز نمایید و روی کلید Create کلیک کنید تا یک اکانت جدید برای شما ساخته شود.

در زمان ساخت اکانت جدید، شما باید شرایط و مقررات این سرویس را بپذیرید.

در این مرحله وارد اکانت مایکروسافت خودتان شوید. البته شما می توانید از اکانت های فیسبوک، Linkedin یا Git هم استفاده کنید.

بعد از تکمیل این فرایند ثبت نام، در داخل بخش Computer Vision شما دو API Key مشاهده خواهید کرد. از این API Key ها برای دسترسی به سرویس ها Computer Vision می توانید استفاده کنید.

جزئیات Computer Vision API

سرویس ها Computer Vision API در حال حاضر در سرور های Azure مناطق زیر قرار دارد.

غرب امریکا: westus.api.cognitive.microsoft.com

شرق امریکا: eastus2.api.cognitive.microsoft.com

مرکز امریکا: westcentralus.api.cognitive.microsoft.com

اروپای غربی: westeurope.api.cognitive.microsoft.com

جنوب شرقی آسیا: southeastasia.api.cognitive.microsoft.com

برنامه نویس هم می تواند یک عکس را در سرور آپلود کند و هم می تواند آدرس URL تصویر را به سرور ارسال نماید. چندین پارامتر انتخابی وجود دارد که به برنامه نویس اجازه می دهد که در خروجی چه خصیصه هایی از تصویر را دریافت نماید. این سرویس ها از تصاویر با فرمت های JPEG، PNG، GIF و BMP پشتیبانی می کنند. حداکثر سایز تصویر می تواند 4MB باشد و ابعاد تصویر باید بزرگتر از 50 در50 پیکسل باشد.

نتایج خروجی به صورت یک فایل JSON برگردانده می شود. اگر نتیجه کار موفقیت آمیز بوده باشد کد 200 برگردانده می شود و در صورت عدم موفقیت، یکی از کدهای 400، 415 یا 500 برگردانده خواهد شد.

فرمت درخواست های HTTP Post برای API بینایی ماشین، به شکل زیر خواهد بود.

قطعه کد زیر، یک نمونه از درخواست HTTP Post با یک subscription key معتبر را نشان می دهد.

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

در زیر یک نمونه از فایل JSON دریافتی در صورت مواجه شدن با خطا، نمایش داده شده است. در اینجا خطای 401 دریافت شده است که به معنای نامعتبر بودن subscription key استفاده شده است.

برنامه نویسی تجزیه و تحلیل تصویر به کمک Vision API

در یک برنامه کنسول C#، نحوه دریافت خصیصیه های تصویر در یک فایل JSON نمایش داده می شود. خصیصه هایی همچون ویژگی های تصویر، برچسب ها و توضیحاتی در مورد محتویات تصویر انتخاب شده، که این خصیصه ها توسط سرویس های بینایی ماشین، شناسایی می شوند.

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

– ویندوز 8

– ویژوال استدیو 2015

– API key سرویس بینایی ماشین (در همین مقاله نحوه دریافت این کلید را توضیح داده ایم)

مرحله 1

ویژوال استدیو را باز کرده و از طریق مسیر زیر یک برنامه با نام مناسب بسازید.

از منویStart گزینه New Project را انتخاب کنید و سپس از بین Template های مربوط به Visual C#، گزینه Console Application را انتخاب کنید و سپس Blank Application را انتخاب کنید و یک نام مناسب برای برنامه انتخاب کنید(ComputerVisionAPI) و در آخر کلید OK را بزنید.

مرحله 2

namespaces های زیر با به فایل Program.cs اضافه نمایید.

مرحله 3

نام فایل Program.cs را تغییر داده و ComputerVisionAPI.cs را به عنوان نام فایل قرار داده، همچنین نام کلاس را هم به ComputerVisionAPI تغییر دهید.

مرحله 4

مقادیر زیر را به app.config اضافه نمایید. در این مقادیر، آدرس یک تصویر در کامپیوتر تان را که می خواهید در این برنامه استفاده کنید، قرار دهید. کلیدی که از سایت Azure دریافت کرده اید را به جای subscript key قرار دهید. پارامترها و API URI هم با توجه به عملیات هایی که قرار است روی تصویر انجام شود، باید انتخاب شوند.

مرحله 5

تابع های استاتیک زیر، در برنامه وظیفه دریافت اطلاعات از app.config را به عهده دارند.

مرحله 6

برای پردازش تصویر و فراخوانی API، کد تابع های استاتیک زیر را به کلاس ComputerVisionAPI اضافه نمایید.

مرحله 7

در آخر از داخل تابع Main، تابع GetImgeDetails را فراخوانی نماید.

در تصویر زیر، برنامه کنسولی نوشته شده را مشاهده می نمایید.

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

خروجی

منبع

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *