Я рад, что победил дух прокрастинации и неуверенности в себе, чтобы написать свою первую статью о проекте машинного обучения. Фальсификация изображений является серьезной проблемой, поскольку потенциально может привести к ряду преступлений, начиная с кражи личных данных. Чтобы противостоять этой проблеме, организации используют машинное обучение и обученные модели для обнаружения фальсифицированных изображений карт. В этом посте мы углубимся в проект машинного обучения, который использует структурное сходство и Open-CV для выявления фальсифицированных карт. Мы начнем с введения в используемые технологии и шаги, связанные с проектом.

Open-CV и структурное сходство

Open-CV (компьютерное зрение с открытым исходным кодом) — это популярная библиотека машинного обучения, которая предоставляет широкий спектр алгоритмов для обнаружения объектов, обработки изображений, извлечения признаков и многого другого. В этом проекте используется функция извлечения и сопоставления признаков в OpenCV, которая влечет за собой такие алгоритмы, как SURF и SIFT.

Структурное сходство (SSIM) измеряет сходство между двумя изображениями, учитывая контраст, яркость и структуру изображений. В контексте обнаружения фальсификации изображения сравниваются значения структурного сходства исходного и фальсифицированного изображений.

Обнаружение подделки карты Pan

В этом проекте начальным шагом было получение данных, которые в данном случае представляли собой образцы исходных и измененных изображений. Open-CV помог преобразовать два изображения в оттенки серого. Стоит отметить, что идентификация цветных изображений является более сложной задачей, поскольку они имеют три цветовых канала, тогда как изображения в градациях серого имеют только один. SSIM использует координаты x и y для выявления расхождений между изображениями, а более низкий показатель сходства указывает на меньшее сходство.

Затем была использована функция порога из Open-CV для применения адаптивного порога к сохраненному изображению, что привело к созданию массива. Этот процесс облегчил извлечение характерных черт исходного изображения с целью выявления областей, которые демонстрируют различия по сравнению с измененным изображением.

Результаты и последствия

Применение структурного сходства облегчило обнаружение сходств и различий между двумя предоставленными изображениями. В проекте для фальсифицированного изображения была получена оценка сходства 31%, что подтверждает наличие фальсификации. Масштабы проекта включают внедрение этого подхода в организациях для укрепления систем безопасности за счет автоматического определения фальсифицированных карт.

В производственных условиях модель машины опорных векторов (SVM) может быть обучена на наборе данных оригинальных и поддельных карт. Перед развертыванием следует оценить производительность модели, чтобы обеспечить точность классификации изображений не менее 95 %. Кроме того, было разработано приложение Flask для демонстрации производительности модели в производственной среде.

Этот проект эффективно продемонстрировал приложение Open-CV и структурное сходство в обнаружении фальсифицированных карт. Приложение Flask было разработано для демонстрации производительности модели в производственном режиме. Вы можете найти весь код и блокнот, связанные с этим проектом, в следующем репозитории Github https://github.com/Kamire-J/card_tempering_detection