একটি বক্রাকার বিভাগের সরলতা পরিমাপ (পললাইন হিসাবে উপস্থাপিত)


11

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

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

আমি উত্তরের জন্য প্রায় অনুসন্ধান করেছি কিন্তু সত্যিকারের উপকারী কিছু পাই না। আমি কোনও পয়েন্টারের জন্য কৃতজ্ঞ থাকব।

উত্তর:


9

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

উদাহরণস্বরূপ, ধরুন আপনি নিয়মতান্ত্রিক অনুসন্ধান পরিচালনা করতে চানপি (0), পি (1), ..., পি (এন) এর ক্রম হিসাবে প্রতিনিধিত্ব করা একটি কনট্যুরের পুরো সংযুক্ত উপাদান জুড়ে। এটি একটি পয়েন্টার (অনুক্রমের সূচক) s = 0 ("আর্ট" এর জন্য "এস") এবং অন্য পয়েন্টার এফ ("সমাপ্তির জন্য") সবচেয়ে ছোট সূচক হতে পারে যার দূরত্ব (পি (এফ), পি (গুলি)> = ১০০, এবং তারপরে দূরত্ব (পি (এফ), পি (এস +1))> = ১০০ পর্যন্ত অগ্রসর হবে This এটি একটি প্রার্থী পললাইন (পি (গুলি), পি (এস +) তৈরি করে 1) ..., পি (চ -1), পি (চ) মূল্যায়নের জন্য। কোনও লেবেল সমর্থন করার জন্য তার "ফিটনেস" মূল্যায়ন করে, আপনি তারপরে 1 (s = s + 1) দ্বারা বৃদ্ধি পাবেন এবং f (()) f 'এবং s' তে বৃদ্ধি পাবে যতক্ষণ না কোনও প্রার্থী ন্যূনতম ছাড়িয়ে যায় 100 এর স্প্যানটি উত্পাদিত হয়, (P (গুলি)) ... P (f), P (f + 1), ..., P (f ')) হিসাবে উপস্থাপিত হয়। এমনটি করে, শীর্ষস্থানগুলি P (গুলি) ... P (গুলি) এটি অত্যন্ত আকাঙ্ক্ষিত যে ফিটনেসটি কেবলমাত্র বাদ পড়ে যাওয়া এবং যুক্ত উল্লম্বগুলির জ্ঞান থেকে দ্রুত আপডেট করা যেতে পারে। (এই স্ক্যানিং প্রক্রিয়াটি s = n অবধি অব্যাহত থাকবে; যথারীতি, প্রক্রিয়াতে f কে n থেকে 0 অবধি "চারপাশে মোড়ানো" থাকতে হবে))

এই বিবেচনা ফিটনেস অনেক সম্ভব ব্যবস্থা নাকচ ( সর্পিলতা , কুটিলতা , ইত্যাদি) যা অন্যথায় আকর্ষণীয় হতে পারে। এটি আমাদের এল 2 ভিত্তিক ব্যবস্থা গ্রহণের দিকে পরিচালিত করে , কারণ অন্তর্নিহিত ডেটা সামান্য পরিবর্তিত হলে এগুলি সাধারণত দ্রুত আপডেট করা যায়। সঙ্গে একটি উপমা গ্রহণ প্রিন্সিপাল উপাদান বিশ্লেষণ প্রস্তাব দেওয়া আমরা নিম্নলিখিত পরিমাপ আতিথ্য (যেখানে ছোট ভাল, অনুরোধ): দুই ছোট ব্যবহার eigenvalues এর সহভেদাংক ম্যাট্রিক্সবিন্দু স্থানাঙ্ক। জ্যামিতিকভাবে, এটি পললাইনের প্রার্থী বিভাগের মধ্যে অনুভূমিকের "টিপিকাল" পাশাপাশি পাশ থেকে বিচ্যুতির একটি পরিমাপ। (একটি ব্যাখ্যাটি হ'ল এর বর্গক্ষেত্রটি বহুবৃত্তের ক্ষুদ্রতর আধিক অক্ষটি পললাইনের উল্লম্বের জড়তার দ্বিতীয় মুহুর্তগুলিকে উপস্থাপন করে )) এটি কেবলমাত্র কোলাইনারি উল্লম্বের সেটগুলির জন্য শূন্যের সমান হবে; অন্যথায়, এটি শূন্য অতিক্রম করে। এটি একটি পললাইনটির শুরু এবং শেষের মাধ্যমে নির্মিত 100 পিক্সেল বেসলাইনটির তুলনায় গড়ে পাশের বিচ্যুতিটি পরিমাপ করে এবং এর মাধ্যমে একটি সরল ব্যাখ্যা রয়েছে।

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

এই অ্যালগরিদমের ফলাফলের উদাহরণ এখানে। কালো বিন্দুগুলি একটি কনট্যুরের উল্লম্ব হয়। শক্ত লাল রেখাটি সেই কনট্যুরের মধ্যে 100-এরও বেশি লম্বা শেষ-শেষ প্রান্তের সেরা প্রার্থী পললাইন বিভাগ। (উপরের ডানদিকে দৃশ্যত সুস্পষ্ট প্রার্থী যথেষ্ট দীর্ঘ নয়))

ব্যক্তিত্ব


বাহ, আপনি আমাকে সেখানে হারিয়েছেন :)। আপনি সিস্টেমেটিক অনুসন্ধানের বিষয়ে ঠিক বলেছেন, প্রতিটি পললাইন / বহুভুজের ভার্টেক্সের অনুভূতি পাওয়ার জন্য আমাকে ইতিমধ্যে এটি করতে হয়েছিল (অনুভূমিক লেবেলগুলি উল্লম্ব অনুসারে পছন্দ করা হয়), তাই তত্ত্বের ভিত্তিতে আমি এই অনুসন্ধানটি অন্যান্য পরিমাপগুলি কভার করতে প্রসারিত করতে পারি। বিটিডাব্লু: আপনি প্রকৃত অ্যালগরিদম ব্যবহার করে বা ম্যানুয়ালি নমুনা প্লট তৈরি করেছেন?
ইগোর ব্রেজক

1
চিত্রটি আসল, তবে বাস্তবায়নটি আমি ব্যবহার করেছি সমবায় আপডেটের পদ্ধতিটি ব্যবহার করে না এবং তাই এটি গণনামূলকভাবে অনুকূল নয়।
হোবার

2
শেষের গ্রাফটি এই উত্তরটিকে আরও ভয়ঙ্কর করে
তুলেছে

2
ইগোর, আমার উল্লেখ করা উচিত যে লেবেলের দিকটি নিখরচায় আসে: এটি উপবৃত্তের প্রধান অক্ষের দিক দিয়ে দেওয়া হয় (বৃহত্তর ইগেনালুয়ের সাথে সম্পর্কিত ইগেনভেেক্টর)। অতএব আপনি লেবেল ওরিয়েন্টেশন এবং কনট্যুর বিভাগের লিনিয়ারির সর্বোত্তম সংমিশ্রণের জন্য একযোগে দক্ষ পদ্ধতিতে অনুসন্ধান করতে পারেন।
whuber

3

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


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

1
আপনাকে এখানে জিআইএস পৃষ্ঠাগুলিতে দেখে ভাল লাগল, জোসেফ!
whuber

1
হ্যাঁ, এই মুহূর্তে আমার হাতে আপনার "কম্পিউটারের জ্যামিতি ইন সি" বইটি আছে :)
আইগর ব্রেজক

1
সবাইকে স্বাগতম! :-) আমি বুঝতে পারি যে আমার পরামর্শটি আদর্শ পরিমাপ নয়, তবে কোডিংটি অফ-শেল্ফ (যদি আপনার সঠিক শেল্ফ থাকে)। এই ধরণের সমস্যা উত্পাদন প্রসঙ্গে অনেকটা অধ্যয়ন করা হয়েছে, যেখানে তাদের একটি যন্ত্রযুক্ত অংশের গুণমান পরিমাপ করা প্রয়োজন।
জোসেফ ও'রউর্ক

3

আমি জানি না এটি সাহায্য করে কিনা, বা এটি উত্তর হিসাবে গণনা করা হলেও আমি সবেমাত্র পোস্ট করা প্রশ্নটি নিয়ে এখানে বসে বসে ভাবছিলাম:

আপনি যদি নিজের কনট্যুর লাইনে কোনও নির্দিষ্ট ব্যাসার্ধের বৃত্ত রাখেন তবে কী হবে। এই চেনাশোনাটি কমপক্ষে দুটি জায়গায় কনট্যুর লাইন ছেদ করবে। দু'টি ছেদ বিন্দুর মাঝে কনট্যুর রেখার সাথে লাইনটি সরল রেখা, আরও কম দূরত্ব। ছেদ পয়েন্টগুলির মধ্যে কনট্যুর লাইনের সাথে দীর্ঘতর দূরত্ব, রেখাটি তত বেশি বাঁকানো। যদি দুটিরও বেশি ছেদ পয়েন্ট থাকে তবে কনট্যুর লাইনটি খুব বক্ররেখা।

আপনি কোন দৈর্ঘ্যটি সোজা হয়ে যাওয়ার সর্বোত্তম সূচকটি দিতে পারবেন এবং প্রতিটি কনট্যুর লাইনটি এবং যেখানে এটি যথেষ্ট সোজা ছিল সেখানে পা রাখার জন্য একটি রুটিন স্থাপন করতে পারেন, লেবেলটি রাখুন।

আমি নিশ্চিত যে এটি খুব বেশি সাহায্য করে না, এবং আমি ইংরেজিতে যা বলি তা আপনি যে কোনও প্রোগ্রামিং ভাষা ব্যবহার করছেন তাতে অনেক বেশি কঠিন, তবে এটি শুরু হতে পারে?


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

3

আমি যে সবচেয়ে সহজ পদ্ধতির কথা ভাবতে পারি তা হ'ল শুরু এবং শেষের মধ্যে প্রকৃত পাথের দৈর্ঘ্যের এবং প্রারম্ভ থেকে শেষের বিন্দুতে সবচেয়ে সংক্ষিপ্ত দূরত্ব (সরলরেখা) এর মধ্যে অনুপাত। সরল রেখাগুলির একের কাছাকাছি অনুপাত থাকবে যখন খুব বাঁকানো রেখাগুলিতে খুব বেশি অনুপাত থাকবে।

সমাধানটি বাস্তবায়নের জন্য এটি সত্যই সহজ হওয়া উচিত।


আপডেট: মাইক যেমনটি সঠিকভাবে লক্ষ্য করেছেন, এটি সিনুসিটির সমান হবে ।

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


রেক্সের উত্তর পড়ার পরে আমার মনে কী এলো :)
আইগোর ব্রেজক



2
আপনি ঠিক বলেছেন যে এটি কার্যকর করা সহজ হবে কারণ উপযুক্ত বিভাগগুলির জন্য লেবেলে অনুসন্ধানের জন্য দৈর্ঘ্য আপডেট করা যতটা যথাযথ প্রান্তিকের মধ্যে দৈর্ঘ্য যোগ করা এবং বিয়োগ করার মতোই সহজ। যাইহোক, সাইনোসিটি কার্যকরভাবে সেই ভাবটি ধারণ করে না যেখানে একটি বক্ররেখা থেকে লাইনটি ছেড়ে যেতে পারে। উদাহরণস্বরূপ, ব্যাস 1 এর অর্ধবৃত্তের একটি অর্ধবৃত্তের ব্যাস 1 এর অর্ধবৃত্তের একটি লিনিয়ার অনুক্রমের সাথে তুলনা করুন : উভয় বক্ররেখায় একই সাইনোসিটি রয়েছে, তবে প্রথমটির পাশের দিক থেকে পাশের বিচ্যুতিটি দ্বিতীয়টির চেয়ে 100 গুণ (যা ভাল বেস হবে) একটি লেবেল জন্য)।
হোবার

এটি বিবেচনা করুন যে আপনার পললাইনটি যদি একটি বৃত্ত আঁকেন তবে এই পদ্ধতিটি আপনাকে একটি অসীম সাইনোসিটি দেবে যা সম্ভবত পছন্দসই ফলাফল নয়।
ওচার্ডন

1

"বক্রতা" এবং "পলাইনলাইন" অনুসন্ধান করে, আমি এই তথ্যটি পেয়েছি কীভাবে পললাইনটির বক্রতা খুঁজে পেতে পারি? । সেখানে তিনি বক্ররেখার সংজ্ঞা ফিরে যান ব্যবহার করার পরামর্শ দিয়েছিলেন - K= DF/Ds। এখানে Fতার অর্থ phi, বা Tউইকিপিডিয়া স্বরলিপি এখানে ( http://en.wikedia.org/wiki/Curvature )।

বলুন আপনার ক্রম তিনটি পয়েন্ট, p0, p1 এবং p2 রয়েছে। sp0 এবং p1 এর মধ্যে দূরত্ব গণনা করুন , যা s ( Ds) এর ডেল্টা , ধরে নেওয়া পয়েন্টগুলি একে অপরের কাছাকাছি কল্পনা করা হয়। তারপরে আপনার টি ( DT) এর বদ্বীপ দরকার যা p0 এবং p1 এর মধ্যে ইউনিট টেঞ্জেনটিয়াল ভেক্টরের পরিবর্তন। অত্যাধুনিক উপায় থাকতে পারে তবে অপরিশোধিত পদ্ধতিটি আমি দুটি বেটার পি0-> পি 1, পি 1-> পি 2 নেওয়ার কথা ভাবতে পারি, প্রতিটিকে একটির দৈর্ঘ্যকে স্বাভাবিক করতে পারি, তারপরে সেই দুটির ভেক্টর বিয়োগফল গ্রহণ করুন এবং তার परिमाणটি নির্ধারণ করুন। যে DT। বিভাগ একটি বক্রতা উত্পাদন K0_1। গণনা করতে p1, p2 এবং p3 ধরুন K1_2এবং আরও অনেক কিছু।

আমি ভাবছি যদিও আপনি পললাইন হিসাবে কনট্যুরটি ধরে রাখেন, রেন্ডারড পিক্সেল হিসাবে নয়। আপনি 100px বলেছিলেন যাতে আমাকে কিছুটা চিন্তিত করে তোলে।


লিঙ্কটির জন্য ধন্যবাদ, আমাকে এর পিছনে গণিত অধ্যয়ন করতে হবে। আমি 100px উল্লেখ করেছি কেবল কারণ রেন্ডার করা লেবেল পাঠ্যের একটি নির্দিষ্ট প্রস্থ রয়েছে (পিক্সেলগুলিতে), 100px কেবল একটি উদাহরণ ছিল।
ইগোর ব্রেজক

বক্রতা চিন্তা ভাবনা একটি দুর্দান্ত ধারণা। পর্যাপ্ত দৈর্ঘ্যের ভারী স্মুটেড কনট্যুর বিভাগগুলি জুড়ে বক্রতা যথাযথ হতে পারে তবে বক্রতা নিজেই নয়: উদাহরণস্বরূপ, একটি ছোট্ট জিগ-জাগের অত্যন্ত উচ্চ বক্রতা থাকবে তবে এটি সামগ্রিকভাবে অসম্পূর্ণ হবে। সুতরাং, বাস্তবে, আপনি পললাইন বিভাগে লৈখিকতা থেকে বিচ্যুতি কিছু পরিসংখ্যান সংক্ষিপ্তসার ব্যবহার করা হবে। সম্ভাব্য প্রার্থীদের মধ্যে, বক্রতা সম্পাদন করা আরও জটিল গণনার মধ্যে একটি হবে।
হোবার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.