نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی

جعبه ابزار پردازش تصویر دوره کوتاه تئوری پردازش تصویر

تقسیم بندی تصویر

تقسیم بندی زیرمجموعه های مشخصه ای از پیکسل ها را ایجاد می کند یا یک تصویر را به مناطق متصل تقسیم می کند، که هر یک به نوعی "همگن" هستند. فرآیندهای تقسیم بندی و استخراج ویژگی را می توان به عنوان تخصیص برچسب ها به پیکسل ها مشاهده کرد که کلاس های خاصی را که این پیکسل ها به آنها تعلق دارند، تعریف می کنند. بنابراین، خروجی فرآیند تقسیم‌بندی یک تصویر نمادین است که در آن مقادیر پیکسل برچسب‌ها هستند، نه سطوح روشنایی.

طبقه بندی مدل تصویر

برای تقسیم بندی تصاویر، از یک یا مدل دیگری استفاده می شود که توصیف کم و بیش کافی از تصاویر واقعی را ارائه می دهد. دو دسته اصلی از مدل های تصویری وجود دارد: آماری و فضایی. مدل های آماری مجموعه ای از نقاط یا مناطق تصویر را توصیف می کنند. مدل‌های فضایی تجزیه یک تصویر را به بخش‌ها یا مناطق تشکیل‌دهنده آن توصیف می‌کنند.

مدل های آماری مرتبه اول مجموعه ای از عناصر پیکسلی تصویر را بدون توجه به موقعیت آنها در فضا توصیف می کنند. ساده ترین توصیف از این نوع، چگالی احتمال توزیع مقادیر روشنایی است که با استفاده از هیستوگرام مقادیر روشنایی محاسبه می شود. اغلب اعتقاد بر این است که چگالی احتمال توزیع مقادیر یک تصویر واقعی با برخی استانداردها، به عنوان مثال، یک تابع چگالی احتمال گاوسی یا مخلوطی از این توابع تقریب می شود.

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

روش دیگر برای توصیف روابط فضایی بین عناصر پیکسلی تصویر، در نظر گرفتن چگالی احتمال توزیع مقادیر یک ویژگی محلی است که اغلب موثرتر از استفاده از چگالی احتمال توزیع مقادیر درخشندگی مرتبه بالاتر است. . به ویژه در تقسیم بندی تصویر، ویژگی های محلی به دلیل وجود لبه ها مفید است، به عنوان مثال، مقادیر عملگرهای مختلف دیفرانسیل برای اندازه گیری گرادیان روشنایی.

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

مدل های فضایی یک تصویر را بر حسب مناطق توصیف می کنند. یک تصویر را می توان به عنوان مجموعه ای از اشیاء در پس زمینه نمایش داد که به صورت منظم یا تصادفی به مناطق تقسیم می شوند، به عنوان مدلی از شکل مناطق. مدل‌های فضایی معمولاً اجازه می‌دهند تا اطلاعات بیشتری از یک تصویر نسبت به مدل‌های آمار توزیع روشنایی استخراج شود. با این حال، تا کنون تنها مدل های نسبتا ساده استفاده می شود، و دستگاه ریاضی آنها نیاز به توسعه بیشتر دارد.

تقسیم بندی تصویر با آستانه گذاری

ساده ترین و پرکاربردترین روش تقسیم بندی تصویر آستانه گذاری است. در تعدادی از روش‌های استاندارد برای استخراج بخش‌هایی از یک تصویر توسط یک آستانه، مقادیر آستانه مستقیماً از هیستوگرام‌های تصویر (مدل تصویر آماری مرتبه اول) تعیین می‌شوند. از نظر تاریخی اولین روش در این گروه از روش ها روش mod است. این روش از این فرض ناشی می‌شود که تصویر دارای تعداد مشخصی از کلاس‌های نقاط همگن از نظر روشنایی است. علاوه بر این، اعتقاد بر این است که مناطق مرزی بین مناطق محصور، منطقه نسبتا کمی از تصویر را اشغال می کند. بنابراین، در هیستوگرام، آنها باید با دره های بین حالتی مطابقت داشته باشند، که در آن آستانه های تقسیم بندی تنظیم می شوند.

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

اگر تصویر واقعی شرایط روش mod را نداشته باشد، چهار رویکرد زیر اعمال می شود. اول، بهبود هیستوگرام، از جمله بر اساس ویژگی های محلی تصویر با استفاده از اطلاعات گرادیان، آمار مرتبه دوم، تجزیه و تحلیل انحنای تابع توزیع تجمعی. دوم، تقریب هیستوگرام با مخلوطی از توزیع های نرمال و استفاده از روش های آماری برای جداسازی بهینه این مخلوط. نقطه ضعف این روش پیچیدگی محاسباتی زیاد است؛ علاوه بر این، گاوسی اغلب حالت های واقعی را تقریب ضعیفی دارد. ثالثاً، معرفی یک معیار تجربی از کیفیت یک تصویر تقسیم‌بندی شده و به حداکثر رساندن تابع معیار مربوطه - رویکرد تفکیک‌کننده، رویکرد آنتروپی، رویکرد لحظه‌ای و غیره. چهارم، انتقال به استفاده از آمارهای دیگر برای انتخاب از آستانه، به ویژه، انتخاب آستانه به طور مستقیم توسط ویژگی های محلی. استفاده از ویژگی های محلی این امکان را فراهم می کند تا تصاویر واقعی پیچیده را با کیفیت بالاتر تقسیم بندی کنید.

تجزیه و تحلیل هیستوگرام کیفیت رضایت بخشی از تقسیم بندی آن دسته از تصاویر را ارائه می دهد که از مناطقی با روشنایی یکنواخت تشکیل شده اند. با این حال، هنگام انتخاب اشیاء کوچک در برابر یک پس‌زمینه پیچیده، نقاط اجسام پیک‌های قابل توجهی را در هیستوگرام روشنایی نشان نمی‌دهند. بنابراین، پردازش با آستانه متغیر استفاده می‌شود: برای قطعات کوچک تصویر، هیستوگرام‌هایی ساخته می‌شوند که از نظر bimodality بررسی می‌شوند و آستانه‌های محلی یافت شده به بقیه تصویر درون‌یابی می‌شوند.

تعدادی از الگوریتم‌های مبتنی بر تحلیل تفکیک در آثار Ost پیشنهاد شد. اجازه دهید جی={0,1,...,L) - مقادیر ممکن روشنایی تصویر. آستانه توزیع مقادیر روشنایی تصویر را به دو کلاس تقسیم می کند سی 0={0,1,...,تی) و سی 1={تی+1,تی+2,...,L}, تیÎ جی... آستانه بهینه تی* که تعریف میشود

که در آن واریانس توزیع مقادیر روشنایی تصویر به عنوان یک کل است، w0 احتمال یک نقطه تصادفی متعلق به پس زمینه است، https://pandia.ru/text/80/299/images/image004_46 .gif "width =" 21 "height =" 24" > - میانگین سطح روشنایی پس زمینه (کلاس سی 0).

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

معیار آنتروپی برای انتخاب آستانه بهینه. با استفاده از تعاریفی که قبلاً معرفی شد، هیستوگرام مقادیر روشنایی را می توان در نظر گرفت L-منبع نمادین اطلاعات با آنتروپی

,

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

آنتروپی منبع مجموع آنتروپی جسم است اچ 0 و آنتروپی پس زمینه اچ 1، و آستانه بهینه باید حداکثر مقدار این مجموع را بدهد:

, (2)

که در آن .

از آنجایی که هر یک از اصطلاحات اچ 0 و اچ 1 یکنواختی توزیع روشنایی را در فواصل مربوطه مشخص می کند و هنگامی که قطعه "بیگانه" هیستوگرام در این بازه قرار می گیرد به شدت کاهش می یابد، حداکثر معیار آنتروپی با بهترین گزینه تقسیم بندی مطابقت دارد. عیب این روش این است که تابع معیار می تواند چندین ماکزیمم نزدیک داشته باشد.

بر خلاف رویکرد تمایز، روش حفاظت از لحظه تمام لحظات تصویر را تا (2 ک+1) سفارش شامل:

.

آستانه بهینه برای اطمینان از برابری لحظه های متناظر تصاویر تقسیم شده و اصلی در نظر گرفته می شود. با این حال، اگر ک> 3، پس مشکلاتی در ارتباط با فقدان یک راه حل تحلیلی برای مشکل وجود دارد.

گذر از انتخاب آستانه با توجه به هیستوگرام روشنایی به استفاده از آمارهای دیگر، بدون شک الگوریتم های تقسیم بندی را پیچیده می کند، اما تقسیم بندی بهتری از تصاویر پیچیده را ارائه می دهد. برای انتخاب اشیاء با اندازه کوچک، انتخاب آستانه مستقیماً از ویژگی های محلی نقاط تصویر امیدوارکننده به نظر می رسد.

روش کنتراست حداکثر متوسط. این روش مبتنی بر یک تعیین اکتشافی ساده آستانه بهینه است: آستانه بهینه برای تقسیم‌بندی تصویر، آستانه‌ای در نظر گرفته می‌شود که تفاوت‌های کنتراست بالا و کنتراست کمتری را در روشنایی نسبت به هر آستانه دیگری متمایز می‌کند. بیان کمی معیار کنتراست میانگین تمام تفاوت های روشنایی اختصاص داده شده توسط این آستانه است. آستانه مربوط به حداکثر کنتراست متوسط ​​بهینه است. اگر دو نقطه مجاور ایکس 1=(ایکس 1,y 1) و ایکس 2=(ایکس 2,y 2) دارای مقادیر روشنایی هستند f(ایکس 1) و f(ایکس 2) (بدون از بین رفتن کلیت f(ایکس 1) پوند f(ایکس 2))، سپس تعداد قطره های اختصاص داده شده توسط آستانه تی، برابر است با:

جایی که

کنتراست کامل مطابق با آستانه تی، برابر است با:

جایی که DIV_ADBLOCK169 ">

. (3)

بر اساس ماتریس های مجاورت مقادیر روشنایی ارائه شده توسط Haralik، روش تقسیم بندی زیر در نظر گرفته شده است. برای تصویر، ماتریس های ظاهر مشترک سطوح روشنایی جفت نقاط مجاور در افقی پ 1.0 و عمودی پ 1.90 جهت، و همچنین کل ماتریس انتقال اندازه ( L+1) ´ ( L+1):

پvh=پ 1,0 +پ 1,90.

آستانه خودسرانه تینقاط تصویر را به دو دسته تقسیم می کند با 0 و با 1، و ماتریس انتقال - 4 بلوک.

تقسیم بندی تصاویر با U-Net در عمل

معرفی

در این پست وبلاگ، نگاهی به نحوه عملکرد Unet، نحوه پیاده سازی آن و چه داده هایی برای آموزش آن خواهیم داشت. برای این کار در نظر خواهیم گرفت:

  1. به عنوان منبع الهام
  2. Pytorchبه عنوان ابزاری برای اجرای ایده ما.
  3. مسابقه کاگل به عنوان مکانی که می توانیم فرضیه های خود را بر روی داده های واقعی آزمایش کنیم.

ما 100٪ از مقاله پیروی نمی کنیم، اما سعی می کنیم ماهیت آن را اجرا کنیم، آن را با نیازهای خود تطبیق دهیم.

ارائه مشکل

در این کار، تصویری از یک ماشین و ماسک باینری آن (که موقعیت ماشین را در تصویر بومی سازی می کند) به ما داده می شود. ما می خواهیم مدلی بسازیم که بتواند ماشین را از پس زمینه با دقت پیکسل به پیکسل بیش از 99 درصد جدا کند.

برای درک آنچه می خواهیم، ​​تصویر گیف زیر است:

تصویر سمت چپ تصویر اصلی است، در سمت راست ماسکی است که روی تصویر اعمال می شود. ما از یک شبکه عصبی Unet استفاده خواهیم کرد که یاد می گیرد به طور خودکار یک ماسک ایجاد کند.

  1. با تغذیه تصاویر خودروها به شبکه عصبی.
  2. با استفاده از یک تابع ضرر، مقایسه خروجی شبکه عصبی با ماسک های مربوطه و بازگشت خطا به شبکه برای یافتن محل اشتباه شبکه.

ساختار کد

کد تا حد امکان ساده شده است تا نحوه عملکرد آن را درک کنید. کد اصلی در این فایل موجود است main.py ، بیایید آن را خط به خط تجزیه و تحلیل کنیم.

کد

ما از طریق کد در main.py و از طریق مقاله تکرار خواهیم کرد. نگران جزئیات پنهان در سایر فایل های پروژه نباشید، ما موارد مورد نیاز را در صورت نیاز به شما نشان خواهیم داد.

بیایید از ابتدا شروع کنیم:

def main (): # Hyperparameters input_img_resize = (572, 572) # تغییر اندازه تصاویر ورودی شبکه عصبی output_img_resize = (388, 388) # تغییر اندازه تصاویر خروجی شبکه عصبی batch_size = 3 epoch = 50 threshold = 0.5 validation_size = 0.2 sample_size = none # - پارامترهای اختیاری threads = cpu_count () use_cuda = torch.cuda.is_available () script_dir = os.path.ab_dirname (os.path. ) # پاسخ‌های تماس آموزشی tb_viz_cb = TensorboardVisualizerCallback (os.path.join (script_dir, "../ logs / tb_viz")) tb_logs_cb = TensorboardLoggerCallback (os.path.join (script/ log_dir, "..b )Model (Script/log_dir, "..b )ver (Model_back) os.path.join (script_dir، "../ output / models / model_" + helpers.get_model_timestamp ())، پر زبان = درست)

در بخش اول، هایپرپارامترهای خود را تعریف می‌کنید، می‌توانید آن‌ها را به دلخواه تغییر دهید، برای مثال بسته به حافظه GPU خود. پارامترهای بهینهتعریف برخی از پارامترهای مفید و پاسخ به تماس ها. TensorboardVisualizer Callback کلاسی است که پیش بینی ها را در آن ذخیره می کند تانسوربرددر هر دوره از فرآیند آموزش، TensorboardLoggerCallback مقادیر توابع از دست دادن و پیکسل به پیکسل "دقت" را در آن ذخیره می کند تانسوربرد... و در نهایت ModelSaverCallback پس از اتمام آموزش، مدل شما را ذخیره می کند.

# مجموعه داده ها را دانلود کنید ds_fetcher = DatasetFetcher () ds_fetcher. download_dataset ()

این بخش به طور خودکار یک مجموعه داده را از Kaggle بارگیری و استخراج می کند. لطفاً توجه داشته باشید که برای اینکه این کد با موفقیت کار کند، باید یک حساب کاربری Kaggle با لاگین و رمز عبور داشته باشید که باید در متغیرهای محیط قرار داده شود. KAGGLE_USERو KAGGLE_PASSWDقبل از اجرای اسکریپت همچنین لازم است قبل از بارگذاری اطلاعات، قوانین مسابقه را بپذیرید. این را می توان در برگه انجام داددانلود داده های مسابقه

# مسیر فایل‌های شبکه عصبی X_train، y_train، X_valid، y_valid = ds_fetcher.get_train_files (اندازه_نمونه = اندازه_نمونه، اعتبار_اندازه = اندازه_اعتبار) کامل_x_تست = ds_fetcher.get_test_files (تست_پشت_پشت_پشت) (تست_پشت_پشت_پشت_پشت_افیل) script_dir، "../ output / submit.csv.gz")، origin_img_size، آستانه)

این خط تعریف می کند پاسخ به تماسیک تابع برای آزمایش (یا پیش‌بینی). او پیش بینی ها را در یک فایل ذخیره می کند gzipهر بار که یک دسته جدید از پیش بینی ها تولید می شود. بنابراین، پیش بینی ها در حافظه ذخیره نمی شوند، زیرا اندازه آنها بسیار بزرگ است.

پس از پایان فرآیند پیش بینی می توانید فایل دریافتی را ارسال کنید submit.csv.gzاز پوشه خروجی به Kaggle.

# - معماری شبکه عصبی ما را تعریف کنید# کاغذ اصلی 1 کانال ورودی دارد، در مورد ما 3 (RGB) net = unet_origin داریم. UNetOriginal ((3، * img_resize)) طبقه بندی کننده = nn. طبقه بندی. CarvanaClassifier (net, epochs) بهینه ساز = optim. SGD (خالص. پارامترها ()، lr = 0.01، تکانه = 0.99) train_ds = TrainImageDataset (X_train، y_train، input_img_resize، output_img_resize، X_transform = aug.augment_img) train_loader_train_damplers,samplers=pin_damplers,samplers=pin_damplers,s. ) valid_ds = TrainImageDataset (X_valid, y_valid, input_img_resize, output_img_resize, threshold = threshold) valid_loader = DataLoader (valid_ds, batch_size, sampler = SequentialSampler (valid_ds), num_workersize

چاپ ( "آموزش در () نمونه و اعتبار سنجی بر روی () نمونه"... فرمت (len (train_loader. مجموعه داده)، len (valid_loader. database)) # آموزش طبقه بندی کننده طبقه بندی کننده. قطار (train_loader، valid_loader، epochs، callbacks =)

test_ds = TestImageDataset (full_x_test، img_resize) test_loader = DataLoader (test_ds، batch_size، sampler = SequentialSampler (test_ds)، num_workers = threads، pin_memory = use_cuda) # پیش بینی و ذخیره طبقه بندی کننده. پیش بینی (test_loader، callbacks =) pred_saver_cb. close_saver ()

در نهایت، همان کار را انجام می دهیم، اما برای اجرای پیش بینی. ما تماس می گیریم pred_saver_cb.close_saver () برای پاک کردن و بستن فایلی که حاوی پیش بینی ها است.

پیاده سازی معماری شبکه های عصبی

مقاله Unet رویکردی برای تقسیم بندی تصاویر پزشکی ارائه می دهد. با این حال، به نظر می رسد که این رویکرد می تواند برای سایر وظایف تقسیم بندی نیز استفاده شود. از جمله برای موردی که اکنون قرار است روی آن کار کنیم.

قبل از رفتن به جلو، باید حداقل یک بار کل مقاله را بخوانید. اگر درک کاملی از ریاضی ندارید، نگران نباشید، می توانید از این بخش و همچنین فصل آزمایش صرف نظر کنید. هدف ما دستیابی به تصویر بزرگ است.

هدف مقاله اصلی با ما متفاوت است، ما باید برخی از قسمت ها را با توجه به نیاز خود تطبیق دهیم.

در زمان نگارش مقاله، 2 چیز وجود نداشت که اکنون برای سرعت بخشیدن به همگرایی شبکه عصبی مورد نیاز است:

  1. BatchNorm.
  2. پردازنده های گرافیکی قدرتمند

اولین مورد فقط 3 ماه قبل اختراع شد Unetو احتمالاً برای نویسندگان خیلی زود است Unetآن را به مقاله خود اضافه کردند.

به روز BatchNormتقریبا در همه جا استفاده می شود. اگر می‌خواهید به مقاله 100% امتیاز دهید، می‌توانید از شر آن در کد خلاص شوید، اما ممکن است نتوانید همگرای وب را مشاهده کنید.

در مورد پردازنده های گرافیکی، مقاله می گوید:

برای به حداقل رساندن سربار و حداکثر استفاده از حافظه GPU، کاشی‌های ورودی بزرگ را به اندازه دسته‌ای بزرگ ترجیح می‌دهیم و از این رو دسته را به یک تصویر واحد کاهش می‌دهیم.

آنها از یک GPU با 6 گیگابایت رم استفاده کردند، اما اکنون GPU حافظه بیشتری برای قرار دادن تصاویر در یک دسته دارد. دسته فعلی سه تایی برای یک GPU در یک GPU با 8 گیگابایت رم کار می کند. اگر چنین کارت گرافیکی ندارید، سعی کنید دسته را به 2 یا 1 کاهش دهید.

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

حال بیایید از ابتدا با طراحی معماری شبکه عصبی شروع کنیم:

این چیزی است که Unet به نظر می رسد. شما می توانید یک پیاده سازی معادل پیدا کنید Pytorch در ماژول nn.unet_origin.py.

تمام کلاس های این فایل حداقل 2 متد دارند:

  • __ابتدا __ ()جایی که لایه های شبکه عصبی خود را مقداردهی اولیه می کنیم.
  • رو به جلو ()زمانی که شبکه عصبی یک ورودی دریافت می کند، روشی فراخوانی می شود.

بیایید به جزئیات پیاده سازی نگاهی بیندازیم:

  • ConvBnRelu یک بلوک حاوی عملیات Conv2D، BatchNorm و Relu است. به جای تایپ 3 مورد از آنها برای هر پشته رمزگذار (گروه عملیات پایین) و پشته های رمزگشا (گروه عملیات بالا)، آنها را در این شی گروه بندی می کنیم و در صورت نیاز مجدداً از آن استفاده می کنیم.
  • StackEncoder کل "پشته" عملیات، از جمله عملیات را در بر می گیرد ConvBnReluو MaxPoolمانند زیر:



ما در حال پیگیری عقب نشینی آخرین عملیات هستیم ConvBnRelu v x_traceو آن را برگردانید زیرا ما این خروجی را با استفاده از پشته های رمزگشا به هم متصل خواهیم کرد.

  • StackDecoderهمان StackEncoder است، اما برای عملیات رمزگشایی که در زیر با رنگ قرمز احاطه شده است:



توجه داشته باشید که با عبور کردن در down_tensor که چیزی بیش از تانسور x_trace است که توسط ما بازگردانده شده است، عملیات trim / الحاق (که با نارنجی احاطه شده است) را در نظر می گیرد. StackEncoder .

  • UNetOriginalجایی است که جادو اتفاق می افتد. این شبکه عصبی ماست که تمام آجرهای کوچک بالا را جمع آوری می کند. مواد و روش ها شروع کنیدو رو به جلوواقعا مشکل هستند، آنها یک دسته اضافه می کنند StackEncoder ، قسمت مرکزی و در انتها چندین StackDecoder ... سپس خروجی را می گیریم StackDecoder ، طبق مقاله یک پیچیدگی 1x1 به آن اضافه کنید، اما به جای تعریف دو فیلتر به عنوان خروجی، فقط 1 را تعریف می کنیم که در واقع پیش بینی ماسک سیاه و سفید ما خواهد بود. در مرحله بعد، خروجی خود را کوچک می کنیم تا اندازه کانال حذف شود (فقط 1، بنابراین نیازی به ذخیره آن نداریم).

اگر می خواهید جزئیات هر بلوک را بیشتر بدانید، یک نقطه شکست اشکال زدایی را در متد فوروارد هر کلاس قرار دهید تا اشیا را با جزئیات مشاهده کنید. همچنین می توانید شکل تانسورهای خروجی خود را بین لایه ها با چاپ ( x.size () ).

آموزش شبکه های عصبی

  1. عملکرد از دست دادن

حالا به دنیای واقعی. بر اساس مقاله:

تابع انرژی توسط یک soft-max از نظر پیکسل بر روی نقشه ویژگی نهایی همراه با تابع تلفات متقاطع آنتروپی محاسبه می شود.

واقعیت این است که در مورد ما می خواهیم استفاده کنیمضریب تاس به‌عنوان تابعی از تلفات به‌جای آنچه که آنها «تابع انرژی» می‌نامند، زیرا این معیاری است که در آن استفاده می‌شودمسابقه کاگل که تعریف شده است:

ایکسپیش بینی ما است و Y- یک ماسک به درستی علامت گذاری شده روی شی فعلی. | X |به معنای اصلی بودن مجموعه است ایکس(تعداد عناصر در این مجموعه) و ∩ برای تقاطع بین ایکسو Y.

کد ضریب تاس را می توان در این قسمت یافت nn.losses.SoftDiceLoss .

کلاس SoftDiceLoss (nn.Module): def __init __ (خود، وزن = هیچ، اندازه_متوسط ​​= درست): فوق العاده (SoftDiceLoss، self) .__ init __ () def forward (self, logits, targets): صاف = 1 num = targets.size (0) probs = F.sigmoid (logits) m1 = probs.view (num, - 1) m2 = targets.view (num, - 1) تقاطع = (m1 * m2) امتیاز = 2. * (تقاطع. مجموع (1) + هموار) / (m1.sum (1) + m2.sum (1) + صاف) امتیاز = 1 - score.sum () / تعداد امتیاز بازگشت

دلیل اینکه تقاطع به صورت ضرب اجرا می شود و کاردینالیته به عنوان جمع () بر محور 1 (مجموع سه کانال) این است که پیش بینی ها و هدف هستند یک داغ کدگذاری شده است بردارها

به عنوان مثال، فرض کنید پیش بینی در پیکسل (0، 0) 0.567 و هدف 1 باشد، 0.567 * 1 = 0.567 به دست می آوریم. اگر هدف 0 باشد، در آن موقعیت پیکسل 0 می گیریم.

ما همچنین از ضریب صاف 1 برای پس انتشار استفاده کردیم. اگر پیش بینی آستانه سخت 0 و 1 باشد، انتشار مجدد آن دشوار است از دست دادن تاس.

سپس تلفات تاس را با آنتروپی متقاطع مقایسه می کنیم تا تابع تلفات کل خود را بدست آوریم که می توانید در روش پیدا کنید. _معیار از جانب nn.Classifier.CarvanaClassifier ... طبق مقاله اصلی، آنها همچنین از یک نقشه وزن در تابع کاهش آنتروپی متقاطع استفاده می کنند تا به برخی از پیکسل ها در طول تمرین خطای بیشتری بدهد. در مورد ما، ما به چنین چیزی نیاز نداریم، بنابراین ما فقط از آنتروپی متقاطع بدون هیچ نقشه وزنی استفاده می کنیم.

2. بهینه ساز

از آنجایی که ما با تصاویر زیست پزشکی سروکار نداریم، از تصاویر خود استفاده خواهیم کرد افزایش ... کد را می توان در پیدا کرد img.augmentation.augment_img... در آنجا جابجایی تصادفی، چرخش، چرخاندن و مقیاس بندی را انجام می دهیم.

آموزش شبکه های عصبی

اکنون می توانید شروع به یادگیری کنید. همانطور که در هر دوره پیشرفت می کنید، می توانید پیش بینی های مدل خود را در مجموعه اعتبار سنجی تجسم کنید.

برای این کار باید اجرا کنید تانسوربرددر پوشه logs با استفاده از دستور:

Tensorboard --logdir =. / Logs

نمونه ای از آنچه می توانید در آن ببینید تانسوربردبعد از دوره 1:

تقسیم بندی به معنای انتخاب مناطقی است که با معیارهایی مانند روشنایی همگن هستند. فرمول ریاضی مسئله تقسیم بندی می تواند به صورت زیر باشد.

تابع روشنایی تصویر تحلیل شده باشد. ایکس- زیرمجموعه نهایی هواپیما که در آن
;
- شکافتن ایکسبر روی کزیر مجموعه های متصل غیر خالی
LP- یک محمول در مجموعه تعریف شده است اسو مقادیر واقعی را اگر و فقط در صورت وجود هر جفت نقطه از هر زیرمجموعه در نظر بگیرید معیار همگنی را برآورده می کند.

تقسیم بندی تصویر
توسط محمول LPپارتیشن نامیده می شود
ارضای شرایط:

آ)
;

ب)
;

v)
;

د) مناطق مجاور.

شرایط الف) و ب) به این معنی است که هر نقطه از تصویر باید منحصراً به یک منطقه خاص اختصاص داده شود، ج) نوع همگنی مناطق حاصل را تعیین می کند و در نهایت، د) خاصیت "حداکثر" مناطق را بیان می کند. پارتیشن

محمول LPمحمول همگن نامیده می شود و می توان آن را به صورت زیر نوشت:

(1)

جایی که
-رابطه هم ارزی؛
- امتیاز دلخواه از بنابراین، بخش بندی را می توان به عنوان عملگر فرم مشاهده کرد:

جایی که
-عملکردهایی که به ترتیب تصویر اصلی و قطعه بندی شده را تعریف می کنند. -برچسب من-منطقه هفتم

دو رویکرد کلی برای حل مسئله تقسیم بندی وجود دارد که مبتنی بر مفاهیم روش شناختی جایگزین است. رویکرد اول مبتنی بر ایده "ناپیوستگی" ویژگی های نقاط تصویر در انتقال از یک منطقه به منطقه دیگر است. این رویکرد وظیفه تقسیم بندی را به وظیفه انتخاب مرزهای مناطق کاهش می دهد. یک راه حل موفق برای دومی، به طور کلی، شناسایی خود مناطق و مرزهای آنها را ممکن می سازد. رویکرد دوم تمایل به انتخاب نقاط تصویر را که از نظر ویژگی‌های محلی یکسان هستند، و ترکیب آنها در یک ناحیه، که بعداً یک نام یا یک برچسب معنایی به آن داده می‌شود، تحقق می‌بخشد. در ادبیات، رویکرد اول نامیده می شود تقسیم بندی با برجسته کردن مرزهای مناطقو دوم - تقسیم بندی با علامت گذاری نقاط منطقه... تعریف ریاضی بالا از مسئله به شخص اجازه می دهد تا این رویکردها را بر حسب محمول همگنی مشخص کنیم. LP... در مورد اول، به عنوان LPباید یک گزاره وجود داشته باشد که مقادیر واقعی را در نقاط مرزی مناطق و مقادیر نادرست را در نقاط داخلی دریافت کند. با این حال، یک محدودیت قابل توجه در این رویکرد می تواند ذکر شود، که شامل این واقعیت است که پارتیشن اینجا یک مجموعه دو عنصری است. از نظر عملی، این بدان معناست که الگوریتم‌های انتخاب مرزها به برچسب‌های مختلف اجازه نمی‌دهند مناطق مختلف را شناسایی کنند.

برای رویکرد دوم، محمول LPمی تواند شکل تعریف شده توسط رابطه (5.1) را داشته باشد. رویکردهای بالا روش ها و الگوریتم های خاصی را برای حل مسئله تقسیم بندی ایجاد می کنند.

روش تقسیم بندی آستانه ای

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

جایی که s (x، y)- تصویر تقسیم شده؛ ک - تعداد مناطق تقسیم بندی؛
- برچسب های مناطق تقسیم شده؛
- مقادیر آستانه ها، به گونه ای مرتب شده اند
.

در مورد خاص، برای K = 2 آستانه شامل استفاده از یک آستانه واحد است تی... هنگام تخصیص آستانه ها، به عنوان یک قاعده، از هیستوگرام مقادیر تابع روشنایی تصویر استفاده می شود.

الگوریتم تقسیم بندی آستانه شبه کد

ورود: mtrIntens - ماتریس اصلی خاکستری.

l، r - آستانه هیستوگرام

خروج: mtrIntensNew - ماتریس تصویر بخش‌بندی شده

برای i: = 0 به l-1 انجام دادن

برای i: = l به r انجام دادن

برای i: = r + 1 به 255 انجام دادن

LUT [i] = 255;

برای i: = 1 به 100 انجام دادن

برای j: = 1 به 210 انجام دادن

mtrIntensNew: = LUT]

1

روش های ریاضی تقسیم بندی تصویر استاندارد Dicom در نظر گرفته شده است. روش‌های ریاضی تقسیم‌بندی تصویر Dicom برای مشکلات تشخیص تصویر پزشکی در حال توسعه هستند. تشخیص بیماری ها بستگی به صلاحیت محقق دارد و او را ملزم به انجام بصری بخش بندی می کند و روش های ریاضی پردازش تصاویر شطرنجی ابزاری برای این تشخیص است. پردازش تصاویر پزشکی به‌دست‌آمده توسط سخت‌افزار بدون پردازش اولیه داده‌های گرافیکی در بیشتر موارد نتایج نادرستی به دست می‌دهد. مراحل برجسته کردن خطوط اشیاء با روش Canny و الگوریتم‌های اضافی برای پردازش تصاویر شطرنجی انجام شد. نتایج تحقیق این امکان را فراهم می کند که خواص مورفومتریک، هندسی و هیستوگرام سازندهای بدن انسان را که برای درمان بیشتر بیمار ضروری است، محاسبه کرده و درمان دارویی مؤثری را ارائه دهد. اصول توسعه یافته تجزیه و تحلیل تصاویر پزشکی به کمک رایانه به طور موثر برای وظایف عملیاتی تشخیص پزشکی یک موسسه تخصصی سرطان شناسی و همچنین برای اهداف آموزشی استفاده می شود.

الگو شناسی

تقسیم بندی اشیاء مورد علاقه

تصاویر پزشکی

1. Vlasov A.V., Tsapko I.V. اصلاح الگوریتم Canny همانطور که در پردازش تصاویر اشعه ایکس اعمال می شود // Bulletin of Science of Siberia. - 2013. - شماره 4 (10). - س 120-127.

2. Gonzales R., Woods R. پردازش تصویر دیجیتال. - M .: Technosphere, 2006 .-- P. 1072.

3. Kulyabichev Yu.P., Pivtoratskaya S.V. رویکرد ساختاری به انتخاب ویژگی ها در سیستم های تشخیص الگو // علوم طبیعی و فنی. - 2011. - شماره 4. - ص 420–423.

4. Nikitin OR، Pasechnik A.S. کانتورینگ و تقسیم بندی در وظایف تشخیص خودکار آسیب شناسی ها // روش ها و دستگاه های انتقال و پردازش اطلاعات. - 2009. - شماره 11. - ص 300–309.

5. Canny J. یک رویکرد محاسباتی برای تشخیص لبه // IEEE Transactions در تجزیه و تحلیل الگو و هوش ماشین. - 1986. - شماره 6. - P.679–698.

6. DICOM - حالت دسترسی: http://iachel.ru/ zob23tai-staihroe / DICOM

7. Doronicheva A.V.، Sokolov A.A.، Savin S.Z. استفاده از عملگر Sobel برای تشخیص خودکار لبه در تصاویر پزشکی // مجله ریاضیات و علوم سیستم. - 2014. - جلد. 4، شماره 4 - ص 257-260.

8. Jähne B., Scharr H., Körkel S. Principles of filter design // Handbook of Computer Vision and Applications. مطبوعات دانشگاهی. - 1999 .-- 584 ص.

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

هنگام تشخیص تصاویر استاندارد DICOM، ناحیه پاتولوژیک تعیین می شود و هنگامی که ماهیت پاتولوژیک آن تأیید شد، مشکل طبقه بندی حل می شود: اختصاص به هر یک از گونه های شناخته شده یا شناسایی یک کلاس جدید. مشکل آشکار، نقص در تصویر حاصل است که هم به دلیل محدودیت های فیزیکی تجهیزات و هم به دلیل محدودیت های مجاز بار روی بدن انسان است. در نتیجه، این نرم افزار است که وظیفه پردازش اضافی تصاویر را بر عهده دارد تا ارزش تشخیصی آنها را برای پزشک افزایش دهد، آنها را به شکلی راحت تر ارائه دهد و نکته اصلی را از حجم زیاد داده های به دست آمده برجسته کند. .

هدف از مطالعه... روش‌های ریاضی تقسیم‌بندی تصویر Dicom برای مشکلات تشخیص تصویر پزشکی در حال توسعه هستند. تشخیص بیماری ها بستگی به صلاحیت محقق دارد و او را ملزم به انجام بصری بخش بندی می کند و روش های ریاضی پردازش تصاویر شطرنجی ابزاری برای این تشخیص است. پردازش تصاویر پزشکی به‌دست‌آمده توسط سخت‌افزار بدون پردازش اولیه داده‌های گرافیکی در بیشتر موارد نتایج نادرستی به دست می‌دهد. این به این دلیل است که در ابتدا تصاویر با کیفیت نامناسبی به دست آمده بودند.

مواد و روش تحقیق

توموگرام های کامپیوتری بیماران یک موسسه بالینی تخصصی به عنوان مواد تحقیقاتی استفاده می شود. قبل از تجزیه و تحلیل داده های گرافیکی واقعی، لازم است تصویر را آماده کنید یا پیش پردازش انجام دهید. این مرحله مشکل بهبود کیفیت بصری تصاویر پزشکی را حل می کند. مفید است که کل فرآیند پردازش تصویر را به دو دسته کلی تقسیم کنیم: روش هایی که در آن ورودی و خروجی هر دو تصویر هستند. روش‌هایی که در آن داده‌های ورودی تصاویر هستند و در نتیجه کار، داده‌های خروجی علائم و ویژگی‌هایی هستند که بر اساس داده‌های ورودی شناسایی می‌شوند. این الگوریتم به این معنا نیست که هر یک از فرآیندهای فوق روی تصویر اعمال می شود. ثبت داده ها اولین فرآیندی است که در شکل 1 نشان داده شده است. یکی

برنج. 1. مراحل اصلی پردازش دیجیتالی داده های گرافیکی

ثبت می تواند بسیار ساده باشد، مانند مثالی که تصویر اصلی دیجیتال است. به طور معمول، مرحله ثبت تصویر شامل پیش پردازش داده ها، مانند زوم کردن روی یک تصویر است. بهبود تصویر یکی از ساده ترین و چشمگیرترین زمینه های پیش پردازش است. به عنوان یک قاعده، مشکل پیدا کردن پیکسل های ضعیف یا افزایش کنتراست در تصویر اصلی با روش های بهبود محتوای اطلاعات تصاویر تعیین می شود. یکی از روش‌های رایج برای بهبود محتوای اطلاعاتی تصاویر، افزایش کنتراست تصویر است، زیرا مرزهای شی مورد نظر افزایش می‌یابد. باید در نظر داشت که بهبود کیفیت تصویر تا حدی یک کار ذهنی در پردازش تصویر است. بازیابی تصویر - این کار همچنین به بهبود کیفیت بصری داده ها اشاره دارد. روش های بازیابی تصویر بر اساس مدل های ریاضی و احتمالی تغییر شکل داده های گرافیکی است. پردازش تصویر به عنوان یک مرحله باید از مفهوم پردازش تصویر به عنوان کل فرآیند تغییر تصویر و به دست آوردن برخی داده ها جدا شود. بخش بندی یا فرآیند برجسته کردن اشیاء مورد علاقه، یک تصویر را به اشیاء یا قطعات تشکیل دهنده آن تقسیم می کند. انتخاب خودکار اشیاء مورد علاقه، تا حدی، یک کار دشوار در پردازش تصویر دیجیتال است. در صورت نیاز به برجسته کردن اشیاء مورد علاقه، تقسیم بندی بیش از حد دقیق، پردازش تصویر را دشوار می کند. اما تقسیم بندی نادرست یا با جزئیات ناکافی در اکثر وظایف منجر به خطا در مرحله نهایی پردازش تصویر می شود. ارائه و توصیف داده های گرافیکی، به طور معمول، از مرحله برجسته کردن اشیاء مورد علاقه در تصویر پیروی می کند، که خروجی آن، در بیشتر موارد، حاوی پیکسل های خام است که مرزهای منطقه را تشکیل می دهند یا تمام پیکسل های آن را تشکیل می دهند. مناطق با چنین گزینه هایی، لازم است که داده ها را به فرمی در دسترس برای تجزیه و تحلیل کامپیوتری تبدیل کنید. شناسایی الگو فرآیندی است که بر اساس توصیفات یک شی، یک شناسه (مثلاً "شعاع") اختصاص می دهد. بیایید رابطه بین پایگاه دانش و ماژول های پردازش تصویر را تعریف کنیم. پایگاه دانش (یعنی اطلاعات مربوط به ناحیه مشکل) به نوعی در خود سیستم پردازش تصویر رمزگذاری شده است. این دانش می تواند بسیار ساده باشد، مانند یک نشانه دقیق از اشیاء تصویر، جایی که منطقه مورد علاقه باید قرار گیرد. این دانش امکان محدود کردن منطقه جستجو را فراهم می کند. پایگاه دانش عملیات هر ماژول پردازش و تعامل آنها را مدیریت می کند که در شکل 1 منعکس شده است. 1 با فلش هایی که در دو جهت بین ماژول ها و پایگاه دانش اشاره می کنند. ذخیره و چاپ نتایج اغلب به تکنیک های ویژه پردازش تصویر نیز نیاز دارد. عیب این مراحل پردازش تصویر در سیستم پردازش تصویر پزشکی این است که خطاهای ایجاد شده در اولین مراحل پردازش، به عنوان مثال، هنگام ورود یا برجسته کردن اشیاء مورد علاقه در تصویر، می تواند منجر به عدم امکان طبقه بندی صحیح شود. پردازش داده ها کاملاً به صورت متوالی انجام می شود و در بیشتر موارد امکان بازگشت به مراحل قبلی پردازش وجود ندارد، حتی اگر قبلاً نتایج نادرستی به دست آمده باشد. روش ها در مرحله پیش پردازش بسیار متنوع هستند - انتخاب اشیاء مورد علاقه، مقیاس بندی آنها، تصحیح رنگ، تنظیم وضوح فضایی، تغییر کنتراست و غیره. یکی از اقدامات اولویت دار در مرحله پیش پردازش تصویر، تنظیم کنتراست و روشنایی است. هنگام استفاده از ماسک های مناسب، امکان ترکیب دو مرحله (فیلتر کردن و پیش پردازش) برای افزایش سرعت تجزیه و تحلیل داده ها وجود دارد. نتیجه نهایی تجزیه و تحلیل تصویر در بیشتر موارد با سطح کیفیت تقسیم بندی تعیین می شود و درجه جزئیات اشیاء مورد علاقه به کار خاص بستگی دارد. به همین دلیل، هیچ روش یا الگوریتم جداگانه ای که برای حل تمام مشکلات شناسایی اشیاء مورد علاقه مناسب باشد، ایجاد نشده است. کانتورینگ نواحی برای انتخاب اشیا با ویژگی های مشخص شده روی تصاویر در نظر گرفته شده است. این اشیاء، به عنوان یک قاعده، با اشیاء یا قطعات آنها مطابقت دارند که توسط متخصصان تشخیص علامت گذاری می شوند. نتیجه کانتورینگ یک تصویر باینری یا سلسله مراتبی (چند فازی) است که در آن هر سطح از تصویر با کلاس خاصی از اشیاء انتخاب شده مطابقت دارد. بخش‌بندی مرحله دشواری در پردازش و تجزیه و تحلیل داده‌های پزشکی بافت‌های بیولوژیکی است، زیرا لازم است مناطقی را که با اشیاء یا ساختارهای مختلف در سطوح بافت‌شناسی مطابقت دارند، مشخص کرد: سلول‌ها، اندامک‌ها، مصنوعات و غیره. این به دلیل تنوع زیاد پارامترهای آنها، سطح پایین کنتراست تصاویر تجزیه و تحلیل شده و رابطه هندسی پیچیده اشیاء است. در بیشتر موارد، برای به دست آوردن مؤثرترین نتیجه، لازم است به طور مداوم از روش های مختلف تقسیم بندی اشیاء مورد علاقه در تصویر استفاده شود. به عنوان مثال، برای تعیین مرزهای شی مورد نظر، از روش گرادیان مورفولوژیکی استفاده می شود، پس از آن تقسیم بندی آستانه برای مناطقی که برای تفاوت های ناچیز در ویژگی های روشنایی مناسب هستند، انجام می شود. برای پردازش تصاویری که در آن نواحی همگن غیر مرتبط در روشنایی متوسط ​​متفاوت هستند، روش تقسیم بندی Canny انتخاب شد؛ مطالعات بر روی یک مثال بالینی انجام شد. مدل‌سازی برای تشخیص تصاویر بالینی واقعی کاربرد ضعیفی دارد. تجربه عملی و نظرات کارشناسان در مورد نتیجه تجزیه و تحلیل تصویر از اهمیت بالایی برخوردار است. برای تصویر آزمایشی، یک تصویر توموگرافی کامپیوتری انتخاب شد که در آن شی مورد نظر به صراحت وجود دارد، نشان داده شده در شکل. 2.

برنج. 2. تصویر توموگرافی کامپیوتری با موضوع مورد نظر

برای پیاده سازی شاردینگ از روش Canny استفاده می کنیم. این روش در برابر نویز مقاوم است و در بیشتر موارد نتایج بهتری نسبت به روش های دیگر نشان می دهد. روش Canny شامل چهار مرحله است:

1) پیش پردازش - تار کردن تصویر (ما واریانس نویز افزودنی را کاهش می دهیم).

2) انجام تمایز تصویر تار و محاسبه بعدی مقادیر گرادیان در جهت x و y.

3) اجرای نه حداکثر سرکوب در تصویر.

4) آستانه تصویر.

در مرحله اول الگوریتم Canny، تصویر با استفاده از یک ماسک با فیلتر گاوسی صاف می شود. معادله توزیع گاوسی در ابعاد N شکل دارد

یا در مورد خاص برای دو بعد

(2)

جایی که r شعاع تاری است، r 2 = u 2 + v 2; σ انحراف معیار توزیع گاوسی است.

اگر از 2 بعد استفاده کنیم، این فرمول سطح دایره های متحدالمرکزی را که دارای توزیع گاوسی از نقطه مرکزی هستند، تعریف می کند. پیکسل‌هایی با توزیع غیرصفر برای تعریف ماتریس کانولوشن برای اعمال بر روی تصویر اصلی استفاده می‌شوند. مقدار هر پیکسل به یک میانگین وزنی برای همسایگی تبدیل می شود. مقدار پیکسل اولیه حداکثر وزن را به خود اختصاص می دهد (حداکثر مقدار گاوسی را دارد) و پیکسل های همسایه بسته به فاصله تا آنها حداقل وزن را می گیرند. از نظر تئوری، توزیع در هر نقطه از تصویر باید غیر صفر باشد که به دنبال محاسبه ضرایب وزن برای هر پیکسل در تصویر است. اما در عمل، هنگام محاسبه تقریب گسسته تابع گاوسی، پیکسل ها در فاصله> 3σ در نظر گرفته نمی شوند، زیرا نسبتا کوچک است. بنابراین، برنامه پردازش تصویر باید ماتریس × را محاسبه کند تا اطمینان حاصل شود که تقریب توزیع گاوسی به اندازه کافی دقیق است.

نتایج تحقیق و بحث آنها

نتیجه عملکرد فیلتر گاوسی با داده های برابر با 5 برای اندازه ماسک گاوسی و 1.9 برای مقدار پارامتر σ - انحراف استاندارد توزیع گاوسی، در شکل نشان داده شده است. 3. مرحله بعدی جستجوی گرادیان ناحیه مورد نظر با استفاده از کانولوشن تصویر صاف شده با مشتق تابع گاوس در جهت عمودی و افقی بردار است.

اجازه دهید از عملگر Sobel برای حل این مشکل استفاده کنیم. این فرآیند بر اساس حرکت ساده ماسک فیلتر از پیکسلی به پیکسل دیگر در تصویر است. در هر پیکسل (x، y)، پاسخ فیلتر از پیوندهای از پیش تعریف شده محاسبه می شود. نتیجه یک انتخاب اولیه از لبه ها است. مرحله بعدی مقایسه هر پیکسل با همسایگانش در جهت گرادیان و محاسبه حداکثر محلی است. اطلاعات در مورد جهت گرادیان برای حذف پیکسل های نزدیک مرز بدون شکستن خود مرز در نزدیکی ماکزیمم های محلی گرادیان ضروری است، به این معنی که پیکسل های مرزها نقاطی را تعیین می کنند که حداکثر محلی گرادیان در آنها قرار دارد. در جهت بردار گرادیان رسیده است. این رویکرد می تواند به طور قابل توجهی تشخیص لبه های کاذب را کاهش دهد و ضخامت حاشیه جسم یک پیکسل را ارائه می دهد که به طور تجربی با اجرای نرم افزاری الگوریتم برای بخش بندی برش شکم در تصویر توموگرافی کامپیوتری نشان داده شده در شکل زیر تأیید شده است. 4.

گام بعدی استفاده از یک آستانه برای تعیین اینکه مرز در هر پیکسل مشخص در تصویر کجاست. هرچه آستانه کمتر باشد، مرزهای بیشتری در موضوع مورد نظر وجود خواهد داشت، اما نتیجه بیشتر در معرض نویز و ترسیم داده های غیر ضروری تصویر قرار می گیرد. یک آستانه بالا ممکن است لبه های ضعیف یک منطقه را نادیده بگیرد یا مرزی با چندین ناحیه ایجاد کند. ترسیم مرز دو آستانه فیلتر اعمال می کند: اگر مقدار پیکسل بالاتر از مرز بالایی باشد، حداکثر مقدار را می گیرد (حاشیه معتبر در نظر گرفته می شود)، اگر در زیر، پیکسل سرکوب می شود، نقاطی با مقداری در محدوده بین آستانه ها قرار می گیرند. یک مقدار متوسط ​​ثابت اگر پیکسلی در یکی از هشت جهت آن را لمس کند به گروهی می پیوندد. یکی از مزایای روش Canny این است که در هنگام پردازش تصویر، انطباق با ویژگی های تقسیم بندی انجام می شود. این از طریق معرفی آستانه برش داده های اضافی دو سطحی به دست می آید. دو سطح آستانه تعیین می شود، سطح بالایی p بالا و سطح پایینی p پایین است، جایی که p بالا> p پایین است. مقادیر پیکسل بالاتر از مقدار بالای p مطابق با مرز مشخص می شوند (شکل 5).

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

برنج. 4. سرکوب غیر ماکزیمم در تصویر قطعه بندی شده

برنج. 5. استفاده از الگوریتم تقسیم بندی Canny با مقادیر مختلف سطوح آستانه

تمرین نشان می دهد که فاصله مشخصی در مقیاس سطوح آستانه حساسیت وجود دارد که در آن مقدار ناحیه مورد نظر تقریباً بدون تغییر است، اما در عین حال یک سطح آستانه مشخص وجود دارد، پس از آن یک "تجزیه" روش کانتورینگ ذکر شده و نتیجه شناسایی مناطق مورد علاقه نامشخص می شود. این نقص الگوریتم را می توان با ترکیب الگوریتم Canny با تبدیل Hough برای یافتن دایره ها جبران کرد. ترکیبی از الگوریتم ها این امکان را فراهم می کند تا موضوعات مورد مطالعه را تا حد امکان به وضوح برجسته کنید و همچنین شکاف ها را در خطوط از بین ببرید.

نتیجه گیری

بنابراین، مشکل فرمول بندی ویژگی های معمولی اشیاء پاتولوژیک در تصاویر پزشکی حل شده است، که امکان انجام تجزیه و تحلیل عملیاتی داده ها در مورد آسیب شناسی های خاص را در آینده ممکن می کند. پارامترهای مهم برای تعیین ارزیابی کیفیت بخش‌بندی، احتمال هشدارهای نادرست و عدم موفقیت - امتناع است. این پارامترها کاربرد اتوماسیون روش تحلیل را تعیین می کنند. تقسیم بندی در حل مشکل طبقه بندی و تشخیص اشیاء در تصاویر یکی از مهمترین موارد است. روش‌های کانتورینگ مبتنی بر تقسیم‌بندی مرزهای نواحی - Sobel، Canny، Prewit، Laplassian - به خوبی مورد تحقیق و استفاده قرار گرفته‌اند. این رویکرد با این واقعیت تعیین می شود که تمرکز توجه شخص در هنگام تجزیه و تحلیل تصویر اغلب بر روی مرزهای بین مناطق کم و بیش همگن از نظر روشنایی متمرکز است. بر این اساس، خطوط اغلب به عنوان مبنایی برای تعریف ویژگی های مختلف برای تفسیر تصاویر و اشیاء در آنها عمل می کنند. وظیفه اصلی الگوریتم‌ها برای تقسیم‌بندی مناطق مورد نظر، ساخت یک تصویر باینری است که شامل مناطق داده‌های ساختاری بسته در تصویر است. در رابطه با تصاویر پزشکی، این مناطق مرز اندام ها، وریدها، MCC و همچنین تومورها هستند. اصول توسعه یافته تجزیه و تحلیل تصاویر پزشکی به کمک رایانه به طور موثر هم برای وظایف عملیاتی تشخیص پزشکی یک موسسه تخصصی سرطان شناسی و هم برای اهداف آموزشی استفاده می شود.

تحقیق با حمایت برنامه «شرق دور»، کمک مالی شماره 15-I-4-014o.

داوران:

Kosykh N.E.، دکترای علوم پزشکی، پروفسور، محقق ارشد، FGBUN "مرکز محاسباتی" FEB RAS، خاباروفسک؛

Levkova EA، MD، DSc، استاد دانشگاه حمل و نقل ایالتی خاور دور، خاباروفسک.

مرجع کتابشناختی

Doronicheva A.V., Savin S.Z. روش تقسیم بندی تصاویر پزشکی // تحقیقات بنیادی. - 2015. - شماره 5-2. - س 294-298;
URL: http://fundamental-research.ru/ru/article/view?id=38210 (تاریخ دسترسی: 06.04.2019). مجلات منتشر شده توسط "آکادمی علوم طبیعی" را مورد توجه شما قرار می دهیم.

اگر مجبور نباشید بیشتر وقت خود را صرف علامت گذاری دقیق اشیا نکنید، ویرایش تصاویر و ایجاد کلاژ بسیار هیجان انگیز خواهد بود. وقتی مرزهای اشیاء محو شده یا شفافیت وجود داشته باشد، کار حتی دشوارتر می شود. ابزارهای فتوشاپ مانند کمند مغناطیسی و چوب جادویی چندان هوشمند نیستند زیرا فقط بر روی ویژگی های تصویر سطح پایین تمرکز می کنند. آنها مرزهای سخت (سخت) را برمی گردانند، که سپس باید به صورت دستی اصلاح شوند. رویکرد Semantic Soft Segmentation Adobe به حل این کار دلهره آور با برش دادن یک تصویر به لایه های مربوط به مناطق معنادار معنادار و افزودن انتقال های صاف در لبه ها کمک می کند.

تقسیم بندی "نرم".

گروهی از محققان از آزمایشگاه CSAIL در MIT و دانشگاه سوئیس ETH Zürich، که تحت رهبری یاگیز آکسوی کار می‌کنند، رویکردی برای این مشکل بر اساس تقسیم‌بندی طیفی پیشنهاد کردند و پیشرفت‌های مدرن در یادگیری عمیق را به آن اضافه کردند. با کمک اطلاعات بافت و رنگ و همچنین ویژگی های معنایی سطح بالا استخراج شده، نموداری از نوع خاص از تصویر ساخته می شود. سپس ماتریس Kirchhoff (ماتریس لاپلاسی) از این نمودار ساخته می شود. با استفاده از تجزیه طیفی این ماتریس، الگوریتم خطوط نرمی از اجسام را ایجاد می کند. سپس می توان از برش دادن تصویر به لایه ها که با استفاده از بردارهای ویژه به دست می آید برای ویرایش استفاده کرد.

مروری بر رویکرد پیشنهادی

توضیحات مدل

بیایید روش ایجاد لایه‌های معنی‌دار را مرحله به مرحله در نظر بگیریم:

1. ماسک طیفی.رویکرد پیشنهادی کار لوین و همکارانش را ادامه می‌دهد که برای اولین بار از ماتریس Kirchhoff در مسئله ساخت ماسک خودکار استفاده کردند. آنها یک ماتریس L ساختند که شباهت زوجی بین پیکسل ها را در برخی از مناطق محلی تعریف می کند. با استفاده از این ماتریس، آنها تابع درجه دوم αᵀLα را با محدودیت‌های مشخص شده توسط کاربر به حداقل می‌رسانند، جایی که α بردار مقادیر شفافیت را برای همه پیکسل‌های یک لایه مشخص می‌کند. هر کانتور نرم ترکیبی خطی از بردارهای ویژه K مربوط به کوچکترین مقادیر ویژه L است که به اصطلاح پراکندگی ماسک را به حداکثر می رساند.

2. میل به رنگبرای محاسبه علائم مجاورت رنگی غیرمحلی، محققان 2500 سوپرپیکسل تولید می کنند و نزدیکی بین هر سوپرپیکسل و همه سوپرپیکسل های همسایه را با شعاع 20 درصد از اندازه تصویر تخمین می زنند. استفاده از مجاورت غیر محلی تضمین می کند که مناطق با رنگ های بسیار مشابه در صحنه های پیچیده مانند تصویر زیر منسجم باقی می مانند.

مجاورت رنگ غیر محلی

3. قرابت معناییاین مرحله به شما این امکان را می دهد که مناطق مرتبط با معنایی تصویر را انتخاب کنید. مجاورت معنایی ادغام پیکسل هایی را که متعلق به یک شی صحنه هستند را تشویق می کند و پیکسل های ادغام اشیاء مختلف را جریمه می کند. در اینجا، محققان از پیشرفت‌های قبلی در تشخیص الگو استفاده می‌کنند و برای هر پیکسل، یک بردار ویژگی را محاسبه می‌کنند که با شی پیکسل همبستگی دارد. بردارهای ویژگی با استفاده از یک شبکه عصبی محاسبه می شوند که در ادامه با جزئیات بیشتر به آن خواهیم پرداخت. قرابت معنایی، مانند رنگ، بر حسب سوپرپیکسل ها تعریف می شود. با این حال، بر خلاف قرابت رنگی، قرابت معنایی تنها نزدیک‌ترین سوپرپیکسل‌ها را به هم پیوند می‌دهد و ایجاد اشیاء منسجم را تشویق می‌کند. ترکیبی از مجاورت رنگی غیرمحلی و نزدیکی معنایی محلی، ایجاد لایه‌هایی را ممکن می‌سازد که تصاویر قطعه‌ای از یک شیء مرتبط معنایی (به عنوان مثال، پوشش گیاهی، آسمان، سایر انواع پس‌زمینه) را که در فضا قطع شده‌اند، پوشش می‌دهند.

قرابت معنایی

4. ایجاد لایه هادر این مرحله با استفاده از مجاورت محاسبه شده قبلی، ماتریس L ساخته می شود و از این ماتریس بردارهای ویژه مربوط به 100 کوچکترین مقادیر ویژه استخراج می شود و سپس الگوریتم پراکندگی اعمال می شود که 40 بردار را از آنها استخراج می کند که در امتداد آنها. لایه ها ساخته می شوند. سپس تعداد لایه‌ها دوباره با استفاده از الگوریتم خوشه‌بندی k-means در k = 5 کاهش می‌یابد. این کار بهتر از کاهش دادن 100 بردار ویژه به 5 است، زیرا چنین کاهش شدیدی در ابعاد باعث می‌شود مشکل لغو شود. محققان تعداد نهایی کانتورها را 5 انتخاب کردند و استدلال می کنند که این عدد معقولی برای اکثر تصاویر است. با این حال، بسته به تصویر در حال پردازش، می توان این عدد را به صورت دستی تغییر داد.


خطوط نرم قبل و بعد از گروه بندی

5. بردارهای ویژگی معناییبرای محاسبه مجاورت معنایی، از بردارهای ویژگی استفاده شد که با استفاده از شبکه عصبی محاسبه شد. شبکه عصبی مبتنی بر DeepLab-ResNet-101 است که بر روی مسئله پیش‌بینی متریک آموزش دیده است. در طول آموزش، به حداکثر رساندن فاصله L2 بین ویژگی های اشیاء مختلف تشویق شد. بنابراین، شبکه عصبی فاصله بین ویژگی های مربوط به یک کلاس را به حداقل می رساند و در مورد دیگر فاصله را به حداکثر می رساند.

مقایسه کیفی با روش های مشابه

تصاویر زیر نتایج رویکرد پیشنهادی (با برچسب "نتیجه ما") را در مقایسه با نتایج نزدیکترین رویکرد تقسیم‌بندی نرم - روش پوشش طیفی - و دو روش تقسیم‌بندی معنایی پیشرفته نشان می‌دهد: صحنه PSPNet. روش پردازش و روش تقسیم شیء Mask R-CNN.


مقایسه کیفی تقسیم‌بندی معنایی نرم با سایر رویکردها

می توان جایگزین کرد که PSPNet و Mask R-CNN مستعد خطا در مرزهای اشیا هستند و خطوط نرم ساخته شده با روش طیفی اغلب فراتر از مرزهای اشیاء هستند. در عین حال، روش توصیف شده به طور کامل شی را بدون ترکیب با دیگران پوشش می دهد و دقت بالایی در لبه ها به دست می آورد و در صورت لزوم انتقال های نرم را اضافه می کند. با این حال، باید توجه داشت که ویژگی‌های معنایی مورد استفاده در این روش، بین دو شی متفاوت متعلق به یک کلاس تمایز قائل نمی‌شوند. در نتیجه چندین اشیاء روی یک لایه ارائه می شوند که در نمونه تصاویر زرافه ها و گاوها قابل مشاهده است.

ویرایش تصاویر با خطوط معنایی نرم

در زیر چند نمونه از نحوه استفاده از مسیرهای نرم برای ویرایش تصاویر و ایجاد کلاژ آورده شده است. از مسیرهای نرم می توان برای اعمال ویرایش های خاص بر روی لایه های مختلف استفاده کرد: افزودن تاری حرکت (2)، تنظیمات رنگ جداگانه برای افراد و پس زمینه (5، 6)، یک ظاهر طراحی جداگانه برای بالون، آسمان، منظره، و شخص (8) ... البته، همین کار را می توان با استفاده از ماسک های ایجاد شده به صورت دستی یا الگوریتم های کلاسیک برای انتخاب کانتور انجام داد، اما با انتخاب خودکار اشیاء معنی دار، چنین ویرایشی بسیار آسان تر می شود.

استفاده از تقسیم بندی معنایی نرم برای ویرایش تصویر

نتیجه

این روش با استفاده از ترکیبی از اطلاعات سطح بالا از شبکه عصبی و ویژگی های سطح پایین، به طور خودکار خطوط نرم مربوط به مناطق معنادار تصویر را ایجاد می کند. با این حال، این روش دارای چندین محدودیت است. اول، نسبتا کند است: زمان پردازش برای یک تصویر 640 x 480 3-4 دقیقه است. ثانیاً این متد لایه های مجزایی برای اشیاء مختلف یک کلاس ایجاد نمی کند. و ثالثاً، همانطور که در زیر نشان داده شده است، این روش می تواند در مراحل اولیه پردازش در مواردی که رنگ اشیاء بسیار مشابه است (مثال بالا) یا هنگام ترکیب مسیرهای نرم نزدیک مناطق انتقال بزرگ (مثال پایین) اشتباه کند.

موارد خطای الگوریتم

با این حال، مسیرهای نرم ایجاد شده با استفاده از روش توصیف شده، یک نمایش میانی مناسب از تصویر را ارائه می دهند، که به شما امکان می دهد زمان و تلاش کمتری را هنگام ویرایش تصاویر صرف کنید.

مقالات مرتبط برتر