در صنایع مختلف، مانند خدمات مالی، مخابرات و مراقبتهای بهداشتی، مشتریان از فرآیند هویت دیجیتالی استفاده میکنند که معمولاً شامل چندین مرحله برای تأیید کاربران نهایی در حین ورود آنلاین یا تأیید اعتبار میشود. نمونهای از یکی از مراحلی که میتوان استفاده کرد، جستجوی چهره است، که میتواند به تعیین اینکه آیا چهره کاربر نهایی جدید با چهرههای مرتبط با حساب موجود مطابقت دارد یا خیر، کمک میکند.
ساختن یک سیستم جستجوی چهره دقیق شامل چندین مرحله است. این سیستم باید بتواند چهرههای انسان را در تصاویر تشخیص دهد، چهرهها را در نمایشهای برداری استخراج کند، بردارهای چهره را در پایگاه داده ذخیره کند و چهرههای جدید را با ورودیهای موجود مقایسه کند. شناسایی آمازون این کار را با ارائه مدل های از پیش آموزش دیده ای که از طریق فراخوانی های ساده API فراخوانی می شوند، آسان می کند.
آمازون Rekognition شما را قادر می سازد تا با یک تصویر چهره به دقت بسیار بالایی در جستجوی چهره برسید. در برخی موارد، میتوانید از چندین تصویر از چهره یک فرد برای ایجاد بردارهای کاربر و بهبود دقت بیشتر استفاده کنید. این امر به ویژه زمانی مفید است که تصاویر دارای تنوع در نور، ژست و ظاهر باشند.
در این پست، نحوه استفاده از APIهای جستجوی چهره شناسایی آمازون با بردارهای کاربر برای افزایش امتیاز شباهت برای موارد واقعی و کاهش امتیاز شباهت برای موارد غیر منطبق واقعی را نشان میدهیم.
ما نتایج انجام تطبیق چهره را با و بدون بردار کاربر مقایسه می کنیم.
تطبیق چهره آمازون Rekognition
تطبیق چهره تشخیص چهره آمازون اندازه گیری شباهت وکتور چهره استخراج شده از یک تصویر به وکتور چهره استخراج شده از تصویر دیگر را امکان پذیر می کند. به یک جفت تصویر چهره می گویند a مطابقت واقعی اگر هر دو تصویر شامل چهره یک شخص باشد، و الف عدم تطابق واقعی در غیر این صورت. آمازون Rekognition امتیازی را برای شباهت چهره منبع و هدف برمی گرداند. حداقل امتیاز شباهت 0 است که به معنای شباهت بسیار کمی است و حداکثر آن 100 است.
برای مقایسه یک چهره منبع با مجموعه ای از چهره های هدف (تطابق 1:N)، شناسایی آمازون به شما امکان می دهد یک شی مجموعه ایجاد کنید و آن را با چهره هایی از تصاویر با استفاده از فراخوانی های API پر کنید.
هنگام افزودن یک چهره به مجموعه، آمازون Rekognition تصویر واقعی چهره را ذخیره نمی کند، بلکه بردار چهره را ذخیره می کند، که یک نمایش ریاضی از چهره است. با جستجوی چهره ها API، می توانید یک چهره منبع را با یک یا چند مجموعه از چهره های هدف مقایسه کنید.
در ماه ژوئن 2023 AWS بردارهای کاربر را راه اندازی کرد، قابلیت جدیدی که به طور قابل توجهی دقت جستجوی چهره را بهبود می بخشد با استفاده از چند تصویر چهره یک کاربر. اکنون، میتوانید بردارهای کاربر ایجاد کنید، که چندین بردار چهره یک کاربر را جمعآوری میکند. بردارهای کاربر دقت جستجوی چهره بالاتری را با تصاویر قوی تر ارائه می دهند، زیرا دارای درجات مختلفی از نور، وضوح، ژست، ظاهر و موارد دیگر هستند. این دقت را در مقایسه با جستجو در برابر بردارهای صورت فردی بهبود می بخشد.
در بخشهای بعدی، روند استفاده از بردارهای کاربر شناسایی آمازون را شرح میدهیم. ما شما را از طریق ایجاد یک مجموعه، ذخیره بردارهای چهره در آن مجموعه، تجمیع آن بردارهای چهره در بردارهای کاربر، و سپس مقایسه نتایج جستجو با آن بردارهای صورت فردی و بردارهای کاربر راهنمایی می کنیم.
بررسی اجمالی راه حل
برای این راهحل، ما از مجموعهای از کاربران آمازون Rekognition استفاده میکنیم که هر کدام دارای بردارهای چهره نمایهشده مرتبط با تعدادی تصویر مختلف از چهرهها برای هر کاربر است.
بیایید به گردش کار برای ساخت مجموعه ای با کاربران و چهره ها نگاه کنیم:
- مجموعه ای از آمازون Rekognition ایجاد کنید.
- برای هر کاربر، یک کاربر در مجموعه ایجاد کنید.
- برای هر تصویر کاربر، چهره را به مجموعه اضافه کنید (شاخص ها، که شناسه چهره مربوط به هر بردار چهره را برمی گرداند).
- همه شناسه های چهره نمایه شده را با کاربر مرتبط کنید (این برای بردارهای کاربر ضروری است).
سپس، گردش کار زیر را با هم مقایسه می کنیم:
جستجو با یک تصویر ورودی داده شده جدید در برابر بردارهای صورت فردی در مجموعه ما:
- دریافت همه چهره ها از یک تصویر (ردیابی).
- برای هر چهره، با چهره های فردی در مجموعه ما مقایسه کنید (SearchFacesByImage).
جستجو با یک تصویر ورودی داده شده جدید در برابر بردارهای کاربر در مجموعه ما:
- دریافت همه چهره ها از یک تصویر (ردیابی).
- برای هر چهره، با بردار کاربر مقایسه کنید (SearchUsersByImage).
حالا بیایید راه حل را با جزئیات شرح دهیم.
پیش نیازها
سیاست زیر را به خود اضافه کنید هویت AWS و مدیریت دسترسی کاربر یا نقش (IAM). این خطمشی به شما مجوز APIهای شناسایی آمازون مربوطه را میدهد و اجازه دسترسی به یک را میدهد سرویس ذخیره سازی ساده آمازون سطل (Amazon S3) برای ذخیره تصاویر:
مجموعه آمازون Rekognition ایجاد کنید و کاربران و چهره ها را اضافه کنید
ابتدا یک سطل S3 برای ذخیره تصاویر کاربران ایجاد می کنیم. ما با ایجاد یک پوشه برای هر کاربر که حاوی تصاویر شخصی آنهاست، سطل را سازماندهی می کنیم. ما پوشه تصاویر شبیه ساختار زیر است:
سطل S3 ما یک دایرکتوری برای هر کاربر دارد که تصاویر آنها را ذخیره می کند. در حال حاضر دو پوشه وجود دارد و هر کدام حاوی چندین تصویر است. شما می توانید پوشه های بیشتری را برای کاربران خود اضافه کنید که هر کدام شامل یک یا چند تصویر برای نمایه سازی هستند.
در مرحله بعد، مجموعه شناسایی آمازون خود را ایجاد می کنیم. عرضه کرده ایم helpers.py، که شامل روش های مختلفی است که ما استفاده می کنیم:
- create_collection - ایجاد یک مجموعه جدید
- delete_collection - حذف یک مجموعه
- create_user - یک کاربر جدید در یک مجموعه ایجاد کنید
- add_faces_to_collection - اضافه کردن چهره به مجموعه
- associate_faces - face_ids را به یک کاربر در یک مجموعه مرتبط کنید
- get_subdirs - همه زیر شاخه ها را تحت پیشوند S3 دریافت کنید
- get_files - همه فایل ها را تحت پیشوند S3 دریافت کنید
در زیر یک روش نمونه برای ایجاد مجموعه شناسایی آمازون آمده است:
مجموعه را با کد زیر ایجاد کنید:
سپس، بیایید بردارهای صورت را به مجموعه خود اضافه کنیم و آنها را در بردارهای کاربر جمع کنیم.
برای هر کاربر در دایرکتوری S3، یک بردار کاربر در مجموعه ایجاد می کنیم. سپس تصاویر چهره برای هر کاربر را به عنوان بردارهای صورت جداگانه در مجموعه فهرست می کنیم، که شناسه چهره تولید می کند. در نهایت، شناسههای چهره را به بردار کاربر مناسب مرتبط میکنیم.
این دو نوع بردار در مجموعه ما ایجاد می کند:
- بردارهای صورت فردی
- بردارهای کاربر، که بر اساس شناسه های بردار چهره ارائه شده با استفاده از روش ساخته شده اند
associate_faces
کد زیر را ببینید:
ما از روش های زیر استفاده می کنیم:
- get_subdirs – فهرستی از فهرست های همه کاربران را برمی گرداند. در مثال ما، مقدار [سوامی، ورنر] است.
- get_files – تمامی فایل های تصویری تحت پیشوند S3 را برای کاربر برمی گرداند.
- face_ids - این لیستی است که شامل تمام شناسه های چهره متعلق به یک کاربر است. ما از این لیست هنگام فراخوانی استفاده می کنیم AssociateFaces API
همانطور که قبلاً توضیح داده شد، میتوانید با افزودن پوشهها به کاربران بیشتری اضافه کنید (پوشه شناسه کاربر را دیکته میکند) و تصاویر خود را در آن پوشه اضافه کنید (برای فایلها نیازی به سفارش نیست).
اکنون که محیط ما راهاندازی شده است و هم بردارهای چهره و هم بردارهای کاربر داریم، بیایید کیفیت جستجوی خود را با هر یک از آنها مقایسه کنیم. برای انجام این کار، از یک عکس جدید با چندین نفر استفاده می کنیم و سعی می کنیم چهره آنها را با مجموعه خود مطابقت دهیم، ابتدا با بردارهای صورت فردی و سپس با بردارهای کاربر.
جستجوی چهره تصویر در برابر مجموعه ای از بردارهای صورت فردی
برای جستجوی بردارهای صورت فردی خود، از تشخیص آمازون استفاده می کنیم SearchFacesByImage API. این تابع از یک تصویر چهره منبع برای جستجوی بردارهای چهره در مجموعه ما استفاده می کند و چهره هایی را برمی گرداند که با آستانه امتیاز تشابه تعریف شده ما مطابقت دارند.
یک ملاحظه مهم این است که SearchFacesByImage
API فقط روی بزرگترین چهره شناسایی شده در تصویر کار می کند. اگر چند چهره وجود دارد، باید هر چهره را برش دهید و به طور جداگانه به روش شناسایی منتقل کنید.
برای استخراج جزئیات چهره از یک تصویر (مانند مکان آنها روی تصویر)، از شناسایی آمازون استفاده می کنیم. ردیابی API
در زیر detect_faces_in_image این روش چهره ها را در یک تصویر تشخیص می دهد. برای هر چهره، اقدامات زیر را انجام می دهد:
- محل جعبه مرزی آن را چاپ کنید
- چهره را از تصویر برش دهید و بررسی کنید که آیا چنین چهره ای در مجموعه وجود دارد و کاربر یا "ناشناس" را چاپ کنید.
- امتیاز شباهت را چاپ کنید
مثال کد پایتون از بالش کتابخانه ای برای انجام دستکاری های تصویر (مانند چاپ، طراحی و برش).
ما از آستانه امتیاز شباهت 99٪ استفاده می کنیم که یک تنظیم معمول برای موارد استفاده تأیید هویت است.
کد زیر را اجرا کنید:
file_key
کلید شیء S3 است که می خواهیم با مجموعه خود مطابقت دهیم. ما یک تصویر نمونه ارائه کرده ایم (photo.jpeg
) زیر پوشه images.
تصویر زیر نتایج ما را نشان می دهد.
با استفاده از آستانه 99 درصد فقط یک نفر شناسایی شد. دکتر ورنر فوگلز به عنوان ناشناس علامت گذاری شد. اگر همان کد را با استفاده از آستانه پایین تر 90 (تنظیم آستانه=90) اجرا کنیم، نتایج زیر را دریافت می کنیم.
اکنون می بینیم که چهره دکتر ورنر ووگل دارای امتیاز شباهت 96.86 درصد است. در مرحله بعد، بیایید بررسی کنیم که آیا میتوانیم با استفاده از بردارهای کاربر، امتیاز شباهت را بالاتر از آستانه تعریفشدهمان به دست آوریم.
جستجوی چهره تصویر در برابر مجموعه ای از بردارهای کاربر
برای جستجو بر اساس بردارهای کاربر خود، از شناسایی آمازون استفاده می کنیم SearchUsersByImage API. این تابع از یک تصویر چهره منبع برای جستجوی بردارهای کاربر در مجموعه ما استفاده می کند و کاربرانی را برمی گرداند که با آستانه امتیاز تشابه تعریف شده ما مطابقت دارند.
همین ملاحظات در اینجا مرتبط است - SearchUsersByImage
API فقط روی بزرگترین چهره شناسایی شده در تصویر کار می کند. اگر چند چهره وجود دارد، باید هر چهره را برش دهید و به طور جداگانه به روش شناسایی منتقل کنید.
برای استخراج جزئیات چهره از یک تصویر (مانند مکان آنها روی تصویر)، از شناسایی آمازون استفاده می کنیم. ردیابی API
در زیر detect_users_in_image این روش چهره ها را در یک تصویر تشخیص می دهد. برای هر چهره، اقدامات زیر را انجام می دهد:
- محل جعبه مرزی آن را چاپ کنید
- چهره را از تصویر برش دهید و بررسی کنید که آیا چنین چهره کاربری در مجموعه ما وجود دارد و کاربر یا "ناشناس" را چاپ کنید
- امتیاز شباهت را چاپ کنید
کد زیر را ببینید:
این تابع یک تصویر اصلاح شده را با نتایجی که می تواند در Amazon S3 ذخیره یا چاپ شود، برمی گرداند. این تابع همچنین آمار مربوط به سن تخمینی چهره ها را به ترمینال خروجی می دهد.
کد زیر را اجرا کنید:
تصویر زیر نتایج ما را نشان می دهد.
کاربرانی که در مجموعه ما وجود دارند به درستی با شباهت بالا (بیش از 99٪) شناسایی شدند.
ما توانستیم امتیاز شباهت را با استفاده از سه بردار چهره برای هر کاربر افزایش دهیم. با افزایش تعداد بردارهای صورت استفاده شده، انتظار داریم امتیاز شباهت برای موارد واقعی نیز افزایش یابد. شما می توانید تا 100 بردار چهره برای هر بردار کاربر استفاده کنید.
یک کد مثال سرتاسر را می توان در قسمت پیدا کرد مخزن GitHub. شامل جزئیات است دفترچه ژوپیتر که می توانید روی آن بدوید Amazon SageMaker Studio (یا جایگزین های دیگر).
پاک کردن
برای حذف مجموعه از کد زیر استفاده کنید:
نتیجه
در این پست نحوه استفاده از وکتورهای کاربری شناسایی آمازون برای پیاده سازی جستجوی چهره در برابر مجموعه ای از چهره های کاربران را ارائه کردیم. ما نشان دادیم که چگونه میتوان دقت جستجوی چهره را با استفاده از چندین تصویر چهره برای هر کاربر بهبود بخشید و آن را با بردارهای صورت جداگانه مقایسه کردیم. علاوه بر این، توضیح دادیم که چگونه میتوانید از APIهای شناسایی مختلف آمازون برای شناسایی چهرهها استفاده کنید. کد مثال ارائه شده به عنوان یک پایه محکم برای ساخت یک سیستم جستجوی چهره کاربردی عمل می کند.
برای اطلاعات بیشتر در مورد وکتورهای کاربر شناسایی آمازون، به جستجوی چهره ها در یک مجموعه. اگر در آمازون Rekognition تازه کار هستید، می توانید از Free Tier ما استفاده کنید که 12 ماه طول می کشد و شامل پردازش 5,000 تصویر در ماه و ذخیره 1,000 شیء برداری کاربر در ماه است.
درباره نویسنده
آریک پورات یک معمار ارشد راه حل های استارتاپی در خدمات وب آمازون است. او با استارتآپها کار میکند تا به آنها کمک کند راهحلهایشان را در فضای ابری بسازند و طراحی کنند، و علاقه زیادی به یادگیری ماشینی و راهحلهای مبتنی بر کانتینر دارد. آریک در اوقات فراغت خود دوست دارد شطرنج و بازی های ویدیویی انجام دهد.
الیران افرون یک معمار راه حل های استارتاپی در خدمات وب آمازون است. Eliran یک علاقهمند به داده و محاسبات است و به استارتآپها در طراحی معماری سیستم خود کمک میکند. الایران در اوقات فراغت خود دوست دارد در مسابقات تورینگ اتومبیل بسازد و به مسابقه بپردازد و دستگاه های اینترنت اشیا بسازد.
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- PlatoData.Network Vertical Generative Ai. به خودت قدرت بده دسترسی به اینجا.
- PlatoAiStream. هوش وب 3 دانش تقویت شده دسترسی به اینجا.
- PlatoESG. کربن ، CleanTech، انرژی، محیط، خورشیدی، مدیریت پسماند دسترسی به اینجا.
- PlatoHealth. هوش بیوتکنولوژی و آزمایشات بالینی. دسترسی به اینجا.
- منبع: https://aws.amazon.com/blogs/machine-learning/improve-accuracy-of-amazon-rekognition-face-search-with-user-vectors/
- : دارد
- :است
- $UP
- 000
- 1
- 10
- 100
- 12
- ماه 12
- 17
- 2023
- 28
- 30
- 7
- 9
- a
- قادر
- درباره ما
- بالاتر
- دسترسی
- حساب
- دقت
- دقیق
- رسیدن
- عمل
- اقدامات
- واقعی
- اضافه کردن
- اضافه کردن
- علاوه بر این
- در برابر
- قرون
- تجمیع
- جمع کردن
- معرفی
- اجازه دادن
- اجازه می دهد تا
- قبلا
- همچنین
- جایگزین
- آمازون
- شناسایی آمازون
- آمازون خدمات وب
- an
- و
- دیگر
- API
- رابط های برنامه کاربردی
- ظاهر
- حضور
- مناسب
- معماری
- هستند
- صف
- AS
- کمک کردن
- وابسته
- مرتبط است
- At
- کوشش
- تصدیق
- AWS
- مستقر
- BE
- زیرا
- متعلق به
- میان
- بدن
- هر دو
- جعبه
- جعبه
- ساختن
- ساخته
- اما
- by
- محاسبه
- صدا
- فراخوانی
- تماس ها
- CAN
- می توانید دریافت کنید
- قابلیت
- اتومبیل
- موارد
- بررسی
- شطرنج
- مشتری
- ابر
- رمز
- مجموعه
- مجموعه
- مشترک
- مقايسه كردن
- مقایسه
- مقایسه
- محاسبه
- توجه
- ساخت
- شامل
- شامل
- تبدیل
- به درستی
- متناظر
- ایجاد
- ایجاد
- ایجاد
- محصول
- در حال حاضر
- مشتریان
- داده ها
- پایگاه داده
- کاهش
- مشخص
- نشان دادن
- نشان
- توصیف
- شرح داده شده
- طرح
- طراحی
- دقیق
- جزئیات
- تشخیص
- شناسایی شده
- مشخص کردن
- دستگاه ها
- دیکته می کند
- مختلف
- دیجیتال
- هویت دیجیتال
- دایرکتوری
- فهرست راهنما
- نمایش دادن
- do
- نمی کند
- عمل
- انجام شده
- dr
- قرعه کشی
- رسم
- در طی
- هر
- پیش از آن
- اثر
- بدون دردسر
- دیگر
- را قادر می سازد
- پشت سر هم
- علاقهمند
- محیط
- به خصوص
- برآورد
- حتی
- مثال
- جز
- وجود داشته باشد
- موجود
- وجود دارد
- خارج می شود
- انتظار
- توضیح داده شده
- عصاره
- چهره
- چهره ها
- فایل ها
- مالی
- خدمات مالی
- پیدا کردن
- نام خانوادگی
- پرچم گذاری شده
- شناور
- پیروی
- برای
- قالب
- یافت
- پایه
- رایگان
- از جانب
- تابع
- تابعی
- بیشتر
- بازیها
- تولید می کند
- دریافت کنید
- داده
- دادن
- کمک های مالی
- راهنمایی
- آیا
- he
- بهداشت و درمان
- ارتفاع
- کمک
- یاران
- مفید
- اینجا کلیک نمایید
- زیاد
- بالاتر
- خود را
- چگونه
- چگونه
- HTML
- HTTP
- HTTPS
- انسان
- ID
- شناسایی
- شناسایی
- هویت
- تایید هویت
- شناسه
- if
- تصویر
- تصاویر
- انجام
- واردات
- مهم
- بهبود
- را بهبود می بخشد
- in
- شامل
- افزایش
- شاخص
- نمایه شده
- فرد
- لوازم
- اطلاعات
- ورودی
- به
- استناد کرد
- شامل
- اینترنت اشیا
- دستگاه های iot
- IT
- ITS
- JPEG
- ژوئن
- کلید
- بزرگترین
- در آخر
- راه اندازی
- یادگیری
- ترک کرد
- کتابخانه
- روشنایی
- پسندیدن
- دوست دارد
- فهرست
- کوچک
- بار
- محل
- نگاه کنيد
- مطالب
- کم
- کاهش
- دستگاه
- فراگیری ماشین
- باعث می شود
- دستکاری
- مسابقه
- کبریت
- مطابق
- ریاضی
- ریاضی
- بیشترین
- اندازه گیری
- روش
- روش
- حد اقل
- مدل
- اصلاح شده
- ماه
- ماه
- بیش
- چندگانه
- باید
- نام
- لازم
- نیاز
- جدید
- بعد
- نه
- اکنون
- عدد
- هدف
- اشیاء
- of
- ارائه
- قدیمی
- on
- شبانه روزی
- ONE
- آنلاین
- فقط
- کار
- or
- دیگر
- در غیر این صورت
- ما
- طرح کلی
- خروجی
- روی
- جفت
- عبور
- احساساتی
- مردم
- برای
- انجام
- انجام می دهد
- اجازه
- شخص
- شخصی
- عکس
- افلاطون
- هوش داده افلاطون
- PlatoData
- بازی
- نقطه
- سیاست
- در برخواهد داشت
- به شمار
- پست
- در حال حاضر
- ارائه شده
- چاپ
- چاپ
- روند
- در حال پردازش
- ارائه
- پــایتــون
- کیفیت
- نژاد
- نژادها
- نسبتا
- مراجعه
- مربوط
- نمایندگی
- ضروری
- منابع
- پاسخ
- نتایج
- برگشت
- بازده
- تنومند
- نقش
- دویدن
- حکیم ساز
- سعید
- همان
- نگهداری می شود
- نمره
- جستجو
- جستجو
- بخش
- دیدن
- ارشد
- خدمت
- خدمات
- جلسه
- تنظیم
- محیط
- چند
- نشان می دهد
- به طور قابل توجهی
- ساده
- تنها
- اندازه
- جامد
- راه حل
- مزایا
- برخی از
- منبع
- نوپا
- بیانیه
- ارقام
- وضعیت
- گام
- مراحل
- ذخیره سازی
- opbevare
- پرده
- ذخیره سازی
- جریان
- ساختار
- چنین
- عرضه شده است
- سیستم
- هدف
- ارتباط از راه دور
- پایانه
- که
- La
- منبع
- شان
- آنها
- سپس
- آنجا.
- آنها
- این
- کسانی که
- سه
- آستانه
- از طریق
- ردیف
- زمان
- به
- بالا
- تور
- درست
- امتحان
- دو
- انواع
- زیر
- ناشناخته
- استفاده کنید
- استفاده
- کاربر
- کاربران
- استفاده
- با استفاده از
- معمولا
- ارزش
- تغییرات
- مختلف
- متفاوت است
- تایید
- بررسی
- نسخه
- بسیار
- از طريق
- تصویری
- بازی های ویدئویی
- می خواهم
- بود
- we
- وب
- خدمات وب
- بود
- چه زمانی
- چه
- که
- عرض
- اراده
- با
- بدون
- گردش کار
- گردش کار
- با این نسخهها کار
- خواهد بود
- سال
- شما
- شما
- زفیرنت