استخراج اطلاعات یک تصویر بوسیله ماشین، یکی از چالش های
مهم در حوزه هوش مصنوعی می باشد که در دسته پردازش تصویر و بینایی ماشین قرار می
گیرد. در این مطلب قصد معرفی ابزار Microsoft
Cognitive Compute Vision را داریم که یک
API پردازش تصویر و
استخراج داده های آن می باشد. با استفاده از این API برنامه نویسان
به یک الگوریتم پردازش تصویر دسترسی دارند که اطلاعات استخراج شده را در قالب داده
JSON ارائه می کند. در
ادامه اطلاعات استخراج شده توسط این API را شرح می دهیم.
1- برچسب گذاری تصاویر براساس محتوا
این API قابلیت برچسب گذاری
بیش از 2000 شی، موجود زنده و نما و صحنه های موجود در طبیعت را داراست. برچسب
گذاری بصورت نامحدود صورت می گیرد و محدودیتی در تعداد اشیا موجود در یک تصویر
وجود ندارد.خروجی JSON ارائه شده برای شکل1 بصورت زیر می باشد که
شامل اشیا موجود در تصویر و ضریب اطمینان در رابطه با هر شی می باشد.
شکل1
خروجی JSON
[
{
"name":"grass",
"confidence":0.999999761581421
},
{
"name":"outdoor",
"confidence":0.999970674514771
},
{
"name":"sky",
"confidence":999289751052856
},
{
"name":"building",
"confidence":0.996463239192963
},
{
"name":"house",
"confidence":0.992798030376434
},
{
"name":"lawn",
"confidence":0.822680294513702
},
{
"name":"green",
"confidence":0.641222536563873
},
{
"name":"residential",
"confidence":0.314032256603241
}
]
2- طبقه بندی
تصاویر
این API
امکان طبقه بندی تصاور را نیز فراهم می کند. طبقه بندی ساخته شده شامل 86 مفهوم
بوده که بصورت سلسله مراتب Parent-Child
می باشد. (لیست طبقه بندی ها) برای مثال یک نمونه از طبقه بندی های مشخص شده در شکل 2 قابل مشاهده است.
شکل2 طبقه بندی food_bread
3- امکان تشخیص
تصاویر طبیعی از مصنوعی
این امکان نیز وجود دارد که بتوان تصاویر واقعی عکاسی شده
را از تصاویر مصنوعی که با نرم افزار های مختلف تولید شده است، را به اندازه قابل
قبولی تشخیص داد. خروجی ارائه شده برای تصاویر مختلف بصورت زیر می باشد.
مقدار معنی
0 تصویر طبیعی
1 عدم تشخیص نوع تصویر
2 تصویر مصنوعی با کیفیت مصنوعی
3 تصویر مصنوعی با کیفیت خوب
4- تشخیص چهره
یکی دیگر از امکانات این API استخراج
اطلاعات افراد از قبیل سن تقریبی، ژست فرد و... از روی تصویر می باشد که در قالب JSON ارائه می شود.
شکل3 یک نمونه از این قابلیت را نشان می دهد.
شکل3، تشخیص چهره افراد از طریق چهره
خروجی JSON
[
{
"age": 11,
"gender": "Male",
"faceRectangle": {
"left": 113,
"top": 314,
"width": 222,
"height": 222
}
},
{
"age": 11,
"gender": "Female",
"faceRectangle": {
"left": 1200,
"top": 632,
"width": 215,
"height": 215
}
},
{
"age": 41,
"gender": "Male",
"faceRectangle": {
"left":
514,
"top": 223,
"width": 205,
"height": 205
}
},
{
"age": 37,
"gender": "Female",
"faceRectangle": {
"left": 1008,
"top": 277,
"width": 201,
"height": 201
}
}
]
5- توضیحات
تصویر
در خروجی JSON ارائه شده می توان
توضیحاتی در رابطه با تصویر نیز فراهم کرد. این توضیحات بصورت خلاصه شده بوده و
همراه با ضریب اطمینان ارائه می شود. شکل 4 و خروجی JSON آن بیان کننده این موضوع می باشد.
شکل4
خروجی JSON
'description':{
"captions":[
{
"type":"phrase",
'text':'a black and white
photo of a large city',
'confidence':0.607638706850331
}
]
"captions":[
{
"type":"phrase",
'text':'a photo of a large
city',
'confidence':0.577256764264197
}
]
"captions":[
{
"type":"phrase",
'text':'a black and white
photo of a city',
'confidence':0.538493271791207
}
]
'description':[
"tags":{
"outdoor",
"city",
"building",
"photo",
"large",
}
]
}
6- OCR و تشخیص دست
نوشته
این API بخوبی قابلیت OCR را برای 25 زبان پشتیبانی می کند(در زمان
نگارش این مطلب زبان فارسی پشتیبانی نمی شود) و همچنین قابلیت تشخیص دست نوشته ها
را در مطالب و تصاویر نیز فراهم می سازد.
7- نحوه استفاده از این API
برای استفاده از این API ابتدا باید یک
کلید از Microsoft Cognitive Service دریافت نمایید که این سرویس یکی از سرویس های موجود در Microsoft Azure می
باشد. سپس کلید دریافتی و آدرس تصویر را از طریق آدرس URL به سروس ارسال
کرده و خروجی JSON را دریافت نمایید. برای مثال یک نمونه آدرس
در خواستی برای استخراج اطلاعات تصویر بصورت زیر می باشد.(اطلاعات کامل پیاده سازی
این ابزار را در آدرس مشاهده نمایید)
https://westus.api.cognitive.microsoft.com/vision/v1.0/analyze?visualFeatures=Categories&language=en
HTTP/1.1
Content-Type: application/json
Host: westus.api.cognitive.microsoft.com
Ocp-Apim-Subscription-Key: [Valid Key]
{"url":"Media URL Address"}