1. مقدمه
مدلهای ساختمان سهبعدی، بخش کلیدی محیط جغرافیایی مجازی، بهطور گسترده در شهرهای هوشمند، ناوبری سهبعدی و بازیهای رایانهای استفاده میشوند [ 1 ، 2 ]. در سالهای اخیر، انتقال مدلهای سهبعدی از طریق اینترنت و ارائه بعدی آنها در زمان واقعی برای مشتریان مورد تقاضا بوده است [ 3 ]. با توسعه سریع فناوریهای اکتساب دادههای سه بعدی مانند فتوگرامتری شیب [ 4 ] و اسکن LiDAR [ 5 ]]، مدلهای ساختمانهای سهبعدی واقعیتر و پیچیدهتر میشوند و در نتیجه حجم عظیمی از دادهها به وجود میآیند. این مقادیر زیاد داده اغلب باعث ازدحام انتقال می شود که اصلاح مدل ساختمان را در زمان واقعی دشوار می کند. مدلهای ساختمانهای سه بعدی ناهموار یا ناقص تجربه کاربری ضعیفی را ایجاد میکنند و حتی ممکن است کاربران را گیج کنند.
روش ها و استراتژی های زیادی برای بهبود کارایی انتقال مدل سه بعدی پیشنهاد شده است. این ها را می توان به دو دسته کلی تقسیم کرد: استراتژی های جایگزینی و استراتژی های افزایشی. استراتژی LOD گسسته [ 6] یک استراتژی جایگزین معمولی است. مدل سه بعدی اصلی چندین بار به طور مستقل از قبل ساده شده است تا چندین مدل در سطوح مختلف جزئیات تولید شود. با نزدیک شدن به دیدگاه، مدل های درشت به طور متوالی با مدل های دقیق تر جایگزین می شوند. چنین استراتژی فشار انتقال داده را تا حدی در هنگام تعامل با یک صحنه درشت اولیه کاهش می دهد. با این حال، از آنجایی که مدل تفصیلی اطلاعات مدل درشت را به طور کامل پوشش میدهد، دادههای ارسال شده قبلی به جای جایگزینی مستقیم باید دوباره مورد استفاده قرار گیرند. همانطور که در شکل 1 الف نشان داده شده است، جعبه های پر از خاکستری نشان دهنده داده هایی هستند که باید هر بار که مدل پالایش می شود منتقل شود. این روش باعث می شود حجم زیادی از داده ها به طور مکرر در طول پالایش صحنه منتقل شوند.
استراتژی افزایشی با ارسال و الحاق داده های افزایشی به طور مداوم به مدل درشت، اصلاح تدریجی مدل را محقق می کند. در مقایسه با استراتژی جایگزینی، افزونگی انتقال داده را کاهش میدهد، اما حجم کار برای اصلاح مدل را نیز افزایش میدهد. چن و همکاران [ 7 ] یک روش انتقال پیشرونده را پیشنهاد کرد. مدل سه بعدی معمولاً از داده های راس و داده های شاخص مثلثی تشکیل شده است. در روش آنها، داده های راس افزایشی سطح بالاتر و داده های شاخص مثلث جهانی با نزدیک شدن دیدگاه به شی شبیه سازی منتقل می شوند. همانطور که در شکل 1 ب نشان داده شده است، این روش انتقال پیشرونده از داده های راس استفاده مجدد می کند اما افزونگی داده های شاخص را حذف نمی کند.
زمان از ظهور نیاز به اصلاح مدل سه بعدی تا تکمیل اصلاح مدل به طور قابل توجهی بر تجربه کاربر تأثیر می گذارد. فواصل زمانی کوتاهتر منجر به تجربه بهتر کاربر میشود. روشهایی که در بالا توضیح داده شد هنوز به مقدار زیادی افزونگی داده در حین انتقال نیاز دارند، که زمان انتقال را افزایش میدهد و بر تجربه کاربر تأثیر میگذارد، بهویژه هنگام تعامل با طیف وسیعی از صحنهها. برای حل این مشکل، یک روش انتقال پیشرونده وابسته به دید برای مدلهای ساختمان سه بعدی توسعه داده شد تا فشار انتقال داده را کاهش دهد و کارایی بازسازی مدل را بهبود بخشد. روش ما از یک الگوریتم خوشهبندی راس چند سطحی برای سادهسازی مدل استفاده میکند. مش محلی در هر واحد خوشه بندی به صورت درخت گره سازماندهی می شود که در آن هر گره شامل یک راس و مثلث های مرتبط با آن است. و مدل ساختمان در نهایت به یک جنگل گره سازماندهی مجدد می شود. همه این گره های داده با هم در یک پایگاه داده ذخیره می شوند، در صورت تقاضا منتقل می شوند و برای بازسازی مدل استفاده می شوند. همانطور که در نشان داده شده استشکل 1 ج، تمام دادههای ارسال شده قبلی را میتوان به طور کامل در روش ما مورد استفاده مجدد قرار داد، که تا حد زیادی افزونگی دادهها را کاهش میدهد. علاوه بر این، روش ما می تواند انتقال داده های وابسته به نمایش و اصلاح مدل را تحقق بخشد. این می تواند تا حد امکان از انتقال داده های غیر ضروری تحت نظر فعلی جلوگیری کند و فشار انتقال آنی را بیشتر کاهش دهد.
2. کارهای مرتبط
2.1. ساده سازی و اصلاح برای مدل های سه بعدی
ساده سازی مدل ساختمان مبنای انتقال پیشرونده است. الگوریتمهای سادهسازی سنتی برای مدلهای سهبعدی شامل خوشهبندی راس [ 8 ]، کاهش رأس [ 9 ]، فروپاشی لبه [ 10 ]، و فروپاشی چندضلعی [ 11 ] است. بر اساس این روش ها، بسیاری از فرآیندهای بهبود یافته و تکنیک های کنترل کیفیت پیشنهاد شده است. گارلند و هکبرت [ 12 ] متریک خطای چهارگانه (QEM) را پیشنهاد و سپس بهبود دادند [ 13 ]، که می تواند به طور موثر تغییرات در انحنای موضعی و حجم را با حفظ ویژگی های ظاهری محدود کند.
برخی از روش ها به طور خاص برای ساده سازی مدل های مورد استفاده برای ساختمان ها پیشنهاد شده است. ژائو و همکاران [ 14 ] از عملیات ریخت شناسی برای استخراج روابط معنایی بین اجزای ساختمان و مدل های ساختمان تعمیم یافته تحت محدودیت های معنایی استفاده کرد. لی و همکاران [ 15 ] مدلهای ساختمان را به سه نوع ساختار تقسیم کرد و سپس از الگوریتم کاهش رأس برای سادهسازی هر سازه استفاده کرد. او و همکاران [ 16] معیار خطای جدیدی را معرفی کرد که هم خطاهای هندسی و هم خطای بافت را محاسبه میکند، بنابراین ویژگیهای هندسی را حفظ کرده و اعوجاج بافت را کاهش میدهد. با استفاده از این روشها، نرخهای سادهسازی مختلف را میتوان برای تولید مدلهای متعدد در سطوح مختلف جزئیات تنظیم کرد و سپس استراتژیهای LOD گسسته را پیادهسازی کرد. با این حال، ایجاد همبستگی بین مدلها با سطوح مختلف جزئیات برای اجرای استراتژیهای انتقال مترقی دشوار است.
در مقابل، الگوریتمهای سادهسازی و اصلاح وابسته به نمایش گزینههای بیشتری را ارائه میدهند. Xia و Varshney [ 17 ] و Hoppe [ 18 ] از یک سری عملیات تقسیم و فروپاشی برای تحقق سادهسازی وابسته به view در مدلهای مش استفاده کردند. لوبکه و اریکسون [ 19 ] ساده سازی وابسته به دیدگاه را در یک محیط چند ضلعی دلخواه بر اساس ساده سازی دینامیکی سلسله مراتبی (HDS) دریافتند. Pajarola [ 20 ] و Pajarola و DeCoro [ 21 ] یک الگوریتم پالایش وابسته به نمای متوالی بهینه شده را پیشنهاد کردند. FastMesh آنها میتواند وابستگیهای تقسیم را با ذخیره کردن عملیات فروپاشی مدیریت کند. هو و همکاران [ 22] یک الگوریتم انطباق موازی برای مش پیشرونده توسعه داد. آنها یک ساختار وابستگی نسبتا فشرده و صریح را معرفی کردند که امکان گروه بندی یک سری از شکاف های رأس و فروپاشی های نیمه لبه را به مراحل موازی می دهد. اشکال این روش این است که وابستگی های صریح نیاز به حافظه اضافی دارند. Derzapf و Guthe [ 23 ] یک الگوریتم جدید برای رندر زمان واقعی و وابسته به نمای مدل های پیچیده از طریق یک روش فشرده سازی در هر عملیات پیشنهاد کردند که وابستگی متقابل عملیات تقسیم را حذف کرد. این روشها معمولاً با افزودن دادههای افزایشی به مدل درشت، اصلاح را انجام میدهند، اما معمولاً نیاز به ثبت اطلاعات اضافی نیز دارند. بنابراین، اگر این روشها مستقیماً در انتقال اعمال شوند، افزونگی دادهها رخ خواهد داد.
2.2. انتقال پیشرونده از طریق اینترنت
بسیاری از روشهای انتقال پیشرونده برای برآوردن الزامات تعامل بلادرنگ با صحنههای سه بعدی از طریق اینترنت پیشنهاد شدهاند. تحقیقات در مورد انتقال پیشرونده عمدتاً بر چگونگی کاهش فشار لحظه ای انتقال داده و راه هایی برای تکمیل سریع بازسازی مدل متمرکز است. یانگ و همکاران [ 24 ] مدل را به 40-60 قسمت تقسیم کرد و مش فشرده شده محلی را با توجه به دیدگاه انتقال داد تا فشار انتقال آنی را کاهش دهد. گائو و همکاران [ 25 ] رمزگذاری هافمن را به مش پیشرونده معرفی کرد و داده های مش فشرده مورد نیاز را از طریق شبکه منتقل کرد. یانگ و همکاران [ 26] یک طرح بسته بندی خطای الاستیک برای انتقال پیشرونده از طریق شبکه های غیرقابل اعتماد، با یک استراتژی تکمیلی برای مقابله با بسته های رها شده از طریق شبکه بی سیم، پیشنهاد کرد. الگوریتم انتقال پیشرونده مبتنی بر فروپاشی مثلث [ 27 ] ویژگی های مدل را به خوبی حفظ کرد، اما وابستگی به داده ها هنوز وجود دارد. طرح پیشرو مبتنی بر دستور زبان رشته ای پیشنهاد شده توسط Kada [ 28 ]، دنباله ای از LOD های متوالی را به عنوان مجموعه ای پویا از قوانین تولید توصیف می کند و از یک رویکرد مدل سازی جامد مبتنی بر نیم فضاهای مسطح برای ساخت ساختمان های سه بعدی استفاده می کند. این طرح ممکن است در بازسازی مدل های ساختمان به خوبی عمل کند. لیو و همکاران [ 29] افزونگی، معناشناسی و پارامترسازی داده های BIM را در نظر گرفت و یک راه حل سبک وزن مبتنی بر Web3D برای تجسم لحظه ای صحنه های BIM در مقیاس بزرگ ارائه کرد. چن و همکاران [ 7 ] یک ساختار توری پیشرونده جدید پیشنهاد کرد. با نزدیک شدن به دیدگاه، رئوس افزایشی و همه شاخص ها در سطح بالاتر منتقل می شوند. این روش افزونگی داده های راس را در حین انتقال حذف می کند، اما افزونگی داده های شاخص هنوز وجود دارد.
هنگام تعامل با یک صحنه سه بعدی، تجربه کاربر تحت تأثیر کل زمان انتقال داده و بازسازی مدل قرار می گیرد. انتقال و ذخیره داده های اضافی به بازسازی کمک می کند اما زمان انتقال را افزایش می دهد. برعکس، حذف برخی از داده های افزونگی زمان انتقال را کاهش می دهد، اما به قیمت عملکرد بازسازی. روش انتقال پیشرونده به دنبال حفظ تعادل بین انتقال داده و بازسازی مدل برای فشرده سازی کل زمان انتقال و بازسازی است. سنجیدن جوانب مثبت و منفی برای تسهیل کارایی کلی بدون فداکاری با محدودیت های دنیای واقعی در پهنای باند شبکه و عملکرد سخت افزار حل نشده باقی می ماند. با این حال، روش انتقال پیشرونده وابسته به دید که در این مقاله توضیح داده شده است، نه تنها استفاده مجدد کامل از دادههای راس و شاخص را درک میکند، بلکه میتواند مدلهای ساختمان سه بعدی را به سرعت بر اساس رمزگذاری راس بازسازی کند. انتظار می رود که این تجربه تعامل بلادرنگ با صحنه سه بعدی را بهبود بخشد.
3. روش شناسی
3.1. خوشه بندی چند سطحی راس
الگوریتم خوشه بندی راس یکی از پرکاربردترین روش های ساده سازی مش است. یک مدل را به چندین واحد خوشهبندی تقسیم میکند و راس با بالاترین وزن را برای نمایش رئوس دیگر در هر واحد خوشهبندی میگیرد، بنابراین به سادهسازی مدل دست مییابد. برای کاهش اعوجاج بافت، الگوریتم خوشهبندی راس بهینهسازی شده توسط چن و همکاران را اتخاذ کردیم. [ 30 ]، که خطاهای هندسی و بافت را برای ساده سازی مدل های ساختمانی سه بعدی در نظر گرفت. در مش های سه بعدی، هر رأس توسط یک سری مثلث احاطه شده است تیس ={تی0،تی1،…تیمتر}، و وزن wهر رأس با استفاده از فرمول (1)، که در آن nمنو njبردارهای عادی هر دو مثلث مجاور هستند تیمنو تیjاز رأس
مدل به ساختارهای octree تقسیم می شود تا واحدهای خوشه بندی چندگانه به دست آید. راس با بیشترین وزن در واحد خوشه بندی به عنوان راس مشخصه خوشه بندی و خطای هندسی در نظر گرفته می شود. εgو خطای بافت εتیدر هر واحد خوشه بندی طبق فرمول های (2) و (3) محاسبه می شوند. اگر هیچ کدام εgنه εتیکوچکتر از آستانه از پیش تعیین شده است، تقسیم بندی ادامه می یابد. در غیر این صورت، تقسیم بندی بیشتر متوقف می شود و خوشه بندی راس انجام می شود. در فرمول (2) مترتعداد مثلث های حاوی راس را نشان می دهد Vمن، که یک راس در واحد خوشه بندی است، njو nj”بردارهای عادی مثلث ها هستند تیjو تیj”، به ترتیب، تیjمثلث حاوی رأس است Vمن، و تیj”مثلث جدید مربوطه بعد از خوشه بندی رأس است. در فرمول (3)، (تومن،vمن)مختصات بافت هستند Vمن، و (توw،vw)مختصات بافت هستند Vw، که راس مشخصه خوشه بندی است.
روش سنتی LOD گسسته باید مدل اصلی را به طور مستقل چندین بار ساده کند تا مدلهایی با نرخهای سادهسازی متفاوت تولید کند، که ایجاد همبستگی بین رئوس مدلها با سطوح مختلف جزئیات را دشوار میکند. الگوریتم خوشهبندی چندسطحی که در روش ما اتخاذ شد، مدل اصلی را ساده میکند. م0برای تولید یک مدل ساده شده م1. سپس، خطای هندسی و آستانه خطای بافت افزایش می یابد، و م1به عنوان زیرزمین برای تولید یک مدل درشت تر در نظر گرفته شده است م2. در نهایت، چندین مدل با سطوح مختلف جزئیات از طریق این فرآیند تکراری تولید میشوند. شکل 2 یک نمودار شماتیک از الگوریتم خوشه بندی رئوس چند سطحی است. شکل 2 a مش اصلی را نشان می دهد که به چهار واحد خوشه ای تقسیم شده است. رئوس سبز در هر واحد خوشهبندی به راس آبی تیره که راس مشخصه خوشهبندی است، خوشهبندی میشوند. نتایج در شکل 2 ب نشان داده شده است. بر اساس شکل 2 ب، واحد خوشه بندی گسترش می یابد و همان روش خوشه بندی برای به دست آوردن نتیجه اعمال می شود، همانطور که در شکل 2 ج نشان داده شده است. در هر فرآیند خوشهبندی راس، ممکن است یک راس حذف شود و یک مثلث فرو بریزد. به عنوان مثال، در فرآیند شکل 2الف تا شکل 2 ب، تی2و تی3به ترتیب به یک لبه و یک راس سقوط کرد. برای مثلث هایی که جمع نمی شوند، رئوس آنها ممکن است تغییر کند تی1.
3.2. استراتژی بنیادی انتقال پیشرو
استراتژی انتقال پیشرونده توصیف شده در این مقاله، مدلهای ساختمانها را با فرآیند معکوس خوشهبندی راس چند سطحی اصلاح میکند. با این حال، مشکل وابستگی محله در این روند معکوس وجود دارد. همانطور که در شکل 3 الف نشان داده شده است، فرض کنید که از بین چهار راس مجاور v2، v3، v7، و v8، فقط v2باید تقسیم شود راس v2رئوس فرعی خود را تقسیم می کند v1و v4در طول فرآیند پالایش، در حالی که v3، v7، و v8هنوز رئوس فرعی خود را تقسیم نکرده اند v5، v6، و v9. با این حال، v1و v4باید وصل شود v5، v6، و v9برای تشکیل وجوه مثلثی، همانطور که در شکل 3 ب نشان داده شده است، که به این معنی است v3، v7، و v8باید تقسیم شود v2همزمان. انشعابات از v3، v7، و v8ممکن است یک واکنش زنجیره ای ایجاد کند که منجر به انتقال برخی از داده هایی شود که در حال حاضر مورد نیاز نیستند و فشار انتقال آنی را افزایش دهد.
ماهیت الگوریتم خوشهبندی رئوس این است که از راس با بالاترین وزن برای نمایش سایر رئوس در یک واحد خوشهبندی استفاده میکند. ما راس با بیشترین وزن را به عنوان راس نماینده سایر رئوس می نامیم و رابطه نماینده را می توان منتقل کرد. در طول اصلاح مدل، اگر یک راس هدف در لیست راس فعلی وجود نداشته باشد، می توان آن را به طور موقت با راس نماینده آن جایگزین کرد. همانطور که در شکل 3 ج نشان داده شده است، v8می تواند به طور موقت جایگزین شود v5برای تشکیل مثلث تا v8تقسیم می کند. به طور مشابه، الزامات اتصال برای v6و v9همچنین می تواند به طور موقت جایگزین شود v7و v3برای حل مشکل وابستگی همسایگی در طول اصلاح مدل. علاوه بر این، این ایده را می توان بیشتر گسترش داد. اینکه آیا رئوس متصل شده توسط یک مثلث در طول فرآیند ساده سازی تغییر کرده است یا نه مهم نیست، اما اینکه مثلث در مدل اصلی کدام سه راس را به هم متصل می کند مهم است. این سه رأس در شاخص مثلث ثبت می شوند. هنگامی که مدل بازسازی می شود، حتی اگر این سه راس در لیست راس فعلی وجود نداشته باشند، مثلث همچنان می تواند به طور موقت به رئوس نماینده آنها متصل شود. اگر یک مثلث به راس نماینده راس ثبت شده توسط شاخص آن متصل شود، به این معنی است که مش محلی به بهترین حالت اصلاح نشده است.
شکل 4جریان کلی روش انتقال پیشرونده را نشان می دهد. در فرآیند پیش پردازش، از الگوریتم خوشهبندی چندسطحی راس برای سادهسازی مدل استفاده شد. در طول ساده سازی، درخت رأس ساخته شد و مثلث های مربوط به هر رأس استخراج شد. یک راس و مجموعه مثلث مربوط به آن در یک گره داده به عنوان کوچکترین واحد داده برای ذخیره و انتقال داده بسته بندی شد. شناسه یک گره با شناسه رأس موجود در آن مطابقت دارد و رابطه والد-فرزند بین گره ها با رابطه والد-فرزند بین رئوس سازگار است. تمام گره های داده پس از کدگذاری مجدد درخت راس در پایگاه داده ذخیره شدند. در مرحله تعامل ابتدا درشت ترین مدل پایه با گره هایی در کمترین عمق ساخته شد. وقتی دیدگاه نزدیک می شود، رئوس برای تصمیم گیری در مورد تقسیم شدن محاسبه می شوند. اگر قرار است یک راس تقسیم شود، گرههای فرزند آن درخواست میشوند و سپس به فهرست راس و فهرست شاخص مثلث اضافه میشوند تا به اصلاح مدل دست یابند. جزئیات بیشتر این روش در زیر توضیح داده شده است.
3.3. ساخت و کدگذاری مجدد درخت ورتکس
هنگام انجام خوشهبندی چند سطحی راس بر روی یک مدل ساختمان سه بعدی، راس مشخصه خوشهبندی به عنوان یک راس والد در نظر گرفته میشود و بقیه در همان واحد خوشهبندی با رئوس فرزند در نظر گرفته میشوند. همانطور که قبلا در شکل 2 الف نشان داده شده است، رئوس v1و v4به خوشه بندی می شوند v2، و رئوس v5، v6، و v9به خوشه بندی می شوند v8، v7، و v3به ترتیب در اولین فرآیند خوشه بندی راس. رگه ها v2، v7، و v8به خوشه بندی می شوند v3در فرآیند خوشه بندی دوم همانطور که در شکل 5 الف نشان داده شده است، دو فرآیند خوشه بندی راس بالا می توانند درخت راس اولیه را بسازند .
در مرحله بازسازی، یک مدل ساختمان باید با توجه به فرآیند معکوس خوشهبندی راس، اصلاح شود. برای اصلاح اول، v2، v7، و v8از تقسیم می شوند v3. برای پالایش دوم، v2بیشتر تقسیم می شود v1و v4، v7جدا می شود v6، v8جدا می شود v5، و v3جدا می شود v9. تعداد زیادی از روابط والد-فرزند ایجاد شده در فرآیند خوشهبندی راس چند سطحی برای تکمیل اصلاح مورد نیاز است، به این معنی که تعداد زیادی از روابط والدین-فرزند باید به عنوان دادههای اضافی منتقل شوند. برای جلوگیری از این امر، شناسههای همه رئوس را میتوان مجدداً کدگذاری کرد تا رابطه والد-فرزند بین رئوس را از طریق مقدار شناسههای آنها منعکس کند.
قبل از کدگذاری مجدد، درخت رأس اولیه، همانطور که در شکل 5 الف نشان داده شده است، باید بیشتر تنظیم شود. این از مفهوم عمق تقسیم استفاده می کند، که نشان دهنده زمانی است که در آن یک راس تقسیم می شود. برای یک راس، عمق آن در درخت و عمق شکاف آن ممکن است متفاوت باشد. همانطور که در شکل 5 الف نشان داده شده است، عمق v9در درخت 1 و عمق تقسیم 2 است. برای یافتن سریع راس نماینده یک راس با توجه به شناسه آنها در مرحله بازسازی مدل، لازم است این اصل را هنگام کدگذاری مجدد رعایت کنید. اگر عمق درخت یکسان باشد، ابتدا باید رئوس با عمق تقسیم بیشتر کدگذاری شود. از این رو، v9در شکل 5 a باید به سمت چپ منتقل شود v2همانطور که در شکل 5 ب نشان داده شده است.
پس از تنظیم درخت راس، از کوچک به بزرگ به ترتیب پیمایش پیش سفارش کدگذاری می شود. همانطور که در شکل 5 ج نشان داده شده است، v3در شکل 5 b تبدیل به راس 0 در شکل 5 c می شود و v9تبدیل به راس 1 می شود. چنین روش رمزگذاری مجدد می تواند اطمینان حاصل کند که اگر راس هدف در لیست راس فعلی وجود نداشته باشد، می توان به سرعت راس نماینده یک راس هدف را یافت. راس نماینده، راسی با بزرگترین شناسه در میان رئوس هایی است که شناسه آنها کمتر از راس هدف است. در شکل 5 ج، اگر راس 0 راس 2، راس 5 و راس 7 را جدا کند و عملیات تقسیم بعدی انجام نشده باشد، راس نماینده راس 1 که می توانیم به سرعت در لیست راس فعلی پیدا کنیم، راس 0 است.
3.4. استخراج مثلث های مرتبط از هر رأس
مثلث های مرتبط یک راس به مثلث هایی اشاره دارد که باید همراه با راس به مشتری منتقل شوند تا مدل ساختمان در مرحله بازسازی اصلاح شود. در مدل اصلی یک مثلث سه راس را به هم متصل می کند. این مثلث در حالت اولیه در مجموعه مثلث مربوط به این سه راس قرار می گیرد. مثلا مثلث تی1(v1،v6،v9)سبز سایه دار در شکل 6 a در مجموعه مثلث مربوطه ثبت می شود v1، v6، و v9همانطور که در شکل 6 d نشان داده شده است. گره های داده سبز رنگ در شکل 6 d-f مکان ذخیره سازی را نشان می دهند تی1.
مثلث را فرض کنید تی، که در مجموعه مثلث مربوط به راس قرار دارد پ، در یک یال یا یک راس بعد از راس جمع نمی شود پبه راس خوشه بندی شده است q. انتقال از تیاز مجموعه مثلث مربوط به پبه qمورد نیاز است. همانطور که در شکل 6 ب نشان داده شده است، تی1پس از اولین روش خوشه بندی فرو نمی ریزد. از این رو، تی1باید از مجموعه مثلث مربوطه منتقل شود v1، v6، و v9به آن از v2، v7، و v3همانطور که در شکل 6 نشان داده شده است. لازم به ذکر است که تنها محل نگهداری از تی1تغییر از شکل 6 d به شکل 6 e. اگر چه سه راس متصل شده توسط تی1به طور مداوم در طول فرآیند خوشه بندی راس تغییر می کند، رئوس ثبت شده توسط تی1همیشه هستند v1، v6، و v9، که برای ذخیره سازی و انتقال استفاده می شوند. اگر چنین انتقالهایی انجام نشود، برای مثال، اصلاح یک مدل ساختمان از حالت درشتتر ( شکل 6 ج) به حالت شکل 6 ب، حفرهای ایجاد میکند زیرا هیچ شاخص مثلثی برای اتصال به آن وجود ندارد. v2، v3، و v7در مدل اصلی اگر شاخص مثلث تی1(v1،v6،v9)می تواند از قبل همراه با هر رأسی به مشتری منتقل شود v2، v3، یا v7، از آنجا که v1، v6، و v9در لیست راس فعلی وجود ندارد، تی1به رئوس نماینده آنها متصل خواهد شد v2، v3، و v7برای پر کردن این سوراخ
پس از فرآیند سادهسازی خوشهبندی چندسطحی، یک شاخص مثلث در مجموعههای مثلثی مرتبط با سه رأس ثبت میشود، که باعث اتلاف منابع ذخیرهسازی و انتقال میشود. شاخص مثلث را فقط می توان در مجموعه مثلث مرتبط هر رأسی با بیشترین عمق تقسیم ذخیره کرد. همانطور که در شکل 6 f نشان داده شده است، پس از حذف حافظه اضافی، تی1(v1،v6،v9)فقط در مجموعه مثلث مربوط ذخیره می شود v7. همانطور که در بالا ذکر شد، رمزگذاری مجدد پس از خوشه بندی راس چند سطحی انجام می شود. در طی فرآیند رمزگذاری مجدد، شاخص همزمان با رمزگذاری راس تغییر می کند. شکل 6 g یک درخت گره را نشان می دهد که در نهایت در پایگاه داده ذخیره می شود.
3.5. زمانبندی دادهها و اصلاح مدل
در مرحله اصلاح مدل، محاسبات زیادی برای قضاوت در مورد اینکه آیا باید تقسیم شود و کدام عمق باید به راس به راس تقسیم شود، مورد نیاز است. تعداد زیادی رئوس وجود دارد که در فضا به هم نزدیک هستند، که آیا باید شکافته شوند و عمقی که باید به آن تقسیم شوند ممکن است یکسان باشد. بنابراین، یک شاخص شبکه [ 31] برای تمام رئوس مدل ساختمان سه بعدی قبل از خوشه بندی رئوس چند سطحی ساخته شد. رئوس مدل ساختمان با توجه به مختصاتشان به چند قسمت تقسیم و مستطیل های مرزی هر قسمت ثبت شد. در طول برهمکنش، این مستطیل های محدود کننده به عنوان فضای شاخص هر قسمت در نظر گرفته می شوند. اگر دیدگاه فعلی نزدیک به یک فضای شاخص باشد و مشخص شود که مش در این فضای شاخص نیاز به پالایش دارد، تمام رئوس در داخل تقسیم می شوند.
در فرآیند سادهسازی خوشهبندی راس چند سطحی برای مدلهای ساختمانی سه بعدی، دادهها سازماندهی مجدد و کدگذاری مجدد شدند. شکل 7 یک جنگل را نشان می دهد که فرم داده های سازماندهی مجدد مدل ساختمان سه بعدی است و در پایگاه داده ذخیره شده است که از چندین درخت گره تشکیل شده است. هنگام تعامل با یک صحنه سه بعدی، تمام رئوس با کمترین عمق تقسیم و مثلث های مربوط به آنها ابتدا بارگذاری می شوند تا درشت ترین مدل ساختمان سه بعدی اولیه ساخته شود. در طول حرکت دیدگاه، مشخص میشود که آیا راسها در هر فضای نمایه باید بیشتر تقسیم شوند، بر اساس اینکه آیا هر فضای شاخص در فروستوم مشاهده [ 32 ] قرار دارد، آیا هر فضای نمایه مسدود شده است [ 33 ]]، و فاصله از فضای فهرست تا نقطه دید. اگر رئوس هایی وجود داشته باشند که باید بیشتر تقسیم شوند، رئوس مورد نیاز و مجموعه های مثلث مربوط به آنها از سمت سرور درخواست می شوند، همانطور که در شکل 7 نشان داده شده است. گره های آبی تیره نشان دهنده گره های داده ای هستند که باید از نقطه نظر فعلی منتقل شوند.
مشتری سه لیست دارد: یک لیست راس، یک فهرست شاخص مورد انتظار و یک فهرست شاخص واقعی. فهرست فهرست مورد انتظار، نمایه درخواستی از سمت سرور را ذخیره میکند و فهرست فهرست واقعی، شاخصهای تنظیمشده مورد استفاده برای رندر مدل را ذخیره میکند. تمام داده های راس ارسال شده به مشتری در لیست راس و داده های شاخص در لیست فهرست مورد انتظار ذخیره می شوند. اگر یک راس در فهرست شاخص مورد انتظار در فهرست راس فعلی وجود نداشته باشد، راس دارای بیشترین رمزگذاری در میان رئوس کوچکتر از این راس در لیست راس فعلی به عنوان راس نماینده آن گرفته می شود تا موقتاً جایگزین آن شود. در نتیجه، فهرست شاخص واقعی را می توان به دست آورد. همانطور که در شکل 8 نشان داده شده است ، در فهرست شاخص مورد انتظار، v99و v101، که در لیست رئوس فعلی وجود ندارند، باید با رئوس نماینده آنها جایگزین شوند v98و v100. بعد از اینکه همه تعویض ها انجام شد، از آن زمان تی(v98،v98،v100)در یک لبه جمع شده است، می توان آن را از لیست فهرست واقعی حذف کرد. در نهایت، لیست راس و فهرست شاخص واقعی برای ارائه مدل ساختمان استفاده می شود.
4. آزمایشات
4.1. بررسی اجمالی
برای بررسی امکان سنجی و کارایی روش ما، یک سیستم نمونه اولیه طراحی شد. این شامل سه بخش است: برنامه پیش پردازش، سمت سرور و مشتری. برنامه پیش پردازش با یک جعبه ابزار گرافیکی به نام OpenSceneGraph (OSG) طراحی و اجرا شد [ 34 ]. این برنامه پیش پردازش برای ایجاد یک شاخص شبکه برای هر رأس مدل، انجام ساده سازی مدل و سازماندهی مجدد داده ها و در نهایت ذخیره داده ها در پایگاه داده سمت سرور استفاده شد. سمت سرور از پایگاه داده SQL Server استفاده می کند که شامل چهار جدول برای ذخیره ابرداده های مدل ساختمان، شاخص شبکه، داده های راس و داده های شاخص مثلث مربوطه است. رابطه بین آنها در شکل 9 نشان داده شده است. مشتری برای درخواست داده و بازسازی مدل های ساختمان استفاده می شود. برنامه کلاینت نیز بر اساس OSG بر روی رایانه شخصی با پردازنده مرکزی Intel Core i7-8550 با فرکانس 1.80 گیگاهرتز، رم 8G و پردازنده گرافیکی NVIDIA GeForce MX150 طراحی و اجرا شده است. عمدتاً شامل دو رشته است، یکی برای زمانبندی داده و دیگری برای ارائه مدل.
دادههای تجربی شامل پنج مدل است که انواع مختلفی از جمله ساختمانهای باستانی، ساختمانهای مدرن، تکساختمان و گروه ساختمان را پوشش میدهد. تمامی مدل ها توسط 3ds Max ساخته شده اند. این آزمایش برای این مدلها سادهسازی راس را در 4 سطح انجام داد، به این معنی که عمق تقسیم راسهای ذخیرهشده در پایگاه داده از 0 تا 5 متغیر است. اطلاعات اولیه این مدلها در جدول 1 نشان داده شده است .
4.2. جلوه های وابسته به نمایش
از آنجایی که ما فقط میتوانیم جلوی یک ساختمان مدلسازیشده را از یک دیدگاه خاص ببینیم، برای تکمیل اصلاح پشت، نیازی به درخواست دادهها در همان زمان نیست. بنابراین، تحقق انتقال داده وابسته به دیدگاه و اصلاح مدل، که میتواند از درخواستهای دادههای غیرضروری در حال حاضر جلوگیری کند، میتواند به طور موثر میزان انتقال دادههای آنی را کاهش دهد.
روش ما بر وابستگی همسایگی غلبه میکند، به طوری که هر رأس میتواند آزادانه بدون محدودیت تقسیم شود، بنابراین انتقال دادههای وابسته به دیدگاه و اصلاح مدل محقق میشود. در این آزمایش، برای جلوگیری از قضاوتهای تکراری غیرضروری، یک شاخص شبکهای برای هر مدل ساختمان سهبعدی پیچیده ساخته شد و از هر فضای شاخص بهعنوان یک واحد برای تعیین اینکه آیا راسها در هر کدام نیاز به تقسیم بیشتر دارند یا خیر، استفاده شد. اگرچه این حداقل دانه بندی قضاوت را از یک راس به یک فضای شاخص محلی گسترش می دهد، اما همچنان مزایای انتقال داده وابسته به دید و اصلاح مدل را حفظ می کند. همچنین انتقال ناهمزمان داده های چهره جلو و عقب مدل ساختمان را از یک دیدگاه خاص درک می کند.
شکل 10 میزان داده های ارسال شده از دیدگاه های مختلف و جلوه های رندر را نشان می دهد. از دیدگاه اولیه تا دیدگاه a، 21507 راس و 7354 شاخص مثلث به مدل پایه اضافه شده است. با نزدیک شدن به دیدگاه، 19103 راس و 6626 شاخص مثلث برای برآوردن الزامات رندر منتقل میشوند و تمام جزئیات مدل تحت دیدگاه b به طور کامل اصلاح شدهاند. با این حال، قسمت نامرئی نمای b هنوز در حالت درشتی است که درها، قاب پنجره ها، لبه بام و دیوارها هنوز به وضوح تغییر شکل داده اند. سایر فرآیندهای حرکت دیدگاه نیز همین اثرات را نشان می دهند. شکل 11a صحنه شهری مشاهده شده از دیدگاه فعلی را نشان می دهد. مشاهده می شود که سازه های ساختمان ها به خوبی تصفیه شده بودند. با این حال، همانطور که در شکل 11 ب نشان داده شده است، شهر مشاهده شده از انتهای دیگر در این لحظه هنوز در حالت درشت است .
4.3. تجزیه و تحلیل عملکرد
روش ما با روش سنتی LOD گسسته و همچنین روش پیشنهادی چن، لی و لی [ 7 ] مقایسه شد. از منظر کارایی، روش ما استفاده مجدد کامل از دادههای راس و دادههای شاخص مثلث را درک میکند و به طور موثری افزونگی دادههای انتقال را در فرآیند اصلاح مدل کاهش میدهد. جدول 2 حجم تجمعی داده های ارسالی را با این روش ها فهرست می کند. برای مقایسه تفاوتها در جزئیات، فرآیند انتقال کامل مدلهای کاخ و شهر را در شکل 12 نشان میدهیم .
شکل 12 a انتقال داده های راس مدل قصر را نشان می دهد. از منظر حجم کل انتقال، از آنجایی که هم روش ما و هم روش چن استفاده مجدد از دادههای راس را متوجه میشوند، تعداد تجمعی دادههای راس ارسال شده به طور قابلتوجهی کمتر از روش LOD گسسته است. از منظر رشد انتقال داده، روش چن و روش LOD گسسته سنتی جهش های آشکاری دارند. منحنی روش ما در مقایسه با دو روش دیگر صافتر است، در نتیجه روش ما انتقال وابسته به دید را برای جلوگیری از شکافتن رئوس در برخی مناطق نامرئی به جای اصلاح مدل به عنوان یک کل، تحقق میبخشد. این به معنای فشار انتقال لحظه ای کمتر است. شکل 12c انتقال داده های رأس مدل شهر را نشان می دهد. باز هم، مقدار تجمعی دادههای راس ارسال شده توسط روش سنتی LOD بسیار بزرگتر است. از آنجایی که مدلهای ساختمانی زیادی در صحنه شهری وجود دارد و سطح جزئیات هر مدل ساختمانی به طور همزمان سازگار نیست، منحنیهای انتقال سه روش نسبت به مدل ساختمان پیچیدهتر هموارتر است. با این حال، تعداد راس انتقال آنی روش ما هنوز کمتر از دو روش دیگر است.
شکل 12b,d منحنی های انتقال داده های شاخص را برای سه روش نشان می دهد. از آنجا که نه روش سنتی LOD گسسته و نه روش چن استفاده مجدد از داده های شاخص مثلث را متوجه نمی شوند، حجم انتقال تجمعی آنها یکسان و بسیار بزرگتر از روش ما است. از منظر رشد انتقال داده ها، مشابه وضعیت انتقال داده های راس است که منحنی انتقال داده های شاخص روش ما هموارتر به نظر می رسد. با این حال، در مرحله اولیه، تعداد دادههای شاخص ارسال شده توسط روش ما کمی بیشتر از دو روش دیگر خواهد بود، همانطور که در پنجرههای نقطهدار نشان داده شده است. این به این دلیل است که شاخصهای مثلث از مجموعه مثلث مرتبط از رئوس با عمق شکافت بزرگ به شاخصهای راس با عمق شکافت کوچک در مرحله سادهسازی منتقل شدند. بدین ترتیب، مکان های ذخیره سازی برخی از شاخص های مثلثی در درخت گره “بالا” شناور می شوند. رئوس در عمق تقسیم 0 ممکن است برخی از شاخص های مثلث را که در اصل مجاور خودشان نیستند در مجموعه مثلث مربوطه خود ذخیره کنند. نتایج تجربی نشان میدهد که این افزایش باعث افزایش قابلتوجهی در تعداد شاخصهای ارسالی هنگام بارگذاری مدل درشت اولیه نمیشود. علاوه بر این، با روش ما، تعداد تجمعی شاخص همانطور که در نشان داده شده است منتقل می شودجدول 2 ممکن است چند عدد بیشتر از عدد شاخص مدل اصلی باشد. این به این دلیل است که شاخص شبکه ساخته شده است. قبل از کاهش افزونگی ذخیره سازی شاخص، شاخص مثلث در مجموعه مثلث مربوطه از سه رأس ثبت می شود. از آنجایی که ممکن است سه راس در یک فضای شاخص شبکه نباشند، شاخص مثلث در مجموعه مثلث مربوطه هر رأسی با بیشترین عمق تقسیم در هر فضای شاخص شبکه ثبت میشود.
هنگام رندر کردن صحنه سه بعدی، لیست شاخص واقعی به طور مداوم مطابق با وضعیت لیست رأس به روز می شود. طرح کدگذاری مجدد ما هزینه عملکرد این فرآیند بهروزرسانی را محدود میکند. جدول 3زمان تاخیر پالایش دقیق را در محیط LAN نشان می دهد. زمان تاخیر پالایش به کل زمان درخواست داده، انتقال داده و فرآیند به روز رسانی فهرست فهرست اشاره دارد. میانگین کوتاه زمان تاخیر ثابت می کند که روش ما در زمان بندی داده ها بسیار کارآمد است. در مورد عملکرد رندر، برنامه کلاینت بر روی رایانه شخصی با پردازنده گرافیکی NVIDIA GeForce MX150، که یک GPU رایج است، آزمایش شد. در طول فرآیند تعامل تقریباً 45 ثانیه ای، میانگین نرخ فریم مدل قصر به 202 فریم در ثانیه رسید. حجم دادههای مدل شهر بزرگتر است و تعداد نمونههای اولیه ارائهشده بیش از ۴۰ برابر مدل کاخ است. در طول فرآیند تعامل تقریباً 149 ثانیه، میانگین نرخ فریم مدل شهر به 91 FPS رسید. جدول 4داده های دقیق نرخ فریم همه مدل ها را در GPU MX150 فهرست می کند. نتایج تجربی نشان میدهد که روش ما میتواند نرخ فریم را در سطح بالایی حفظ کند تا نیازهای تعامل با طیف وسیعی از صحنههای سه بعدی را برآورده کند.
5. نتیجه گیری ها
این مقاله یک روش جدید انتقال پیشرونده را برای مدلهای ساختمان سه بعدی معرفی میکند. روابط نمایندگی بین رئوس از طریق فرآیند خوشه بندی رئوس چند سطحی ایجاد شد. این روابط توسط رمزگذاری رئوس منعکس می شود. در مرحله بازسازی مدل، اگر شاخص مثلثی در فهرست فهرست فعلی حاوی راسی باشد که هنوز به کلاینت منتقل نشده است، این مثلث می تواند به طور موقت برای رندر مدل به راس نماینده این راس متصل شود. نتایج تجربی نشان میدهد که روش پیشنهادی به انتقال دادهها و پالایش وابسته به نمایش و همچنین استفاده مجدد از دادههای ارسال شده قبلی دست مییابد. در مقایسه با روش های سنتی، تعداد داده های انتقال بلادرنگ به میزان قابل توجهی کاهش می یابد.
با این حال، برخی از محدودیت ها باید از طریق تحقیقات بیشتر برطرف شوند. روش پیشنهادی انتقال تدریجی داده های هندسی را محقق می کند، اما تصاویر بافت را به طور مستقل از قبل انتقال می دهد. بسیاری از تصاویر بافتی با وضوح بالا، قبل از بارگذاری داده های هندسی، زمان زیادی برای انتقال نیاز دارند. بنابراین، انتقال پیش رونده همزمان داده های هندسه و بافت هنوز نیاز به بررسی دارد. دوم، ظاهر شدن بصری هنوز در فرآیند اصلاح مدل وجود دارد. فرآیند از درخواست افزایش داده تا تکمیل اصلاح مدل به طور اجتناب ناپذیری زمان می برد. بهینهسازی این فرآیند میتواند باعث تسکین ظاهر شدن بصری شود، اما از بین نمیرود. استفاده از پهنای باند غیرفعال برای ذخیره کردن برخی از دادهها از قبل، مانند بافر ویدیو، حس ظاهر شدن را در هنگام تغییر دیدگاه کاهش میدهد، اما همچنان یک چالش است.
بدون دیدگاه