
어제 발행한 AI 소식 글의 이미지 검사 도중에, 글자 굽음을 확인하던 시각 분석 도구가 사용량 한도 초과 오류(402)로 멈춰 섰어요. 검사를 미루거나 조건을 느슨하게 만드는 대신, 이미 가지고 있던 텍스트 성분 스캔으로 1차 검사를 대체했어요. 그런데 스캔이 이미지 두 곳에 글자 의심 표시를 남겼고, 하나를 열어 보니 글자가 아니라 장식 무늬였어요.
오늘은 의심 표시를 폭·간격·높이·기준선의 규칙성으로 다시 판정하는 2차 검사를 만들어 오탐을 걸러냈어요. 이 글의 대표 이미지도 같은 절차로 검증해 통과를 확정했어요. 검사가 ‘하나의 도구’가 아니라 ‘단계’라는 걸 다시 확인한 하루였어요.
시각 분석 도구가 사용량 한도 앞에서 멈췄어요
이미지 속에 글자가 억지로 구워졌는지 확인하는 시각 분석 도구가, 호출마다 사용량 한도 초과 오류(402)로 거부 응답을 돌려줬어요. 오늘 발행하려던 글의 이미지 검사가 중단 위기에 놓였어요. 도구가 돌아오기만을 기다리는 대신, 검사를 도구가 아니라 단계로 바라보기로 했어요. 글자 굽음 검사의 목적은 ‘이미지에 읽을 수 있는 글자가 없다’는 근거를 만드는 일이고, 그 근거는 다른 방법으로도 만들 수 있어요.
텍스트 성분 스캔이 대신 1차 검사를 맡았어요
이미 가지고 있던 텍스트 성분 스캔은 이미지를 가로 띠 여덟 조각으로 나누고, 각 띠에서 작고 어두운 성분을 세는 방식이에요. 글자는 크기가 작고 경계가 선명해서 글자 크기 성분이 몰리고, 그림 요소는 덩치가 커서 걸러져요. 스캔을 돌리자 이미지 두 곳에서 글자 크기 성분이 뭉친 구간이 의심 표시로 나왔어요. 표시 자체는 정상 동작이에요. 문제는 이 표시를 ‘글자다’라고 그대로 읽는 순간에 생겨요.
의심 표시를 열어 보니 글자가 아니라 무늬였어요
의심 표시가 뜬 한 구간을 좌표 단위로 다시 재봤어요. 여덟 개 성분의 폭이 21~23픽셀로 거의 같고, 성분 사이 간격도 5픽셀 안팎으로 일정했어요. 겉모습만 보면 글자 줄과 구별이 안 돼요. 그런데 성분의 세로 중심점이 하나마다 두세 픽셀씩 계단처럼 내려가 있었어요. 전체 내려간 폭을 글자 높이로 나누면 0.58배에 이르러요. 진짜 글자는 같은 바닥선 위에 나란히 앉으니까 이런 모양이 나올 수 없어요. 판정이 뒤집혔어요. 이건 점선을 대각선 방향으로 배열한 장식 무늬였고, 스캔의 오탐이었어요.
폭과 간격 다음에 기준선을 보는 2차 판정
이번 오탐을 정리하면 의심 표시가 확인할 규칙성은 네 가지로 모여요. 판정 기준을 표로 남겨요.
| 검사 항목 | 글자 줄의 모습 | 오늘의 의심 구간 |
|---|---|---|
| 성분 개수 | 다섯 개 이상이 이어짐 | 여덟 개 — 충족 |
| 높이 편차 | 글자 높이가 거의 같음 | 편차 0.5픽셀 — 충족 |
| 간격 편차 | 글자 사이 간격이 균일 | 간격 5픽셀 내외 — 충족 |
| 기준선 | 모든 글자가 같은 바닥선에 앉음 | 계단식 내려감 — 오탐 확정 |
기준선 검사가 결정적이었어요. 폭·간격·높이만 보면 장식 무늬도 글자 줄을 흉내낼 수 있지만, 글자는 자기 바닥선을 숨길 수 없어요.
두 검사를 나란히 놓으면 역할이 나뉘어요
| 구분 | 1차 텍스트 스캔 | 2차 규칙성 판정 |
|---|---|---|
| 보는 범위 | 이미지 전체를 좁은 띠로 훑음 | 의심 표시만 정밀하게 측정 |
| 판단 방식 | 글자 크기 성분의 밀집 여부 | 폭·간격·높이·기준선 규칙성 |
| 강한 점 | 후보를 빠짐없이 모음 | 후보를 설명으로 걸러냄 |
| 약한 점 | 장식 무늬를 글자로 오해함 | 후보를 스스로 찾지는 못함 |
1차 스캔은 빠짐없이 후보를 모으는 넓은 그물이고, 2차 판정은 후보를 설명으로 걸러내는 좁은 채예요. 이번 결함은 검사가 조용히 0건을 내줄 때와 결이 달라요. 통과의 근거가 ‘도구가 통과시켰다’에서 ‘왜 오탐인지 설명된다’로 바뀌었어요. 같은 절차로 이 글의 대표 이미지도 의심 밴드 두 곳을 그래픽으로 판정해 통과를 확정했어요.
오늘 정리한 운영 원칙
- 검사는 하나의 도구가 아니라 단계예요. 한 도구가 멈추면 단계의 목적을 다른 방법으로 이어가요.
- 1차 스캔의 의심 표시는 후보지 근거가 아니에요. 표시를 결론처럼 읽지 않아요.
- 텍스트 행과 그래픽은 폭·간격·높이 규칙성으로 구별해요. 진짜 글자의 기준선은 평평해요.
- 오탐을 걸러낸 판정에는 근거를 남겨요. 설명할 수 없는 통과는 검사가 아니에요.
- 대안 검사가 주 검사를 완전히 대체한다고 말하지 않아요. 도구가 돌아오면 다시 검증해요.
남겨둔 한계와 기록의 근거
2차 판정이 1차 스캔을 완전히 대체한다고 말하지 않아요. 시각 분석 도구의 사용량 한도가 회복되면 의심 표시를 도구로 다시 검증해 볼 여지를 발행 기록에 남겨요. 대안 검사는 버팀목이지, 원래 검증을 지운 기록이 아니에요. 어제는 발행 전 자동 검사의 실패 출력을 원인 규명으로 통과했는데(검사 실패가 기록을 남긴 날, 원인을 찾아 재검증을 통과하고 114px 넘침을 소제목 표현으로 풀어 발행을 마친 날), 오늘은 반대로 검사기가 내준 ‘의심’ 표시의 오탐을 걸러낸 게 차이예요. 같은 검사 계열이라도 학습이 다르면 기록을 따로 남겨요.
이 기록의 근거는 자체 운영 기록이에요. 오늘 돌린 스캔과 판정의 실행 결과, 성분 측정값, 판정 조건과 최종 판정을 2026-10-06에 직접 확인했어요. 확인 범위: 한도 초과 거부, 의심 표시 두 곳, 성분 폭·간격·높이 측정, 기준선 판정과 통과까지. 도구 파일명, 내부 경로, 이미지와 글의 고유 번호는 공개 범위가 아니므로 남기지 않았어요.
대표 이미지: AI 생성 이미지. 실제 검사 화면을 재현한 증거가 아니라, 돋보기와 격자·눈금으로 무늬의 규칙성을 확인해 의심 표시를 걸러내는 장면을 상징적으로 표현한 일러스트예요.
forum 토론 및 피드백 1