هل تُرفع صورتي إلى أي مكان؟
لا. يفكّ متصفحك أنت ترميز الصورة ويقصّها ويقيسها ويكتبها على جهازك أنت، بمرمِّز JPEG الذي يأتي به المتصفح أصلاً. لا تملك هذه الأداة أي وظيفة شبكية على الإطلاق — فهي لا تجلب شيئاً ولا ترسل شيئاً — وContent-Security-Policy الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به، وليس واحد منها لنا. وذلك هنا أثمن منه في معظم الأدوات: فالملف صورةٌ لوجهك.
ما البلدان المشمولة؟
المواصفات المنقولة حتى الآن هي معيار ICAO نفسه، والولايات المتحدة (جواز السفر وطلب تأشيرة التنوّع، ولهما قواعد رفع مختلفة)، والمملكة المتحدة، وتأشيرة شنغن، وألمانيا، وكندا، وأستراليا، والهند (جواز السفر، ومقاس الطباعة 35 × 45 مم، وصورة استمارة SSC/UPSC والتوقيع)، والصين، واليابان. ويُسمّي كل مدخل الجهة التي جاء منها وتاريخ قراءته. وما عدا ذلك يدخل تحت «أي مكان آخر»، حيث كل رقم لك تكتبه — ولأن معظم العالم يُصدر على هندسة ICAO، فذلك المدخل يبدأ عليها.
كيف يجد التاج والذقن والعينين دون نموذج وجوه؟
باستعمال شيء لا يُسمح لكاشف وجوه عام أن يفترضه وتُسمح به هذه الأداة: فكل واحدة من هذه المواصفات تفرض المشهد نفسه — شخص واحد، مواجهٌ للكاميرا، أمام جدار سادة متساوي الإضاءة. فيُقرأ لون الجدار من حافّة الصورة، وكل ما ليس ذلك اللون هو الشخص، وأعلاه هو التاج بالشعر. ويُوجَد البؤبؤان بوصفهما أفضل زوج من الرقع الأدكن مما حولها، متساويَي المستوى، على جانبَي وسط الرأس — وهي مقارنة موضعية، فليس فيها ما يتوقّف على لون الوجه. أما الذقن فهو الذي لا يمكن إيجاده هكذا، لأن الفكّ في مقابل العنق حافّة لينة لا تغيّر لون عبرها؛ فيُستنتَج من البؤبؤين، وهما يقعان أسفل منتصف الرأس قليلاً بعد حساب الشعر الذي فوقه، ثم يُتحقَّق منه في مقابل الخطّ الخارجي. وكل ذلك حسابٌ في src/detect.js: لا أوزان، ولا زمن تشغيل استدلال، ولا شيء يُجلَب، والحساب نفسه لكل وجه يمرّ به. وذلك الأخير هو المهمّ، لأن الكاشف المشحون يخطئ على نحو غير متساوٍ — أسوأ في وجوه منه في أخرى — والذين تُردّ صورهم أكثر من غيرهم أصلاً هم الذين كان سيخذلهم.
كم ينبغي أن أثق بالنقاط التي يضعها؟
ثقةَ من يبدأ منها، لا ثقةَ من يترك النظر إليها. فلكل واحدة من الأربع صورةٌ تخطئ فيها: الجدار المزخرف أو رفّ الكتب لا يترك خطاً خارجياً يُوجَد الرأس في مقابله، والرأس المقصوص من أعلاه لا تاج له في الصورة أصلاً، والنظارة أو الغرّة الكثيفة أو العينان المغمضتان قد تضع البؤبؤين على معلم آخر. فتقول الأداة جهراً أياً من الأربع قاست وأياً منها اضطرّت إلى استنتاجه، وترفض صراحةً صورةً لا خلفية سادة فيها بدل أن تخترع جواباً، وتترك كل نقطة قابلة للسحب. ويُؤخَذ القصّ من حيث تنتهي النقاط، لا من حيث بدأت. وإن كنت تفضّل وضع الأربع بنفسك، فالمفتاح فوق الصورة يقول سأضعها بنفسي، وتحريكُ أي نقطة بيدك يقلب إليه من تلقائه — ومن تلك اللحظة صارت لك ولن يحرّكها شيء بعد.
ما قاعدة ارتفاع الرأس، ولماذا تفشل صورتي فيها دائماً؟
كل واحدة من هذه المواصفات تنصّ على كم يملأ الرأس من الإطار، مقيساً من أسفل الذقن إلى أعلى الرأس بالشعر — وهو عادةً 70 إلى 80 في المئة، أي 31.5 إلى 36 مم لصورة بارتفاع 45 مم. والسبب المعتاد للفشل صورةٌ ذاتية: فطول الذراع نحو 60 سم، وذلك يشوّه الوجه ويجعل الرأس أكبر مما ينبغي في الإطار. والسبب الثاني المعتاد هو التاج — فهو أعلى الشعر لا منبته، ووضعُ العلامة عند منبت الشعر يُخرِج كل رأس أصغر مما ينبغي.
لماذا يجب ألا يقلّ الملف عن 20 KB، وكيف يمكن حشوه؟
بوابات الامتحانات الهندية واستمارة التأشيرة الصينية ورفع جواز السفر البريطاني، كلها تنصّ على حدّ أدنى لحجم الملف كما تنصّ على حدّ أقصى، لأن الملف الأصغر منه يكون عادةً مصغَّرة رفعها أحدهم سهواً. وصورةٌ بمقاس 200 × 230 هي 46,000 بكسل، وبأعلى جودة يكتبها متصفح قد تحطّ عند 15 KB، ولا سبيل إلى تكبيرها بضغط أقل. فتضيف الأداة مقطع تعليق JPEG مملوءاً بالمسافات. وذلك جزء من معيار JPEG، وكل فاكِّ ترميز يتخطّاه، والصورة هي الصورة نفسها بتّاً ببتّ — وإنما طال الملف. ويقول الحشو ذلك بالضبط، بالإنجليزية، داخل الملف.
هل يفحص الخلفية، وهل يستطيع استبدالها؟
يفحص ولن يستبدل. يُقرأ اللون من شريط عبر أعلى القصّ ونزولاً على كل جانب، فوق الكتفين، ويُقارَن بلون القاعدة في فضاء CIE Lab لا في RGB — فرماديّان يفصل بينهما أربعون وحدة RGB لا يُفرَّق بينهما، وأربعون وحدة من الأزرق لون آخر. ويُقاس التفاوت على حدة، لأن الظلّ على جدار أبيض هو ما يردّ الصور فعلاً، وليس مشكلة لون. أما استبدال الخلفية فيعني اقتطاع شخص من صورة، وذلك نموذج تجزئة، ورديئه يأكل الشعر. والوقوف على بُعد قدم أخرى من الجدار يصلح من هذه أكثر مما يصلح أي مرشِّح.
ما فائدة ورقة 4 × 6؟
الكشك يتقاضى عدة جنيهات مقابل ست صور. ومحلّ الطباعة يطبع ورقة 6 × 4 بفلوس قليلة وكلهم يفعلها. فتضع الأداة من نُسَخ صورتك ما تحمله الورقة — ثماني نسخ، لصورة 35 × 45 على ورقة 6 × 4 — مع علامات قصّ في الفجوات ولا شيء مطبوع فوق صورة. ولا شيء يُقاس ليتّسع: فكل نسخة بالمقاس الذي تطلبه القاعدة بالضبط، لأن ورقةً صغّرتها اثنين في المئة كي تُدخل واحدة أخرى تكون ثماني صور كلها بالمقاس الخطأ. اطبعها عند 100 في المئة؛ فـ «ملاءمة الصفحة» هو ما يُخرِج الورقة خطأً.
لماذا يهمّ الـ dpi إن كانت البكسلات هي هي؟
لأن ملف JPEG يستطيع أن يقول ما مقاسه، وإن لم يقل خمّن ما يطبعه. والدقة تقبع في ترويسة JFIF، ولوحةُ المتصفح تكتب تلك الترويسة وحقل الوحدات فيها مضبوط على «هذه نسبة أبعاد لا دقة». فتعيد هذه الأداة كتابة تلك البايتات القليلة كي يقول الملف 300 dpi، وهو ما يحوّل 413 × 531 بكسلاً إلى صورة 35 × 45 مم بدل صورة بلا مقاس بعينه. ولا شيء يُفكّ ترميزه لفعل ذلك ولا جودة تُنفَق.
هل يستطيع صنع ملف التوقيع كذلك؟
نعم — فاستمارتا SSC وUPSC تريدان واحداً بمقاس 140 × 60 بكسلاً وبين 10 و20 KB، وهو في القائمة بوصفه مواصفة قائمة بذاتها. وتُطفأ طبقةُ الوجه له، إذ لا خطّ عينين لتوقيع، والذي يُفحَص بدلاً منها أن الورق فاتح، وأن عليه حبراً، وأن القصّ لم يلتقط سطراً مسطَّراً ولا حافّة الصفحة. وبلوغُ 10 KB هو الجزء الصعب من تلك القاعدة، لا البقاء تحت 20.
هل يضمن هذا قبول طلبي؟
لا، ولا يستطيع ذلك بصدق أي أداة. وإنما يطبّق الأرقام المنشورة بالضبط ويعرض عليك كل قياس قاسه، كي تكون الأشياء التي تقيسها الاستمارة آلياً — مقاس البكسل، وحجم الملف، والصيغة — صحيحةً، وتكون الأشياء التي يقيسها فاحص بشري — ارتفاع الرأس، وخطّ العينين، والخلفية — أمامك وعليها أرقام. والقواعد تتغيّر كذلك: فكل مواصفة هنا تقول من أي جهة جاءت ومتى قُرِئت، كي تستطيع مقابلتها بالاستمارة التي أمامك بدل أن تثق بجدول.
هل هو مجاني، وهل أحتاج إلى حساب؟
هو مجاني، ولا حساب ولا تسجيل دخول ولا فترة تجريبية ولا علامة مائية مطبوعة عبر وجهك. ولا حدّ لعدد الصور التي تصنعها كذلك، إذ لا خادم يدفع ثمنها. ويحمل الموقع إعلانات، وهي ما يدفع تكاليفه؛ ولا يُعطى المعلنون شيئاً عن صورتك.
هل يعمل دون اتصال؟
نعم. حمِّل الصفحة مرة، ثم اقطع اتصالك بالإنترنت وستظل تعمل — فكتاب القواعد ملفٌّ يُخدَم مع الصفحة لا استعلام. وهذه أيضاً أبسط طريقة لإثبات أنه لا يُرفع شيء: فأداةٌ ترسل صورتك بعيداً لتُقَصّ كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.