اخیراً تیم تحقیق و توسعه همش ادغام آبشاری سه لایه ماژول ضبط دوچشمی MD31، پلت فرم محاسباتی لبه RK3588 و برد شتاب دهنده AXU9EGB FPGA را تکمیل کرده و گزارش فنی مرحلهای را منتشر کرده است. از ثبت یک تصویر چشمی با مقیاس خاکستری 640×480 توسط دوربین، از طریق ارزیابی کیفیت، محلیسازی عنبیه، استنتاج ویژگیها، تطبیق 1:N تا نمایش نتایج تشخیص مجدد بر روی صفحه - این خط لوله اکنون به طور کامل روی سه برد سختافزاری اجرا میشود.
برای همش، این چیزی فراتر از یک آزمون موفقیت آمیز ادغام است. این بدان معناست که ما قابلیتهای تشخیص عنبیه را که قبلاً روی رایانههای شخصی ویندوزی اجرا میشد، به یک معماری لبه با مصرف انرژی کمتر، عوامل شکلپذیری انعطافپذیرتر و قابلیت جاسازی در دستگاههای ترمینال مختلف منتقل کردهایم.
کل سیستم از معماری آبشاری استفاده میکند: ضبط و برش توسط دوربین MD31، دسترسی و انتقال توسط RK3588، استنتاج توسط AXU9EGB FPGA، و بازخورد بصری توسط RK3588. خروجی MD31 تصاویر تک چشمی را برای هر دو چشم چپ و راست برش می دهد. RK3588 بر روی Android ARM64 اجرا می شود که مسئول جفت شدن دوچشمی، مدیریت وظایف و انتقال شبکه است. FPGA گیت کیفیت و همه الگوریتمهای عنبیه را کنترل میکند و نتایج را برای نمایش به RK3588 میفرستد.
این تقسیم کار معنای عمیقتری دارد: ضبط دوربین و استنتاج FPGA کاملاً جدا شدهاند و توسط یک لایه معنایی پروتکل یکپارچه به هم متصل میشوند. هر مجموعه ای از تصاویر چشم چپ و راست با یک شناسه عملیات و یک عدد دنباله به شدت در حال افزایش همراه است، که از عدم سردرگمی بین فریم های پیش نمایش، فریم های امتحان مجدد و فریم های کارهای قبلی اطمینان حاصل می کند. در نتیجه، هر دو راه حل قدیمی ویندوز ما و راه حل جدید RK3588 مجموعه ای از پروتکل های FPGA و تعاریف نتیجه استنتاج یکسانی را به اشتراک می گذارند، با یک مجموعه از سرویس های داخلی که از دو نسل از سیستم های میزبان پشتیبانی می کند.
![]()
جریان کلی داده از آبشار سه لایه
FPGA وضعیت کیفیت، هویت نامزدها، امتیازات شباهت، فاصله ها، آستانه ها و مدت زمان مرحله را با هم برمی گرداند و کل فرآیند تشخیص را به طور کامل برای کاربران قابل مشاهده می کند.
سنگین ترین قسمت خط لوله روی AXU9EGB قرار دارد. بر اساس برد Zynq UltraScale+ MPSoC FPGA و فعال شده توسط Vitis AI 3.0 و شتاب سختافزاری DPU، خط لوله استنتاج هفت مرحلهای کامل را انجام میدهد: از اعتبارسنجی ورودی، محلیسازی مردمک و عنبیه از طریق مدل دایرهای شش پارامتری، دروازهای با کیفیت، Daugman2-Daugman-radi-generation-Daugman. شبکه عمیق IResNet100، تطبیق 1:N پس از عادی سازی L2، و در نهایت بازگشت نتایج همراه با تأخیر در هر مرحله.
فعال کردن یک شبکه عمیق صد لایه برای استخراج پایدار ویژگیها در FPGA به همترازی دقیق بین کمیتسازی مدل، مجموعه دادههای کالیبراسیون و توزیعهای واقعی تصویر دوربین، و همچنین یک پشتیبان شتاب صفر کپی سفارشی برای مدل دایرهای متکی است. این دقیقاً همان کاری است که همش به مدت 15 سال انجام میدهد: تعبیه الگوریتمها در سختافزار، بهگونهای که شناسایی تا حد امکان نزدیک به دستگاه انجام شود.
![]()
خط لوله استنتاج هفت مرحله ای روی FPGA
تصاویری که در بررسی کیفیت ناموفق هستند، در مرحله سوم رد می شوند و از محاسبات هدر رفت ویژگی جلوگیری می شود. بردار ویژگی عنبیه 512 بعدی - خط لوله استنتاج 7 مرحله ای روی برد - 326 آزمایش تجمعی با موفقیت
از نظر منطق استفاده، سیستم به اصل "ثبت نام دقیق، تشخیص انعطاف پذیر" پایبند است. در هنگام ثبت نام، هر دو الگوی چشم چپ و راست کاربر باید از دروازه کیفیت عبور کرده و با موفقیت ثبت نام کنند. فریم های ناموفق، دو طرف چشم تکراری و کناره های چشم ناشناخته از شمارش ثبت نام مستثنی هستند. در مقابل، در طول تشخیص، چشم چپ و راست به طور جداگانه استنباط می شوند و به ترتیب با الگوهای چشم چپ و راست در کتابخانه الگو به ترتیب 1:N مطابقت دارند. یک تطبیق از هر تصویر چشم پرس و جوی منفرد در برابر هر الگوی نتیجه ای را برمی گرداند - کاربران نیازی به قرار دادن هر دو چشم برای سیستم ندارند. هر چشمی که گرفته شود پردازش می شود.
خرابی های کیفیت، عدم تطابق موقت یا خطاهای ارتباطی قابل بازیابی، کار را به طور ناگهانی خاتمه نمی دهند. سیستم وضعیت وظیفه را حفظ می کند و همچنان منتظر مجموعه بعدی تصاویر است. پس از بازیابی اتصال، از شناسه عملیات و شماره های توالی تایید شده بدون ارسال مجدد فریم هایی که قبلاً توسط FPGA دریافت شده است، از سر گرفته می شود. هر مرحله تشخیص - کیفیت، شباهت، فاصله، آستانه، تأخیر - به رابط باز می گردد و موفقیت، شکست و تلاش های مجدد را برای کاربران قابل مشاهده می کند.
ثبتنام به الگوهای دوچشمی کامل نیاز دارد، در حالی که تشخیص فقط به یک تطابق از هر دو چشم، ایجاد تعادل بین امنیت و تجربه کاربر نیاز دارد.
![]()
آنچه در این گزارش مرحلهای به آن افتخار میکنیم، در واقع روششناسی آن است. هر نتیجه تأیید به وضوح به چهار نوع طبقهبندی میشود: «تأیید شده» برای نتایج آزمایشهای تکرارپذیر، «تأیید شده از نظر تاریخی» از سوابق ادغام قبلی، «استنتاج شده» برگرفته از منطق پیادهسازی، و صادقانه علامتگذاری شده «برای تأیید» برای موارد موقتاً تأیید نشده. 176 تست خودکار در خط پایه ویندوز همگی با موفقیت گذرانده شدند، 150 تست پایتون روی برد گذراندند، و توابع ثبت/تشخیص و بازیابی اتصال یکپارچهسازی شدند - همه اینها در گزارش مستند شدهاند. مواردی که هنوز در سایت مجدداً آزمایش نشده اند نیز به وضوح به صورت سیاه و سفید و بدون هیچ ابهامی علامت گذاری شده اند.
شناسایی عنبیه کار هویت است و جایی برای "احتمالا خوب" باقی نمی گذارد. مستندسازی عدم قطعیت ها روی کاغذ تعهد ما به مشتریان و خودمان است.
![]()
سه شکل کلیدی: ویژگی های 512 بعدی تولید شده از طریق شتاب DPU. همه 176 تست پایه خودکار ویندوز گذرانده شدند. 150 رکورد آزمایشی پایتون روی برد به تصویب رسید.
قضاوت کلی گزارش این است که راه حل فعلی پایه و اساس نمایش، ادغام و مستندسازی مرحلهای را با مرزهای معمارانه روشن و معماری کلی آبشاری از نظر فنی امکانپذیر گذاشته است. اولویتهای بعدی به همان اندازه روشن هستند: پایداری سرتاسر، کیفیت تصویر در زمان واقعی، سازگاری باز کردن مختصات قطبی، و نظارت بر وضعیت حلقه بسته برای عملیات طولانیمدت، انتقال خط لوله از «عملکردی» به «پایدار و قابل اعتماد» و سپس به محصولات آماده تولید.
از تراشههای تشخیص عنبیه خود توسعهیافته، تا همافزایی نرمافزار-سختافزار بین الگوریتمها و FPGA، تا خط لوله تشخیص کامل امروزی که در دستگاههای لبه تعبیه شده است، همش همیشه بر این باور بوده که آینده بیومتریک در لبهها قرار دارد. این گزارش مرحله ای گام دیگری به سوی آینده است.