پردازش تصویر زمان واقعی سیستم توزیعی
پردازش تصویر زمان واقعی سیستم توزیعی – ایران ترجمه – Irantarjomeh
مقالات ترجمه شده آماده گروه کامپیوتر
مقالات ترجمه شده آماده کل گروه های دانشگاهی
مقالات
قیمت
قیمت این مقاله: 38000 تومان (ایران ترجمه - Irantarjomeh)
توضیح
بخش زیادی از این مقاله بصورت رایگان ذیلا قابل مطالعه می باشد.
شماره | ۱۳۹ |
کد مقاله | COM139 |
مترجم | گروه مترجمین ایران ترجمه – irantarjomeh |
نام فارسی | اعمال پردازش تصویر زمان واقعی بر روی سیستم های توزیعی کامپیوتری |
نام انگلیسی | Performing real-time image processing on distributed computer systems |
تعداد صفحه به فارسی | ۲۶ |
تعداد صفحه به انگلیسی | ۶ |
کلمات کلیدی به فارسی | پردازش تصویر در زمان واقعی، عملیات سطح پایین، پردازش موازی و توزیعی، برنامه ریزی وظایف ، تشخیص خطوط، فیلترینگ جهت دار/ سمتی |
کلمات کلیدی به انگلیسی | real-time image processing, low level operations, parallel and distributed processing, tasks scheduling, lines detection, directional filtering |
مرجع به فارسی | کنفرانس بین المللی سیستمهای چند رسانه ای و پردازش سیگنال، دانشگاه پلی تکنیک بخارست، کالج کنترل و کامپیوتر |
مرجع به انگلیسی | WSEAS Int. Conference on MULTIMEDIA SYSTEMS & SIGNAL PROCESSING, Politehnica University of Bucharest, Faculty of Control and Computers |
کشور | رومانی |
اعمال پردازش تصویر زمان واقعی بر روی سیستم های توزیعی کامپیوتری
چکیده
هدف از این مقاله ارزیابی نوعی معماری نرم افزار می باشد که به محققین پردازش تصویر اجازه می دهد تا نسبت به ارتقای سیستم های کاربردی موازی اقدام نمایند. چالش پیش رو در این زمینه توسعه الگوریتم هایی است که قابلیت اعمال عملیات سطح پایین در زمان واقعی بر روی تصاویر دیجیتال را داشته باشند و بتوان آنها را بر روی مجموعه ای از کامپیوترهای شخصی رومیزی اجرا نمود. این آزمایشات معرف آن هستند که چگونه می توان از الگوهای موازی سازی استفاده کرد و چگونه می توان نسبت به بهینه سازی توزیع بار بصورت متوازن بین ایستگاه های کاری مختلف بهره جست.
کلمات کلیدی: پردازش تصویر در زمان واقعی، عملیات سطح پایین، پردازش موازی و توزیعی، زمان بندی وظایف، تشخیص خطوط، فیلترینگ جهت دار.
پردازش تصویر زمان واقعی سیستم توزیعی
۱- مقدمه
با توجه به پردازش تصویر در زمان واقعی و چگونگی انجام این کار از طریق بررسی ویژگی های ذاتی فرآیند موازی گری در یک الگوریتم، بحث در رابطه با آنچه ما تحت عنوان «زمان واقعی» می نامیم، بعنوان یک عبارت مشخصی که غالبا جهت توصیف محدوده وسیعی از سیستم های پردازش تصویر و الگوریتم های مرتبط استفاده می شود قابل توجه است. از این مبحث، می توان این موضوع را استنباط نمود که سه تفسیر اصلی در ارتباط با مفهوم «زمان واقعی» وجود دارند که عبارتند از: زمان واقعی در محتوای مفهومی، زمان واقعی در محتوای مهندسی نرم افزار و زمان واقعی در محتوای پردازش سیگنال.
زمان واقعی در محتوای مفهومی آن عمدتا جهت توصیف تعامل انسان و ابزار کامپیوتری با توجه به پاسخ تقریبا آنی ابزار مرتبط به یک ورودی از طریق یک کاربر انسانی مدنظر می باشد. بطور مثال، Bovik مفهوم «زمان حقیقی» را در محتوای پردازش ویدیو بدین صورت بیان می دارد که «نتیجه این پردازش بصورت «آنی یا همزمان» پدیدار می گردد (غالبا در یک حالت مفهومی) آن هم به هنگامی که ورودی در دسترس می باشد» [۱]. توجه شود که «زمان واقعی» تحمیل کننده یک تاخیر قابل تحمل حداکثری بر مبنای درک انسان از تاخیر می باشد، که بصورت الزامی بعنوان گونه ای از زمان پاسخ محدود شده وابسته – کاربردی مدنظر خواهد بود.
زمان واقعی در محتوای مهندسی نرم افزار نیز بر مبنای مفهوم یک زمان پاسخ مقید یا محدود همانند ویژگی مفهومی آن می باشد. Dougherty و Laplante [2] خاطر نشان نمودند که «سیستم زمان واقعی بعنوان سیستمی مطرح می باشد که می بایست قابلیت ارضای قیدهای زمان پاسخ محدود صریح جهت اجتناب از خطا یا شکست را داشته باشد». بنابراین، زمان واقعی نرم به حالتی اشاره دارد که در آن فرجه های زمان واقعی از دست رفته منجر به تنزل عملکرد بجای شکست خواهد شد.
زمان واقعی در مفهوم پردازش سیگنال برمبنای ایده پردازش تکمیلی در زمان موجود بین نمونه های متوالی ورودی می باشد [۳]. یک مولفه مهمی که می توان در اینجا ذکر نمود آن است که یکی از روش های اندازه گیری وضعیت «زمان واقعی» یک الگوریتم تعیین برخی از برآوردهای مقدار زمانی می باشد که برای یک الگوریتم جهت تکمیل کلیه مراحل انتقال مورد نیاز و پردازش داده های تصویری مورد نیاز بوده و متعاقبا حصول این اطمینان که این مدت کمتر از مدت تخصیص یافته برای پردازش می باشد.
ذیلا نکته تمرکز این مباحث بر روی امکان پیاده سازی ویژگی های نرم افزاری بر روی یک سکوی پردازش موازی در ارتباط با برخی از الگوریتم های پردازش تصویر اولیه، منطبق با زمان واقعی در محتوای مهندسی نرم افزار می باشد.
پردازش تصویر زمان واقعی سیستم توزیعی
۲- عملیات نرم افزاری شامل شده در پردازش زمان واقعی
۲-۱٫ سطوح عملیات پردازش تصویر
پردازش عمده دیجیتال شامل سه مرحله می باشد: برگشت دادن نویز، شاخص باینری و استخراج لبه. بواسطه این حقیقت که نویز ممکن است در مراحل دیگر سبب بروز خطا شود (همانند فرآیند تشخیص کانتور و استخراج خصیصه)، برگشتی نویز تصویر می بایست بعنوان اولین مرحله در هر فرآیند پردازش تصویر دیجیتال مدنظر قرار گیرد. برای این الگوریتم ها، به نوعی از اپراتورهای محلی مورد نیاز می باشد که قابلیت عملکرد در مجاورت های متقارن پیکسل های مدنظر را داشته باشند. آنها از مزیت سادگی برخوردار بوده و می توان آنها را به سادگی بر روی ساختارهای سخت افزاری تخصیص یافته پیاده نمود. این رویکرد به هنگام بررسی پردازش نرم افزار تغییر خواهد یافت. تصاویر دیجیتالی الزاما بصورت سیگنال های چند بعدی میباشند و از اینرو کاملا داده بر بشمار می آیند، و نیازمند مقادیر قابل توجه منابع محاسباتی و حافظه برای پردازش خود می باشند. کلید تعامل با این مسئله مفهوم پردازش موازی است که خود در ارتباط با محاسبات حجم وسیعی از داده ها بشمار می آید. در حقیقت، بیشتر آنچه در خصوص پیاده سازی یک سیستم کارآمد پردازش تصویر / ویدیو مدنظر است حول ویژگی های مطلوبیت اجرا چه بصورت سخت افزاری و چه نرم افزاری، می باشد که در آن اشکال مختلف فرآیند موازی سازی در یک الگوریتم مورد بررسی قرار می گیرد که بصورت ویژگی موازی گری سطح داده – DLP یا / و ویژگی موازی سطح دستورالعمل – ILP مورد بررسی قرار می گیرد [۴]. DLP خود را در کاربرد عملیات مشابهی در ارتباط با مجموعه های مختلف داده ها نشان می دهد، در حالی که ILP غالبا خود را در ارتباط با زمان بندی اجرای همزمان عملیات متعدد مستقل در یک حالت خط لوله مطرح می سازد.
…
۲-۲٫ طراحی معماری نرم افزار
در حالی که انتقال یک کد باز از یک محیط توسعه تحقیقاتی به یک محیط زمان واقعی یک وظیفه پیچیده بشمار می آید، این مورد در صورتی که کل سیستم نرم افزاری به خوبی با توجه به زمان پیشرفت داشته باشد می تواند مفید باشد. با توجه به این موضوع که سیستم های پردازش زمان واقعی تصویر غالبا متشکل از هزاران خط برنامه نویسی هستند، اصول طراحی مناسب می بایست از آغاز اعمال گردد تا آنکه از نگه داشت پذیری مناسب و مطلوب اطمینان حاصل شود و علاوه بر این قابلیت گسترش و آپدیت های بعدی آن به خوبی مهیا گردیده و از انعطاف پذیری کافی در برابر تغییرات در سخت افزار یا الگوریتم های مربوطه نیز برخوردار باشد [۷]. یکی از روش های کلیدی تعامل با چنین مشکلی انجام طراحی نرم افزاری بصورت پیمانه ای یا ماژولار از همان آغاز می باشد که شامل تجرید سازی جزئیات الگوریتمی و ایجاد رابط های استاندارد یا رابط های برنامه نویسی کاربردی (APIs) جهت فراهم آوردن فرآیند تبدیل آسان در بین سیستم های مختلف کاربردی یک الگوریتم می باشد. بعلاوه ایجاد یک معماری سلسله مراتبی و لایه بندی شده که در آن رابط های استانداردی بین لایه های بالایی و لایه شبکه به منظور آسانی سوئیچینگ یا اعمال تغییرات مختلف سخت افزاری می تواند بعنوان یک مورد قابل توجه و مفید مدنظر قرار گیرد بگونه ای که در صورتی که یکی از اجزای سخت افزاری تغییر نمود، تنها اصلاحات اندکی برای لایه های بالایی مورد نیاز باشند.
پردازش تصویر زمان واقعی سیستم توزیعی
۳- پردازش تصویر زمان واقعی بر روی یک سکوی توزیعی
۳-۱٫ مدل سکوی موازی و اصول زمان بندی
مدل سیستمی ما متشکل از P واحد پردازشگر می باشد. هر پردازشگر pi دارای ظرفیت است. ظرفیت یک پردازشگر بعنوان سرعت آن در تناسب با یک پردازشگر مرجع دارای یک ظرفیت واحد تعریف می گردد. ما برای موارد کلی در نظر می گیریم که صحت دارد. مجموع ظرفیت C چنین سیستمی بصورت تعریف می گردد. بر این مبنا چنین سیستمی تحت عنوان سیستم همگن به هنگامی محقق باشد خوانده می شود. چنین سکویی بعنوان سیستم توزیعی خوانده می شود [۹]. هر ماشین مجهز به یک پردازنده واحد می باشد. به عبارت دیگر، ما اتصالات بین پردازشگرهای متعدد را مدنظر قرار نمی دهیم. تفاوت اصلی سیستم های چند پردازنده ای آن است که در یک سیستم توزیعی، اطلاعات در خصوص وضعیت سیستم در بین پردازنده های مختلفی مبادله می شود. در موارد بسیاری، مهاجرت یک وظیفه از یک پردازنده به پردازنده دیگر برحسب پهنای باند شبکه و تاخیر سرویس بسیار پرهزینه خواهد بود [۱۰]، و همچنین دلیل آنکه ما در ابتدا تنها ویژگی موازی گری داده ها را برای سیستم همگن مدنظر قرار داده ایم بر این مبنا مشخص می شود. هدف ما تست مورد کلی پردازش تصویر با هر دو مورد ویژگی های داده ای و موازی گری وظایف، از طریق ایجاد یک خط مشی زمان بندی شده با دو مولفه می باشد [۱۱]. خط مشی زمابندی کلی ما مشخص می سازد که یک وظیفه در حال دریافت را می بایست برای کدام یک از پردازنده ها ارسال داشت و مشخص می سازد که به چه هنگامی می بایست اقدام به مهاجرت برخی از وظایف نمود. در هر پردازنده، خط مشی زمان بندی محلی این موضوع را مشخص می سازد که پردازنده مربوطه کدام یک از وظایف موجود در صف را مورد پردازش قرار دهد.
۳-۲٫ یک مطالعه موردی: تشخیص خطوط
۳-۲-۱٫ سابقه تئوریکی
غالبا مشکل تشخیص خطوط و ساختارهای خطی در تصاویر از طریق ملاحظه مشتق جهت دار مرتبه ثانویه در مسیر گرادیان برای هر مسیر محتمل خطی، حل می شود [۱۲]. از نقطه نظر تئوریکی، در زمینه ویژگی های دو بعدی، خطوط خطی از طریق بررسی مشتق جهت دار مرتبه ثانویه در مسیر گرادیان تشخیص نمی شوند. برای یک نقطه خطی، مشتق جهت دار مرتبه ثانویه بصورت عمود بر خط بعنوان یک برآورد کنتراست خط مدنظر می باشد، که بر مبنای معادله بیان می گردد که در آن تابع ارزش – محدوده خاکستری می باشد و شاخص های w معرف دیفرانسیل یا تمایز در مسیر گرادیان بشمار می آید. خطوط روشن به هنگامی که صادق باشد مشاهده شده و خطوط تیره نیز به هنگامی قابل رویت خواهند بود که حاصل شود. در عمل، تنها قابلیت برآورد عبارات تفاضلی در یک مقیاس مشاهداتی خاص وجود دارد.
۳-۲-۲٫ پیاده سازی نرم افزاری الگوریتم فیلترینگ جهت دار
روش های متعددی جهت پیاده سازی یک الگوریتم فیلترینگ جهت دار وجود دارد. بطور مثال، می توان یک فیلتر جدید را برای هر جهت بر مبنای و ایجاد نمود. چنین موردی سبب چرخش فیلترها می گردد، در حالی که جهت گیری تصویر ورودی بصورت ثابت باقی خواهد ماند. احتمال دیگر حفظ جهت فیلترها بصورت ثابت می باشد و در مقابل آن چرخش تصویر ورودی مدنظر خواهد بود. با این حال راه حل دیگر یکپارچه سازی ایده جهت گیری در جهت خود فیلتر می باشد. در این مورد پیکسل های تصویر نه تنها برحسب اندازه پیکسل های مجاور فیلتر مورد دسترسی قرار می گیرند، بلکه این امر بر مبنای جهت خاص نیز امکان پذیر خواهد بود [۱۴]. از این راه حل ها، روش دومی، که شامل بکارگیری فیلترهای ثابت در برابر داده های تصویری گردشی می باشد، به نظر برای فرآیند موازی سازی مناسب ترین مورد بشمار می آید. به منظور تاکید بر این احتمال جهت اجرای جهت های موازی، اجازه دهید تا در ابتدا مراحل اصلی پیاده سازی ترتیبی را مدنظر قرار دهیم.
۳-۲-۳٫ نتایج تجربی
یک تصویر آزمایشی در ابتدا بر روی یک واحد پردازشگر واحد تحت پردازش قرار گرفته و متعاقبا بر روی یک چارچوب تست پیکربندی شده بعنوان یک خوشه متشکل از ۲، ۴ یا ۸ گره پردازش شد که هر کدام از این گره ها بعنوان واحد پردازشگر ۱ گیگاهرتزی همراه با ۱۲۸ مگابایت حافظه رم می باشند. برای هر دستورالعمل که در الگوریتم فیلترینگ جهت دار بکار گرفته شده است دو برآورد، برای تصاویر دارای ۲۰۰۲ یا ۱۰۰۰۲ المان، اعمال گردیده است. جدول ۱ نشان دهنده نتایج برآورد شده برای زمان های پردازش تصویر با پیکسل های ۱۰۲۴×۱۰۲۴ (به شکل ۲: الف رجوع شود) اصلی، ب) پس از پردازش با ۱۲ مورد جهت دار چهار مورد ترکیبی () می باشد.
پردازش تصویر زمان واقعی سیستم توزیعی
۴- نتیجه گیری
آزمایشات نشان دهنده آن هستند که چگونه کاربرد الگوهای موازی سازی و قابلیت های آنها، برای عملیات پردازش تصویر سطح پایین بصورت نوعی فراهم شده اند. در مطالعه موردی ما، مدل عملکرد دارای دقت زیادی برای پردازش موازی با استفاده از توابع پیچشی یا حلقوی می باشد. با توجه به نتایج ما از این موضوع مطمئن هستیم که معماری نرم افزاری پیشنهادی تشکیل دهنده مبنایی قدرتمند برای فرآیند موازی سازی اتوماتیک و بهینه سازی محدوده گسترده ای از کاربردهای پردازش تصویر می باشد.
با توجه به پتانسیل سکوی موازی برای پردازش تصویر، در آینده نزدیکی ما تمرکز خود را بر روی ارتقای مولفه زمان بندی از طریق کاربرد واحدهای پردازنده دارای ظرفیت های مختلف پردازش جلب نموده و علاوه بر این از خط مشی ها و ویژگیهای خدماتی دیگری برای صف بندی وظایف استفاده می نماییم. ما فرآیند پیاده سازی برنامه های نمونه جهت بررسی ویژگی های موازی سازی کاربردهای نوعی در زمینه پردازش تصویر در زمان واقعی را ادامه می دهیم و سعی در ارتقای عملکرد از طریق پشتیبانی از اجرای یکسری از الگوریتم ها بر روی بلوک مشابه و از طریق بازسازی مجدد دینامیکی تصویر پس پردازش شده می نماییم.