نرم افزار تشخیص چهره رخ نگار
تشخیص و شناسایی چهره به صورت دقیق و هوشمند















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

فرآیند تشخیص و شناسایی چهره در یک سامانه بینایی ماشین معمولاً شامل چند مرحله اصلی است. در رخنگار نیز بسته به نوع کاربرد و تنظیمات سامانه، تصویر یا ویدئو پردازش شده و چهرههای موجود در آن شناسایی و با اطلاعات ثبتشده مقایسه میشوند.
در مرحله تشخیص چهره، سامانه محل وجود چهره یا چهرههای انسانی را در تصویر یا فریم ویدئو شناسایی میکند. خروجی این مرحله مشخص میکند که چهره در چه بخشهایی از تصویر قرار دارد.
پس از شناسایی محل چهره، ویژگیهای قابل استفاده برای مقایسه و تطبیق چهره از تصویر استخراج و به یک بردار عددی تبدیل میشوند.
در مرحله شناسایی، ویژگیهای استخراجشده با اطلاعات چهرههای ثبتشده در سامانه مقایسه میشوند. در صورت وجود تطابق مطابق با معیارها و تنظیمات سیستم، هویت فرد شناساییشده مشخص میشود.
نتیجه پردازش میتواند برای نمایش در نرمافزار تشخیص چهره یا استفاده در سامانههای دیگر مانند کنترل تردد، حضور و غیاب، کنترل دسترسی و احراز هویت، مورد استفاده قرار گیرد
| قابلیت | کنترل تردد استاندارد | کنترل تردد سازمانی | نظارتی | سفارشی سازی |
|---|---|---|---|---|
| شناسایی چهره | ||||
| گزارش گیری | ||||
| جستجو بر اساس تصویر در بین تردد ها | ||||
| جستجو بر اساس تصویر در بین اعضا | ||||
| اتصال به گیت | قابل اضافه شدن | |||
| تخمین سن و جنسیت | قابل اضافه شدن | |||
| تشخیص زنده بودن تصویر | قابل اضافه شدن | قابل اضافه شدن | ||
| تشخیص ماسک | قابل اضافه شدن | |||
| تشخیص حالت چهره | قابل اضافه شدن | |||
| قابلیت ترکینگ | ||||
| حداکثر تشخیص همزمان | 3 | 5 | 20 | بیش از ۲۰ نفر |
سامانه دیتامون قابلیت اتصال و تبادل اطلاعات با نرمافزارها و سیستمهای متنوع حضور و غیاب و کنترل تردد را داراست.

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

وب سوکت (Websocket)
WebSocket یکی از روشهای ارتباطی قابل استفاده برای برقراری ارتباط بلادرنگ میان رخنگار و سامانههای دیگر است.
در این روش، یک ارتباط پایدار میان نرمافزار رخنگار و سامانه متصل ایجاد میشود و اطلاعات موردنیاز برای پردازش و دریافت نتیجه میتواند از طریق این ارتباط منتقل شود.
این ساختار برای سناریوهایی که دریافت سریع نتیجه تشخیص یا شناسایی چهره اهمیت دارد، کاربرد دارد. برای مثال، یک سامانه کنترل تردد میتواند نتیجه پردازش رخنگار را دریافت کرده و بر اساس آن فرآیند مربوط به ورود یا خروج فرد را اجرا کند.
رست فول ای پی آی (RESTful API)
رخنگار قابلیت یکپارچهسازی با نرمافزارهای دیگر را از طریق API فراهم میکند. API به توسعهدهندگان اجازه میدهد قابلیتهای تشخیص و شناسایی چهره رخنگار را در نرمافزارها و سامانههای سازمانی مورد استفاده قرار دهند
در این روش با استفاده از تعدادی API از قبیل APIهای تعریف عضو، تعریف دوربین، جستجو، تنظیمات و… با هسته تشخیص چهره ارتباط برقرار می شود و علاوه بر استفاده از هسته نرم افزار رخ نگار، می توان واسط کاربری کاملا سفارشی خودتان را توسعه دهید.
دیتابیس (Database)
در این روش میتوانید به صورت مستقیم به لاگ های ثبت شده مرتبط با هر تردد در دیتابیس دسترسی داشته باشید.

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

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

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

قابلیت تشخیص و شناسایی چندین چهره به صورت همزمان در تصویر
رخنگار امکان تشخیص و پردازش چندین چهره بهصورت همزمان در یک تصویر یا فریم ویدئویی را دارد. تعداد چهرههای قابل پردازش همزمان به نسخه نرمافزار، تنظیمات سیستم و منابع سختافزاری بستگی دارد.

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

قابلیت تعریف تعداد نامحدود چهره
رخنگار امکان ثبت و مدیریت تعداد زیادی از افراد و چهرهها را فراهم میکند. ظرفیت قابل پشتیبانی به نسخه نرمافزار، معماری سامانه، پایگاه داده و منابع سختافزاری بستگی دارد.

قابلیت ردیابی افراد
قابلیت ردیابی برای دنبالکردن چهره شناساییشده در فریمهای متوالی ویدئو مورد استفاده قرار میگیرد و میتواند در سناریوهای پردازش ویدئو کاربرد داشته باشد.

تشخیص چهره با ماسک
در نسخهها و تنظیماتی که این قابلیت ارائه میشود، رخنگار امکان پردازش و شناسایی چهره افراد در شرایط استفاده از ماسک را فراهم میکند.

یکی از فناوری های مورد استفاده برای نظارت و کنترل تردد افراد، نرم افزار تشخیص چهره است. تشخیص و شناسایی چهره یکی از مسائل مهم در دنیای فناوری امروز است که در حیطه ی فناوری های پردازش تصویر قرار می گیرد. شناسایی چهره ی افراد به دلیل تفاوت هایی که در چهره ی آن ها وجود دارد دارای پیچیدگی هایی است.
فناوری تشخیص چهره (face detection) و فناوری شناسایی چهره (face recognition) دو فناوری مورد استفاده در نرم افزار تشخیص چهره هستند. شناسایی چهره، چهره ی افراد را در تصاویر و فیلم های ویدئویی و یا در تصاویر بلادرنگ شناسایی کرده و تشخیص چهره هویت فرد مورد نظر را مشخص می کند.
بیش از ۱۰۰ سازمان، دانشگاه و مجموعه صنعتی در سراسر کشور به محصولات دیتامون اعتماد کردهاند.










































رخنگار یک نرمافزار تشخیص و شناسایی چهره ایرانی است که توسط شرکت هوش داده مهتاب (دیتامون) توسعه داده شده و برای کاربردهایی مانند کنترل تردد، حضور و غیاب، احراز هویت و کنترل دسترسی استفاده میشود.
این نرمافزار با حدود ۵۲ میلیون تصویر متعلق به حدود ۱میلیون و ۶۰۰هزار نفر آموزش دیده است. اندازه بردار مولفه ۵۱۲ است و در برخی حالتها امکان استفاده از بردار ۱۰۲۴ مؤلفهای نیز وجود دارد.
تصاویر استفاده شده در آموزش نرمافزار تشخیص چهره رخ نگار با دوربین های مختلف، در شرایط نوری مختلف، در زاویه های مختلف، در سنین مختلف، با پوششهای مختلف (ماسک، عینک، کلاه، ریش) و با حالتهای صورت مختلف (عصبانی، چشم بسته، خندان و …) و آرایش های مختلف ثبت شده اند. بنابراین نرمافزار نسبت به موارد یاد شده تا حد زیادی مقاوم است.
توضیح دیگر اینکه هنگام آموزش مدل سعی شده است تا بیشتر ویژگیهایی که چهرهها را از یکدیگر تفکیک میکنند را استخراج کنیم. این ویژگیها در مولفه هایی مانند پیشانی، چشم ها، بینی، گونه، لبها و چانه وجود دارند. بنابراین اگر مثلاً پیشانی یک شخص به گونهای متمایز از سایر افراد باشد ما آن شخص را حتی با عینک آفتابی و ماسک نیز شناسایی خواهیم کرد. در رابطه با سایر مولفه ها نیز به این صورت عمل می شود.
در نتیجه نرم افزار تشخیص چهره رخ نگار قابلیت تشخیص چهره ی افراد با عینک، ریش، کلا و ماسک را دارد.
بستگی به اعضای تعریف شده دارد. به عنوان مثال Apple ID ادعا دارد که خطای باز شدن گوشی یک در یک میلیون است. این ادعا زمانی صحیح است که این یک میلیون نفر به صورت تصادفی از بین ۸ میلیارد نفر انتخاب شوند. زمانی که بخواهیم این یک میلیون نفر را از بستگان درجه یک، خصوصا در خانوادههایی که چند قلو دارند، انتخاب کنیم شاید به یک در ۲۰ نفر هم نرسد.
در فضای شناسایی چهره معیار خطا TAR@FAR است. به عنوان مثال TAR@FAR 10-5 به این معنی است که حداکثر یک خطا به ازای هر 100،000 نفر قابل پذیرش است. TAR مخفف True Accept Rate و FAR مخفف False Accept Rate است. برای ارزیابی مدل ها از مجموعه داده استاندارد IJB-C استفاده شده است. این مجموعه داده شامل تصاویر چهره افراد در شرایط متنوعی از جمله تغییرات نور، جلوههای مختلف، تغییرات مو، وضوح و… میشود. از این مجموعه داده برای ارزیابی عملکرد الگوریتمها و سیستمهای تشخیص چهره در شرایط واقعی استفاده میشود. این مجموعه داده شامل ۱۳۸۰۰۰ تصویر متعلق به ۳۵۳۱ عضو است. با در نظر گرفتن معیار TAR@FAR 10-4 دقت شناسایی ۹۷.۵۵٪ است. در صورتی که اگر مجاز باشیم از هر یک میلیون نفر یک نفر را به اشتباه شناسایی کنیم دقت در حدود ۹۲درصد خواهد بود. به این معنی که اگر یک میلیون نفر در سیستم عضو داشته باشیم و فقط مجاز باشیم یک نفر را اشتباه شناسایی کنیم، از یک میلیون نفری که مقابل دوربین قرار میگیرند ۹۲۰هزار نفرشان میتوانند از سیستم با موفقیت عبور کنند. در صورتی که خطای مجاز را افزایش دهیم دقت نیز بیشتر خواهد شد.
لازم به ذکر است اگر به دنبال شبیه ترین شخص در میان اعضا باشیم، سامانه با دقت بیش از ۹۹.۹۹۹٪ شخص مورد نظر را در بین یک میلیون عضوی که ثبت کردهایم پیدا می کند. یعنی اگر یک میلیون عضو داشته باشیم و یک عکس جدید به سامانه بدهیم و بخواهیم که شبیه ترین شخص را پیدا کند در ۹۹.۹۹۹٪ مواقع دقیقاً شخصی که تصویر متعلق به آن است پیدا می شود.
تمامی این اطلاعات برای زمانی است که تصاویر کامل آزادانه انتخاب شوند (عکس پرسنلی، عکس پروفایل صفحات مجازی، دوربین ها و شرایط نوری گوناگون و …). اگر نحوه ورود تصاویر ورودی محدود شود دقت شناسایی سامانه بیشتر می شود. مثلاً اگر یک سازمان ۱۰هزار عضو دارد و تمامی این ۱۰هزار نفر از طریق دوربین های آن سازمان یا از طریق یک ویدیوی چند ثانیه ای به روز ثبت نام شوند خطای سامانه صفر خواهد بود. این صفر بودن خطا تا زمانی قابل افزایش است که دو نفر با چهرههای کاملاً یکسان وارد سامانه شوند. حتی اگر دو نفر دوقلو هم باشند با افزایش تعداد تصاویر از آنها میتواند خطای شناسایی و جابجا تشخیص دادن آنها را کم کرد. سامانه قادر است به ازای هر شخص تعداد نامحدود تصویر دریافت کند و با افزایش تعداد تصاویر خطا کاهش یافته و دقت شناسایی بیشتر می شود.
به طور کلی در صورتی که منابع سخت افزاری داشته باشیم تعداد چهرههای قابل شناسایی در یک تصویر میتواند بیش از ۱۰۰۰ نفر باشد. با یک GPU ۳۰۹۰ حدود ۱۲۰ نفر در یک ثانیه قابل شناسایی هستند. این ۱۲۰ نفر میتواند در یک فریم باشد یا در ۴ فریم که ۳۰ نفر در هر کدام قرار دارند.
بله. در مجموعه تصاویر مورد استفاده برای آموزش و ارزیابی مدل، تنوعی از شرایط ظاهری افراد در نظر گرفته شده است.
هدف از این تنوع آن است که سامانه بتواند ویژگیهای پایدارتر چهره را از تغییرات ظاهری مانند آرایش، نوع پوشش و سایر تغییرات ظاهری تفکیک کند. عملکرد نهایی همچنان به میزان قابل مشاهده بودن اجزای چهره و کیفیت تصویر ورودی وابسته است.
ترجیحا در نور مناسب از رو به رو به گونه ای که از عرض چهره چیزی بیش از ۶۴ پیکسل داشته باشیم. تصاویر نباید بیش از حد روشن یا تاریک باشند. نویز تصویر باید کمینه باشد و همچنین تنظیمات Exposure به گونهای باشد که چهرهها کشیده نشوند. البته در تمامی این شرایط، شناسایی چهره ممکن است و صرفاً دقت شناسایی کمتر می شود.
محدوده پوشش به مشخصات دوربین، لنز، زاویه دید، ارتفاع نصب، فاصله افراد از دوربین و اندازه چهره در تصویر بستگی دارد.
در شرایط مورد آزمایش برای رخ نگار، با یک دوربین Full HD محدودهای حدود ۴ تا ۷ متر قابل پوشش گزارش شده است. این مقدار یک عدد عملیاتی عمومی برای تمام دوربینها نیست و برای طراحی هر پروژه باید بر اساس مدل دوربین و شرایط نصب بررسی شود.
بهترین حالت ۱۱۲ پیکسل است و بیش از آن نیز بی معناست ولی با حدود ۴۸ شروع به کار می کند و در ۶۴ پیکسل نتایج کاملا قابل قبول هستند.
بله. رخ نگار برای یکپارچهسازی با سامانههای سازمانی طراحی شده است و امکان تبادل اطلاعات با نرم افزارهای دیگر از روشهای مختلف وجود دارد.
برای اتصال به سامانه های دیگر چندین روش وجود دارد که بهترین روش فراخوانی یک سرویس از سامانه ی مقابل است. یعنی سامانه مقابل یک وب سرویس یا دسترسی به پایگاه داده به ما میدهد و ما اطلاعات لازم (آی دی عضو، زمان و ID دوربین) را به آن وب سرویس یا پایگاه داده ارسال می کنیم. سایر روشهایی که دیتای مورد نظر در دسترس است شامل:
۱- وب سوکت
۲- سوکت
۳-دسترسی مستقیم به پایگاه داده
RESTful API -۴
۱- سامانه چارگون در استانداری قزوین
۲- سامانه رهیافت در اداره داریی قزوین
۳- سامانه حضور و غیاب شرکت علم و صنعت و در شرکت توزیع دارو محیا دارو
۴- سامانه حضور و غیاب شرکت های وب
۵- سامانه ورود به ورزشگاه: در ورزشگاه مس رفسنجان
پایگاه داده استفاده شده Postgresql است و با بهینه سازی هایی که روی برخی از کامپوننت های این دیتابیس انجام شده است تا بیش از ۵۰ هزار کارمند را پوشش می دهد.
در صورتی که به روز رسانی اعضا مکرراً اتفاق نیافتد همان دیتابیس Postgresql پاسخگو است.a
رخ نگار قابلیت اجرا و پردازش با استفاده از CPU و GPU را دارد.
انتخاب CPU یا GPU به حجم پردازش، تعداد دوربینها، تعداد چهرههای موجود در تصاویر، سرعت مورد نیاز و سختافزار در دسترس بستگی دارد. برای پروژههایی که حجم پردازش تصویر بالایی دارند، استفاده از GPU میتواند ظرفیت پردازشی بیشتری فراهم کند.
رخ نگار صرفاً به صورت یک DLL مستقل ارائه نمیشود، اما پس از نصب نرم افزار امکان دسترسی به سرویسهای مورد نیاز از طریق DLL فراهم است.
DLL موجود با زبان C# توسعه داده شده و در صورت نیاز امکان توسعه رابط برای زبانهای برنامهنویسی دیگر نیز وجود دارد.
با توجه به اینکه اطلاعات اعضا در حافظه RAM نگهداری می شوند و در سامانه احراز هویت از الگوریتم KD Tree استفاده شده است که در فضای ۵۱۲ بعدی مقایسه چهره ورودی را با چهره های ثبت شده انجام می دهد، سرعت شناسایی چهره حدود یک میلیارد مقایسه در یک ثانیه است (با یک پردازنده Core i7 نسل ۸ به بالا). بدین منظور با افزایش تعداد اعضا سرعت پایین نخواهد آمد.
دقت سیستم تشخیص چهره به معیار ارزیابی، تعداد افراد موجود در پایگاه داده، کیفیت تصاویر، شرایط تصویربرداری و آستانه پذیرش خطا بستگی دارد؛ بنابراین نمیتوان یک عدد واحد را به عنوان دقت سامانه در تمام شرایط بیان کرد.
برای ارزیابی مدل رخ نگار از معیارهایی مانند TAR@FAR استفاده شده است. در یکی از ارزیابیها با استفاده از مجموعهداده استاندارد IJB-C، مقدار TAR در FAR برابر با ۱۰⁻⁴ حدود ۹۷.۵۵ درصد گزارش شده است.
این عدد مربوط به شرایط و تنظیمات همان آزمون است و نباید به عنوان دقت ثابت سامانه در تمام پروژهها و شرایط عملیاتی تفسیر شود.
IJB-C یکی از مجموعهدادههای استاندارد مورد استفاده برای ارزیابی الگوریتمهای تشخیص و شناسایی چهره است و تصاویر را در شرایط متنوعی شامل تغییرات نور، زاویه، کیفیت تصویر و ظاهر افراد در بر میگیرد.
در ارزیابی انجامشده برای رخ نگار، با معیار TAR@FAR برابر با ۱۰⁻⁴، مقدار TAR حدود ۹۷.۵۵ درصد گزارش شده است. این نتیجه مربوط به همان پروتکل ارزیابی است و برای تفسیر عملکرد سامانه در یک پروژه واقعی باید شرایط عملیاتی پروژه نیز در نظر گرفته شود.
ظرفیت شناسایی رخ نگار به معماری سامانه، منابع سختافزاری، نحوه ذخیره و بهروزرسانی اطلاعات و روش جستوجوی چهره بستگی دارد.
در معماری فعلی، اطلاعات اعضا میتواند در حافظه RAM نگهداری شود و برای جستوجوی سریع از ساختارهای مناسب جستوجوی بردار استفاده شود. در نتیجه افزایش تعداد اعضا الزاماً به معنی کاهش متناسب سرعت جستوجوی چهره نیست.
در پروژههای سازمانی با دهها هزار عضو نیز امکان استفاده از PostgreSQL و بهینهسازیهای مرتبط با پایگاه داده وجود دارد.
رخ نگار میتواند در کاربردهایی مانند احراز هویت مبتنی بر چهره، شناسایی افراد، کنترل تردد، حضور و غیاب، کنترل ورود به اماکن و پردازش تصاویر دوربینهای نظارتی مورد استفاده قرار گیرد.
معماری نرم افزار رخ نگار امکان یکپارچهسازی با سامانههای دیگر را فراهم میکند تا شناسایی چهره به عنوان بخشی از یک فرایند سازمانی مورد استفاده قرار گیرد.
سلام من این نرم افزار رو تهیه کردم خواستم تجربم رو با دوستان به اشتراک بذارم
ما سیستم تشخیص چهره رو برای ورودی شرکت نصب کردیم، خیلی سرعت رفتوآمد رو بالا برده. مخصوصاً صبحها که حجم ورود کارمندا زیاده، عالی جواب میده.
درود بر شما چقدر خوب
سلام ما توی انبار ازش استفاده کردیم برای کنترل ورود و خروج پرسنل. گزارشگیری روزانهای که میده دقیق و قابل اعتماده، کارمون رو خیلی راحتتر کرده.
درود برشما خوشحالیم از بازخوردتون
سلام
ما چند ماهه از سیستم تشخیص چهره استفاده میکنیم، خیلی خوبه ها ولی گاهی اوقات وقتی نور محیط کم میشه یا سایه روی صورت میافته، چهره رو درست تشخیص نمیده.
همین باعث شده چند بار مجبور بشیم دستی ورود پرسنل رو ثبت کنیم. امیدوارم با تنظیمات بهتر یا آپدیت نرمافزار این مشکل برطرف بشه.
درود بر شما
بله قطعا برطرف میشه ممنون که بیان کردید
سلام… لایسنس تشخیص چهره و پلاک را تهیه کردیم. بسیار کاربردی و حرفه ای هستش. و واقعا از این برنامه استفاده مفیدی می کنیم..همچنان منتظر برنامه های جدید شرکت شما هستیم.
درود بر شما
خوشحالیم که براتون کار امد بوده. ممنون از بازخوردتون