اطلاعیه

Collapse
No announcement yet.

Active Contour Models

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

    Active Contour Models

    با سلام
    من پروإ¾ژه در رابطه با پردازش تصویر دارم
    متاسفانه تمامی مقالات صرفا الگوریتم را بررسی می کنند و از ذکر جزئیات پیاده سازی با مطلب خود داری می کنند
    و اغلب اوقات پیاده سازی و الگوریتم های مطرح شده بسیار متفاوت هستند.
    می خواستم من را درباه این موضوع راهنمایی نمایید

    چگونه می توانم پیاده سازی الگوریتم های مطرح شده در زمینه پردازش تصویر ، علی الخصوص الگوریتم های مربوط به lip tracking و lip contour را با استفاده از مطلب پیدا کنم؟ لطفا اگر کتاب، مقاله، پایان نامه، سایت،.... را سراغ دارین معرفی کنید.
    چگونه می توانم در زمان کم دانش لازم در رابطه با پیاده سازی الگوریم های مطرح شده در مقالات را به دست بیاورم.ابزار مورد علاقه من مطلب است.

    با تشکر

    #2
    پاسخ : Active Contour Models

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

    ببینید اونطوری که من از صحبت های شما متوجه شدم شما میخواید با contur ها کار کنید .. اما یه سوال .. میخواید با مدل های parametric نظیر GVF یا BVF یا FVF کار کنید یا اینکه برعکس .. میخواید با non-parametric ها کار کنید .. (همون Level set..) اینطوری که فرمودید میخواید توی tracking از این ها استفاده کنید درسته؟ خب اگه از Snake ها استفاده کنید حتما میدونید که با چه محدودیت هایی روبرو هستید .. مثال میزنم .. فرض کنید که دارید دو تا ماشین رو track میکنید .. اما با یه کانتور (طبیعتا..) اگه فاصله ی این دو ماشین از یه theshod ای بیشتر بشه اون موقع در اصطلاح میگن کانتور واگرا میشه به سمت نامعلومی .. یعنی داده ی track شما رو از دست میده .. اما این مشکل در Level Set وجود نداره .. دلیلش هم اون رویه ای هست که برای initializing به کار میره ..

    اما برای سورس کد که سوال فرمودید .. خب باید قاعدتا دنبال منابع خاص باشید .. مثلا فردی که توی این زمینه خیلی کار کرده آقای chenyang XU هست .. خیلی متدهای مختلفی در این زمینه مطرح کرده .. سایت اختصاصیش هم از لینک زیر قابل دسترس هست .. میتونید از اونجا استفاده کنید ..

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

    مطالب مختلف دیگه ای هم توی اینترنت هست که حتما خودتون دیدید ..

    http://www.engr.uconn.edu/%7Ecmli/code/

    http://paper.ijcsns.org/07_book/200710/20071019.pdf

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

    دیدگاه


      #3
      پاسخ : Active Contour Models

      سلام دوست عزیز
      ممنون از راهنمایی شما

      پروإ¾ژه من در رابطه با رهگیری حرکات لب است. در یکی از الگوریتم های رهگیری لب تنها مشخص کردن کانتور دقیق لب در فریم اولیه مهم است. بنابراین مشکلی که شما در رابطه با اتومبیل بین نمودید پیش نمی آد.
      در حال حاضر مشکل من تعیین کانتور دقیق لب است. اپیاده ساری الگوریتم snake سنتی را دارم. اما این الگوریتم به اندازه کافی دقیق نیست. هدف من پیاده سازی ایده مطرح شده در این مقاله است.

      Automatic and Accurate Lip Tracking: http://ifile.it/wuhidzc

      اما نمی دونم پیاده سازی اون را باید از کجا و چه جوری شروع کنم

      با تشکر

      دیدگاه


        #4
        پاسخ : Active Contour Models

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

        من متوجه پروژه ی شما شدم .. خب ببینید برای اینکار همون طور که فرمودید نمیشه از Snakes ها کمک گرفت .. همونطور که در پست قبلی هم گفتم؛ درسته که توی ACM برای Tracking ازش استفاده کردن و خوب هم جواب گرفتن (مخصوصا برای Tracking خودروها در بزرگراه..) اما برای واگرا شدن اون نتونستن هیچ مدل معادلی بیان کنن که بتونه این نقص رو برطرف کنه .. البته به غیر از این مشکل یه مشکل دیگه هم وجود داره و اون اینکه برای محیط هایی با شکستگی بالا دیگه نمیشه از مدل های Parametric استفاده کرد .. دلیلش هم کاملا مشخصه؛ چون اون s ای که برای پارامتر تعریف میشه قراره مدل بشه تا با دو جزء انرژی و لبه یابی بتونه به سمت انرژی مینیمم حرکت کنه که برای شکستگی های زیاد (مثل عروق و رگ های چند شعبه ای ..) دیگه کارساز نیست .. مثال دیگه ی اون هم یک کلید هست که یه حفره داره .. کانتور Snake ابدا نمیتونه این حفره رو detect کنه .. اما ..... منحرف نشیم از بحث ..

        شما فرمودید که میخواید با Level Set کار کنید درسته؟ همون مدل Non-Parametric شاخه ی deformable Models ؟ (اون فایل رو من نتونستم دانلود کنم .. اگه ممکنه برام میلش میکنید تا ببینم دقیقا کیا روی اون کار کردن؟) اون لینکی که برای آقای ChenYang Xu هست رو دیدید؟ لینک خیلی خوبیه ها .. اما در مجموع؛ من منتظر میل شما میمونم .. یکی از دوستان توی زمینه ی Non-Parametric کار کرده .. میپرسم ببینم نمونه ی کدی داره که براتون مفید باشه .. پس فعلا .. (منتظر میل شما هستم ..) موفق باشید ..
        دوستان! مدتی کمتر به سایت میام ..

        دیدگاه


          #5
          پاسخ : Active Contour Models

          سلام دوست عزیز
          ممنو بابت راهنمایی تون
          فایل را براتون میل زدم
          به آدرس میلی که در این اکانت داشتین

          با تشکر

          دیدگاه


            #6
            پاسخ : Active Contour Models

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

            من این مقاله رو تقریبا خوندم .. باید بگم که خیلی جالب بود برام، مخوصا اونجایی که به جای Parametrize کردن S که یکی از محدودیت های مدل Traditional Snakes بود، اومده بود و از Seed Point ها استفاده کرده بود و از همه جالبتر اینکه به جای Optimize Operation ای که در Snakes استفاده میشد که در حقیقت تشکیل میشد از دو قسمت، اینجا از یک هک دیگه استفاده کرده بود .. توی مدل قبل از Vector Flow برای نزدیکی و همگرا شدن به لبه ها استفاده میشد اما توی این Jamping Snakes قضیه یک مقدار فرق کرده و همین تفاوته که باعث رفع مشکل Initialization کانتور Iteration اول شده ..

            اینجا از mean flow صحبت میکنه و مکان Seed Point نخستین، که بر مبنای اون M ها رو حول lip تشکیل میدن و بعد از محاسبه ی mean flow، نقطه ی Sx به جایی نقل مکان میکنه که mean flow بیشتری داره .. یعنی میاد نزدیک لب و این عمل چندین بار ادامه پیدا میکنه تا Seed Amplitude کمتر از یک پیکسل بشه .. یعنی همگرایی مطلق .. اما همونطور که خودتون هم گفتید، این در راستای همون مدل Parametric هست نه Non-Parametric .. تصور من بر این بود که شاید شما بخواید با Non-Parametric ها کار کنید .. به هر حال ... من خودم زیاد توی این شاخه کار نکردم چون به طرحمون زیاد مربوط نمیشه؛ اما یکی از دوستان با GVF روی Segmentation کار کردن .. با ایشون صحبت میکنم ببینم نمونه کدی دارن یا خیر .. موفق باشید ..
            دوستان! مدتی کمتر به سایت میام ..

            دیدگاه


              #7
              پاسخ : Active Contour Models

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

              در مورد مدل پارامتریک در پست های قبل صحبت کردیم و گفتیم که قرار بود یه مکنحنی بر حسب پارامتر s تعریف بشه که به عنوان کانتور حرکت کنه روی آبجکت و در نهایت به سمت لبه های آبجکت نیل کنه (با مینیمم کردن انرژی ..) .. اونجا گفتیم که اگه برای Segment کردن محیطی با شکستگی بالا داشته باشیم یه مثلا شکلی که یه حفره ی دور از حلقه ی capture شده ی ما داره، داشته باشیم؛ نمیتونیم از مدل پارامتریک معمولی استفاده کنیم .. اما گفتیم که با مدل non-parametric مشکل برطرف میشه ..

              متد Level Set متدیه که خیلی جاها کاربرد داره از جمله توی Deformable Mode ها .. اما روشی که در این متد عنوان میشه چیه؟ فرض کنیید میخواید از مغز یک نفر تصویربرداری کنید .. خب الان دستگاه های MRI ای که وجود داره؛ در 4 جهت اسکن رو انجام میدن .. حالا این اسلاید های به دست اومده از هر Pose رو باهم تلفیق میکنن تا یه مدل 3D میسازن که برای detect کردن؛ Track کردن و حتی Deform کردن خیلی مناسبه .. Level Set هم یه مثل این روشه .. یعنی تشکیل شده از چندین Level که قراره اون Shape ما رو Represent کنن ..

              توی Tracking از این مدل بسیار زیاد استفاده میشه .. اگه یادتون باشه توی مدل پارامتریک از ASM یا همون Active Shape Model استفاده میشد .. خب درسته که این الگوریتم برای Track کردن یک شی خاص (از نظر تغییر فرم ندادن..) مفیده؛ سرعتش هم خوبه اما اگه جسم دو شاخه به دیگه الگوریتم واگرا میشه علی رقم Optimize کردن های Programming .. ولی در مدل non-Parametri و در نتیجه متد Level Set این اتفاق نمیفته چوا اساس الگوریتم بر مبنای دیگه ای استوار شده .. اینجا یه رویه در نظر میگیرن و اون رو روی صفحه قرار میدن .. یه Zero Level تعریف میکنن .. بعد برای مقطعی که با صفحه ایجاد کرده؛ یه سرعت تعریف میکنن و میگن که این مقطع باید با سرعت F به سمت نقطه ای خاص حرکت کنه و از این طریق منظور مورد نظر خودشون رو پیاده سازی میکنن .. میتونید برای MATLAB Tool Box ازون از لینک زیر استفاده کنید .. موفق باشید ..

              http://barissumengen.com/level_set_methods/

              دوستان! مدتی کمتر به سایت میام ..

              دیدگاه


                #8
                پاسخ : Active Contour Models

                سلام .متشکر از زحمات بی شائبه دست اندر کاران در سایت.من دانشجوی ارشد هستم و موضوع پایان نامه من در مورد پردازش تصاویر آنژیو گرافی هست .کارم ردیابی رگها (چه شاخه اصلی و چه انشعابات ) و یافتن محل گرفتگی و البته اگر بشه میزان گرفتگی در آنهاست .اما هنوز در همان مراحل اولیه متوقف شدم. مشکلم اینه که نمیتونم پس زمینه ، که بافت هست ، و همچنین نوک کاتتر را از تصویر جدا کنم . و خود رگ را استخراج کنم . از همبستگی پیکسلها استفاده کردم اما نتیجه خوبی نداشت تصاویری که دارم از جناحهای مختلف گرفته شده و به همین دلیل جدا کردن نوک کاتتر از آنها مشکله اگه کسی در این مورد مقاله ای داره و یا ایده ای ممنون میشم کمکم کنه. تمام کارام متوقف شده!! :cry: :cry2:

                دیدگاه


                  #9
                  پاسخ : Active Contour Models

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

                  من پستتون رو با این تاپیک ادغام کردم .. عنوان کل تاپیک رو هم تغییر دادم .. (با اجازتون) تا بتونیم متمرکز تر باهم صحبت کنیم .. سوالی که مطرح کردید خوبه امــا یه جاهایی ناقصه .. کاری که میخواید بکنید فکر کنم Vessel Detection باشه .. البته اگه اشتباه نکنم .. گفتید باید رگ ها رو ردیابی کنه .. حالا سوال: این ردیابی کردن یعنی چی؟ Track کنه یا نه صرفا Detection؟ میدونید برای چی این سوال رو میپرسم دیگه؛ درسته؟ البته فکر میکنم Detection باشه نه Tracking .. چون رگ که پا نمیشه راه بره .. پس همون اولیه .. خب برای اولی باید بریم سراغ Segmentation .. برای Segmentation باید بریم سراغ کانتورها .. اونا واقعا خوبن .. حالا یه سوال دیگه: اینی که گفتید بک گراند با رگ غاطی میشه یعنی چی؟ یعنی توی Segmentation یک مرتبه Miss میشه یعنی واگرا میشه؟ یعنی به اندازهی تصاویر زیر بد هستن؟ یه سوال بهتر: شما مدل کانتورتون رو چی گرفتید؟ Vector Flow یا نه مدل های Non-Parametric؟ یه کم بیشتر توضیح بدید تا باهم بحث رو به یه نتیجه ای برسونیم .. موفق باشید ..

                  دوستان! مدتی کمتر به سایت میام ..

                  دیدگاه


                    #10
                    پاسخ : Active Contour Models

                    سلام
                    تشکر از اینکه پاسخ دادید و راهنمایی کردید .ببینید دقیقا کار من اینه که تصاویر آنژیوگرافی را ابتدا پیش پردازش کنم چون تصاویری که جمع کردم خیلی کیفیت پایینی داشتند بعد اینکه با استفاده از هر روشی!!(خیلی دستمو آزاد گذاشتم ) بیام محل انسداد رگ را مشخص کنم . یعنی مشخص کنم که این رگ اصلا انسداد داره یا نه و دوم اینکه میزان انسداد چقدر هست مثلا با تعیین پهنای رگ .اگه انسداد داشته باشه خوب اون قسمت پهنای کمتری داره یا با استفاده از این واقعیت که جاهایی که انسداد وجود داره ماده حاجب (ماده افزایش دهنده کنتراست که حین عمل آنژیو گرافی توسط کاتتر به درون رگها تزریق میشه) نمیتونه از آنجا عبور کنه یا کمتر عبور میکنه پس در تصویر حاصل این بخش دارای مقادیر گری لولی بیشتری هستند یعنی روشنترند . البته باید بگم تصاویر من بر عکس تصاویر شماست یعنی رگها تیره تر و بک گراند روشنتره. در مورد سوالتون حقیقتش اینکه باید بگم با نظر شما موافقم که رگ پا نداره که بره و ما ردیابیش کنیم اما حقیقت من در سرچهایی که داشتم دقیقا با این ترکیب vessel tracking مواجه شدم و به همین دلیل از این کلمه ردیابی استفاده کردم منظور اینکه مسیر رگ را تا رسیدن به محل انسداد مثلا پیکسل به پیکسل ردیابی کنیم (به این پیشنهاد هم میشه به عنوان یک روش نگاه کرد دیگه) درسته؟)ببینید من برای کارم هیچ روشی را ذکر نکردم به همین دلیل دستم بازه و همین باعث شده یه مقداری سردر گم بشم که اصلا از چه روشی استفاده کنم میدونم برای اینکار روشهای مختلف و زیادی هست اما میخوام برای شروع از روشی استفاده کنم که قبلا نتیجه بهتری ازش گرفته شده در مورد سوال دوم من یک نمونه از تصاویری که خودم از بیمارستانها جمع آوری کردم را براتون ایمیل میکنم آدرس ایمیل من bahar_ees@yahoo.comهست .ممنون میشم اگر در مورد روش خوب با توجه به عکسهایی که دارم منو راهنمایی کنید
                    یه سوال دیگه هم دارم آیا در این مورد دیتابیسی هست که بشه روش کار کرد مثل دیتابیس چهره که در نت فراوانه . اگه دیتابیس استانداردی سراغ دارین ممنون میشم به من اطلاع بدید که روی اونها کار کنم
                    باز هم متشکرم

                    دیدگاه


                      #11
                      پاسخ : Active Contour Models

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

                      این عکسایی که برام فرستادید دو تا مشکل دارن .. یکی اینکه سایزشون خیلی بزرگه و دیگه اینکه نیاز به یه مرحله Preprocessing دارن .. چرا میگم نیاز به Preprocessing دارن؟ چون در حال حاضر هیچ متدی نیست که یتونه Vessel ها رو با چنین بک گراندی از هم جدا کنه .. خیلی تصاویر از نظر بک گراند Cluttered هستن ..



                      از نظر دیتابیس؛ خیر .. این جور کارا اصلا نمیشه براشون دیتابیس تعریف کرد .. معمولا توی این کارا برای یه Application خاص (مثلا دریچه ی قلب یا نمیدونم رگ قسمت X یا سلول مارپیچی قسمت Y و ... ) الگوریتم رو میسازن و روی اون دسته از تصاویر تستش میکنن .. برای کار شما هم همینطوریه .. پس باید دیتا رو خودتون جمع کنید و روی اونا مدل بزنید .. یه متد هست که سال 2007 مطرح شده .. زیر شاخه ی Level Set میشه و توی Segmentation کارای خوبی انجام داده .. Paper اونا رو براتون میذارم .. نمیدونم ولی امیدوارم که بتونه کمکتون کنه .. سورس کد اون Paper هم براتون میذارم تا نتایجش رو ببینید .. در مورد Injection ماده هم درسته .. ولی اون هم یه تعریف خاص داره .. میزان گرفتگی نمیدونم از نظر پزشکی چطوری تعریف میشه امــا توی یه کاری اومده بودن دریچه ی قلب رو به صورت 3D شبیه سازی کرده بودن و بر حسب تفاوت رنگی ای که ایجاد کرده بودن تونسته بودن یه کارایی برای گرفتگی بکنن .. اونم نه در حد درصد یا به قول معروف Quantitative بلکه فقط میزان رو به صورت Qualitative بیان میکردن .. همین .. برای همینه من به گفتتون یک مقدار شک میکنم .. دلیلش هم اینه که به صورت دقیق و کمی گفتن یه کم نیاز به اطلاعات دیگه ای داره که شاید صرفا مربوط به Contour ها نشه .. میدونید که منظورم چیه ؟ فایل هارو ببینید و بعد باهم صحبت میکنیم .. موفق باشید ..
                      فایل های پیوست شده
                      دوستان! مدتی کمتر به سایت میام ..

                      دیدگاه


                        #12
                        پاسخ : Active Contour Models

                        سلام
                        بسیار بسیار ازکمکتان متشکرم. البته من عکسها رو به سایر استاندارد درآوردم همه را 256*256 کردم و دارم روشون کار میکنم . از بابت فایلها متشکرم . مطالعه میکنم وبعد بحث را با هم ادامه میدیم. اما سوالی که دارم اینه که چطور میشه این بک گراند را به شکل بکگراندعکسهای شما درآورد با تغییر کنتراست تصویر خیلی کار کردم اما نتیجه ای حاصل نشد :sad: اگه راهنماییم کنید ممنون میشم

                        دیدگاه


                          #13
                          پاسخ : Active Contour Models

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

                          حقیقتش شاید بهتر باشه به جای اینکه تصویر رو بهتر کنید؛ به این ایده فکر کنید که الگوریتم رو قدرتمند تر کنید .. چرا اینو میگم؟ شما همین تصویر بالا رو با کدی که براتون گذاشتم تست کنید .. دقیق با هر سه تاش تست کنید .. ببینید کجاها الگوریتم Miss میشه .. به اون دوتا پارامتری که برابر 1 هم قرار داده شدن؛ خوب دقت کنید .. بد نیست کم و زیادشون کنید ببینید الگوریتم براش چه اتفاقی میوفته .. یه جاهایی اگه اون مقدار کم باشه توی Saddle Point ها گیر میکنه و دیگه ادامه نمیده .. یه جاهایی اگه اون مقدار زیاد بشه کل تصویر رو با بکگراند Segment میکنه .. در کل اینارو نظرم اینه که ببینید .. در مورد بهتر کردن خود تصویر هم من یه کم باهاش Contact داشتم امــا زیاد نتونستم خوبش کنم (یعنی بک گراند رو از Foreground که در اصطلاح خود رگ هست؛ جدا کنم ..) .. از تغییر Intensity باید فاصله بگیریم و یه مقدار کلی تر بهش نگاه کنیم .. شاید فیلتر اونم از این تیپ فیلترهای همسایگی یا یه سری از این الگوریتم های Density بشه استفاده کرد .. ولی با فیلتر فکر کنم به یه جاهایی بشه رسید .. فـــعـــلا .. موفق باشید ..
                          دوستان! مدتی کمتر به سایت میام ..

                          دیدگاه


                            #14
                            پاسخ : Active Contour Models

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

                            دیدگاه


                              #15
                              پاسخ : Active Contour Models

                              نوشته اصلی توسط bahar_ees
                              سلام
                              واقعا از لطفتان ممنونم.کار میکنم اگر مشکلی بود مطرح میکنم..سپاسگزارم ار راهنماییتان
                              سلام ........................

                              راستی یه نکته ی دیگه؛؛ اگه روی LBF کار میکنید (یعنی این تصمیم رو گرفتید) میتونید از اون دوتا نویسندشون هم کمک بگیرین .. آدمایی هستن که جواب میدن .. البته برای خودشون هم خوبه چون میدونن که یک نفر داره کارشون رو extend میکنه .. آدرسشون توی یکی از Mfile ها هست .. موفق باشید ..
                              دوستان! مدتی کمتر به سایت میام ..

                              دیدگاه

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