গুগল তার "চিত্র দ্বারা অনুসন্ধান" সাইটের জন্য কোন অ্যালগরিদম ব্যবহার করে?


45

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


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

1
হিস্টোগ্রামগুলি স্থানিক তথ্য ক্যাপচার করে না; আপনি মিথ্যা ম্যাচ পাবেন।
এমরে

নিউরাল নেটওয়ার্কগুলি: গবেষণা.
googleblog.com/2015/06/…

উত্তর:


29

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

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

দুটি প্রাথমিক পদ্ধতির উপস্থিতি:

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

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

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

আপনি ভিজ্যুয়াল শব্দের ভাষাতে শব্দের শিকড়ের সমতুল্য হিসাবে ভাবতে পারেন: উদাহরণস্বরূপ, শব্দ: কাজ, কর্ম, কাজ সব একই শব্দ মূলের অন্তর্ভুক্ত।

এই ধরণের পদ্ধতির একটি অপূর্ণতা হ'ল তারা সাধারণত কম-টেক্সচার ইমেজগুলিতে আন্ডার পারফর্ম করে।

আমি ইতিমধ্যে এই পদ্ধতির বিশদ বিবরণ দিয়ে অনেক উত্তর দিয়েছি এবং দেখেছি, সুতরাং আমি কেবলমাত্র এই উত্তরগুলির লিঙ্কগুলি সরবরাহ করব:

  • সিবিআইআর: 1 , 2
  • বৈশিষ্ট্য নিষ্কাশন / বিবরণ: 1 , 2 , 3 , 4

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

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

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

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


22

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

ধারণাগত হ্যাশিং

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

এর সর্বাধিক মৌলিক আকারে, আপনি নিম্নলিখিত হিসাবে এটি প্রয়োগ করতে পারেন:

  1. চিত্রটিকে গ্রেস্কেল রূপান্তর করুন

  2. আপনার চিত্র শূন্য গড় করুন

  3. থাম্বনেইল আকারে আপনার চিত্রটি নিচে চূর্ণ করুন, বলুন [32x32]
  4. দ্বি মাত্রিক বিচ্ছিন্ন কোসিন ট্রান্সফর্ম চালান
  5. উপরের বামদিকে রাখুন [8 x 8], সর্বাধিক উল্লেখযোগ্য কম ফ্রিকোয়েন্সি উপাদান
  6. উপাদানগুলির চিহ্নের উপর ভিত্তি করে ব্লকটিকে বাইনারি করুন

ফলাফলটি হ'ল bit৪ বিট হ্যাশ, কারণ এটি চিত্রের কম ফ্রিকোয়েন্সি উপাদানগুলির উপর ভিত্তি করে। এই থিমটির একটি বৈকল্পিক হ'ল প্রতিটি চিত্রকে sub৪ টি সাবব্লকগুলিতে ভাগ করা এবং বিশ্বব্যাপী চিত্রের গড়টির সাথে স্থানীয় সাবব্লক গড়ের সাথে তুলনা করা এবং সেই অনুযায়ী একটি বা 1 লিখতে হবে।

পার্থক্যুয়াল হ্যাশিং ফ্যাশ দ্বারা উদাহরণস্বরূপ প্রয়োগ করা হয়

ব্যাগ অফ-ওয়ার্ড মডেল

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

এর সর্বাধিক, সর্বাধিক সাধারণ আকারে, চিত্রগুলির সাহায্যে কেউ এটি করতে পারে:

  1. তথাকথিত SIFT বৈশিষ্ট্য স্থাপন করুন, উদাহরণস্বরূপ চমৎকার vlfeat গ্রন্থাগার ব্যবহার করে যা SIFT বৈশিষ্ট্য পয়েন্ট এবং প্রতি পয়েন্টে একটি SIFT বর্ণনাকারী সনাক্ত করবে। এই বর্ণনাকারটি মূলত সেই বৈশিষ্ট্যটির পয়েন্টের চারপাশে চিত্র প্যাচের একটি স্মার্টলি নির্মান টেম্পলেট। এই বর্ণনাকারী আপনার কাঁচা শব্দ।
  2. সমস্ত প্রাসঙ্গিক চিত্রের জন্য SIFT বর্ণনাকারী সংগ্রহ করুন

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

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

একটি চিত্র ক্যোয়ারী, যেমন, ক্যোয়ারী-চিত্রের মতো আমাকে একই চিত্রগুলি সন্ধান করুন, তারপরে নীচের মত সমাধান করা হয়েছে:

  1. ক্যোরি চিত্রটিতে SIFT পয়েন্ট এবং তাদের বর্ণনাকারী সন্ধান করুন
  2. আপনি আগে নথিভুক্তির পর্যায়ে পাওয়া সেন্ট্রয়েডগুলিতে ক্যোয়ারির বর্ণনাকারী নির্ধারণ করুন। আপনার কাছে এখন সেন্ট্রয়েড বা ভিজ্যুয়াল শব্দের একটি সেট রয়েছে যা আপনার ক্যোয়ারী চিত্রের সাথে সম্পর্কিত
  3. আপনার উল্টানো ফাইলটিতে ভিজ্যুয়াল শব্দের সাথে কোয়েরি ভিজ্যুয়াল শব্দের সাথে মিল দিন এবং মিলিত চিত্রগুলি ফিরিয়ে দিন

1
আপনার ব্যাগ-অফ-শব্দের পদ্ধতির মূলত "স্থানীয় পদ্ধতির" জন্য আমার লিঙ্কগুলি কী: :) যদিও এটি প্রকৃতপক্ষে শব্দার্থক নয় : আপনি কখনই কোনও বৈশিষ্ট্যযুক্ত একটি কুকুরকে প্রতিনিধিত্ব করবেন না বা এটি সনাক্ত করা এত সহজ হবে না কুকুর হিসাবে বিভিন্ন কুকুর মশলা। তবে পার্সেপুচুয়াল হ্যাশিং দুর্দান্ত, সেই সম্পর্কে জানতেন না। ব্যাখ্যা সুন্দর। যা আমাকে ভাবতে পেরেছিল ... সেই কৌশলটি কীভাবে একটি আয়তক্ষেত্রাকার অঞ্চলে প্রয়োগ করতে হবে আপনার কোনও পরামর্শ আছে? অথবা হতে পারে নিবন্ধগুলির জন্য কিছু রেফারেন্স সরবরাহ করুন, আমি কিছুটা পড়তে পারলাম এবং যদি প্রশ্নটি বোঝায় তবে এটি আলাদা প্রশ্ন হিসাবে খুলুন।
পেনেলোপ

1
@ স্প্যানেলোপ আমি আসলে বছর কয়েক আগে নিবন্ধে পড়েছি, যেখানে লেখকরা একটি ইমেজ বিচ্ছিন্নভাবে ত্রিভুজগুলিতে বিভক্ত করেছেন। এবং ট্রেস-ট্রান্সফর্মটি রয়েছে যা উপলব্ধিযোগ্য হ্যাশের ভিত্তি হিসাবেও ব্যবহৃত হয়েছে। আমি আপনি ফিরে পাবেন.
মরিটস

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

2

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

এই বিষয়ে প্রস্তাবিত কাগজ:

এবং ওপেন সোর্স গভীর শেখার চিত্র পুনরুদ্ধার বাস্তবায়ন (পরবর্তী কাগজ): https://github.com/paucarre/tiefvision

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