گوگل کلود ویژن Google Cloud Vision

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

 

گوگل کلود ویژن

 

در واقع Google Cloud Vision همان بخشی در گوگل است که توانایی تشخیص تصاویر را دارد. به بیانی دیگر، گوگل به کمک این ابزار نه تنها تفاوت بین تصویر مرد و زن، گربه و سگ، قایق و هواپیما را تشخیص می‌دهد، بلکه این توانایی را دارد که حتی تشخیص دهد آیا فردی که در تصویر است، غمگین است یا خوشحال، یا اینکه آیا این تصویر برای جستجوی ایمن گوگل مناسب است یا خیر؟ نکته دیگری که باید به آن توجه داشته باشید این است که الگوریتم های گوگل از این قابلیت استفاده می‌کنند و به همین دلیل هیچ وقت تصاویر تکراری در قسمت Imageهای سرپ گوگل نمایش داده نمی‌شود.

گوگل کلود ویژن چگونه کار می‌کند؟

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

امروزه توسعه‌دهندگان و برنامه‌نویسان می‌توانند از Google Cloud Vision API استفاده کنند و قابلیت تشخیص تصاویر را به نرم‌افزار خود اضافه کنند. برای مثال برخی از قابلیت‌هایی که این ابزار در اختیار برنامه‌نویسان قرار می‌دهد عبارت است از:

شناسایی برچسب و موجودیت عکس

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

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

تشخیص نوری کاراکتر یا OCR

کلمه OCR مخفف عبارت (Optical Character Recognition) می‌باشد که به معنی تشخیص نوری کاراکتر است. این ویژگی در واقع برای برای درک متن موجود در یک تصویر استفاده می‌شود. اما نکته‌‍ای حائز اهمیت در مورد ویژگی OCR این است که به گوگل کلود ویژن کمک می‌کند تا به صورت خودکار و اتوماتیک، طیف گسترده‌ای از زبان‌های مختلف را در تصاویر شناسایی کند.

متن دست‌نویس و کپچا چطور؟

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

تشخیص جستجوی ایمن

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

تشخیص چهره

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

تشخیص نقطه عطف

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

تشخیص لوگو

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

 

گوگل کلود ویژن چگونه کار می‌کند

 

چرا و چگونه باید از گوگل کلود ویژن استفاده کنیم؟

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

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

1. راه اندازی یک پروژه کلود

اگر قبلا از APIهای گوگل استفاده کرده‌ باشید، با برخی از این مراحل اولیه آشنایی دارید. مانند سایر سرویس‌های گوگل، ابتدا باید یک پروژه ابری ایجاد کنید. کافیست به آدرس https://console.cloud.google.com/ مراجعه کنید و یک پروژه جدید ایجاد کنید یا یکی از پروژه‌‎‌هایی که قبلا ایجاد کرده‌اید را انتخاب کنید. همچنین مانند بسیاری از سرویس‌های کمپانی گوگل، این سرویس‌ هم رایگان است. اما اگر درخواست‌های API زیادی داشته باشید، باید برای آن هزینه‌‎‌ای را پرداخت کنید.

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

2. فعال سازی Cloud Vision API

کتابخانه APIها را بررسی کنید و گزینه Cloud Vision API را برای پروژه‌های خود انتخاب کنید. دقت داشته باشید که پس از فعال‌سازی، حتما باید یک علامت سبز رنگ و پیغام "API Enabled" را در کنار آن مشاهده کنید.

3. ایجاد یک سرویس اکانت

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

4. دانلود Private Key

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

چنانچه در چند مرحله ابتدایی مشکلی داشتید، یک راهنمای شروع سریع وجود دارد که به شما کمک می‌کند تا بتوانید کلید JSON خود را دانلود کنید و این مراحل را به پایان برسانید.

5. تنظیم متغیر محیطی

شما باید متغیر محیطی GOOGLE_APPLICATION_CREDENTIALS را تنظیم کنید تا بتوان با تماس‌های API  ما به آن دسترسی داشت. این متغیر به فایل JSON اشاره می‌کند که به تازگی آن را دانلود کردید، و باعث می‌شود که مجبور نباشید هربار مسیر را تایپ کنید.

یک پنجره ترمینال جدید باز کنید و از دستور صادرات مانند زیر استفاده کنید:

export GOOGLE_APPLICATION_CREDENTIALS="/Users/[username]/Downloads/[file name].json"

 

نام کاربری خود را جایگزین [username] کنید، سپس از مسیر فایل Private Key که ذخیره کرده‌اید اطمینان حاصل کنید که به درستی وارد شده است. در مرحله بعدی [filename] را با نام فایل کلید خصوصی خود جایگزین کنید از مسیر فایل خود استفاده نمایید.

برای ویندوز هم می‌توانید همین مراحل را از طریق خط فرمان انجام دهید، اما دستورات آن مطابق دستورات زیر است:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:Users[username]Downloads[FILE_NAME].json"

 

نکته: اگر پنجره ترمینال خود را ببندید، ممکن است لازم باشد دوباره آن را اجرا کنید تا مجددا متغیر خود را تنظیم کنید.

6. تماس با API

پس از تنظیم متغیر، شما آماده این هستید تا در Cloud Vision API جستجو کنید. از curl برای انجام آزمایش‌های سریع API استفاده کنید. همچنین شما می‌توانید از این روش برای کدهای خود نیز استفاده کنید. درخواست‌های curl را می‌توان در اکثر زبان‌ها مانند PHP، پایتون Node نیز انجام دهید.

به این ترتیب می‌توانید تماس‌ها را مستقیما در خط فرمان برقرار کنید، یا نتیجه را به متغیری به زبان مدنظر خود اختصاص دهید.

7. نصب کتابخانه کلاینت

در مرحله بعد باید یک برنامه ساده مبتنی بر وب ایجاد کنید تا نحوه ادغام API در پروژه‌های خود را تست کنید. تعدادی SDK به زبان‌های مختلف وجود دارد که می‌توانید از آن‌ها برای آسان‌تر کردن ادغام استفاده کنید. در صورتی که قصد دارید SDK مدنظر خود را پیدا کنید، به آدرس https://cloud.google.com/vision/docs/libraries مراجعه نمایید.

8. ایجاد یک فایل جدید

در این مثال ما با زبان PHP کار می‌کنیم، بنابراین باید یک فایل PHP جدید در پوشه پروژه خود ایجاد کنید. آن را هر طور که باب میل خودتان است تنظیم کنید، اما یک فرم HTML سایده برای آپلود تصاویر به آن اضافه کنید تا بتوانید تست خود را انجام دهید.

9. ذخیره کردن تصویر

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

// save image$filepath = $_FILES["file"]["name"];if(move_uploaded_file($_FILES["file"]["tmp_name"], $filepath))  {         echo "<p><img src=".$filepath." style='width:400px; height:auto;' /></p>";} else {         echo "Error !!";}

10. اضافه کردن متغیر محیطی

در این مرحله برای احراز هویت لازم است متغیر GOOGLE_APPLICATION_CREDENTIALS را تنظیم نمایید. در PHP از دستور putenv برای تنظیم یک متغیر محیطی (environment variable) استفاده می‌کنیم. برای این کار کافیست از قطعه کد زیر، در کدهای PHP خود استفاده کنید.

putenv('GOOGLE_APPLICATION_CREDENTIALS=/Users/richardmattka/Downloads/Vision Tutorial 1-0f464a9a0f7b.json');

دقت داشته باشید که مسیر و نام فایل را باید به Private Key خصوصی که همان فایل JSON است، تغییر دهید.

11.  Include کردن کتابخانه

کتابخانه را اضافه نمایید و کلاس LanguageClient را در کد خود مقداردهی کنید. در ادامه از این کد استفاده کنید:

require __DIR__ . '/vendor/autoload.php';use GoogleCloudVisionV1ImageAnnotatorClient;$projectId = 'vision-tutorial-1';$imageAnnotator = new ImageAnnotatorClient([    'projectId' => $projectId]);

سپس ImageAnnotatorClient را Import کنید تا بتوانید از کلاس استفاده نمایید.

12.  تجزیه و تحلیل محتوای تصویر

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

13.  تشخیص چهره

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

 

چرا باید از گوگل کلود ویژن استفاده کنیم

 

کلام آخر

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