[Image] الكشف عن قرب صورة مكررة


Answers

أود أن أوصي النظر في الابتعاد عن مجرد استخدام الرسم البياني RGB.

يمكن الحصول على هضم أفضل لصورتك إذا كنت تأخذ المويجة 2d للصورة (أسهل بكثير مما يبدو ، فقط الكثير من المتوسط ​​وبعض الجذور المربعة المستخدمة في وزن المعامِلات) وفقط احتفظ بالك أكبر معاملات مرجحة في المويجات كمتناثر متناثر ، وتطبيعه ، وحفظ ذلك لتقليل حجمه. يجب عليك إعادة تقييم RG و B باستخدام الأوزان الحسية مسبقًا على الأقل أو أنصح بالتحول إلى YIQ (أو YCoCg ، لتجنب ضجيج التكويد) حتى تتمكن من اختبار معلومات التلون مع أهمية أقل.

يمكنك الآن استخدام منتج نقطة اثنين من هذه المتجهات المقيسة المتفرقة كمقياس للتشابه. ستكون أزواج الصور ذات أكبر منتجات النقاط متشابهة جدًا في البنية. وهذا له ميزة كونه مقاومًا قليلاً لتغيير الحجم ، وتحويل هوى وعلامة مائية ، وسهولة التنفيذ والتوافق.

يمكنك مقايضة التخزين والدقة عن طريق زيادة أو خفض ك.

سيكون الفرز حسب درجة رقمية واحدة مستعصية على حل مشكلة التصنيف هذه. إذا فكرت في الأمر ، فإن الأمر يتطلب أن تكون الصور قادرة على "التغيير" فقط على طول محور واحد ، ولكنها لا تتطلب ذلك. هذا هو السبب في أنك تحتاج إلى متجه من الميزات. في حالة المويجة في Haar ، يكون تقريبًا مكان حدوث الانقطاعات الحادة في الصورة. يمكنك حساب مسافة بين الصور ، لكن بما أن كل ما لديك هو مقياس المسافة ، فلا يوجد ترتيب خطي للتعبير عن "المثلث" للصور الثلاث البعيدة بنفس القدر. (على سبيل المثال ، فكر في صورة خضراء بالكامل ، صورة باللون الأحمر وصورة زرقاء بالكامل).

وهذا يعني أن أي حل حقيقي لمشكلتك سيحتاج إلى عمليات O (n ^ 2) في عدد الصور التي لديك. في حين أنه إذا كان من الممكن قياس الإجراء ، يمكنك أن تطلب فقط O (n log n) ، أو O (n) إذا كان المقياس مناسبًا ، على سبيل المثال ، لفرز radix. ومع ذلك ، لا تحتاج إلى إنفاق O (n ^ 2) نظرًا لأنك لا تحتاج في الممارسة العملية إلى فحص المجموعة بالكامل ، فأنت تحتاج فقط إلى العثور على الأشياء قريبة من بعض العتبات. لذا من خلال تطبيق أحد الأساليب العديدة لتقسيم المساحة المتجهية الخاصة بك ، يمكنك الحصول على مقاربات أسرع من أجل العثور على الصور التي تشبه أكثر بكثير من عتبة معينة مقارنة مع كل صورة ساذجة مقارنة كل صورة ، مما يمنحك من المحتمل أنك تحتاج ... إن لم يكن ما طلبته بالضبط.

على أي حال ، استخدمت هذا منذ بضع سنوات لتحقيق تأثير جيد شخصيًا عند محاولة تقليل عدد الأشكال المختلفة التي كنت أقوم بتخزينها ، ولكن كان هناك أيضًا الكثير من ضوضاء البحث في هذا الفضاء تظهر كفاءتها (وفي هذه الحالة المقارنة إلى شكل أكثر تعقيدًا لتصنيف الرسم البياني):

http://www.cs.princeton.edu/cass/papers/spam_ceas07.pdf

إذا كنت بحاجة إلى دقة أفضل في الكشف ، يمكن استخدام خوارزميات minHash و tf-idf مع المويجات Haar (أو المدرج التكراري) للتعامل مع التعديلات بشكل أكثر قوة:

http://cmp.felk.cvut.cz/~chum/papers/chum_bmvc08.pdf

وأخيرًا ، لدى ستانفورد بحثًا مصورًا استنادًا إلى نوع أكثر غرابة من هذا النوع من النهج ، استنادًا إلى إجراء المزيد من استخلاص الميزة من موجات التوابل للعثور على أقسام مستدقة أو مقاسة من الصور ، وما إلى ذلك ، ولكن هذا ربما يتجاوز حجم العمل تريد أن تفعل.

http://wang14.ist.psu.edu/cgi-bin/zwang/regionsearch_show.cgi

Question

ما هي طريقة سريعة لفرز مجموعة معينة من الصور عن طريق تشابهها مع بعضها البعض.

في الوقت الحالي لدي نظام يقوم بتحليل المدرج التكراري بين صورتين ، لكن هذه عملية مكلفة للغاية ويبدو أنها مبالغة للغاية.

على النحو الأمثل أنا أبحث عن خوارزمية من شأنها أن تعطي كل صورة درجة (على سبيل المثال ، عدد صحيح ، مثل متوسط ​​RGB) ، ويمكنني أن الفرز حسب هذه الدرجة. الدرجات المتطابقة أو الدرجات بجانب بعضها البعض هي نسخ مكررة محتملة.

0299393
0599483
0499994 <- possible dupe
0499999 <- possible dupe
1002039
4995994
6004994 

RGB متوسط ​​لكل صورة تمتص ، هل هناك شيء مماثل؟










عليك أن تقرر ما هو "مماثل". تناقض؟ مسحة؟

هل الصورة "مشابهة" للصورة نفسها مقلوبة رأسًا على عقب؟

أراهن أنه يمكنك العثور على الكثير من "المكالمات القريبة" عن طريق كسر الصور إلى أجزاء 4 × 4 والحصول على لون متوسط ​​لكل خلية شبكة. سيكون لديك ستة عشر الدرجات لكل صورة. للحكم على التشابه ، ستفعل فقط مجموع مربعات الاختلافات بين الصور.

لا أعتقد أن تجزئة واحدة منطقية ، ما لم تكن ضد مفهوم واحد مثل هوى أو سطوع أو تباين.

ها هي فكرتك:

0299393
0599483
0499994 <- possible dupe
0499999 <- possible dupe
1002039
4995994
6004994

أولاً ، سأفترض أن هذه الأرقام العشرية هي R * (2 ^ 16) + G * (2 ^ 8) + B ، أو شيء من هذا القبيل. من الواضح أن هذا ليس جيدًا لأن الأحمر مرجح بشكل غير معتاد.

سيكون الانتقال إلى مساحة HSV أفضل. يمكنك نشر أجزاء من HSV في التجزئة ، أو يمكنك تسوية H أو S أو V بشكل فردي ، أو يمكن أن يكون لديك ثلاثة تجزئة لكل صورة.

شيء اخر. إذا كنت تقوم بالوزن R و G و B. الوزن الأخضر أعلى ، ثم الأحمر ، ثم الأزرق لمطابقة الحساسية البصرية البشرية.




تحتوي الصورة على العديد من الميزات ، لذا ما لم تضيق نفسك إلى واحد ، مثل متوسط ​​السطوع ، فأنت تتعامل مع مساحة مشكلة n الأبعاد.

إذا طلبت منك تعيين عدد صحيح واحد لمدن العالم ، لذلك يمكنني تحديد أي منها قريب ، فلن تكون النتائج رائعة. يمكنك ، على سبيل المثال ، اختيار المنطقة الزمنية كعدد صحيح فردي والحصول على نتائج جيدة مع مدن معينة. ومع ذلك ، يمكن أيضًا أن تكون المدينة القريبة من القطب الشمالي ومدينة أخرى بالقرب من القطب الجنوبي في نفس المنطقة الزمنية ، على الرغم من أنها تقع في نهايات معاكسة من الكوكب. إذا سمحت لك باستخدام عددين صحيحين ، فيمكنك الحصول على نتائج جيدة جدًا باستخدام خطوط الطول والعرض. المشكلة هي نفسها لتشابه الصورة.

كل ما قيل ، هناك خوارزميات تحاول تجميع الصور المتشابهة معًا ، وهو ما تطلبه بفاعلية. هذا ما يحدث عند اكتشاف الوجوه باستخدام بيكاسا. حتى قبل التعرف على الوجوه ، يقوم بتجميعها مع بعضها البعض بحيث يكون من السهل المرور بمجموعة من الوجوه المتشابهة وإعطاء معظمها نفس الاسم.

هناك أيضًا تقنية تسمى Principle Component Analysis ، والتي تتيح لك تقليل بيانات الأبعاد إلى أسفل إلى أي عدد أقل من الأبعاد. لذلك يمكن تقليل الصورة ذات الميزات n إلى ميزة واحدة. ومع ذلك ، هذا لا يزال ليس أفضل طريقة لمقارنة الصور.




أحد الحلول هو إجراء مقارنة RMS/RSS على كل زوج من الصور المطلوبة لإجراء فرز فقاعي. ثانيًا ، يمكنك تنفيذ FFT على كل صورة والقيام ببعض المحاور المتوسطة لاسترداد عدد صحيح واحد لكل صورة تستخدمها كمؤشر للفرز حسب. قد تفكر في القيام بأي مقارنة على نسخة (25 ٪ ، 10 ٪) من حجمها الأصلي اعتمادا على مدى الفرق الذي تختاره لتجاهل ومقدار السرعة التي تحتاجها. اسمحوا لي أن أعرف ما إذا كانت هذه الحلول مثيرة للاهتمام ، ويمكننا مناقشة أو يمكنني تقديم نموذج التعليمات البرمجية.