[image-processing] كيف أجد والدو مع ماثيماتيكا؟



Answers

تخميني بـ "طريقة مضادة للرصاص للقيام بذلك" (أعتقد أن وكالة المخابرات المركزية تجد والدو في أي صورة للقمر الصناعي في أي وقت ، وليس مجرد صورة واحدة دون عناصر متنافسة ، مثل قمصان مخططة) ... أود أن أدرب آلة بولتزمان على العديد من صور والدو - جميع اختلافاته في الجلوس والوقوف والمظلة وما إلى ذلك ؛ قميص ، وقبعة ، وكاميرا ، وجميع الأعمال. أنت لا تحتاج إلى مجموعة كبيرة من Waldos (ربما 3-5 سيكون كافياً) ، ولكن كلما كان ذلك أفضل.

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

هذه هي الطريقة التي يعمل بها التعرف الضوئي على الحروف ، وقارئات الرمز البريدي ، والتعرف على الكتابة اليدوية strokeless اليوم. في الأساس أنت تعرف أن الإجابة موجودة ، تعرف أكثر أو أقل ما يجب أن تبدو عليه ، وكل شيء آخر قد يكون له عناصر مشتركة ، ولكنه بالتأكيد "ليس كذلك" ، لذلك لا تهتم بـ "لا" ، فقط انظر من احتمال "it" بين كل ما هو ممكن "it" الذي شاهدته من قبل "(في الرمز البريدي على سبيل المثال ، يمكنك تدريب BM ل 1 s فقط ، فقط 2s ، فقط 3s ، وما إلى ذلك ، ثم إطعام كل الرقم إلى كل جهاز ، واختيار واحد لديه أكثر ثقة) ، وهذا يعمل بشكل أفضل بكثير من ميزات التعلم الشبكة العصبية واحدة من جميع الأرقام.

Question

كان هذا يضايقني في عطلة نهاية الأسبوع: ما هي طريقة جيدة لحل تلك أين والدو؟ [ 'Wally' خارج أمريكا الشمالية] الألغاز ، وذلك باستخدام Mathematica (معالجة الصور وغيرها من الوظائف)؟

هنا ما لدي حتى الآن ، وهي وظيفة تقلل من التعقيد البصري قليلاً عن طريق إبطاء بعض الألوان غير الحمراء:

whereIsWaldo[url_] := Module[{waldo, waldo2, waldoMask},
    waldo = Import[url];
    waldo2 = Image[ImageData[
        waldo] /. {{r_, g_, b_} /;
          Not[r > .7 && g < .3 && b < .3] :> {0, 0,
          0}, {r_, g_, b_} /; (r > .7 && g < .3 && b < .3) :> {1, 1,
          1}}];
    waldoMask = Closing[waldo2, 4];
    ImageCompose[waldo, {waldoMask, .5}]
]

ومثال على عنوان URL حيث يعمل هذا ":

whereIsWaldo["http://www.findwaldo.com/fankit/graphics/IntlManOfLiterature/Scenes/DepartmentStore.jpg"]

(والدو هو من السجل النقدي):




لا أعلم الرياضيات. . . سيء جدا. لكني أحب الإجابة أعلاه ، بالنسبة للجزء الأكبر.

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

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

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

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

لذا ، ابحث عن أشخاص عشوائيين للحصول على ارتفاع الأشخاص في هذه الصورة. قم بقياس متوسط ​​ارتفاع مجموعة من الأشياء في نقاط عشوائية في الصورة (مخطط بسيط سوف ينتج عدد غير قليل من الأفراد). إذا لم يكن كل شيء ضمن بعض الانحراف المعياري عن بعضها البعض ، يتم تجاهلها الآن. قارن بين متوسط ​​الارتفاعات وارتفاع الصورة. إذا كانت النسبة كبيرة جدًا (على سبيل المثال ، 1: 2 ، 1: 4 ، أو إغلاق مماثل) ، أعد المحاولة. تشغيلها 10 (؟) من الأوقات للتأكد من أن جميع العينات قريبة جدا معا ، باستثناء أي متوسط ​​خارج بعض الانحراف المعياري. ممكن في Mathematica؟

هذا هو حجم والدو الخاص بك. Walso نحيف ، لذلك كنت تبحث عن شيء 5: 1 أو 6: 1 (أو أيا كان) ht: wd. ومع ذلك فهذا لا يكفي. إذا كان والدو مخفياً جزئياً ، يمكن أن يتغير الارتفاع. لذلك ، كنت تبحث عن كتلة من اللون الأحمر الأبيض ~ 2: 1. لكن يجب أن يكون هناك المزيد من المؤشرات.

  1. والدو لديه نظارات. ابحث عن دائرتين 0.5: 1 أعلى اللون الأحمر.
  2. سروال أزرق. أي كمية زرقاء في نفس العرض داخل أي مسافة بين نهاية الأحمر والأبيض المسافة إلى قدميه. لاحظ أنه يرتدي قميصه القصير ، لذا فالقدمان ليسا قريبين من بعضهما.
  3. القبعة. أحمر أبيض أي مسافة تصل إلى ضعف رأسه. لاحظ أنه يجب أن يكون الشعر الداكن أدناه ، وربما النظارات.
  4. اكمام طويلة. أبيض أحمر في بعض الزوايا من الأحمر الرئيسي الأبيض.
  5. شعر داكن.
  6. لون الحذاء. لا أعرف اللون.

أي من تلك يمكن أن تنطبق. هذه هي أيضا اختبارات سلبية ضد أشخاص مشابهين في الصورة - على سبيل المثال ، # 2 ينفي ارتداء مريلة بيضاء حمراء (قريبة جدا من الأحذية) ، # 5 يزيل الشعر فاتح اللون. أيضا ، الشكل هو مؤشر واحد فقط لكل من هذه الاختبارات. . . اللون وحده داخل المسافة المحددة يمكن أن يعطي نتائج جيدة.

سيؤدي ذلك إلى تضييق نطاق العمليات.

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

أي أفكار حول كيفية رمز هذا؟

تصحيح:

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

المقبل ، استبعاد غير الأحمر ، تمدد (الكثير) جميع المناطق الحمراء ، ثم الهيكل العظمي وتقليم. سيعطي هذا الجزء قائمة من نقاط مركز والدو الممكنة. هذا سيكون علامة للمقارنة بين جميع المقاطع لون Waldo الأخرى.

من هنا ، استخدم المناطق الحمراء ذات الهيكل العظمي (وليس المناطق المتوسعة) ، احسب الخطوط في كل منطقة. إذا كان هناك العدد الصحيح (أربعة ، أليس كذلك؟) ، فهذا بالتأكيد منطقة محتملة. إذا لم يكن كذلك ، أعتقد أنها تستثني فقط (باعتبارها مركز والدو ... ربما لا يزال قبعته).

ثم تحقق مما إذا كان هناك شكل وجه أعلاه ، نقطة شعر أعلاه ، نقطة أسفل السراويل ، نقطة الحذاء أدناه ، وهكذا.

لا رمز بعد - لا تزال تقرأ المستندات.






Links