اطلاعیه

Collapse
No announcement yet.

تشخیص عمق یک شی در تصویر

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    تشخیص عمق یک شی در تصویر

    با سلام
    فرض کنید ما یه تصویر داریم که این تصویر از یک محوته با زمینه رنگی ثابت می باشد حالا یک شی در این محوته قرار می دهیم چه طور می شه تشخیص داد فاصله این شی از دوربینی که این عکس گرفته چقدر می باشد؟
    توسط MatLab

    هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

    #2
    پاسخ : تشخیص عمق یک شی در تصویر

    سلام ...................

    منظورتون چیه؟ یعنی شما یه جسم رو روی یه زمینه ی مشخص با یه فاصله ی مشخص قرار میدید و بعد از این مجموعه عکس میگیرید؛ حالا میخواید اون عکس رو تحلیل کنید که فاصله ی جسم از لنز چقدر بوده؟ درست متوجه شدم؟
    دوستان! مدتی کمتر به سایت میام ..

    دیدگاه


      #3
      پاسخ : تشخیص عمق یک شی در تصویر

      بله
      هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

      دیدگاه


        #4
        پاسخ : تشخیص عمق یک شی در تصویر

        سلام ..................

        ببینید اول موضوع رو یک مقدار خاص تر مطرح کنیم و بعد به صورت کلی اون رو دنبال کنیم ..

        فرض کنید شما یک بک گراند یا زمینه ی سیاه (یا سفید .. ) دارید .. جسمتون هم به رنگ زمینه باشه اما با یه فاصله ی مشخص .. حالا با چشم و از روبرو به این مجموعه نگاه میکنید .. چه چیزی میبینید؟ درسته؛ یک صفحه ی سیاه (یا سفید ..) یک دست .. حالا فرض کنید با یه دوربین و از روبرو از مجموعه عکس میگیرید .. تصویر ضبط شده به چه صورته ؟ همون زمینه ی یک دست .. پس اگه بخواید با مجموعه ی باینری کار کنید یک همچین عملی ممکن نیست ..

        اما اگه کلی تر به قضیه نگاه کنیم شما یه بک گراند رندوم دارید (از نظر بافت و نقش های زمینه ..) و یه آبجکت خاص با فاصله از زمینه قرارش دادید .. باز هم از روبرو به این مجموعه نگاه میکنید .. حالا تنها اتفاقی که میفته اینه که به خاطر تفاوت Contrast رنگی شما میتونید Boundary آبجکت رو از زمینه تشخیص بدید .. اتفاقی که در دوربین هم میفته درست به همین ترتیبه .. یعنی شما با تصاویر معمولی نمیتونید همچین کاری روانجام بدید .. باید برید سراغ یک نوع تصویر برداری دیگه .. لینک زیر رو ملاحظه بفرمایید .. فکر کنم موضوع براتون بیشتر مشخص بشه .. موفق باشید ..

        http://www.eca.ir/forum2/index.php?topic=19739.0
        دوستان! مدتی کمتر به سایت میام ..

        دیدگاه


          #5
          پاسخ : تشخیص عمق یک شی در تصویر

          نوشته اصلی توسط حسام الدین

          اما اگه کلی تر به قضیه نگاه کنیم شما یه بک گراند رندوم دارید (از نظر بافت و نقش های زمینه ..) و یه آبجکت خاص با فاصله از زمینه قرارش دادید .. باز هم از روبرو به این مجموعه نگاه میکنید .. حالا تنها اتفاقی که میفته اینه که به خاطر تفاوت Contrast رنگی شما میتونید Boundary آبجکت رو از زمینه تشخیص بدید .. اتفاقی که در دوربین هم میفته درست به همین ترتیبه .. یعنی شما با تصاویر معمولی نمیتونید همچین کاری روانجام بدید .. باید برید سراغ یک نوع تصویر برداری دیگه ..

          http://www.eca.ir/forum2/index.php?topic=19739.0

          می شه بیشتر توضیح بدید؟
          هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

          دیدگاه


            #6
            پاسخ : تشخیص عمق یک شی در تصویر

            سلام ................

            من در مورد کار با تصاویر چند طیفی اطلاع زیادی ندارم .. توی اون تاپیکی که براتون گذاشتم منابعش مطرح شده .. میتونید اونهارو مطالعه بفرمایید .. اما در مورد نگاه کلی که خدمتتون گفتم ؛ بحث سر Boundary Extraction هست .. شما فرض کنید آبجکتتون جلوتر از بک گراند باشه .. اگه شما از مجموعه و البته از روبرو عکس بگیرید تصویر حاصل یک مجموعه رو نمایش میده که یه جورایی Marge شده هست .. یعنی چی؟ یعنی اینکه ادغام بین آبجکت و بک گراندتون انجام شده .. حالا اگه شما از تصویر Gradiant بگیرید اونموقع جهت این بردارها که اکثرا یا به سمت بالا هستن یا پایین (اگه تفاوت رنگیتون زیاد باشه ..) فضایی رو ایجاد میکنن که میتونید لبه ی آبجکتتون رو ببینید .. یعنی اگه شما Gradiant تصویر رو به دست بیارید و گراف اون رو ترسیم کنید میتونید لبه های آبجکت رو از بک گراند متمایز کنید .. منتهی چون تصویر در صفحه ی X-Y عکسبرداری شده نمیتونید هیچ درکی از عمق یا سطح تصویر و آبجکت های داخلی اون داشته باشید .. اگه با Wavelet هم کار کنید باز هم نمیتونید این ویژگی رو با استفاده از اون استخراج کنید .. چون عملا تصویربرداریتون برای عمق ضریب یا فاکتوری قائل نشده و نمیتونه این تشخیص رو ایجاد کنه .. البته یه متد جدید هست که اتفاقا یک دکتر ایرانی تز اون رو مطرح کردن .. من هنوز وقت نکردم دقیق این paper رو مطالعه کنم .. اون رو براتون میذارم تا اگه خواستید یه نگاه بهش بندازید .. اگه خواستید بفرمایید تا یه وقت بذارم و بخونمش (شایدم اصلا به موضوع مربوط نشه ..) و باهم روش بحث کنیم .. موفق باشید ..

            http://wscg.zcu.cz/wscg2004/Papers_2004_Poster/G05.pdf
            دوستان! مدتی کمتر به سایت میام ..

            دیدگاه


              #7
              پاسخ : تشخیص عمق یک شی در تصویر

              پس در حقیقت با عکسی که می گیریم نمی تونیم عمق جسم در تصویر پیدا کنیم درسته؟

              حال اگر دو تا عکس بگیریم که در دو زوایه متفاوت چطور؟
              هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

              دیدگاه


                #8
                پاسخ : تشخیص عمق یک شی در تصویر

                سلام ...................

                شما اون Paper ای که براتون گذاشتم نخوندید؛ نه؟! احتمالا من امشب اونو میخونم و اگه میتونست به موضوع کمک کنه توضیحاتش رو براتون میذارم .. اما در مورد عکسبرداری از دو زاویه ی مختلف باید بگم که اگه این امکان رو دارید میتونید از پهلو از مجموعتون عکس بگیرید .. با این کار میتونید فاصله ی آبجکت از بکگراند رو با بهترین دقت به دست بیارید .. راستی یه سوال .. شما پروژه ای در این زمینه دارید؟
                دوستان! مدتی کمتر به سایت میام ..

                دیدگاه


                  #9
                  پاسخ : تشخیص عمق یک شی در تصویر

                  خیر پروژه خاصی نه
                  من چیز زیادی نمی دونم برای همین تاپیکهای که شما گذاشتید چندان سر در نمی آرم اگر محبت کنید ، من راهنمایی کنی
                  د
                  هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

                  دیدگاه


                    #10
                    پاسخ : تشخیص عمق یک شی در تصویر

                    سلام .................

                    ببخشید یه چند روزی نبودم ..

                    ببینید همونطور که در پست قبلی هم گفتم بهتر بود شما اون Paper رو میخوندید .. حالا اتفاق خاصی نیوفتاده من اونو خوندم و همونطور که فکر میکردم اطلاعات خوبی توش بود .. هر چند که خیلی خلاصه بود اما اطلاعاتش کافی بود .. در اون Paper شش متد رو گفته که میشه از طریق اونها به عمق تصاویر پی برد .. شش تاش رو به صورت لیست وار خدمتتون عرض میکنم ..
                    --استفاده از دو دوربین مجزا (در واقع سیمولیشن محیط چشم انسان ..) در فواصل و زوایای مشخص نسبت به افق و عکسبرداری از آبجکت و در نهایت استفاده از روابط حاکم در مثلثات ..
                    --استفاده از یک دوربین ثابت و حرکت جسم جلوی دوربین و در نهایت استفاده از resize کردن تصویر و تغییر در مقیاس فاصله به منظور درک عمق تصویر گرفته شده از آبجکت ..
                    --استفاده از ابجکت متحرک برای استنباط عمق اجسام از طریق یک سری خواص فیزیکی مثل سرعت لحظه ای، سرعت ممتد، ماکزیمم و مینیمم سرعت حرکت Target و ...
                    --استفاده از یک دوربین و اندازه گیری هندسی فواصل و نقاط به صورت دقیق و یا تقریب بسیار دقیق ..
                    --استفاده از Point/Line Spread Function برای به دست آوردن عمق یک تصویر ..
                    -- استفاده از ابزار کمکی نظیر پرتو افکن های مادون قرمز .. (این مدل دیگه الان استفاده نمیشه .. هم گرونه و هم دقتش پایینه ..)

                    اما متدی که در Paper بالا اومده یه متد متفاوته که Performance و Accurcy بالایی داره .. در حقیقت این متد تشکیل شده از دو مرحله ی مجزا .. اولین مرحله X و Y رو به دست میاره و دومین مرحله هم با استفاده از معادله ی لاگرانژ یه Interpolation بین داده های به دست اومده از مرحله ی اول برقرار میکنه به قسمی که با احتساب ورودی زاویه ی دوربین با خط افق و البته ارتفاع دوربین تا تصویر (داده های Default .. برای Preset ..) میتونه عمق آبجکت های موجود در تصویر رو با دقت بالایی به دست بیاره .. اما این Xو Y دقیقا چی هستن؟

                    ببینید متدی که روش صحبت شده به این ترتیبه که از یه آبجکت (با هر Texture ای که هست ..) عکسبرداری میکنن (پسوندش مهم نیست .. bmp باشه .. png باشه یا ... ) و در قالب یه داده برای پردازش محیاش میکنن .. تا اینجا که فعلا یه تصویر داریم .. اصل قضیه اینجاست که میان و یه شبکه ی Grid مانند به عنوان Uniform برای تصویر در نظر میگیرن .. (یه جورایی میندازن روش .. ) ویژگی این شبکه اینه که مانند یه Grid تشکیل شده از خطوطی که حالا تمام تصویر رو پوشوندن .. بعد از این مرحله خطی که برای لبه ی انتهایی (پایینی ..) قرار داده شده رو به عنوان مبدا در نظر میگیرن و بعد از اون X میشه تعداد پیکسل هایی که در فاصله ی یک خط تا Origin Line هستن و Y میشه فاصله ی واقعی ای که خطوط از دوربین دارن .. پس تا اینجا ما دو تا Feature داریم .. یکی تعداد پیکسل ها در محدوده ی خطوط شبکمون نسبت به Origin Line و دیگری هم فاصله ی واقعی خطوط از دوربین ..

                    در مرحله ی دوم از اطلاعات مرحله ی اول استفاده میکنن و با استفاده از رابطه ی لاگرانژ یه Interpolation بین داده ها برقرار میکنن و از این طریق میتونن با یه Accuracy قابل قبولی عمق آبجکت های درون یه تصویر رو به دست بیارن .. Result ای که به عنوان Sample در قسمت 3 این Paper هست شبکه ای رو برای Uniform در نظر گرفته که فاصله ی خطوطش از هم 5 س متر هست و ارتفاع دوربین از سطح تصویر (یا فاصله ی دوربین از تصویر ..) 45 س متر با زاویه ی افق 30 درجه Set شده .. مقادیر X و Y و همچنین نتایج Process رو میتونید در جدول ها ی 1 و 2 مشاهده کنید .. امیدوارم مشکلتون برطرف شده باشه .. موفق باشید ..
                    دوستان! مدتی کمتر به سایت میام ..

                    دیدگاه


                      #11
                      پاسخ : تشخیص عمق یک شی در تصویر

                      ممنون از راهنمای که کردید
                      در حقیقت مختصات جسم نسبت به دوربین به دست میار بعد توسط رابطه لاگرانش عمق جسم محاسبه می شه درست؟؟؟

                      یه سوال دیگه راجع به نوع دوربین؟؟؟ باید چه دوربین باشه آیا وب کم خوبه؟؟؟
                      هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

                      دیدگاه


                        #12
                        پاسخ : تشخیص عمق یک شی در تصویر

                        سلام .....................

                        بحث مختصات جسم نیست .. ببینید همونطور که در پست قبل هم توضیح دادم، X وY تعریف دیگه ای دارن .. X میشه جمع پیکسل ها بین Grid وOrigin Line و Y هم میشه فاصله ی حقیقی خطوط از لنز دوربین .. دوربین شما هم میتونه وبکم باشه .. منتهی وبکمی که ثابت باشه .. موفق باشید ..
                        دوستان! مدتی کمتر به سایت میام ..

                        دیدگاه


                          #13
                          پاسخ : تشخیص عمق یک شی در تصویر

                          سلام
                          باز هم ممنون

                          حال که قرار دوربین ما یعنی همون وب کم باشه چه جوری می شه اطلاعات همون فایلهای تصویری خواند از روی پورت USB در متلب؟؟؟

                          یک دنیا ممنون آقای حسام الدین
                          هرکه خود را یک بار با اشکهایش شستشو دهد تا زنده است پاک و مقدس میماند

                          دیدگاه


                            #14
                            پاسخ : تشخیص عمق یک شی در تصویر

                            سلام ................

                            توی لینک زیر یه فایل هست که میتونه خیلی کمکتون کنه .. حتما برنامه ی نمونش رو بررسی بفرمایید .. موفق باشید ..

                            http://www.eca.ir/forum2/index.php?topic=9899.0
                            دوستان! مدتی کمتر به سایت میام ..

                            دیدگاه


                              #15
                              پاسخ : تشخیص عمق یک شی در تصویر

                              سلام؛
                              من هم اون مقاله رو مطالعه کردم و هم متنی رو که شما نوشته بودید اما یه چیز رو متوجه نشدم اینکه تو فرمول لاگرانژ که
                              گفته منظور از( L(xj نقاط لاگرانژی هست که توی عکس موجودن؟ دوم اینکه اصلاً x,xi,xj چی هستن ؟ منظورم این هست که
                              برای بدست آوردن فاصله object ز لنز دوربین تو این فورمول گفته شده چه مقادیری باید قرار بدم؟
                              ممکنه تز تیلور رو هم که که گفتین در این زمینه مباحثی رو مطرح کرده کمی توضیح بدین تا من از هر کدوم که تو کارم جواب داد استفاده کنم.
                              راستی من برنامم رو با VB نوشتم وبه جای وبکم هم از دوربین استفاده میکنم چون کیفیت تصویر خیلی خوب میخوام.
                              متشکرم .

                              دیدگاه

                              لطفا صبر کنید...
                              X