চিত্র প্রক্রিয়াকরণ: 'কোকাকোলা ক্যান' স্বীকৃতির জন্য অ্যালগরিদম উন্নতি


1657

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

টেমপ্লেট মিলছে

প্রকল্পে কিছু বাধা:

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

সুতরাং আপনি এই জাতীয় কৌতুকপূর্ণ জিনিসগুলি শেষ করতে পারেন (যা এই ক্ষেত্রে আমার অ্যালগরিদম পুরোপুরি ব্যর্থ হয়েছিল):

মোট ব্যর্থ

আমি এই প্রকল্পটি কিছুক্ষণ আগে করেছি এবং এটি করতে অনেক মজা পেয়েছি এবং আমি একটি সুন্দর বাস্তবায়ন করেছি। আমার বাস্তবায়ন সম্পর্কে এখানে কিছু বিশদ রয়েছে:

ভাষা : ওপেনসিভি লাইব্রেরি ব্যবহার করে সি ++ সম্পন্ন ।

প্রাক-প্রক্রিয়াজাতকরণ : চিত্রের প্রাক-প্রসেসিংয়ের জন্য, অর্থাৎ অ্যালগোরিদমকে দেওয়ার জন্য চিত্রটিকে আরও কাঁচা রূপে রূপান্তর করতে, আমি 2 টি পদ্ধতি ব্যবহার করেছি:

  1. আরজিবি থেকে এইচএসভিতে রঙের ডোমেন পরিবর্তন করা এবং "লাল" রঙের উপর ভিত্তি করে ফিল্টারিং, কমলা জাতীয় রঙ এড়াতে নির্দিষ্ট প্রান্তিকের উপরে স্যাচুরেশন এবং গা dark় সুরগুলি এড়ানোর জন্য নিম্ন মানের ফিল্টারিং। শেষ ফলাফলটি ছিল একটি বাইনারি কালো এবং সাদা চিত্র, যেখানে সমস্ত সাদা পিক্সেল এই প্রান্তিকের সাথে মেলে এমন পিক্সেলগুলিকে উপস্থাপন করবে। স্পষ্টতই চিত্রটিতে এখনও প্রচুর বকাবকি রয়েছে, তবে এটি আপনাকে যে পরিমাপের সাথে কাজ করতে হবে তা হ্রাস করে। বাইনারিযুক্ত চিত্র
  2. গোলমাল কমানোর জন্য মিডিয়াল ফিল্টারিং (সমস্ত প্রতিবেশীর মাঝারি পিক্সেলের মান নেওয়া এবং এই মান দ্বারা পিক্সেলটি প্রতিস্থাপন করুন) ব্যবহার করে শব্দের ফিল্টারিং।
  3. 2 পূর্ববর্তী পদক্ষেপের পরে সমস্ত আইটেমের সংশ্লেষ পেতে ক্যানি এজ সনাক্তকরণ ফিল্টার ব্যবহার করে । কনট্যুর সনাক্তকরণ

অ্যালগরিদম : অ্যালগরিদম নিজেই আমি এই কাজের জন্য বেছে নেওয়া হয়েছে থেকে নিয়ে যাওয়া হয় এই বৈশিষ্ট্য নিষ্কাশন সন্ত্রস্ত বই এবং বলা জেনারেলাইজড Hough ট্রান্সফর্ম (চমত্কার নিয়মিত Hough থেকে ট্রান্সফর্ম বিভিন্ন)। এটি মূলত কয়েকটি জিনিস বলে:

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

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

GHT

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

ফলাফল : এখন, যদিও এই পদ্ধতির প্রাথমিক ক্ষেত্রে কাজ করা হয়েছিল, কিছু ক্ষেত্রে এটির মারাত্মক অভাব ছিল:

  • এটা অত্যন্ত ধীর ! আমি এটাকে যথেষ্ট চাপ দিচ্ছি না। 30 টি পরীক্ষা চিত্রগুলি প্রক্রিয়া করার জন্য প্রায় পুরো দিন প্রয়োজন ছিল, সম্ভবত আমার ঘূর্ণন এবং অনুবাদ করার জন্য খুব উচ্চতর স্কেলিং ফ্যাক্টর ছিল, যেহেতু কয়েকটি ক্যান খুব ছোট ছিল।
  • ইমেজটিতে বোতলগুলি থাকা অবস্থায় এটি সম্পূর্ণরূপে হারিয়ে যায় এবং কোনও কারণে প্রায়শই ক্যানের পরিবর্তে বোতলটি পাওয়া যায় (সম্ভবত বোতলগুলি বড় ছিল, সুতরাং আরও পিক্সেল ছিল, সুতরাং আরও বেশি ভোট ছিল)
  • अस्पष्ट চিত্রগুলিও ভাল ছিল না, যেহেতু ভোটটি পিক্সেলটিতে কেন্দ্রের আশেপাশের এলোমেলো স্থানে শেষ হয়েছিল, এইভাবে খুব শোরগোলের উত্তাপের মানচিত্র দিয়ে শেষ হয়েছে।
  • অনুবাদ এবং রোটেশনের মধ্যে ভিন্নতা অর্জন করা হয়েছিল, তবে অরিয়েন্টেশন নয়, এর অর্থ এমন একটি ক্যান যা সরাসরি ক্যামেরার উদ্দেশ্যটির মুখোমুখি ছিল না তা স্বীকৃত হয়নি।

উল্লিখিত চারটি সুনির্দিষ্ট সমস্যা সমাধানের জন্য আপনি কেবলমাত্র ওপেনসিভি বৈশিষ্ট্য ব্যবহার করে আমার নির্দিষ্ট অ্যালগরিদম উন্নত করতে আমাকে সহায়তা করতে পারেন ?

আমি আশা করি কিছু লোক এগুলি থেকেও কিছু শিখতে পারে, সর্বোপরি আমি মনে করি যে কেবল প্রশ্ন জিজ্ঞাসা করা লোকেদেরও শেখা উচিত নয়। :)


45
বলা যেতে পারে যে dsp.stackexchange.com, বা stats.stackexchange.com এ এই প্রশ্নটি আরও বেশি উপযুক্ত এবং আপনার অবশ্যই সেই সাইটগুলিতে পুনরায় জিজ্ঞাসা করার বিষয়টি বিবেচনা করা উচিত।
এলী

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

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

9
রেক্যাপচা এর অনুরূপ পন্থা সম্পর্কে কীভাবে ? ;)
জর্জ ডেকেট

39
এটিকে কেন dsp.stackexchange.com থেকে সরানো হয়েছিল ? দেখে মনে হচ্ছে যে সাইটটি
স্ট্যাকওভারফ্লো ও_ও-এর

উত্তর:


672

স্কেল-ইনভেরিয়েন্ট ফিচার ট্রান্সফর্ম ( এসআইএফটি ) বা স্পিডড আপ রোবস্ট ফিচারস ( এসইউআরএফ ) ব্যবহার করে বৈশিষ্ট্যগুলি (কীপয়েন্টগুলি) নিষ্কাশন করা বিকল্প বিকল্প হতে পারে approach

এটি ওপেনসিভি ২.৩.১ এ প্রয়োগ করা হয়েছে ।

আপনি কোনও পরিচিত অবজেক্টটি খুঁজে পেতে বৈশিষ্ট্য 2 ডি + হোমোগ্রাফির বৈশিষ্ট্যগুলি ব্যবহার করে একটি দুর্দান্ত কোড উদাহরণ খুঁজে পেতে পারেন

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

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

চিত্র উত্স: টিউটোরিয়াল উদাহরণ

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

মূল কাগজপত্র


6
আমি @ স্ট্যাকারের সাথে একমত - SIFT একটি দুর্দান্ত পছন্দ। এটি স্কেল এবং রোটেশন অপারেশনের বিরুদ্ধে খুব শক্ত। এটি দৃষ্টিকোণ বিকৃতির বিরুদ্ধে কিছুটা শক্তিশালী (স্ট্যাকারের পরামর্শ অনুসারে এটি উন্নত করা যেতে পারে: কাঙ্ক্ষিত বস্তুর ভিন্ন দৃষ্টিভঙ্গি সহ একটি টেম্পলেট ডাটাবেস)। আমার অভিজ্ঞতাতে এর অ্যাকিলিসের হিলটি শক্তিশালী আলোর বৈচিত্র এবং খুব ব্যয়বহুল গণনা হবে। আমি কোনও জাভা বাস্তবায়ন জানি না। আমি একটি ওপেনসিভি বাস্তবায়ন সম্পর্কে সচেতন এবং রিয়েলটাইম পারফরম্যান্সের জন্য উপযুক্ত একটি জিপিইউ সি ++ / উইন্ডোজ ( সিফ্টজিপিইউ ) প্রয়োগ করেছি।

31
সতর্কতার একটি নোট: আমি যতটা এসআইএফটি / এসআরএফকে ভালবাসি এবং তারা আমার সাথে যা করেছে তা তারা পেটেন্টকে আটকানো হয়েছে। এই পারে একটি সমস্যা হতে, ভৌগলিক অবস্থান আমি যতদূর জানি সহ অবস্থার একটি সংখ্যা উপর নির্ভর করে।
Agos

12
সুতরাং ওপেনসিভির ওআরবি বা ফ্রেস চেষ্টা করুন যার কোনও পেটেন্ট সমস্যা নেই। সিআফটি-র তুলনায় ওআরবি অনেক দ্রুত। ওআরবি এটি আমার অভিজ্ঞতায় স্কেল এবং হালকা ভিন্নতার সাথে কিছুটা দুর্বল তবে এটি নিজেই পরীক্ষা করুন।
রুই মার্কস

66
আপনি কীভাবে এটি উত্তর হিসাবে গ্রহণ করতে পারেন ... বৈশিষ্ট্য বর্ণনাকারী কেউই কোনও ক্যান থেকে বোতলকে আলাদা করতে পারে না They তারা সকলেই কেবল স্থানীয় স্থানীয় প্যাটার্ন বর্ণনাকারী দেখে। আমি সম্মত হই যে সিফট, এসআরএফ, ওআরবি, ফ্যাসেক ইত্যাদি বৈশিষ্ট্য মেলাতে আপনাকে সহায়তা করতে পারে তবে .. আপনার প্রশ্নের অন্যান্য অংশগুলির মতো যেমন ঘটনাসমূহ, বোতল বনাম ক্যান ইত্যাদি about গুগল আপনার সমস্যা আছে সম্ভবত প্রথম ফলাফলটি এই উত্তর হতে পারে।
G453

11
@ G453 আপনি একদম ঠিক বলেছেন! সম্ভবত তিনি
শিফটের

383

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

স্বাক্ষর স্ক্যান লাইন

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

আমি যদি অবাক হব যে এটি যদি রৈখিক-দক্ষ অ্যালগরিদম বা প্রায় না হয়। স্পষ্টতই এটি আপনার ক্যান-বোতল বৈষম্যকে মোকাবেলা করে না, তবে কমপক্ষে আপনার লোগো থাকবে।

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

(আমার চিত্র প্রক্রিয়াকরণের দিনগুলি কয়েক বছর হয়ে গেছে, তাই আমি এই পরামর্শটি উচ্চ-স্তরের এবং ধারণাগত রেখেছি I আমি মনে করি কোনও মানব চোখ কীভাবে পরিচালনা করতে পারে - বা আমার মস্তিষ্ক কী করে তা কমপক্ষে আনুমানিক হতে পারে!)


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

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

29
আমি কোকাকোলা লোগোগুলি খুব দ্রুত সনাক্তকরণের জন্য বারকোড স্ক্যানারের সমান পরিমাণ ব্যবহার করার ধারণাটি পছন্দ করি । +1 টি!
লি-অং ইপ

8
এই ক্ষেত্রে স্বাক্ষরগুলির সন্ধান করার সমস্যাটি হ'ল আমরা যদি ক্যানটিকে অন্য দিকে ঘুরিয়ে দেয়, অর্থাৎ স্বাক্ষরটি গোপন করি তবে অ্যালগরিদম ক্যানটি সনাক্ত করতে ব্যর্থ হবে।
করলফিলিপ

34
@ কার্লফিলিপ: আপনি যদি স্বাক্ষরটি অর্থাৎ লোগোটি গোপন করেন তবে লোগোটি অনুসন্ধানের উপর ভিত্তি করে যে কোনও পদ্ধতি ব্যর্থ হতে চলেছে।
লি-অং ইপ

162

মজাদার সমস্যা: যখন আমি আপনার বোতলটির চিত্রটি এক নজরে দেখলাম তখন আমি ভেবেছিলাম এটিও একটি ক্যান। তবে, একজন মানুষ হিসাবে আমি পার্থক্যটি বলতে যা করেছি তা হ'ল আমি লক্ষ্য করেছিলাম এটি একটি বোতলও ছিল ...

সুতরাং, ক্যান এবং বোতলগুলি আলাদা বলতে, প্রথমে বোতলগুলির জন্য কেবল স্ক্যানিং সম্পর্কে কীভাবে? যদি আপনি একটি খুঁজে পান, ক্যানগুলি সন্ধান করার আগে লেবেলটি মাস্ক করুন।

আপনি যদি ইতিমধ্যে ক্যান করছেন তবে প্রয়োগ করা খুব কঠিন নয়। আসল খারাপ দিকটি এটি আপনার প্রক্রিয়াকরণের সময়কে দ্বিগুণ করে। (তবে রিয়েল-ওয়ার্ল্ড অ্যাপ্লিকেশনগুলির কথা চিন্তা করে, আপনি যে কোনও উপায়ে বোতলগুলি করতে চান না কেন ;-)


5
হ্যাঁ আমি সে সম্পর্কেও ভেবেছিলাম, তবে এটি করার জন্য খুব বেশি সময় ছিল না। আপনি কীভাবে একটি বোতল চিনতে পারবেন, যেহেতু এটির মূল অংশটি একটি ছোট আকারের ক্যানের মতো দেখাবে? আমি পাশাপাশি লাল প্লাগের সন্ধান করার চিন্তা করছিলাম এবং এটি বোতলজাত কেন্দ্রের সাথে সংযুক্ত কিনা তা দেখুন, তবে এটি খুব দৃ rob় বলে মনে হয় না।
চার্লস মেনগুয়ে

42
"কোকা কোলা" এর সমান্তরালে যদি কোনও লাল ক্যাপ (বা রিং) থাকে তবে এটি সম্ভবত বোতল।
লুকাসজ ম্যাডন

@ লিঙ্কার আপনি কীভাবে ক্যানের জন্য আপনার অ্যালগোরিদমকে প্রশিক্ষণ দিয়েছিলেন? আপনার কাছে ক্যানের উদাহরণ রয়েছে? কিভাবে বোতল উদাহরণ সঙ্গে প্রশিক্ষণ সম্পর্কে?
সিয়ামি

1
এই অ্যালগরিদমের শক্তি হ'ল প্রশিক্ষণের জন্য আপনার কেবলমাত্র একটি টেম্পলেট প্রয়োজন এবং তারপরে এটি অন্যান্য সম্ভাব্য ক্যানের সাথে মেলে সমস্ত রূপান্তর প্রয়োগ করে। আমি প্রশিক্ষণের জন্য এই টেমপ্লেটের একটি বাইনারিযুক্ত এবং কনট্যুর-ভিত্তিক সংস্করণটি ব্যবহার করছিলাম, সুতরাং ক্যান এবং বোতলটির মধ্যে একমাত্র পার্থক্যটি প্লাগ হতে পারে তবে আমি আশঙ্কা করি যে এটি মাধ্যাকর্ষণ কেন্দ্রটি প্রান্তের কোথাও থাকায় এটি আরও মিথ্যা ধনাত্মকতা আনতে পারে I'm বা বোতল বাইরে। এটি অনুমান করার চেষ্টা করুন এটি মূল্যবান। তবে এটি আমার প্রক্রিয়াকরণের সময় দ্বিগুণ করবে এবং আমি কান্নাকাটি করতে যাচ্ছি;)
চার্লস মেনগুয়ে

7
মূলত এটি একটি যুক্তিসঙ্গত দিক। আমি এটিকে কিছুটা আলাদা বলছি: প্রথমে সমস্ত প্রার্থী সন্ধান করুন এবং তারপরে প্রতিটি প্রার্থীর জন্য এটি বোতল, ক্যান, বা অন্য কিছু কিনা তা নির্ধারণ করুন।
MSalters

131

দ্বিতীয় চিত্রটিতেও বোতল এবং একটি ক্যানের মধ্যে পার্থক্য করা মানুষের পক্ষে কি কঠিন নয় (শর্ত থাকে যে বোতলটির স্বচ্ছ অঞ্চলটি লুকিয়ে রয়েছে)?

খুব ছোট অঞ্চল ব্যতীত এগুলি প্রায় একই (যেমন ক্যানের শীর্ষে প্রস্থটি কিছুটা ছোট থাকে তবে বোতলটির মোড়ক একই প্রস্থের সমান হয় তবে একটি ছোটখাট পরিবর্তন হয়?)

আমার মনে যে প্রথম জিনিসটি এসেছিল তা হ'ল বোতলটির লাল শীর্ষ পরীক্ষা করা। তবে এটি এখনও একটি সমস্যা, বোতলটির জন্য শীর্ষ না থাকলে, বা এটি আংশিকভাবে লুকিয়ে থাকলে (উপরে বর্ণিত হিসাবে)।

দ্বিতীয় জিনিসটি আমি বোতল স্বচ্ছতা সম্পর্কে ভেবেছিলাম। ওপেনসিভিতে একটি ছবিতে স্বচ্ছ জিনিসগুলি সন্ধান করার জন্য কিছু কাজ রয়েছে। নীচের লিঙ্কগুলি চেক করুন।

তারা গ্লাসটি কীভাবে সঠিকভাবে সনাক্ত করে তা দেখতে বিশেষত এটিকে দেখুন:

তাদের বাস্তবায়ন ফলাফল দেখুন:

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

তারা বলছেন এটি কে ম্যাকহেনরি এবং জে পনস, সিভিপিআর 2006 এর "এ জিওডেসিক অ্যাক্টিভ কনট্যুর ফ্রেমওয়ার্ক ফাইন্ডিং গ্লাস" পত্রিকার বাস্তবায়ন ।

এটি আপনার ক্ষেত্রে কিছুটা সহায়ক হতে পারে তবে বোতলটি ভরাট হলে আবার সমস্যা দেখা দেয়।

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

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

এখন আপনি হলুদ অঞ্চলটি অর্থাৎ বোতলটির লেবেলটি সরিয়ে ফেলতে পারেন এবং ক্যানটি সন্ধান করতে আপনার অ্যালগরিদম চালাতে পারেন।

যাইহোক, এই সমাধানটির অন্যান্য সমাধানগুলির মতোও বিভিন্ন সমস্যা রয়েছে।

  1. আপনার বোতলটি খালি থাকলে এটি কেবল কাজ করে। সেক্ষেত্রে আপনাকে দুটি কালো রঙের মধ্যে লাল অঞ্চলটি অনুসন্ধান করতে হবে (যদি কোকাকোলা তরলটি কালো হয়)।
  2. স্বচ্ছ অংশটি isাকা থাকলে আরেকটি সমস্যা।

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


+1 আমি এটি সম্পর্কে ভেবেছিলাম এবং এই পদ্ধতির প্রয়োগের পথে ছিলাম। তবে @ লিঙ্কারকে তার চিত্রের সেট ভাগ করা উচিত যাতে আমরা আরও শিক্ষিত অনুমান করার চেষ্টা করতে পারি।
করলফিলিপ

হ্যাঁ .. আমি আরও ভাবছি যদি আরও ছবি থাকত তবে এটি ভাল ছিল।
আবিদ রহমান কে

আমাদের কাছে কেবল বোতল / ক্যানের লেবেল রয়েছে এবং বোতল ক্যাপ বা স্বচ্ছতার অন্যান্য স্বতন্ত্র কারণগুলির মধ্যে বা উপরে / নীচে করতে পারবেন না তা বিবেচনা করে - বোতলটির প্রস্থ ক্যানের প্রস্থের চেয়ে আলাদা।
কেন

বোতলটির জন্য লোগোটির সামনে কোনও ক্যান রাখলে কী হবে?
অ্যালগো রাইথম

51

আমি সত্যিই ড্যারেন কুক এবং স্ট্যাকারের এই সমস্যাটির উত্তর পছন্দ করি । আমি তাদের সম্পর্কে একটি মন্তব্যে আমার চিন্তাভাবনা ছুঁড়ে ফেলার মাঝে ছিলাম, তবে আমি বিশ্বাস করি যে আমার দৃষ্টিভঙ্গি এখানে ছেড়ে না যাওয়ার জন্য খুব উত্তর আকারের।

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

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

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

এই লক্ষ্যে ক্যানের জন্য সবচেয়ে সঠিক নির্বাচনের মানদণ্ডটি নিম্নলিখিত হিসাবে উপস্থিত বলে মনে হচ্ছে:

  • আপনার প্রশ্নে অঙ্কিত বস্তুর আকারটি কি সঠিক? যদি তাই হয় তবে +1।
  • যদি আমরা প্রাকৃতিক বা কৃত্রিম আলোর উপস্থিতি অনুমান করি, আমরা কী বোতলটির জন্য একটি ক্রোম রূপরেখা সনাক্ত করি যা এটি অ্যালুমিনিয়াম দিয়ে তৈরি কিনা তা বোঝায়? যদি তাই হয় তবে +1।
  • আমরা নির্ধারণ করেন যে স্পেকুলার বৈশিষ্ট্য বস্তুর সঠিক, আমাদের আলোর উত্স আপেক্ষিক ( অর্থবোধক ভিডিও লিঙ্ক উপর আলোর উৎস সনাক্তকরণ )? যদি তাই হয় তবে +1।
  • আমরা কি সেই অবজেক্ট সম্পর্কে অন্য কোনও বৈশিষ্ট্য নির্ধারণ করতে পারি যা এটি লোগোটির টপোলজিকাল চিত্রের স্কিউ, বস্তুর অভিযোজন, বস্তুর সংক্ষিপ্তকরণ সহ উদাহরণস্বরূপ, একটি ক্যান হিসাবে চিহ্নিত করে, তবে এটি সীমাবদ্ধ নয় example টেবিলের মতো বা অন্যান্য ক্যানের প্রসঙ্গে), এবং একটি টান ট্যাবের উপস্থিতি? যদি তাই হয় তবে প্রত্যেকের জন্য +1 করুন।

আপনার শ্রেণিবিন্যাসটি নীচের মতো হতে পারে:

  • প্রতিটি পরীক্ষার্থীর ম্যাচের জন্য, যদি কোকাকোলা লোগো উপস্থিতি সনাক্ত করা হয় তবে একটি ধূসর সীমানা আঁকুন।
  • +2 ওভারের প্রতিটি ম্যাচের জন্য একটি লাল সীমানা আঁকুন।

এটি সনাক্ত করা হয়েছে যা ব্যবহারকারীকে দৃষ্টিভঙ্গিভাবে হাইলাইট করে, দুর্বল ধনাত্মকদের উপর জোর দিয়ে যা সঠিকভাবে ম্যাংলেড ক্যান হিসাবে সনাক্ত করা যেতে পারে।

প্রতিটি সম্পত্তি সনাক্তকরণ একটি খুব আলাদা সময় এবং স্থান জটিলতা বহন করে, এবং প্রতিটি পদ্ধতির জন্য, http://dsp.stackexchange.com এর মাধ্যমে একটি দ্রুত পাস আপনার উদ্দেশ্যগুলির জন্য সবচেয়ে সঠিক এবং সবচেয়ে কার্যকর অ্যালগরিদম নির্ধারণের জন্য যুক্তিসঙ্গত চেয়ে বেশি। আমার উদ্দেশ্য এখানে, নিখুঁতভাবে এবং সহজভাবে জোর দিয়ে বলতে চাই যে প্রার্থী সনাক্তকরণের জায়গার একটি ছোট অংশকে অকার্যকর করে কিছু করা যায় কিনা তা সনাক্ত করা এই সমস্যার সর্বাধিক দৃ effective় বা কার্যকর সমাধান নয়, এবং আদর্শভাবে আপনার যথাযথ পদক্ষেপ নেওয়া উচিত সেই অনুযায়ী।

আরে, হ্যাকার নিউজের পোস্টিংয়ে অভিনন্দন ! মোট কথা, এটি যে প্রচার পেয়েছে তার উপযুক্ত এটি একটি দুর্দান্ত ভয়ঙ্কর প্রশ্ন। :)


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

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

41

আকারের দিকে তাকিয়ে আছে

ক্যান / বোতল এর লাল অংশের আকারে গ্যান্ডার নিন। খেয়াল করুন কীভাবে বোতামের লেবেলটি সোজা থাকে ঠিক তেমন দিকে কীভাবে সামান্য ট্যাপ করে ফেলতে পারেন। আপনি দৈর্ঘ্যের জুড়ে লাল অংশের প্রস্থের তুলনা করে এই দুটির মধ্যে পার্থক্য করতে পারেন।

হাইলাইটের দিকে তাকিয়ে

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

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


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

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

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

2
আলোর উত্সটি যদি ক্যানের পিছনে ছিল? আমি মনে করি আপনি হাইলাইটটি দেখতে পাবেন না।
রুই মার্কস

37

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

উত্স কোডটি তার সাইটে উপলব্ধ। এটি ম্যাটল্যাবে রয়েছে তবে সম্ভবত কোনও সম্প্রদায়ের সদস্য দ্বারা ইতিমধ্যে জাভা বাস্তবায়ন হয়েছে। আমি সফলভাবে সি # তে টিএলডি-র ট্র্যাকার অংশটি পুনরায় প্রয়োগ করেছি। যদি আমি সঠিকভাবে মনে রাখি, টিএলডি ফার্নকে কী-পয়েন্ট সনাক্তকারী হিসাবে ব্যবহার করছে। আমি এটির পরিবর্তে SURF বা SIFT ব্যবহার করব (ইতিমধ্যে @stacker দ্বারা প্রস্তাবিত) বস্তুটি যদি ট্র্যাকার দ্বারা হারিয়ে যায় তবে তার পুনঃপ্রক্রিয়া করতে পারেন। ট্র্যাকারের প্রতিক্রিয়া সময়ের সাথে সাথে চালানো / সার্ফ টেম্পলেটগুলির একটি গতিশীল তালিকা তৈরি করা সহজ করে দেয় যা সময়ের সাথে খুব উচ্চ নির্ভুলতার সাথে অবজেক্টটিকে পুনরায় জিজ্ঞাসা করতে সক্ষম করে।

আপনি যদি আমার সি # ট্র্যাকারটির প্রয়োগে আগ্রহী হন তবে নির্দ্বিধায় জিজ্ঞাসা করুন।


আকর্ষণীয় দেখতে লিঙ্কটির জন্য ধন্যবাদ। প্রশিক্ষণের বিষয়ে, প্রশিক্ষণের সেটের আকারটি কী উপযুক্ত যে যুক্তিসঙ্গত ফলাফল অর্জন করা যুক্তিসঙ্গত হবে? আপনার যদি সি # তে একটি বাস্তবায়ন থাকে তবে এটি খুব সহায়ক হবে!
চার্লস মেনগুয়ে

টিএলডি নিয়ে গবেষণা করার সময় আমি অন্য একজন ব্যবহারকারীকে সি # বাস্তবায়ন খুঁজছিলাম --- গিথুবকে আপনার কাজ না দেওয়ার কোনও কারণ আছে কি? stackoverflow.com/questions/29436719/...
spillner

2
এনবি ইয়ার্স, পরে, লিঙ্কটি এখন মারা গেছে
জে ইভান্স

33

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

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


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

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

2
যদি আপনার চিত্রগুলির সেটটি পূর্বনির্ধারিত এবং সীমাবদ্ধ থাকে তবে আপনার
অগ্রগতির জন্য

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

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

24

আমি লাল আয়তক্ষেত্রগুলি সনাক্ত করতে পারি: আরজিবি -> এইচএসভি, ফিল্টার লাল -> বাইনারি চিত্র, বন্ধ (দ্বিখণ্ডিত তারপর ক্ষয়ে যায়, imcloseমতলব হিসাবে পরিচিত )

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

এটি আপনাকে লাল আয়তক্ষেত্র দিয়ে ছেড়ে যাবে, তারপরে আপনাকে কোনও লোগো সনাক্ত করতে হবে যে তারা একটি লাল আয়তক্ষেত্র বা কোক ক্যান কিনা to ওসিআরের মতো, তবে একটি পরিচিত লোগো সহ?


2
এটি সরানোর সময় অল্প সময়ে ডিএসপিতে আলোচনা হচ্ছিল, কিছু বোতলগুলিতে প্লাগ নাও থাকতে পারে;) বা প্লাগটি আংশিকভাবে লুকিয়ে থাকতে পারে।
চার্লস মেনগুয়ে

22

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


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

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

লেবেল অনুপাত (এটি একটি ট্রেডমার্ক হচ্ছে) একই। সুতরাং যদি (বড়) বোতলটি ছবিটির থেকে খানিকটা দূরে থাকে তবে এর আকার ক্যানের মতোই হবে।
লিটলডিভি

3
আরও কিছুটা ব্যাখ্যা করার জন্য। ধরা যাক z = 0 এবং বোতল z = -100 এ থাকতে পারে। বোতল যেহেতু অনেক পিছনে এটি আরও ছোট দেখবে। তবে যদি আমি জানি যে বোতলটি z = -100 এ রয়েছে এবং z = 0 এ পারে, তবে আমি উভয়কে z = 0 তে অনুবাদ করলে ক্যান / বোতলটির প্রত্যাশিত আকারটি গণনা করতে পারি। সুতরাং এখন তারা একই গভীরতায় রয়েছে এবং তাই আমি আকারের ভিত্তিতে সিদ্ধান্ত নিতে পারি।
শারদ

2
এটি কেবল একটি মন্তব্য নয়, কোনও উত্তর নয়, তবে এটি 120 টি ভোট দিয়ে উপরের মন্তব্য-হিসাবে-উত্তরের চেয়ে উত্তর হওয়ার অনেক কাছাকাছি।
ফ্যাটি

22

হুম, আমি আসলে মনে হয় আমি সম্মুখের আছি কিছু (এই সবচেয়ে মজার প্রশ্ন কি কখনো ভালো হয় - তাই এটা একটা লজ্জা "নিখুঁত" উত্তর খুঁজে বের করার চেষ্টা চালিয়ে যেতে না, যদিও একটি গ্রহণযোগ্য এক পাওয়া গেছে হতে চাই) .. ।

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

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

এখানে, লোগোর উপরে এবং নীচে যা সম্পূর্ণ গা dark়, রঙের সাথে সামঞ্জস্যপূর্ণ। তুলনামূলকভাবে যে সম্মান মধ্যে সহজ।

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

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

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

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

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

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

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

আকর্ষণীয় অতিরিক্ত দুঃস্বপ্নগুলিতে বোতলটির পিছনে এমন দূরত্বে বসার সুবিধামত অন্তর্ভুক্ত থাকতে পারে যে তার ধাতবটি কেবলমাত্র লেবেলের উপরে এবং নীচের অংশে প্রদর্শিত হবে যা আপনি যতক্ষণ লাল রঙের পুরো দৈর্ঘ্যের সাথে স্ক্যান করছেন ততক্ষণ ব্যর্থ হবে would লেবেল - যা আসলে সমস্যার আরও বেশি কারণ আপনি যেখানে থাকতে পারেন এমন একটি ক্যান সনাক্ত করছেন না, আপনি দুর্ঘটনাক্রমে ক্যান সহ আসলে একটি বোতল সনাক্ত করছেন তা বিবেচনা করার বিপরীতে। গ্লাস আধ খালি, এক্ষেত্রে!


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

সম্পাদনা

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


10
লাল রঙের নির্দিষ্ট ছায়া বেশিরভাগ বিষয়গত এবং আলো বিবেচনা এবং সাদা ভারসাম্য দ্বারা দৃ strongly়ভাবে প্রভাবিত হয়। সেগুলি কতটা পরিবর্তন করতে পারে তা দেখে আপনি অবাক হতে পারেন। উদাহরণস্বরূপ, এই চেকবোর্ড বিভ্রমটি বিবেচনা করুন ।
অক্টোপাস

1
@ অक्टোপাস পোস্ট করা লিঙ্কটির একটি আপডেট: পার্সি.মিট.ইডু
হাট

একটি উপলব্ধি মায়া আপনার ওয়েবক্যাম যা দেখায় তা প্রভাবিত করে না - যেমন আপনার কোডটি কী পায় - কেবল কীভাবে একটি মানব চোখ সাহায্যকারী (?) মস্তিষ্ককে বোকা বানায়।
বার্নি

17

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

তবে স্পষ্টতই এই অ্যালগরিদম এমন ক্ষেত্রে ব্যর্থ হবে যেখানে শীর্ষগুলি লুকিয়ে থাকতে পারে তবে এই ক্ষেত্রে এমনকি মানুষ উভয়ের মধ্যে পার্থক্য করতে সক্ষম হবে না (কেবলমাত্র যদি বোতলটির কোকাকোলা অংশ দেখা যায়)


1
আমারও একই চিন্তা ছিল, তবে আমি মনে করি ছবির উপরে থাকা রৌপ্যের আস্তরণটি ক্যানের কোণ অনুসারে নাটকীয়ভাবে পরিবর্তিত হতে পারে। এটি একটি সরল রেখা বা একটি বৃত্ত হতে পারে। তিনি উভয় রেফারেন্স হিসাবে ব্যবহার করতে পারে?
অ্যালেক্সিস ডুফরনয়

15

আমি চ্যালেঞ্জটি পছন্দ করি এবং একটি উত্তর দিতে চেয়েছিলাম, যা সমস্যার সমাধান করে, আমি মনে করি।

  1. লোগোটির বৈশিষ্ট্যগুলি (কীপয়েন্টস, বর্ণনাকারী যেমন SIFT, SURF) নিষ্কাশন করুন
  2. লোগোটির একটি মডেল চিত্রের সাথে পয়েন্টগুলি মিল করুন (ম্যাচেচার যেমন ব্রুট ফোর্স ব্যবহার করে)
  3. অনমনীয় শরীরের স্থানাঙ্কগুলির অনুমান করুন (পিএনপি সমস্যা - সলভপএনপি)
  4. অনমনীয় শরীর অনুযায়ী ক্যাপের অবস্থানটি অনুমান করুন
  5. ব্যাক-প্রক্ষেপণ করুন এবং বোতলটির ক্যাপটির চিত্র পিক্সেল পজিশন (আরওআই) গণনা করুন (আমি ধরে নিই যে আপনার ক্যামেরার অভ্যন্তরীণ প্যারামিটার রয়েছে)
  6. ক্যাপটি রয়েছে কিনা তা একটি পদ্ধতিতে পরীক্ষা করে দেখুন। যদি সেখানে থাকে তবে এই বোতলটি

ক্যাপ সনাক্তকরণ আরও একটি বিষয়। এটি জটিল বা সহজ হতে পারে। আমি যদি আপনি হয়ে থাকি তবে সাধারণ সিদ্ধান্তের জন্য আমি কেবলমাত্র আরওআইয়ের রঙিন হিস্টোগ্রামটি পরীক্ষা করে দেখতাম।

দয়া করে, আমি ভুল হলে প্রতিক্রিয়া জানাতে। ধন্যবাদ।


13

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


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

11

আপনার প্রশ্নটি আমি পছন্দ করি, তা বিষয়বস্তুটি বন্ধ হোক বা না করুক: পি

আকর্ষণীয় একদিকে; আমি সবেমাত্র আমার ডিগ্রীতে একটি বিষয় শেষ করেছি যেখানে আমরা রোবোটিক্স এবং কম্পিউটার ভিশনকে কভার করেছি। সেমিস্টারের জন্য আমাদের প্রকল্পটি আপনার বর্ণিতটির মতো অবিশ্বাস্যরকম ছিল similar

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

আপনি এই বিষয়টিতে আমার ব্লগ পোস্টে আমাদের পদ্ধতির সম্পর্কে পড়তে পারেন :)


2
আকর্ষণীয় প্রকল্প তবে এটি কেবলমাত্র আপনার খুব নির্দিষ্ট সেটআপে প্রযোজ্য।
রুই মার্কস

10

বস্তুগুলি সনাক্ত করতে ব্যবহৃত রঙের বর্ণনাকারীর একটি গোছা রয়েছে, নীচের কাগজটি তাদের সাথে অনেকগুলি তুলনা করে। SIFT বা SURF এর সাথে মিলিত হয়ে এগুলি বিশেষভাবে শক্তিশালী powerful কোকা কোলা ছবিতে SURF বা SIFT একা খুব কার্যকর নয় কারণ তারা প্রচুর আগ্রহের বিষয়গুলি চিনতে পারে না, আপনাকে সহায়তা করার জন্য রঙিন তথ্য প্রয়োজন। আমি একটি প্রকল্পে SURF এর সাথে বিআইসি (সীমানা / অভ্যন্তরীণ পিক্সেল ক্লাসি ation কেশন) ব্যবহার করি এবং এটি অবজেক্টগুলি সনাক্ত করতে দুর্দান্ত কাজ করেছে।

ওয়েব চিত্র পুনরুদ্ধারের জন্য রঙ বর্ণনাকারী: তুলনামূলক অধ্যয়ন


10

গভীর জ্ঞানার্জন

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

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

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

ওপেনসিভি এবং গুগল নেট: http://docs.opencv.org/trunk/d5/de7/tutorial_dnn_googlenet.html

ওপেনসিভি এবং এসভিএম: http://docs.opencv.org/2.4/doc/tutorials/ML/intrration_to_svm/intr Producation_to_svm.html


9

আপনার এমন একটি প্রোগ্রাম দরকার যা অভিজ্ঞতা থেকে জৈবিকভাবে শ্রেণিবিন্যাসের নির্ভুলতাটি শিখতে এবং উন্নত করতে পারে।

আমি গভীর শিক্ষার পরামর্শ দেব, গভীর শিক্ষার সাথে এটি একটি তুচ্ছ সমস্যা হয়ে দাঁড়ায়।

আপনি টেনসরফ্লোতে ইনসেপশন ভি 3 মডেলটি পুনরায় প্রশিক্ষণ করতে পারেন:

নতুন বিভাগগুলির জন্য কীভাবে ইনসেপশনের ফাইনাল স্তরটি পুনরুদ্ধার করবেন

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


2
গরম কুকুর নাকি গরম কুকুর নয়?
ইয়েলোপিলি

6

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

এটি কেবল ক্যান নিষ্কাশন করতে দরকারী এবং স্বচ্ছ বস্তু সনাক্তকরণের সাথে একত্রিত হতে পারে।


3

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

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


0

যদি আপনি এটি রিয়েলটাইম হওয়ার বিষয়ে আগ্রহী হন, তবে ভারী শুল্কের জিনিসগুলির সাথে কী স্ক্যান হয় তা নির্ধারণ করার জন্য আপনার যা দরকার তা হ'ল প্রাক-প্রসেসিং ফিল্টারে যুক্ত করা। একটি ভাল দ্রুত, খুব বাস্তব সময়, প্রাক-প্রসেসিং ফিল্টার যা আপনাকে কোকা-কোলা হওয়ার সম্ভাবনা বেশি এমন জিনিসগুলি স্ক্যান করতে দেয় যা আরও বেশি আইফাই জিনিসগুলিতে যাওয়ার আগে এরকম কিছু হ'ল: বৃহত্তম প্যাচগুলির জন্য চিত্রটি সন্ধান করুন biggest রঙের যা sqrt(pow(red,2) + pow(blue,2) + pow(green,2))আপনার কোকাকোলা ক্যান থেকে দূরে একটি নির্দিষ্ট সহনশীলতা । খুব কঠোর রঙ সহনশীলতা দিয়ে শুরু করুন এবং আরও লেন্সিয়েন্ট রঙ সহনশীলতার পথে চলে। তারপরে, যখন আপনার রোবটটি বর্তমান ফ্রেমটি প্রক্রিয়া করার জন্য একটি নির্ধারিত সময়ের বাইরে চলে যায়, এটি আপনার উদ্দেশ্যে বর্তমানে পাওয়া বোতলগুলি ব্যবহার করে। দয়া করে মনে রাখবেন যে আপনাকে আরজিবি রঙগুলি sqrt(pow(red,2) + pow(blue,2) + pow(green,2))ঠিকমতো পাওয়ার জন্য টুইঙ্ক করতে হবে ।

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


0

হতে পারে অনেক বছর দেরীতে, তবে তবুও একটি তত্ত্ব চেষ্টা করার চেষ্টা করেছে।

বোতল / ক্যানের সামগ্রিক মাত্রায় লাল লোগো অঞ্চলের সীমানা আয়তক্ষেত্রের অনুপাত পৃথক। ক্যানের ক্ষেত্রে, 1: 1 হওয়া উচিত, যেখানে বোতলের ক্ষেত্রে (ক্যাপযুক্ত বা ক্যাপবিহীন) ভিন্ন হবে। এটি উভয়ের মধ্যে পার্থক্য করা সহজ করে তোলে।

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


-1

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

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

আইটেম 1 হ'ল এক ধরণের শর্ট কাট - প্রাক-প্রক্রিয়া যদি সেই ছবিতে ডো ডোনের উপস্থিতি থাকে - এগিয়ে যান।

সুতরাং যদি এটি হয় তবে আমি আমার চিত্রটির সেই অংশটি ব্যবহার করতে পারি এবং কিছুটা প্রশ্নের বাইরে অঞ্চল থেকে আরও জুম বের করতে শুরু করি - মূলত পার্শ্ববর্তী অঞ্চল / প্রান্তগুলি দেখুন ...

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

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


-9

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

    //Copyright Cherif yahiaoui, by ELEBAN.FR

//variables de flottement.
var myInstOne = null;
var globalize = null;

var eleban_preload_images = function (name, imgs, url){
try{
    var oThis = this;
    this.images = new Array();
    this.imageshover = new Array();
    this.imagesNames = new Array(imgs.split(";"));


        for(var i=0; i < this.imagesNames[0].length; i++){
            this.images[i] = new Image();
            this.imageshover[i] = new Image();
        }

    this.url = url;

    this.GetAbsoluteurl = function () {

    var img = new Image(); img.src = url;
    url = img.src; img = null; 
        this.url = url; 

    };

    this.Preload = function () {

        for(var i=0; i < this.imagesNames[0].length; i++){
            this.images[i].src = this.url+("btn-"+this.imagesNames[0][i]+".png");
            this.imageshover[i].src = this.url+("btn-"+this.imagesNames[0][i]+"-hover.png");
        }

    };
    this.GetAbsoluteurl();
    this.Preload();
}
finally {return;}
}

var g_preloaderhover = new eleban_preload_images("loaderhover","menu;malette;reservation;cabine;facebook;map;amis","./images/");


//variable arret flottement
var g_stopflo = false;

var myObjfloater = function(name, idname, itop, differ ) {
var oThis = this; // création d'une référence vers l'objet courant
this.name = name;
this.id =idname;
this.xstep= 0.3;
this.itime = 30;
this.obj = null;
this.y = itop;
this.yadd = 0;
this.up = true;
this.pause = false;
this.differ = differ;
this.coordsimage = null;
this.objimg = null;
this.initimages = false;
this.compteur = 0;
this.over = false;
this.timeoutstop = null;
try{
this.initimage = function(){
var img = this.obj.getElementsByTagName('img')[0];
this.coordsimage = new Array(img.width, img.height);
this.objimg = img;
this.initimages = true;
};


this.myMethod = function() {
if(!g_stopflo){
    if(this.differ != 0){ 
this.differ=this.differ-0.1; 
}else{

if(this.obj){
if(this.over == false){
    this.yadd=this.yadd+0.1; this.itime = this.itime + 10;
this.obj.style.visibility = "hidden";
this.y = ((this.up)? this.y - this.yadd : this.y + this.yadd);
this.obj.style.marginTop = this.y +"%" ;
this.obj.style.visibility = "visible";

if (this.yadd > this.xstep){ 
    this.up = (this.up)? false : true;
    this.yadd = -0.1; this.itime=180;
}
}
}else{
    if (document){
        if(document.getElementById) {
         this.obj = document.getElementById(this.id); 
        //this.y = this.obj.offsetTop;
        }else{
        if(document.getElementByTagName) { this.obj = document.getElementByTagName(this.id); this.y = this.obj.offsetTop;}
        }

    }
}
}
this.timeoutstop=setTimeout(function() { oThis.myMethod(); }, this.itime);
}    
};

this.callDelayed = function() {
    // utilisation de la référence vers l'objet
if(!g_stopflo){
    this.timeoutstop=setTimeout(function() { oThis.myMethod(); }, this.itime);
}
};
}
finally {return;}
};

// special creation des zones AREA
function eleban_createallarea(){
try{
var measur = new Array("w", "h");
measur["w"] = new Array(330,570,185,300,115,390,225);
measur["h"] = new Array(460,570,295,450,100,190,115);
var ititle = new Array("Voir les menus  et nos suggestions","Repas &agrave; emporter","R&eacute;servation d&rsquo;une table","Nous contacter","Nous rejoindre sur FaceBook","Calculer votre trajet","liste des amis");
var ihref = new Array("menus.html","emporter.html","reservation.html","contact.html","likebox.html","google.html","amis.html");
var b_map = new Array(0,1,2,3,4,5,6);
b_map[0] = "71,32,240,32,249,43,289,352,280,366,102,385,90,371,51,38";
b_map[1] = "66,52,95,14,129,56,115,91,100,93,112,273,128,284,122,366,176,343,193,296,191,194,147,189,145,166,201,111,199,84,545,105,532,354,509,388,412,478,32,401,77,383,87,375,82,286,95,269,94,221,24,195,11,165,9,120,89,123,89,94,78,92,77,92,77,93,75,93,77,93,76,93,79,92";
b_map[2] = "19,25,169,38,173,112,161,113,105,103,90,125,91,262,121,269,124,281,96,293,62,289,49,281,56,268,83,264,84,121,71,98,16,90";
b_map[3] = "60,0,216,1,226,20,225,403,168,421,42,410,45,10";
b_map[4] = "31,7,72,10,82,18,88,45,88,71,76,81,29,80,17,68,16,18";
b_map[5] = "91,40,141,38,178,27,184,4,211,5,223,24,240,23,386,135,229,121,103,180,6,156,49,94";
b_map[6] = "6,32,69,18,79,6,118,7,141,2,149,10,211,17,202,28,209,30,189,62,195,70,178,74,180,90,164,90,154,107,68,101,34,104,34,98,18,97,28,84,15,84,30,65";

if (document.getElementById){
for (var i=0; i<b_map.length;i++){
var obj = document.getElementById("pc_menu"+i);
    if(obj){
    var ct = '<img class=\"pc_menu\" src=\"'+g_preloaderhover.images[i].src+'\" alt=\"\" width=\"'+measur["w"][i]+'\" height=\"'+measur["h"][i]+'\" usemap=\"#MAP_INDEX'+i+'\" \/>';
    ct+='<map name=\"MAP_INDEX'+i+'\">';
    ct+='<area shape=\"poly\" coords=\"'+b_map[i]+'\" title=\"'+ititle[i]+'\" href=\"'+ihref[i]+'\" \/>';
    ct+='<\/map>';
    obj.innerHTML = ct;
    }
}
}
}
finally {return;}
}

//preload, creation et gestion de tous les evenements


var image_resizer = function(g_layer){


    b_org_elm = new Array("w",  "h");
    b_org_elm["w"] = new Array(330,570,185,300,115,390,225);
    b_org_elm["h"] = new Array(460,570,295,450,100,190,115);

    b_map = new Array(0,1,2,3,4,5,6);
    b_map[0] = new Array(71,32,240,32,249,43,289,352,280,366,102,385,90,371,51,38);
    b_map[1] = new Array(66,52,95,14,129,56,115,91,100,93,112,273,128,284,122,366,176,343,193,296,191,194,147,189,145,166,201,111,199,84,545,105,532,354,509,388,412,478,32,401,77,383,87,375,82,286,95,269,94,221,24,195,11,165,9,120,89,123,89,94,78,92,77,92,77,93,75,93,77,93,76,93,79,92);
    b_map[2] = new Array(19,25,169,38,173,112,161,113,105,103,90,125,91,262,121,269,124,281,96,293,62,289,49,281,56,268,83,264,84,121,71,98,16,90);
    b_map[3] = new Array(60,0,216,1,226,20,225,403,168,421,42,410,45,10);
    b_map[4] = new Array(31,6,70,10,78,18,84,23,88,44,88,70,78,80,75,81,33,82,23,76,18,69,16,22,21,13);
    b_map[5] = new Array(91,40,141,38,178,27,184,4,211,5,223,24,240,23,386,135,229,121,103,180,6,156,49,94);
    b_map[6] = new Array(6,32,69,18,79,6,118,7,141,2,149,10,211,17,202,28,209,30,189,62,195,70,178,74,180,90,164,90,154,107,68,101,34,104,34,98,18,97,28,84,15,84,30,65);


    b_layer = g_layer;

//gere mouseover
    this.mouseover = function(e){
        if (!e) var e = window.event;
        var tg = (window.event) ? e.srcElement : e.target
            if (tg.nodeName){
                if(tg.nodeName == "AREA"){
                var divpar = (tg.parentNode)? tg.parentNode.parentNode : tg.parentElement.parentElement;
                    if (divpar){
                        if(divpar.nodeName == "DIV"){
                            var iiobjimg = divpar.getElementsByTagName('img');
                                if (iiobjimg){
                                    ii = parseInt(divpar.id.substring(divpar.id.length-1,divpar.id.length));
                                    iiobjimg[0].src = g_preloaderhover.imageshover[ii].src;
                                }
                        }
                    }
                }
            }
    };

//gere mouseout
    this.mouseout = function(e){
        if (!e) var e = window.event;
        tg = (window.event) ? e.srcElement : e.target
            if (tg.nodeName){
                if(tg.nodeName == "AREA"){
                divpar = (tg.parentNode)? tg.parentNode.parentNode : tg.parentElement.parentElement;
                    if (divpar){
                        if(divpar.nodeName == "DIV"){
                            var iiobjimg = divpar.getElementsByTagName('img');
                                if (iiobjimg){
                                    ii = parseInt(divpar.id.substring(divpar.id.length-1,divpar.id.length));
                                    iiobjimg[0].src = g_preloaderhover.images[ii].src;
                                }
                        }
                    }
                }
            }
    };

//ajout evenements entree sortie à la page web lors du chargement de la page
    this.init = function () {

        for(var i=0; i<b_org_elm["w"].length;i++){
            w = document.getElementById("pc_menu"+i).offsetWidth;
            h = document.getElementById("pc_menu"+i).offsetHeight;

            xa = w/parseFloat(b_org_elm["w"][i]);
            ya = h/parseFloat(b_org_elm["h"][i]);

            area = document.getElementById("pc_menu"+i).getElementsByTagName('area')[0];

            b_map2 = area.coords.split(",");
            yswitch = true;
                for(m=0; m<b_map2.length;m++){
                b_map2[m] = Math.round(parseFloat(b_map[i][m]) * ((yswitch)? xa: ya));
                yswitch = (yswitch)? false :  true;
                }
            area.coords = b_map2.join(',');
        }
    }; 


    this.resize = function () {
    clearTimeout(myInstOne.timeoutstop);
    g_stopflo=true;

    globalize.init();
    g_stopflo=false;
    myInstOne.obj = null;
    myInstOne.callDelayed();
    };


    nar = document.getElementsByTagName('area').length;

        for(var i=0; i<nar;i++){
            var elem = document.getElementsByTagName('area')[i];
            if (elem.addEventListener){
                    elem.addEventListener("onmouseover",this.mouseover,true);
                elem.addEventListener("onmouseout",this.mouseout,true);
            }else if (elem.attachEvent) {
                    elem.attachEvent("onmouseover", this.mouseover);
                    elem.attachEvent("onmouseout", this.mouseout);
            }else{
                    elem["onmouseover"] = this.mouseover;
                    elem["onmouseout"] = this.mouseout;
            }
        }

            window.onresize = this.resize;
        window.onmouseover = this.mouseover;
        window.onmouseout = this.mouseout;
}


//permet de temporiser et éviter les erreurs de chargement des objets
function temporise_Init(Lastdiv){
if(document.getElementById){
    if(document.getElementById(Lastdiv)){

    eleban_createallarea();

    myInstOne = new myObjfloater('b_menumap11', 'pc_menu1', 1, 0);

    globalize = new image_resizer(document.getElementById('pc_redim'));
    globalize.init();
        globalize.resize();



    }else{
    setTimeout(temporise_Init(Lastdiv), 30);
    }
}
}


window.onload = function () {
temporise_Init("pc_bandeau");
}

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