পাতায় শিরাগুলি ভাগ করার সর্বোত্তম উপায়?


47

আমি প্রচুর গবেষণা করেছি এবং পাতায় শিরা সনাক্তকরণে ব্যবহারযোগ্য অ্যাডাপটিভ থ্রোসোল্ডিং, ওয়াটারশেড ইত্যাদি পদ্ধতি খুঁজে পেয়েছি। তবে থ্রেশহোল্ডিংটি ভাল নয় কারণ এটি প্রচুর আওয়াজ দেয়

আমার সমস্ত চিত্র ধূসর চিত্র, দয়া করে সাহায্যের জরুরী প্রয়োজনে এই সমস্যাটি বিবেচনা করার সময় দয়া করে কেউ কী কী গ্রহণ করতে পারে সে সম্পর্কে পরামর্শ দিতে পারে

সম্পাদনা: আমার মূল চিত্র

এখানে চিত্র বর্ণনা লিখুন

থ্রেশোল্ডিংয়ের পরে

এখানে চিত্র বর্ণনা লিখুন

উত্তর দ্বারা প্রস্তাবিত হিসাবে আমি নিম্নলিখিত প্রান্ত সনাক্তকরণ চেষ্টা করেছি

  1. মিতব্যয়ী

খুব বেশি শব্দ এবং অযাচিত ঝামেলা

এখানে চিত্র বর্ণনা লিখুন

  1. সোবেল

এখানে চিত্র বর্ণনা লিখুন

  1. রবার্টস

এখানে চিত্র বর্ণনা লিখুন

সম্পাদনা: আরও একবার অপারেশন করার চেষ্টা করেছি আমি ক্যানি এবং অভিযোজক দিয়ে যা চেষ্টা করেছি তার থেকে নীচের ফলাফলটি আরও ভাল ফলাফল পেয়েছি আপনি কী অনুভব করছেন?

এখানে চিত্র বর্ণনা লিখুন


আপনি কি আমাদের কিছু ছবি দেখাতে পারেন?
জোনাস

আমি চিত্রগুলি জুড়েছি
ভিনি

@ ভিনি আপনি কি পরে কোনও ভাল টেম্পলেট ম্যাচ পাওয়ার জন্য প্রাক প্রসেসিং পদক্ষেপ হিসাবে এটি করছেন? এছাড়াও, সাধারণ থ্রোহোল্ডিংয়ের মাধ্যমে আপনি দ্বিতীয় চিত্রটি কীভাবে পেলেন?
স্পেসি

আমার উদ্দেশ্যটি শিরাগুলিকে ভাগ করার ক্ষেত্রে সর্বোত্তম সম্ভাব্য ফলাফল অর্জন করা যাতে আমার আউটপুটটিতে ভ্রমন শিল্পকর্ম না থাকে, আমি দ্বিতীয় চিত্র পেতে
অ্যাডেটিভ থ্রোসোল্ডিং

আপনার দেওয়া চিত্রগুলি থেকে দেখে মনে হচ্ছে আপনি একটি চৌম্বকীয় চিত্রটিতে (বিভিন্ন) ফিল্টার ব্যবহার করছেন। এটি অত্যন্ত খারাপ ফলাফল দেবে। আপনার মূল চিত্রটিতে ফিল্টার ব্যবহার করা উচিত , তারপরে তাদের আউটপুটটি প্রান্তিক করা উচিত।
বেনজাহান

উত্তর:


56

আপনি প্রান্তগুলি খুঁজছেন না (= উচ্চ এবং নিম্ন ধূসর মানের প্রসারিত অঞ্চলের মধ্যে সীমানা), আপনি শিরাগুলি খুঁজছেন (পাতলা রেখাগুলি তাদের আশেপাশের চেয়ে গাer় বা উজ্জ্বল), তাই প্রান্ত ফিল্টারগুলি আদর্শ নাও হতে পারে: একটি প্রান্ত ফিল্টার হবে আপনাকে দুটি ফ্ল্যাঙ্ক দেবে (লাইনের প্রতিটি পাশে একটি) এবং লাইনের মাঝখানে একটি কম প্রতিক্রিয়া:

ফিল্টার নমুনা

যোগ করুন : যদি একটি প্রান্ত ডিটেক্টর এবং একটি রিজ ডিটেক্টর এর মধ্যে পার্থক্যটি আরও স্পষ্টভাবে ব্যাখ্যা করতে বলা হয়। এই উত্তরটি যদি খুব দীর্ঘ হয় তবে আমি আগে থেকে ক্ষমা চাই।

একটি প্রান্ত সনাক্তকারী হ'ল (সাধারণত) প্রথম ডেরাইভেটিভ অপারেটর: আপনি যদি 3 ডি ল্যান্ডস্কেপ হিসাবে ইনপুট চিত্রটি কল্পনা করেন তবে একটি প্রান্ত সনাক্তকারী সেই ল্যান্ডস্কেপের প্রতিটি পয়েন্টে opeালটির খাড়াতা পরিমাপ করে:

এখানে চিত্র বর্ণনা লিখুন

আপনি যদি প্রসারিত উজ্জ্বল বা অন্ধকার অঞ্চলের সীমানা সনাক্ত করতে চান তবে এটি ঠিক আছে। তবে ওপি-র চিত্রের শিরাগুলির জন্য এটি আপনাকে একই রকম করবে: প্রতিটি শিরাটির বাম এবং ডানদিকে রূপরেখা:

এখানে চিত্র বর্ণনা লিখুন

এটি ক্যানি এজ ডিটেক্টর ফলাফলগুলিতে "ডাবল লাইনের প্যাটার্ন" ব্যাখ্যা করে:

এখানে চিত্র বর্ণনা লিখুন

তাহলে, আপনি কীভাবে এই পাতলা রেখাগুলি সনাক্ত করতে পারেন (অর্থাত্ রেডস)? ধারণাটি হ'ল পিক্সেল মানগুলি (স্থানীয়ভাবে) ২ য় অর্ডার বহুপদী দ্বারা সমান হতে পারে, অর্থাত্ যদি চিত্রের ফাংশনটি , তবে এবং এর ছোট মানগুলির জন্য :gxy

g(x,y)12x22gx2+xy2gxy+12y22gy2+xgx+ygy+g(0,0)

বা, ম্যাট্রিক্স আকারে:

g(x,y)12(xy).(2gx22gxy2gxy2gy2).(xy)+(xy).(gxgy)+g(0,0)

দ্বিতীয় ক্রমের ডেরাইভেটিভ ম্যাট্রিক্স বলা হয় " হেসিয়ান ম্যাট্রিক্স "। এটি আমাদের আগ্রহী ২ য় অর্ডার কাঠামো বর্ণনা করে।(2gx22gxy2gxy2gy2)

এই ফাংশনের ২ য় অর্ডার অংশটি দুটি কোণে দ্বারা ঘোরানো দুটি প্যারোব্লাস যোগফলকে এর ডায়াগোনাল ম্যাট্রিক্সকে ঘূর্ণনের সময়ে উপরের দিকে হেসিয়ান ম্যাট্রিক্সকে ঘূর্ণন করে রূপান্তরিত করা যেতে পারে ( ম্যাট্রিক্স পচে যাওয়া ) আমরা ঘূর্ণন সম্পর্কে কোনও চিন্তা করি না (আমরা যে কোনও দিকনির্দেশে শ্যাওলা সনাক্ত করতে চাই), তাই আমরা কেবলমাত্র এবংλ1x2+λ2y2λ1λ2

এই ফাংশনটি প্রায় কী ধরণের আকার ধারণ করতে পারে? আসলে, অনেকগুলি না:

এখানে চিত্র বর্ণনা লিখুন

উপত্যকাগুলি সনাক্ত করতে, আমরা চিত্রের এমন অঞ্চলগুলি সন্ধান করতে চাই যা উপরের প্লটগুলির শেষের মতো দেখায়, তাই আমরা এমন অঞ্চলগুলি সন্ধান করছি যেখানে হেসিয়ানের প্রধান ইজানুয়ালু বৃহত্তর (গৌণ স্থানীয় স্থানের তুলনায়)। এটি সনাক্ত করার সহজ উপায় হ'ল প্রতিটি পিক্সেলের প্রধান ইগনুয়ালু গণনা করা - এবং এটি নীচে রিজ ফিল্টারটি করে।


একটি রিজ ফিল্টার সম্ভবত আরও ভাল ফলাফল দেবে। আমি RidgeFilterআপনার চিত্রটিতে গাণিতিকের অন্তর্নির্মিত চেষ্টা করেছি (যা প্রতিটি পিক্সেলটিতে হেসিয়ান ম্যাট্রিক্সের প্রধান ইগনুয়ালু গণনা করে):

রিজ ফিল্টার

আপনি দেখতে পাচ্ছেন, প্রতিটি পাতলা অন্ধকার রেখার জন্য কেবল একটি একক শীর্ষ রয়েছে। বাইনারিাইজিং এবং কঙ্কালের ফলন:

এখানে চিত্র বর্ণনা লিখুন

কঙ্কাল ছাঁটাই এবং চিত্র থেকে ছোট উপাদান (শব্দ) সরিয়ে দেওয়ার পরে, আমি এই চূড়ান্ত কঙ্কালটি পেয়েছি:

এখানে চিত্র বর্ণনা লিখুন

সম্পূর্ণ গাণিতিক কোড:

ridges = RidgeFilter[ColorNegate@src];
skeleton = SkeletonTransform[Binarize[ridges, 0.007]];
DeleteSmallComponents[Pruning[skeleton, 50], 50]

যোগ করুন

আমি কোনও মতলব বিশেষজ্ঞ নই, এটির রিজ ফিল্টারটি অন্তর্নির্মিত কিনা তা আমি জানি না, তবে কীভাবে এটি "হাতে" প্রয়োগ করা যায় তা (আমি আবার মেটেম্যাটিকা ব্যবহার করে) আপনাকে দেখাতে পারি। যেমনটি আমি বলেছি, রিজ ফিল্টার হেসিয়ান ম্যাট্রিক্সের প্রধান ইগেনভ্যালু। ম্যাথমেটিকায় আমি প্রতীকীভাবে এই ইগেনুয়ালুটি গণনা করতে পারি:

eigenvalue=Last[Eigenvalues[(HxxHxyHxyHyy)]]

=>12(Hxx+Hyy+Hxx2+4Hxy22HxxHyy+Hyy2)

সুতরাং আপনাকে যা করতে হবে তা হল দ্বিতীয় ডেরিভেটিভগুলি , , (গাউসীয় ফিল্টারটির উত্সাহিত বা ডেরিভেটিভ ব্যবহার করে) গণনা করা এবং সেগুলি সন্নিবেশ করানো উপরের অভিব্যক্তিটিতে, এবং আপনি আপনার রিজ ফিল্টার পেয়েছেন। এইচ XY এইচ yyHxxHxyHyy


হ্যাঁ আমি যা চাই তা ঠিক তাই করি তবে আমি এটি মাতলাবে করছি এবং রিজ ফিল্টারটির সমতুল্য খুঁজে পাওয়া শক্ত হয়ে গেছে
ভিনি

1
@ নিকি খুব সুন্দর উত্তর - প্রশ্ন - আপনি কি আমাদের জন্য নন-ইমেজ প্রক্রিয়াজাতকরণের জন্য একটি এজ ডিটেক্টর এবং রিজ ডিটেক্টর মধ্যে পার্থক্যটি বিস্তারিতভাবে বর্ণনা করতে পারেন? আবার ধন্যবাদ
স্পেসি

@ মোহাম্মদ: আমি চেষ্টা করেছি, আমি আশা করি গণিত সত্ত্বেও আমি এটি এখন আরও স্পষ্ট করে
তুলেছি

আমি চেষ্টা করেছি রিজ ফিল্টার সন্তোষজনক ফলাফল দেয় না
ভিনি

2
@ ভিনি: "সন্তোষজনক ফলাফল দেয় না" সত্যিই আমাকে বেশি কিছু বলে না। আমি পোস্ট করা হিসাবে আপনি একই ফলাফল ইমেজ পেতে? "সন্তোষজনক নয়" কী?
নিকি এস্টনার

6

ক্যানি এজ সনাক্তকরণ (হালকনে) ব্যবহার করার সময়, আলফাটি 1 এবং নিম্ন থ্রেশহোল্ড 8 এবং উচ্চ প্রান্তিক 13 (1-255 এর স্কেলে) সহ, আমি নিম্নলিখিত ফলাফলটি পাই:

ক্যানি প্রান্ত সনাক্তকরণ পাতা

প্যারামিটারগুলি টুইট করার মাধ্যমে, আপনি ক্যানির কাছ থেকে প্রাপ্ত ফলাফলটি আরও অনেক উন্নত হতে পারে। এই চিত্রটি ব্যবহার করে, আপনি শব্দটি সরাতে সংক্ষিপ্ত প্রান্তগুলি এড়িয়ে যেতে পারেন এবং চূড়ান্ত ফলাফলের জন্য দীর্ঘ প্রান্তগুলি সংযুক্ত করতে পারেন।

বিটিডাব্লু: একটি ভিন্ন রঙ একটি আলাদা প্রান্ত নির্দেশ করে।

আমি এই অনলাইন ক্যানি এজ ডিটেক্টরটি ব্যবহার করে মোটামুটি অনুরূপ ফলাফল পেতে পারি :

  • ছবি নির্বাচন করুন I9Pxl.png
  • সিগমা ২.২
  • টি-লো 0.04
  • টি-হাই 0.07
  • অন্যান্য সেটিংস ডিফল্ট
  • ফলাফলের জন্য আপডেট ভিউ ক্লিক করুন

ধন্যবাদ :) আমার ধারণা ক্যানি কেবল সেরা;) বিটিডাব্লু, আপনার ফলাফলের উপর
ক্যানির

বিটিডাব্লু: আপনি যদি খেয়াল না করেন: একটি ক্যানি এজ ডিটেক্টরটির সীমাবদ্ধতাগুলি কী? আপনি এখানে আপনার মতামত দিতে পারেন!
দিপান মেহতা

যদি আপনি আমাকে বলছেন: আমি ইতিমধ্যে আপনার প্রশ্নে আমার দৃষ্টিভঙ্গি দিয়েছি..আপনি যদি সাধারণভাবে কোনও মন্তব্য দিচ্ছেন: আমি এই মন্তব্যটি মুছব।
গেরটেন

ওহ হ্যাঁ, - আমি এটি বুঝতে পারি না!
দিপান মেহতা

আপনার উত্তরের জন্য ধন্যবাদ তবে ক্যানি পাতায় শিরাগুলির সূক্ষ্ম বিবরণ সংরক্ষণ করতে পারেন না যা আপনার প্রদর্শিত হিসাবে সনাক্ত করা যায় নি ...
ভিনি

6

উপরের চমৎকার উত্তরের অনুসরণ করে, এখানে কীভাবে সাইকিট ফানকিটন ব্যবহার করে অজগরটি করা যায় তা এখানে।

from skimage.feature import hessian_matrix, hessian_matrix_eigvals

#assume you have an image img

hxx, hxy, hyy = hessian_matrix(img, sigma=3)
i1, i2 = hessian_matrix_eigvals(hxx, hxy, hyy)

#i2 is the variable you want.

#Visualise the result
import matplotlib.pyplot as plt
plt.imshow(i2)

কি imgহওয়া উচিত? আমার একটি pngফাইল আছে এবং এটি কাজ করে না।
সিগুর

আইএমজি 2 ডি নাম্পার অ্যারে হওয়া উচিত।
ম্যাথু শান-শিন

প্রকৃতপক্ষে, i1এগেনভ্যালুগুলির চেয়ে বড়, সুতরাং আপনার এটি ব্যবহার করা উচিত।
রব

এটি আমি এর আগে সবচেয়ে স্পষ্ট ব্যাখ্যা পেয়েছি!
ইউরেকা

3

থ্রেশোল্ডিংয়ের পরিবর্তে, আমি সহজ প্রান্ত সনাক্তকরণ প্রয়োগ করেছি।

গাউসের পার্থক্য সহ জিআইএমপি ব্যবহৃত হয়েছে - রেডিয়াস আউটার: 3.0 এবং ইনার: 1.0

এখানে এটি দেখতে কেমন দেখাচ্ছে।

এখানে চিত্র বর্ণনা লিখুন

আপনি আরও একটি মাঝারি ফিল্টার বা ক্ষয় / প্রসারণ প্রয়োগ করতে পারেন যাতে আপনি কিছু দানাদার আওয়াজ সরাতে পারেন।

জিমের বাস্তবায়নের ব্যাখ্যা দেয় এমন পৃষ্ঠাটি এখানে ।

আপনার বিভিন্ন কৌশল যেমন গাউসির ল্যাপ্লাসিয়ান বা গাউসিনের পার্থক্য ইত্যাদি উল্লেখ করা উচিত এটি দেখুন: http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm#7

এবং এই উত্তর আনশার্প মাস্কের জন্য কীভাবে ল্যাপ্লেসিয়ান ব্যবহার করা হয়?


জিআইএমপি? কোন প্রান্ত সনাক্তকারী?
ভিনি

1
না - এটি একটি চিত্র সম্পাদনা প্যাকেজ। এটি একটি দ্রুত চেক ছিল - কেবল একটি পয়েন্ট এগিয়ে রাখার জন্য - প্রান্তিকের বিপরীতে প্রান্ত সনাক্তকরণ ব্যবহার করুন।
দীপন মেহতা

জিআইএমপি কোন এজ ডিটেক্টর ব্যবহার করে? আমি দুঃখিত আমি এ সম্পর্কে খুব কম জ্ঞান পেয়েছি
ভিনি

@ ভিনি যোগ রেফারেন্স।
দিপান মেহতা

3

এই বিষয়টি সর্বদা প্রচুর আগ্রহকে আকর্ষণ করেছে এবং তবুও বিষয়টিতে প্রকৃত sensকমত্য বিদ্যমান নেই। অতএব আমি কয়েকটি শব্দ ফেলে দেওয়ার সিদ্ধান্ত নিয়েছি।

আমার উত্তর পূর্বে stackexchange (অনুরূপ জিজ্ঞাসা করা প্রশ্নাবলীর চতুর্থাংশ 1 এবং Q2 এর ) Steger দ্বারা একটি subpixel বক্ররেখা-বেষ্টিত গঠন নিষ্কাশন আলগোরিদিম জড়িত। এই পদ্ধতিটি বেশ কয়েকটি ক্ষেত্রে ভাগ্যক্রমে ভালভাবে সম্পাদন করেছে এবং ভাগ্যক্রমে, এটি সহ। অতএব আমি এখানে আউটপুট চিত্রটি পোস্ট করি: এখানে চিত্র বর্ণনা লিখুন এবং এখানে একটি ভিন্ন পরামিতি সেটিংস সহ, এবং সংযুক্ত-নেস রঙ ছাড়াই: এখানে চিত্র বর্ণনা লিখুন বিশদ এবং যথাযথ উল্লেখের জন্য দয়া করে আমি উল্লেখ করেছি স্ট্যাকেক্সেঞ্জঞ্জ পোস্টগুলি দেখুন।


0

ইঞ্জিনিয়ারিং স্টাডিজের অ্যাসাইনমেন্টের আমার শেষ বছরের অংশ হিসাবে, আমাকে চোখের তহবিলের ছবিতে রক্তনালীগুলির জন্য বিভাজন পদ্ধতিগুলি অধ্যয়ন করতে হয়েছিল। আমি এই গাছ পুনর্নির্মাণের পদ্ধতিটি পেয়েছি (কোহেন, লরেন্ট ডি এবং মিল, জুলিয়ান দ্রুত-মার্চিং পদ্ধতিগুলির সাথে ব্যবহার করতে বিশেষভাবে আকর্ষণীয় found

অন্যান্য কাগজপত্রগুলি যা আপনি দেখতে চাইতে পারেন:

  • জিওডাসিক অ্যাক্টিভ সারস
  • 3 ডি ল্যাটিসগুলির জন্য দ্রুত মার্চিং পদ্ধতি বাস্তবায়নের সময়
  • মাল্টিসটেনসিল এফএমএম: কার্টেসিয়ান ডোমেনগুলির একনোনাল সমীকরণের একটি অত্যন্ত সঠিক সমাধান

দরকারী লিঙ্কগুলি: - 2 ডি এবং 3 ডি তে সম্মুখ প্রচার

আমি আশা করি এটি কিছুটা সহায়তা করে, যদিও এটি শিল্পের সঠিক অবস্থা নয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.