💯 Sherloq

Sherloq – набір інструментів для судової криміналістичної експертизи цифрових зображень з відкритим вихідним кодом.

“Судова експертиза зображень – це застосування науки про зображення та галузевої експертизи для інтерпретації змісту зображення та/або самого зображення в юридичних питаннях. Основні піддисципліни криміналістичного аналізу зображень, що застосовуються в правоохоронних органах, включають Фотограмметрія, порівняння фотографій, контент-аналіз та автентифікація зображень”.

Sherloq – це особистий дослідницький проект про впровадження повністю інтегрованого середовища для криміналістичної експертизи цифрових зображень. Він не є автоматичним інструментом, який вирішує, чи є зображення підробленим, чи ні (такого інструменту, ймовірно, ніколи не буде…), але є помічником в експериментах з різними алгоритмами, які можна знайти в останніх наукових роботах і семінарах.

тиць
github.com/GuidoBartoli/sherloq

У той час як багато комерційних рішень мають високу роздрібну ціну і часто призначені лише для правоохоронних органів та урядових установ, цей набір інструментів має на меті бути як розширюваною основою, так і відправною точкою для будь-кого, хто зацікавлений у проведенні експериментів у цьому конкретному застосуванні цифрової обробки сигналів.

Я глибоко переконаний, що пропонувати будь-які криміналістичні послуги за рахунок безпеки – це неправильний спосіб (наприклад, “Використовуючи це пропрієтарне програмне забезпечення, я гарантую вам, що ця фотографія непідробна… і ви повинні мені довіряти!”). Дотримуючись філософії відкритого вихідного коду, кожен повинен мати можливість спробувати різні методи самостійно, отримати знання і поділитися ними зі спільнотою… а ще краще, якщо він зробить свій внесок у вигляді поліпшення коду! 🙂

Історія

Перша версія була написана у 2015 році з використанням C++11 для створення утиліти командного рядка з багатьма опціями, але незабаром виявилося, що вона занадто громіздка і не дуже інтерактивна. Цю версію можна було скомпілювати за допомогою CMake після встановлення бібліотек OpenCV, Boost та AlgLib. Ця перша перевірка концепції пропонувала близько 80% запланованих можливостей.

Крім нових алгоритмів, у версії 2017 року було додано багатовіконний графічний інтерфейс на основі Qt для забезпечення кращого користувацького досвіду. На екрані можна було показувати декілька аналізів, а для полегшення навігації зображеннями було реалізовано швидке масштабування/прокручування. Цей проект можна було скомпілювати за допомогою Qt Creator з Qt 5 та OpenCV 3 і він охоплював близько 70% запланованих функцій.

Перенесемося у 2020 рік, коли я вирішив перенести все на Python (PySide2 + Matplotlib + OpenCV) для полегшення розробки та розгортання. Хоча ця ітерація тільки почалася, і мені ще належить перенести весь попередній код на нову платформу, я думаю, що це буде остаточна “форма” проекту (якщо тільки хтось не зголоситься розробити гарний веб-додаток!).

Я буду радий поділитися своїм кодом і зв’язатися з усіма зацікавленими, щоб поліпшити або протестувати його, але, будь ласка, майте на увазі, що цей репозиторій не призначений для розповсюдження кінцевого продукту, моя мета – просто публічно відстежувати розробку невибагливого освітнього інструменту, тому очікуйте помилок, недопрацьованого коду і відсутніх функцій! 😉

Додати коментар