دو سال پیش Project Guideline را معرفی کردیم، همکاری بین Google Research و Guiding Eyes for the Blind که به افراد دارای اختلالات بینایی (مثلاً نابینایی و کم بینایی) امکان راه رفتن، دویدن و دویدن مستقل را می داد. Project Guideline تنها با استفاده از تلفن و هدفون Google Pixel از یادگیری ماشینی روی دستگاه (ML) استفاده میکند تا کاربران را در مسیرهای خارج از منزل که با خط رنگشده مشخص شدهاند هدایت کند. این فناوری در سراسر جهان آزمایش شده است و حتی در مراسم افتتاحیه بازی های پارالمپیک توکیو 2020 به نمایش گذاشته شده است.
از زمان اعلام اولیه، ما تصمیم گرفتیم دستورالعمل پروژه را با تعبیه ویژگیهای جدید، مانند تشخیص موانع و برنامهریزی مسیر پیشرفته، بهبود بخشیم تا کاربران را با خیال راحت و مطمئن در سناریوهای پیچیدهتر (مانند پیچهای تند و عابران پیاده نزدیک) هدایت کنیم. نسخه اولیه دارای یک تقسیم بندی تصویر ساده فریم به فریم بود که موقعیت خط مسیر را نسبت به قاب تصویر تشخیص می داد. این برای جهت دهی کاربر به خط کافی بود، اما اطلاعات محدودی در مورد محیط اطراف ارائه می کرد. بهبود سیگنالهای ناوبری، مانند هشدار برای موانع و پیچهای آتی، نیاز به درک و نقشهبرداری بسیار بهتری از محیط کاربران دارد. برای حل این چالشها، ما یک پلتفرم ساختیم که میتوان از آن برای انواع برنامههای کاربردی آگاه فضایی در فضای دسترسی و فراتر از آن استفاده کرد.
امروز، انتشار منبع باز Project Guideline را اعلام میکنیم و آن را در دسترس همگان قرار میدهیم تا از آن برای بهبود و ایجاد تجربیات دسترسی جدید استفاده کنند. این نسخه شامل کد منبع برای پلتفرم اصلی، یک برنامه اندروید، مدل های ML از پیش آموزش دیده و یک چارچوب شبیه سازی سه بعدی است.
طراحی سیستم
مورد استفاده اولیه یک برنامه اندروید است، با این حال میخواستیم بتوانیم منطق اصلی را در محیطهای مختلف به روشی تکرارپذیر اجرا، آزمایش و اشکال زدایی کنیم. این ما را بر آن داشت تا سیستم را با استفاده از C++ برای ادغام نزدیک با MediaPipe و دیگر کتابخانههای هسته طراحی و بسازیم، در حالی که همچنان قادر به ادغام با Android با استفاده از Android NDK هستیم.
در زیر سرپوش، Project Guideline از ARCore برای تخمین موقعیت و جهت گیری کاربر در حین حرکت در مسیر استفاده می کند. یک مدل تقسیمبندی، که بر روی چارچوب DeepLabV3+ ساخته شده است، هر فریم دوربین را برای تولید یک ماسک باینری از دستورالعمل پردازش میکند (برای جزئیات بیشتر به پست وبلاگ قبلی مراجعه کنید). سپس با استفاده از ژست دوربین و پارامترهای لنز (ذاتی) ارائه شده توسط ARCore، نقاط روی خطمشی تقسیمبندی شده از مختصات تصویر-فضا بر روی صفحه زمینی فضای جهان نمایش داده میشوند. از آنجایی که هر فریم نمای متفاوتی از خط را ارائه می دهد، نقاط فضای جهان در چندین فریم جمع می شوند تا یک نقشه مجازی از دستورالعمل دنیای واقعی ایجاد شود. این سیستم تقریب منحنی تکهای مختصات راهنمای جهان-فضا را انجام میدهد تا یک مسیر ثابت مکانی-زمانی ایجاد کند. این اجازه می دهد تا خط تخمینی را با پیشروی کاربر در مسیر اصلاح شود.
![]() |
Project Guideline یک نقشه دو بعدی از دستورالعمل ایجاد می کند و نقاط شناسایی شده را در هر فریم جمع می کند (قرمز) برای ایجاد یک نمایندگی حالت دار (آبی) همانطور که دونده در طول مسیر پیشرفت می کند. |
یک سیستم کنترلی به صورت پویا یک نقطه هدف در خط را بر اساس موقعیت فعلی، سرعت و جهت کاربر انتخاب می کند. سپس یک سیگنال بازخورد صوتی به کاربر داده می شود تا عنوان خود را مطابق با بخش خط آینده تنظیم کند. با استفاده از بردار سرعت دونده به جای جهت گیری دوربین برای محاسبه سیگنال ناوبری، نویز ناشی از حرکات نامنظم دوربین را که در حین دویدن رایج است حذف می کنیم. ما حتی میتوانیم کاربر را در حالی که خارج از دید دوربین است به خط برگردانیم، برای مثال اگر کاربر از یک دور عکسبرداری بیش از حد داشته باشد. این امکان پذیر است زیرا ARCore به ردیابی وضعیت دوربین ادامه می دهد، که می تواند با نقشه خط حالت استنباط شده از تصاویر دوربین قبلی مقایسه شود.
Project Guideline همچنین شامل ویژگی های تشخیص و اجتناب از موانع است. یک مدل ML برای تخمین عمق از تصاویر منفرد استفاده می شود. برای آموزش این مدل عمق تک چشمی، ما از SANPO، مجموعه داده بزرگی از تصاویر فضای باز از محیط های شهری، پارک و حومه شهر استفاده کردیم که در داخل خانه تهیه شده بود. این مدل قادر به تشخیص عمق موانع مختلف از جمله افراد، وسایل نقلیه، پست ها و غیره است. نقشههای عمق به ابرهای نقطهای سه بعدی، مشابه فرآیند تقسیمبندی خط، تبدیل میشوند و برای تشخیص وجود موانع در مسیر کاربر و سپس هشدار دادن به کاربر از طریق سیگنال صوتی استفاده میشوند.
![]() |
با استفاده از یک مدل عمقی تک چشمی ML، Project Guideline یک ابر نقطه سه بعدی از محیط را برای شناسایی و هشدار به کاربر از موانع احتمالی در طول مسیر می سازد. |
یک سیستم صوتی با تأخیر کم مبتنی بر API AAudio برای ارائه صداها و نشانه های ناوبری به کاربر پیاده سازی شد. چندین بسته های صوتی در Project Guideline از جمله اجرای صدای فضایی با استفاده از Resonance Audio API موجود هستند. بستههای صوتی توسط تیمی از محققین و مهندسان صدا در گوگل ساخته شدهاند که مدلهای مختلف صدا را طراحی و آزمایش کردهاند. صداها از ترکیبی از پانینگ، زیر و بم و فضایی سازی برای هدایت کاربر در طول خط استفاده می کنند. برای مثال، کاربری که به سمت راست منحرف میشود ممکن است صدای بوق را در گوش چپ بشنود که نشان میدهد خط به سمت چپ است، با افزایش فرکانس برای اصلاح مسیر بزرگتر. اگر کاربر بیشتر منحرف شود، ممکن است یک صدای هشدار با صدای بلند شنیده شود که نشان می دهد لبه مسیر نزدیک است. علاوه بر این، در صورتی که کاربر بیش از حد از خط منحرف شود، ناهنجاری تشخیص داده شود، یا سیستم نتواند سیگنال ناوبری را ارائه دهد، یک نشانه صوتی واضح “توقف” همیشه در دسترس است.
Project Guideline به طور خاص برای تلفن های Google Pixel با تراشه Google Tensor ساخته شده است. تراشه Google Tensor مدلهای بهینهسازی شده ML را قادر میسازد تا روی دستگاه با عملکرد بالاتر و مصرف انرژی کمتر اجرا شوند. این برای ارائه دستورالعمل های ناوبری در زمان واقعی به کاربر با حداقل تاخیر بسیار مهم است. در Pixel 8 هنگام اجرای مدل عمق در واحد پردازش Tensor (TPU) به جای CPU، 28 برابر تاخیر و در مقایسه با GPU 9 برابر بهبود یافته است.
![]() |
تست و شبیه سازی
Project Guideline شامل یک شبیه ساز است که آزمایش سریع و نمونه سازی سیستم را در یک محیط مجازی امکان پذیر می کند. همه چیز از مدلهای ML گرفته تا سیستم بازخورد صوتی به صورت بومی در شبیهساز اجرا میشود و تجربه کامل دستورالعمل پروژه را بدون نیاز به تنظیم سختافزار و محیط فیزیکی ارائه میدهد.
![]() |
اسکرین شات شبیه ساز Project Guideline. |
جهت آینده
برای راهاندازی این فناوری به جلو، WearWorks به یکی از کاربران اولیه تبدیل شده است و با Project Guideline همکاری میکند تا تجربه ناوبری لمسی ثبت شده خود را یکپارچه کند و از بازخورد لمسی علاوه بر صدا برای راهنمایی دوندگان استفاده کند. WearWorks بیش از 8 سال است که در حال توسعه هاپتیک بوده است و قبلاً به اولین دونده ماراتن نابینا قدرت داده بود تا ماراتن نیویورک را بدون کمک بینایی به پایان برساند. ما امیدواریم که ادغام هایی مانند این منجر به نوآوری های جدید شود و جهان را به مکانی قابل دسترس تر تبدیل کند.
تیم Project Guideline همچنین با استفاده از آخرین پیشرفتها در فناوری ML موبایل، مانند ARCore Scene Semantics API، که میتواند پیادهروها، ساختمانها و سایر اشیاء را در صحنههای بیرونی شناسایی کند، برای حذف کامل خط رنگشده کار میکند. ما از جامعه دسترسی دعوت میکنیم تا ضمن بررسی موارد استفاده جدید در زمینههای دیگر، این فناوری را توسعه داده و بهبود بخشند.
سپاسگزاریها
افراد زیادی در توسعه Project Guideline و فناوری های پشت آن مشارکت داشتند. مایلیم از اعضای تیم Project Guideline تشکر کنیم: Dror Avalon، Phil Bayer، Ryan Burke، Lori Dooley، Song Chun Fan، Matt Hall، Amelie Jean-aimée، Dave Hawkey، Amit Pitaru، Alvin Shi، Mikhail Sirotenko، Sagar Waghmare، جان واتکینسون، کیمبرلی ویلبر، متیو ویلسون، ژوان یانگ، مارک زاریچ، استیون کلارک، جیم کورسی، جاش الیس، تام هادس، دیک لیون، کریس میچل، ساتورو آرائو، یوجین چونگ، جو فرای، کازوتو فورویچی، ایکومی کوبایاشی، کتی مین نگوین، آلتو اوکامورا، یوسوکه سوزوکی و برایان تاناکا. با تشکر از مشارکت کنندگان ARCore: رایان دوتویت، آبیشک کار، و اریک ترنر. با تشکر از Alec Go، Jing Li، Liviu Panait، Stefano Pellegrini، Abdullah Rashwan، Lu Wang، Qifei Wang و Fan Yang برای ارائه پشتیبانی از پلتفرم ML. ما همچنین میخواهیم از هارتویگ آدام، توماس ایزو، راهول سوکتانکار، بلیز آگوئرا و آرکاس و هویشنگ وانگ برای حمایت رهبریشان تشکر کنیم. تشکر ویژه از شرکایمان Guiding Eyes for the Blind و آشیل بین المللی.