
مجموعة أدوات مفتوحة المصدر لتحليل الصور الرقمية الجنائي
مجموعة أدوات مفتوحة المصدر لتحليل الصور الرقمية الجنائي
"تحليل الصور الجنائي هو تطبيق علوم الصور والخبرة المتخصصة لتفسير محتوى الصورة و/أو الصورة نفسها في المسائل القانونية. تشمل التخصصات الفرعية الرئيسية لتحليل الصور الجنائي مع تطبيقات إنفاذ القانون: القياس التصويري، المقارنة التصويرية، تحليل المحتوى، والتحقق من الصحة." (مجموعة العمل العلمية لتقنيات التصوير)
Sherloq هو مشروع بحث شخصي حول تطبيق بيئة متكاملة بالكامل لتحليل الصور الرقمية الجنائي. ليس المقصود منه أداة تلقائية تقرر ما إذا كانت الصورة مزيفة أم لا (تلك الأداة ربما لن توجد أبدًا...)، بل كمرافق في تجربة خوارزميات متنوعة موجودة في أحدث الأوراق البحثية وورش العمل.
بينما العديد من الحلول التجارية لها أسعار تجزئة مرتفعة وغالبًا ما تكون مخصصة فقط لإنفاذ القانون والوكالات الحكومية، تهدف هذه المجموعة إلى أن تكون إطارًا قابلًا للتوسع ونقطة انطلاق لأي شخص مهتم بإجراء التجارب في هذا التطبيق المحدد لمعالجة الإشارات الرقمية.
أؤمن بشدة أن الأمن من خلال الغموض هو الطريق الخطأ لتقديم أي نوع من الخدمات الجنائية (على سبيل المثال: "باستخدام هذا البرنامج الاحتكاري، أضمن لك أن هذه الصورة سليمة... وعليك أن تثق بي!"). وفقًا لفلسفة المصدر المفتوح، يجب أن يكون الجميع قادرين على تجربة تقنيات متنوعة بأنفسهم، واكتساب المعرفة ومشاركتها مع المجتمع... بل أفضل إذا ساهموا بتحسينات في الكود! :)
تمت كتابة النسخة الأولى في عام 2015 باستخدام C++11 لبناء أداة سطر أوامر مع العديد من الخيارات، لكن سرعان ما أصبحت مرهقة وغير تفاعلية بدرجة كافية. يمكن تجميع تلك النسخة باستخدام CMake بعد تثبيت مكتبات OpenCV و Boost و AlgLib. عرضت هذه النسخة الأولى حوالي 80% من الميزات المخططة (انظر أدناه للقائمة الكاملة).
بينما تضمنت أيضًا خوارزميات جديدة، أضافت نسخة 2017 بشكل أساسي واجهة مستخدم رسومية متعددة النوافذ مبنية على Qt لتوفير تجربة مستخدم أفضل. يمكن عرض تحليلات متعددة على الشاشة وتم تنفيذ عارض سريع للتصغير/التكبير للتنقل في الصور بسهولة. يمكن تجميع هذا المشروع باستخدام Qt Creator مع Qt 5 و OpenCV 3 ويغطي حوالي 70% من الميزات المخططة.
بسرعة نحو عام 2020 عندما قررت نقل كل شيء إلى Python (PySide2 + Matplotlib + OpenCV) لتسهيل التطوير والنشر. على الرغم من أن هذه التكرار قد بدأت للتو ولم أنقل بعد كل الكود السابق إلى المنصة الجديدة، أعتقد أن هذا سيكون "الشكل" النهائي للمشروع (طالما لم يتطوع أحد لتطوير تطبيق ويب جميل!).
أنا سعيد بمشاركة كودي والتواصل مع أي شخص مهتم بتحسينه أو اختباره، لكن يرجى وضع في الاعتبار أن هذا المستودع ليس مخصصًا لتوزيع منتج نهائي، هدفي هو فقط تتبع التطوير علنًا لأداة تعليمية متواضعة، لذا توقع وجود أخطاء وكود غير مصقول وميزات مفقودة! ;)
تحتوي هذه القائمة على الوظائف التي ستوفرها المجموعة (نأمل) بمجرد الوصول إلى مرحلة بيتا (ملاحظة: الوظائف المعروضة بـ مائل داخل البرنامج لم يتم تنفيذها بعد!).
عام: Original Image, Hex Editor, File Digest, Similar Search
بيانات وصفية: EXIF Full Dump, Header Structure
فحص: Enhancing Magnifier, Channel Histogram, Reference Comparison
تفاصيل: Luminance Gradient, Echo Edge Filter, Wavelet Threshold, Frequency Split
ألوان: RGB/HSV Plots, Space Conversion, PCA Projection, Pixel Statistics
ضوضاء: Signal Separation, Min/Max Deviation, Bit Plane Values