দুটি চিত্রের তুলনা করতে অ্যালগরিদম


158

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

আপনি কি এই ধরণের কাজ করতে কোনও অ্যালগরিদম জানেন?


12
কোনটি আসল তা আপনি কীভাবে নির্ধারণ করবেন?
jfs

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

উত্তর:


304

এগুলি কেবলমাত্র আমি ধারণা সম্পর্কে চিন্তাভাবনা করেছি, এটি কখনও চেষ্টা করে দেখিনি তবে আমি এই জাতীয় সমস্যাগুলি সম্পর্কে ভাবতে পছন্দ করি!

তুমি শুরু করার আগে

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

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

মাতলাব চিত্রগুলি পরীক্ষা ও মূল্যায়নের জন্য একটি দুর্দান্ত সরঞ্জাম।

অ্যালগরিদম পরীক্ষা করা হচ্ছে

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

পরীক্ষার ডেটা যতটা সম্ভব গতিশীলতার কভার করার জন্য ডিজাইন করার চেষ্টা করা উচিত যা আপনি আসল বিশ্বে খুঁজে পেতে পারেন।

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

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

রঙ বালতি

দুটি ছবি সহ, প্রতিটি পিক্সেল স্ক্যান করুন এবং রঙগুলি গণনা করুন। উদাহরণস্বরূপ আপনার 'বালতি' থাকতে পারে:

white
red
blue
green
black

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

আপনার মোট পরিমাণ একবার হয়ে গেলে এটি দ্বিতীয় চিত্রের মোটের সাথে তুলনা করুন। আপনি দেখতে পাবেন যে প্রতিটি চিত্রের মোটামুটি অনন্য পদচিহ্ন রয়েছে, যা ম্যাচগুলি সনাক্ত করতে যথেষ্ট।

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

এজ সনাক্তকরণ ব্যবহার সম্পর্কে কীভাবে । (উত্স: উইকিমিডিয়া.অর্গ )বিকল্প পাঠ

দুটি অনুরূপ ছবি প্রান্ত সনাক্তকরণের সাথে আপনাকে ব্যবহারযোগ্য এবং মোটামুটি নির্ভরযোগ্য অনন্য পদচিহ্ন সরবরাহ করতে হবে।

উভয় ছবি তুলুন এবং প্রান্ত সনাক্তকরণ প্রয়োগ করুন। সম্ভবত প্রান্তগুলির গড় বেধ পরিমাপ করুন এবং তারপরে চিত্রটি ছোট হতে পারে তার সম্ভাবনা গণনা করুন এবং প্রয়োজনে পুনরুদ্ধার করুন। নীচে বিভিন্ন ঘূর্ণায়মান প্রয়োগ গ্যাবার ফিল্টার (এক ধরণের প্রান্ত সনাক্তকরণ) এর একটি উদাহরণ রয়েছে ।

বিকল্প পাঠ

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

আগ্রহের অঞ্চলগুলি

কিছু চিত্রের স্বতন্ত্র বিভাগ / আগ্রহের অঞ্চল থাকতে পারে। এই অঞ্চলগুলি সম্ভবত বাকী চিত্রের সাথে খুব বিপরীত হয় এবং মিলগুলি খুঁজে পেতে আপনার অন্যান্য চিত্রগুলিতে অনুসন্ধান করার জন্য এটি একটি ভাল আইটেম। উদাহরণস্বরূপ এই চিত্রটি নিন:

বিকল্প পাঠ
(উত্স: metthegimp.org )

নীল রঙের নির্মাণকর্মী আগ্রহের অঞ্চল এবং এটি অনুসন্ধানের বিষয় হিসাবে ব্যবহার করা যেতে পারে। আপনার আগ্রহের অঞ্চল থেকে আপনি সম্পত্তি / ডেটা বের করতে এবং আপনার ডেটা সেটটি অনুসন্ধান করতে সেগুলি ব্যবহার করার জন্য সম্ভবত বেশ কয়েকটি উপায় রয়েছে।

আপনার যদি 2 টিরও বেশি আগ্রহের অঞ্চল থাকে তবে আপনি তাদের মধ্যে দূরত্বগুলি পরিমাপ করতে পারেন। সরলীকৃত উদাহরণটি ধরুন:

বিকল্প পাঠ
(উত্স: per2000.eu )

আমাদের আগ্রহের 3 স্পষ্ট অঞ্চল রয়েছে। অঞ্চল 1 এবং 2 এর মধ্যে দূরত্ব 200 পিক্সেল হতে পারে, 1 থেকে 3 400 পিক্সেলের মধ্যে এবং 2 এবং 3 200 পিক্সেল হতে পারে।

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

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

চালাতে

দুটি চিত্রকে রূপায়িত করা হ'ল পদক্ষেপের একটি সেট দিয়ে একটি চিত্র অন্যকে রূপান্তরিত করার প্রক্রিয়া:

বিকল্প পাঠ

দ্রষ্টব্য, এটি অন্য চিত্রের বিবর্ণ হওয়ার চেয়ে আলাদা!

অনেকগুলি সফ্টওয়্যার প্যাকেজ রয়েছে যা চিত্রগুলিকে আকার দিতে পারে। এটি একটি ট্রানজিশনাল ইফেক্ট হিসাবে traditionতিহ্যগতভাবে ব্যবহৃত হয়, দুটি চিত্র সাধারণত অর্ধেকভাবে কিছুতে রূপ নেয় না, একটি চূড়ান্ত রূপটি চূড়ান্ত ফলাফল হিসাবে অন্য চরমের মধ্যে রূপ দেয়।

কেন এটি দরকারী হতে পারে? আপনি যে मॉर्फিং অ্যালগরিদম ব্যবহার করেন তার উপর নির্ভরশীল, চিত্রগুলির মিল এবং মরফিং অ্যালগরিদমের কিছু পরামিতিগুলির মধ্যে একটি সম্পর্ক থাকতে পারে।

গুরুতর ওভার সরলীকৃত উদাহরণে, যখন কম পরিবর্তন করা হয় তখন একটি অ্যালগরিদম দ্রুত সম্পাদন করতে পারে। আমরা তখন জানি যে এই দুটি চিত্র একে অপরের সাথে সম্পত্তি ভাগ করে নেওয়ার উচ্চতর সম্ভাবনা রয়েছে।

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

জিপ করা

এই প্রশ্নের ওউর উত্তরটি দুর্দান্ত, আমি এআই পড়ার ক্ষেত্রে এই ধরণের কৌশলগুলি সম্পর্কে পড়তে মনে করি। কর্পাস লিক্সকনগুলির তুলনা করতে এটি বেশ কার্যকর।

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

সংকোচনের অনুপাত উভয় উপাত্তের সমান পরিমাণ নির্ধারণের জন্য খুব দ্রুত এবং যুক্তিসঙ্গত কার্যকর উপায়। কম্প্রেশন কীভাবে কাজ করে সে সম্পর্কে পড়া আপনাকে কেন এটি এত কার্যকর হতে পারে তা একটি ভাল ধারণা দেয়। দ্রুত অ্যালগরিদম প্রকাশের জন্য এটি সম্ভবত একটি ভাল শুরুর পয়েন্ট হবে।

স্বচ্ছতা

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

উল্টানো সংকেত

একটি চিত্র কেবল একটি সংকেত। আপনি যদি কোনও স্পিকারের থেকে কোনও শব্দ বাজান এবং আপনি ঠিক একই ভলিউমে নিখুঁত সিঙ্কে অন্য স্পিকারের বিপরীত শব্দটি খেলেন, তারা একে অপরকে বাতিল করে দেয়।

বিকল্প পাঠ
(উত্স: themotorreport.com.au )

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

তবে, দুটি চিত্রের সমান হিসাবে বিবেচনা করুন, তাদের মধ্যে একটিতে এটিতে একটি উজ্জ্বল প্রভাব প্রয়োগ করা হয়েছে:

বিকল্প পাঠ
(সূত্র: এমসিবারুরজটকম )

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

আমি এখন কয়েক বছর ধরে রঙ অধ্যয়ন করি নি, এবং বর্ণ বর্ণচিহ্নটি একটি রৈখিক স্কেলে থাকে কিনা তা সম্পর্কে আমি নিশ্চিত নই, তবে যদি আপনি উভয় ছবির মধ্যে রঙের পার্থক্যের গড় ফ্যাক্টরটি নির্ধারণ করেন তবে আপনি প্রক্রিয়া করার আগে এই মানটি ডেটা স্বাভাবিক করার জন্য ব্যবহার করতে পারেন এই কৌশল।

ট্রি ডেটা স্ট্রাকচার

প্রথমে এগুলি সমস্যার জন্য উপযুক্ত মনে হয় না তবে আমি মনে করি তারা কাজ করতে পারে।

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

এটি সম্ভবত কাজ করবে না, তবে এটি একটি ধারণা। Trie datastructure উদাহরণ হচ্ছে dictionarty জন্য, সংরক্ষণকারী শব্দকোষ এ মহান। এটি একটি উপসর্গ গাছ। কোনও ট্রাই তৈরির জন্য সম্ভবত কোনও অভিধানের সমান একটি চিত্র তৈরি করা সম্ভব (আবার আমি কেবল রঙের কথা ভাবতে পারি)। যদি আপনি 300x300 চিত্রটি 5x5 স্কোয়ারে কমিয়ে ফেলে থাকেন, তবে প্রতিটি 5x5 বর্গটিকে রঙের অনুক্রমের আকারে বিভক্ত করুন যার ফলে ফলাফল থেকে ডেটা তৈরি করতে পারেন। যদি 2x2 বর্গ থাকে:

FFFFFF|000000|FDFD44|FFFFFF

আমাদের কাছে মোটামুটি অনন্য ট্রাই কোড রয়েছে যা 24 টি স্তরের প্রসারিত করে, স্তরগুলি বাড়িয়ে / হ্রাস করে (IE উপ-বর্গক্ষেত্রের আকার হ্রাস / বৃদ্ধি) আরও সঠিক ফলাফল পেতে পারে।

ত্রি গাছের তুলনা করা যুক্তিসঙ্গতভাবে সহজ হওয়া উচিত এবং এটি কার্যকর কার্যকর ফলাফল প্রদান করতে পারে।

আরও ধারণা

আমি উপগ্রহের চিত্রের শ্রেণিবিন্যাস সম্পর্কে একটি আকর্ষণীয় কাগজ প্রজাতির হোঁচট খেয়েছি , এর রূপরেখা:

টেক্সচারের ব্যবস্থাগুলি বিবেচনা করা হয়: কোকোরিয়েন্স ম্যাট্রিকেস, ধূসর-স্তরের পার্থক্য, টেক্সচার-টোন বিশ্লেষণ, ফুরিয়ার বর্ণালী থেকে প্রাপ্ত বৈশিষ্ট্য এবং গ্যাবার ফিল্টার। কিছু ফুরিয়ার বৈশিষ্ট্য এবং কিছু গ্যাবার ফিল্টার ভাল পছন্দ হিসাবে দেখা গিয়েছিল, বিশেষত যখন একটি একক ফ্রিকোয়েন্সি ব্যান্ড শ্রেণিবদ্ধকরণের জন্য ব্যবহৃত হত।

এই পরিমাপগুলি আরও বিশদে বিশদভাবে তদন্ত করার উপযুক্ত হতে পারে, যদিও এর মধ্যে কিছু আপনার ডেটা সেটের সাথে প্রাসঙ্গিক নাও হতে পারে।

অন্যান্য বিষয় বিবেচনা করা উচিত

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

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

একটি ওজনযুক্ত ভোট (তাদের কার্যকারিতার উপর নির্ভরশীল) থাকতে পারে এমন প্রতিটি বিকল্পের পরিমাপ এবং কৌশলগুলির সংমিশ্রণ হ'ল আপনি এমন একটি পদ্ধতি তৈরি করতে পারেন যা আরও সঠিক ফলাফল তৈরি করে।

যদি একাধিক অ্যালগোরিদম নিয়োগ করা হয়, যেমন এই উত্তরটির সূচনা হিসাবে উল্লেখ করা হয়েছে, তবে সমস্ত ধনাত্মক সন্ধান করতে পারে তবে 20% এর মিথ্যা ধনাত্মক হার রয়েছে, অন্য অ্যালগরিদমের বৈশিষ্ট্য / শক্তি / দুর্বলতাগুলি অধ্যয়ন করা আগ্রহী হবে অন্যের থেকে প্রত্যাবর্তিত মিথ্যা ইতিবাচকতা দূর করতে কার্যকর হোন

কখনই শেষ না হওয়া প্রকল্পটি শেষ করার চেষ্টা না করার জন্য সতর্ক থাকুন, শুভকামনা!


22
দুর্দান্ত প্রতিক্রিয়া। একটি ভাল চিন্তা এবং আলোকিত উত্তর জন্য কুডোস।
অ্যান্ড্রু হাবস

ধন্যবাদ! আমি এটি টমমোরো প্রসারিত করার আশাবাদী, আমার আরও কিছু ধারণা আছে যা সম্পর্কে আমি ভাবতে এবং সন্ধান করতে চাই।
টম গ্লেন

হাই টম - আপনি কোনও ওপেন-সোর্স প্রান্ত সনাক্তকরণ লাইব্রেরি সম্পর্কে জভাতে জানেন?
রিচার্ড এইচ

1
হাই রিচার্ড, দুঃখিত না, তবে আমি নিশ্চিত যে সেখানে কিছু আছে। "জাভা গ্যাবার ফিল্টারস" বা "জাভা এজ সনাক্তকরণ" এর জন্য গুগলে অনুসন্ধান করুন এবং আমি নিশ্চিত যে আপনি এক বা দু'টি জুড়ে আসবেন।
টম গ্লেন

চিত্রটির লিঙ্কটি ( blog.meetthegimp.orgwp-content / uploads / 2009/04 / 97.jpg ) খারাপ হয়ে গেছে। নোট করুন যে স্ট্যাকওভারফ্লোতে এখন একটি চিত্র হোস্টিং পরিষেবা রয়েছে has
থমাসডাব্লু

36

কাগজটি পড়ুন: পোরিকলি, ফাতিহ, ওয়ানসেল তুজেল এবং পিটার মীর। "রিমানিয়ানিয়ান ম্যানিফোল্ডসের অর্থের উপর ভিত্তি করে মডেল আপডেট ব্যবহার করে কোভেরিয়েন্স ট্র্যাকিং"। (2006) আইইইই কম্পিউটার ভিশন এবং প্যাটার্ন স্বীকৃতি।

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


1
@ সেতোরু লজিক: গুগল অনুসন্ধান কাগজে হিট দেখায়: google.com/…
নিক

34

একটি ধারণা:

  1. চিত্রের কিছু পয়েন্টের (যেমন SIFT, SURF, GLOH, বা LESH) স্কেল- এবং ট্রান্সফর্ম-অবিস্মরণীয় বর্ণনাকারীদের সন্ধান করতে কীপয়েন্ট ডিটেক্টর ব্যবহার করুন।
  2. উভয় চিত্র (যেমন প্যানোরোমা সেলাইয়ের মতো) থেকে অনুরূপ বর্ণনাকারী দ্বারা কী-পয়েন্টগুলি সারিবদ্ধ করার চেষ্টা করুন, প্রয়োজনে কিছু চিত্র রুপান্তরের জন্য অনুমতি দিন (যেমন স্কেল এবং ঘোরানো, বা ইলাস্টিক স্ট্রেচিং)।
  3. যদি অনেকগুলি কী পয়েন্টগুলি ভালভাবে সারিবদ্ধ হয় (এমন রূপান্তর উপস্থিত থাকে তবে কী-পয়েন্ট অ্যালাইনমেন্টের ত্রুটি কম; বা রূপান্তর "শক্তি" কম থাকে ইত্যাদি), আপনার সম্ভবত একই চিত্র রয়েছে।

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

রুপভেদ:

  • পয়েন্টগুলির পরিবর্তে প্রান্ত বা অন্যান্য বৈশিষ্ট্যগুলি সনাক্ত করুন।

2
আমি মনে করি এটিও সঠিক পন্থা। কেবল একটি বিশদ: SIFT, SURF, GLOH কী-পয়েন্ট ডিটেক্টর নয়। তারা কীপয়েন্ট বর্ণনাকারী। সাধারণ কীপয়েন্ট ডিটেক্টরগুলি হ'ল (স্কেল ইনভেয়ারেন্ট) ডিজি, হ্যারিস বা ইগেনভ্যালু ডিটেক্টর।
নিকি

দ্বিতীয় ধাপের জন্য, আপনি নিকটতম প্রতিবেশী ব্যবহার করতে পারেন, যা বর্ণনাকারীদের মধ্যে ইউক্লিডিয়ান দূরত্ব ব্যবহার করে
মোবাইলকিশন

15

এটি দেখে মনে হচ্ছে এটি অনেক কম সহজ :-) নিকের পরামর্শটি ভাল a

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


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

http://en.wikedia.org/wiki/RGB_color_space
http://upvector.com/index.php?section=tutorials&subsection=tutorials/colorspace


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

http://homepages.inf.ed.ac.uk/amos/hough.html
http://rkb.home.cern.ch/rkb/AN16pp/node122.html
http://en.wikedia.org/wiki/ Hough_transform


8

আপনার বর্ণিত ফর্মটিতে সমস্যাটি শক্ত। আপনি কি অনুলিপি বিবেচনা করেন, অনুলিপি হিসাবে ছবিটির অংশের পেস্টটিকে আরও একটি বৃহত্তর ছবিতে? প্রভৃতি

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

এটি সিগন্যাল প্রসেসিং আক্রমণগুলির বিরুদ্ধে প্রতিরোধী ► সংকেত বর্ধন - তীক্ষ্ণকরণ, বৈসাদৃশ্য ইত্যাদি ► ফিল্টারিং - মিডিয়ান, নিম্ন পাস, উচ্চ পাস ইত্যাদি ► সংযোজনযুক্ত শব্দ - গাউসিয়ান, ইউনিফর্ম ইত্যাদি ► লসী সংক্ষেপণ - জেপিইজি, এমপিইজি ইত্যাদি,

এটি জ্যামিতিক আক্রমণ প্রতিরোধী ► অ্যাফাইন রূপান্তর ► ডেটা হ্রাস - ক্রপিং, ক্লিপিং ইত্যাদি ► এলোমেলো স্থানীয় বিকৃতি ► ওয়ার্পিং

ওয়াটারমার্কিং অ্যালগরিদমগুলি সম্পর্কে কিছু গবেষণা করুন এবং আপনি আপনার সমস্যা সমাধানের সঠিক পথে যাবেন। (দ্রষ্টব্য: আপনি স্টারমার্ক ডেটাসেট ব্যবহার করে আপনার পদ্ধতিটি বেঞ্চমার্ক করতে পারেন this এটি এই ধরণের অ্যাপ্লিকেশনটির জন্য একটি স্বীকৃত মান।


5

এটি কেবল একটি পরামর্শ, এটি কার্যকর নাও হতে পারে এবং আমি এই বিষয়ে ডাকা হতে প্রস্তুত।

এটি মিথ্যা ইতিবাচক উত্পন্ন করবে, তবে আশা করি মিথ্যা নেতিবাচক নয়।

  1. উভয় চিত্রকেই আকার পরিবর্তন করুন যাতে সেগুলি একই আকারের হয় (আমি ধরে নিলাম প্রস্থের দৈর্ঘ্যের অনুপাত উভয় চিত্রেই একই)

  2. উভয় চিত্রের বিটম্যাপটি একটি ক্ষতবিহীন সংক্ষেপণ অ্যালগরিদম (যেমন gzip) দিয়ে সংকুচিত করুন।

  3. অনুরূপ ফাইলের আকারযুক্ত ফাইলগুলির জুড়ি সন্ধান করুন। উদাহরণস্বরূপ, আপনি কেবল ফাইলের আকারের অনুরূপ ফাইলের প্রতিটি জোড়া বাছাই করতে পারেন এবং শীর্ষ এক্সটি পুনরুদ্ধার করতে পারেন by

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


আমি এই সমাধানটি অনেক পছন্দ করি, কার্যকর করা সহজ এবং আমি এলোমেলোভাবে এটি সনাক্তকরণের হারের চেয়ে আরও ভাল ফল পাবে
টম গ্লেন

এটি একটি প্রশ্ন: অনুলিপিটি অন্য কোনও রেজোলিউশনের সাহায্যে সংরক্ষণ করা থাকলে এটি কী কাজ করবে?
ড। বেলিসারিয়াস

4

আমি বিশ্বাস করি আপনি যদি প্রতিটি সম্ভাব্য দৃষ্টিভঙ্গি এবং নেতিবাচক সংস্করণগুলিতে এই পদ্ধতির প্রয়োগ করতে ইচ্ছুক হন তবে চিত্র স্বীকৃতির একটি ভাল শুরু (ভাল নির্ভরযোগ্যতার সাথে) ইগেনফেসগুলি ব্যবহার করা হবে: http://en.wikedia.org/wiki/Eigenface

আরেকটি ধারণা হ'ল উভয় চিত্রকে তাদের উপাদানগুলির ভেক্টরগুলিতে রূপান্তর করা। এটি করার একটি ভাল উপায় হ'ল x * y মাত্রা (x আপনার চিত্রের প্রস্থ এবং y উচ্চতা হ'ল) ​​দিয়ে চালিত একটি ভেক্টর তৈরি করা, প্রতিটি মাত্রার মান (x, y) পিক্সেলের মান প্রয়োগ করে। তারপরে কে-নিকটতম প্রতিবেশীদের দুটি বিভাগ সহ মিল করুন এবং কোনও মিল নেই no এটি যদি মূল চিত্রের সাথে যথেষ্ট পরিমাণে কাছে থাকে তবে এটি ম্যাচের বিভাগে ফিট করে, যদি না হয় তবে তা হবে না।

কে নিকটস্থ প্রতিবেশী (কেএনএন) এখানে পাওয়া যাবে, ওয়েবে আরও এর আরও ভাল ব্যাখ্যা রয়েছে: http://en.wikedia.org/wiki/K-narerest_neighbor_algorithm

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


1
একটি ভাল ধারণা তবে কেবল যদি মুখগুলিতে ডেটা উপস্থিত থাকে। এছাড়াও এটি পরিস্থিতি নয়, মানুষকে সনাক্ত করে। অতএব এমন এক পেশাদার অভিনেতা যিনি একাধিক প্রকাশনায় ফিচার করেন তিনি প্রচুর মিথ্যা ইতিবাচক উত্স তৈরি করবেন।
টম গ্লেন

আমি যদি আপনার ব্যবহারের উদ্দেশ্যটি ভুল না বুঝি
টম গ্লেন

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

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

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

1

আপনি যদি আপনার চিত্রগুলির অবৈধ অনুলিপিগুলি সনাক্ত করার জন্য সম্পূর্ণ ভিন্ন পদ্ধতি বিবেচনা করতে ইচ্ছুক হন তবে আপনি জলচিহ্ন বিবেচনা করতে পারেন । (১.৪ থেকে)

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

যদিও এটি একটি জটিল ক্ষেত্র, এমন কৌশল রয়েছে যা জলছবি সম্পর্কিত তথ্যকে স্থূল চিত্র পরিবর্তনের মাধ্যমে অবিচ্ছিন্ন রাখতে দেয়: (১.৯ থেকে)

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

অবশ্যই, এফএকিগুলি এই পদ্ধতির বাস্তবায়নকে কল করে: "... খুব চ্যালেঞ্জিং" তবে আপনি যদি এটির সাথে সফল হন তবে আপনি শতাংশের সম্ভাবনার চেয়ে চিত্রটির অনুলিপি কিনা তা আপনি একটি উচ্চ আত্মবিশ্বাস পাবেন।


ভারী সম্পাদনার পরে কীভাবে জলচিহ্ন বজায় রয়েছে সে সম্পর্কে আরও কোনও তথ্য? খুব আকর্ষণীয় মনে হচ্ছে।
টম গ্লেন

1

আপনি যদি লিনাক্স চালাচ্ছেন তবে আমি দুটি সরঞ্জামের পরামর্শ দেব:

প্যাকেজ হুগিন-সরঞ্জামগুলি থেকে align_image_stack - একটি কমান্ডলাইন প্রোগ্রাম যা ঘূর্ণন, স্কেলিং এবং অন্যান্য বিকৃতিগুলি স্বয়ংক্রিয়ভাবে সংশোধন করতে পারে (এটি বেশিরভাগই এইচডিআর ফটোগ্রাফি তৈরির উদ্দেশ্যে তৈরি, তবে ভিডিও ফ্রেম এবং অন্যান্য নথিগুলির জন্যও কাজ করে)। আরও তথ্য: http://hugin.sourceforge.net/docs/manual/Align_image_stack.html

প্যাকেজ চিত্রম্যাগিকের সাথে তুলনা করুন - এমন একটি প্রোগ্রাম যা দুটি চিত্রের মধ্যে বিভিন্ন পিক্সেলের পরিমাণ খুঁজে পেতে এবং গণনা করতে পারে। এখানে একটি ঝরঝরে টিউটোরিয়াল দেওয়া হয়েছে: http://www.imagemagick.org/Usage/compare/ - -ফজ N% টিউন করে আপনি ত্রুটি সহিষ্ণুতা বাড়িয়ে তুলতে পারেন। তত বেশি এন তত ত্রুটি সহনশীলতা তবুও একই হিসাবে দুটি পিক্সেল গণনা করতে।

align_image_stack কোনও অফসেট সংশোধন করা উচিত যাতে তুলনা কমান্ড আসলে একই পিক্সেল সনাক্ত করার সুযোগ পেতে পারে।

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