학습일지/K-Digital Traing

[KDT] AIaaS 마스터클래스 16주차 - 최종프로젝트 기획단계

tierr 2025. 7. 12. 19:13

최종 프로젝트 기획 주간이다. 우리 조는 2팀이고 정한 주제는 'ImageNet 활용한 이미지 분류 AI CAPTCHA 서비스 구축' 이다.

이 주제는 기획 요소가 강해서 어떤 아이디어를 내야할지 고민을 많이 했고, 그 과정을 어떻게 진행했는지 기록한다.


1. 랜덤 픽셀 노이즈(Random Pixel Noise)

정의
이미지에 무작위 픽셀 값을 인위적으로 추가하여 시각적/알고리즘적 간섭을 일으키는 기법입니다. 흔히 사용되는 노이즈 유형 중 하나이며, 보안 목적(예: CAPTCHA) 또는 딥러닝 모델의 일반화 성능 향상 등에 활용됩니다.

특징

  • 각 픽셀의 RGB값에 무작위 변화를 주어 원본 이미지의 품질이나 인식 가능성을 저하.
  • 사람은 내용을 식별할 수 있지만, 기계(모델) 입장에서는 어려워짐.

예시 용도

  • 텍스트 기반 CAPTCHA에서 자동화된 OCR 우회를 방지
  • 딥러닝 학습 시 이미지 Augmentation으로 사용 (e.g., torchvision.transforms.RandomErasing 등)
  • 보안 카메라 영상에서 얼굴을 흐리게 할 때 일부 활용

2. 사진을 일부 가리는 CAPTCHA 활용 예시

개념
이미지의 일부 영역을 모자이크/블러/박스 등으로 가린 후, 사용자에게 특정 질문을 하거나 정답을 고르게 하여 사람임을 증명하게 하는 방식입니다.

활용 예시

  1. 이미지 선택 CAPTCHA
    • 질문: “신호등이 있는 이미지를 모두 고르세요.”
    • 구현: 일부 이미지에 신호등이 반쯤 가려진 상태로 출력되어, 사람은 문맥을 통해 추론 가능, 기계는 어려움.
  2. 부분 가림 + 텍스트
    • 예: 자동차 번호판의 마지막 숫자만 가림 → "이 번호판의 마지막 숫자는?"
    • 보통 OCR 방지 목적으로도 사용됨
  3. 문자/기호 인식 CAPTCHA
    • 영어/숫자 문자를 겹쳐 배치한 뒤, 랜덤 블럭 또는 점선 등으로 일부 가림 → 사용자는 숨겨진 문자를 추측해야 함
  4. 이미지 분할형
    • 하나의 큰 이미지를 3x3로 나누고, 일부 타일을 모자이크 → “가려진 부분에 들어갈 이미지 조각을 선택하세요”

3. reCAPTCHA v2

개요
Google이 개발한 CAPTCHA 시스템의 두 번째 버전으로, 사용자의 행동과 상호작용을 기반으로 사람과 봇을 구분합니다.

유형

  1. “I'm not a robot” 체크박스
    • 사용자가 체크만 하면 됨
    • 실제 판단은 사용자의 마우스 움직임, 클릭 패턴, 브라우저 정보 등을 종합적으로 분석해 결정
    • 의심스러운 경우 추가 이미지 테스트를 수행
  2. 이미지 선택형 CAPTCHA
    • 특정 사물(예: 횡단보도, 버스 등)이 포함된 이미지를 선택하라는 요청이 표시됨
    • 대부분 Google Street View 이미지 기반

특징

  • 봇에게는 매우 어려운 방식이나, 사람에게는 간단함
  • 대부분의 경우 사용자 행동 기반으로 자동 통과 가능
  • Google의 리스크 분석 엔진과 연결되어 지속적으로 학습

단점

  • 인터넷 속도나 플랫폼에 따라 로딩이 느릴 수 있음
  • 시각장애인을 위한 대체 오디오 CAPTCHA는 제한적이며 품질 문제도 존재

실전 테스트

그렇다면 AI가 이미지를 인식하는데 랜덤 픽셀 노이즈와 이미지의 일부를 가리는 것 중에 어떤게 효과가 있을까?

테스트 이미지를 9개 수집해서 아래 예제를 준비했다.

  • 실험 예제 1 - 원본에 랜덤 픽셀 노이즈 추가
  • 실험 예제 2 - 원본 이미지를 일부 가림
  • 실험 예제 3 - 원본 이미지를 일부 가리고, 랜덤 픽셀 노이즈를 추가

 

각 예제 이미지의 인식률이 얼마나 좋은지 Clip모델을 이용해서 약 1000개의 라벨로 테스트 해봤다.

테스트 결과는 다음과 같다.

  • 실험 예제 1 - 랜덤 픽셀 노이즈 추가하니 인식률과 Confidence 가 확실히 감소했다.
  • 실험 예제 2 - 원본 이미지에 비해 오답도 있지만 Confidence 가 오히려 증가한 샘플도 있었다.
  • 실험 예제 3 - 원본 이미지를 일부 가리고, 랜덤 픽셀 노이즈를 추가하자 오답이 늘어나고 Confidence가 확실히 감소했다.

 

그래서 이 랜덤 픽셀 노이즈와 이미지 가리기를 혼합해서 사용하고, 보조로 reCAPTCHA 와 같은 사용자 행동 패턴 분석 기능을 추가하면 꽤 좋은 CAPTCHA 를 기획할 수 있지 않을까 생각했다. 이미 기획은 끝났지만 아직 비밀


본 후기는 [카카오엔터프라이즈x스나이퍼팩토리] 카카오클라우드로 배우는 AIaaS 마스터 클래스 (B-log) 리뷰로 작성 되었습니다.