최종 프로젝트 기획 주간이다. 우리 조는 2팀이고 정한 주제는 'ImageNet 활용한 이미지 분류 AI CAPTCHA 서비스 구축' 이다.
이 주제는 기획 요소가 강해서 어떤 아이디어를 내야할지 고민을 많이 했고, 그 과정을 어떻게 진행했는지 기록한다.
1. 랜덤 픽셀 노이즈(Random Pixel Noise)

정의
이미지에 무작위 픽셀 값을 인위적으로 추가하여 시각적/알고리즘적 간섭을 일으키는 기법입니다. 흔히 사용되는 노이즈 유형 중 하나이며, 보안 목적(예: CAPTCHA) 또는 딥러닝 모델의 일반화 성능 향상 등에 활용됩니다.
특징
- 각 픽셀의 RGB값에 무작위 변화를 주어 원본 이미지의 품질이나 인식 가능성을 저하.
- 사람은 내용을 식별할 수 있지만, 기계(모델) 입장에서는 어려워짐.
예시 용도
- 텍스트 기반 CAPTCHA에서 자동화된 OCR 우회를 방지
- 딥러닝 학습 시 이미지 Augmentation으로 사용 (e.g., torchvision.transforms.RandomErasing 등)
- 보안 카메라 영상에서 얼굴을 흐리게 할 때 일부 활용
2. 사진을 일부 가리는 CAPTCHA 활용 예시

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

개요
Google이 개발한 CAPTCHA 시스템의 두 번째 버전으로, 사용자의 행동과 상호작용을 기반으로 사람과 봇을 구분합니다.
유형
- “I'm not a robot” 체크박스
- 사용자가 체크만 하면 됨
- 실제 판단은 사용자의 마우스 움직임, 클릭 패턴, 브라우저 정보 등을 종합적으로 분석해 결정
- 의심스러운 경우 추가 이미지 테스트를 수행
- 이미지 선택형 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) 리뷰로 작성 되었습니다.
'학습일지 > K-Digital Traing' 카테고리의 다른 글
| [KDT] AIaaS 마스터클래스 18주차 - 카카오 클라우드 본사 특강 (3) | 2025.07.23 |
|---|---|
| [KDT] AIaaS 마스터클래스 17주차 - 개인프로젝트 마무리 (0) | 2025.07.18 |
| [KDT] AIaaS 마스터클래스 15주차 - AI 실습 (챗봇 기반 자연어 처리) (0) | 2025.07.02 |
| [KDT] AIaaS 마스터클래스 14주차 - AI 실습 (이미지 세그멘테이션) (0) | 2025.06.26 |
| [KDT] AIaaS 마스터클래스 13주차 - AI 실습 (OCR) (0) | 2025.06.20 |