
얼마 전 작은 제조 현장을 구경할 일이 있었는데, 사람이 제품을 하나씩 들여다보는 줄 알았던 검사가 생각보다 조용하게 지나가고 있었다. 컨베이어 위로 부품이 지나가고, 위쪽에 달린 카메라가 찰칵 보더니 화면에 초록색 박스가 뜨는 식이었다. 그때 처음 든 생각은 단순했다. 저 카메라는 대체 뭘 보고 괜찮다, 아니다를 나누는 걸까.
찾아보니 이 분야를 보통 머신비전이라고 부른다. 말 그대로 기계가 카메라로 대상을 보고 판단하는 기술이다. 사람 눈 대신 카메라, 조명, 렌즈, 소프트웨어가 한 팀으로 움직인다. 스마트폰 카메라처럼 예쁘게 찍는 게 목적이 아니라, 필요한 특징을 안정적으로 뽑아내는 게 목적이라는 점이 꽤 다르다.
머신비전은 그냥 카메라가 아니었다
처음에는 고화질 카메라만 달면 되는 줄 알았다. 그런데 실제로는 조명이 절반 이상이라는 말을 자주 듣게 됐다. 같은 제품도 빛을 어디서 쏘느냐에 따라 흠집이 보이기도 하고 완전히 묻히기도 한다. 반짝이는 금속 부품은 정면 조명을 쓰면 하얗게 날아가고, 옆에서 낮게 비추면 미세한 스크래치가 도드라진다.
구성은 대략 이렇다. 카메라가 이미지를 찍고, 렌즈가 보는 범위와 선명도를 정하고, 조명이 검사 포인트를 살려준다. 그다음 소프트웨어가 길이, 색, 모양, 위치, 글자, 흠집 같은 기준을 계산한다. 예를 들어 병뚜껑이 제대로 닫혔는지 볼 때는 높이 차이와 기울기를 보고, 라벨 검사는 위치가 몇 밀리미터 틀어졌는지 비교한다.
사람 눈은 상황에 맞춰 꽤 영리하게 보정한다. 하지만 피곤하고, 집중력이 떨어지고, 사람마다 기준이 조금씩 흔들린다. 반대로 머신비전은 한 번 조건이 잡히면 같은 기준으로 계속 본다. 그래서 하루에 수천 개, 많게는 수십만 개씩 지나가는 제품 검사에 잘 맞는다.
생활 속에도 이미 꽤 가까이 들어와 있다
머신비전이라고 하면 공장 자동화부터 떠오르지만, 사실 우리 생활에도 비슷한 방식이 많다. 무인 계산대에서 바코드나 상품 형태를 인식하는 것, 주차장에서 번호판을 읽는 것, 택배 분류 라인에서 송장 위치를 찾는 것도 넓게 보면 같은 흐름이다.
다만 생활 속 인식 기술과 공장용 머신비전은 기준이 조금 다르다. 공장에서는 “대충 맞음”이 아니라 “0.2mm 이상 틀어지면 불량”처럼 숫자로 정해진 기준이 많다. 그래서 카메라 해상도도 중요하다. 100mm 폭의 제품을 1000픽셀로 본다면 1픽셀이 0.1mm쯤 된다. 이론상 아주 작은 차이도 볼 수 있지만, 실제로는 렌즈 왜곡, 흔들림, 조명 변화까지 생각해야 해서 여유를 둔다.
이 부분이 흥미로웠다. 머신비전은 인공지능 이미지 인식처럼 뭔가 똑똑하게 추측하는 기술이라고만 생각했는데, 현장에서는 오히려 추측을 줄이는 쪽으로 설계한다. 배경을 단순하게 만들고, 제품 위치를 고정하고, 조명을 일정하게 맞춘다. 기계가 잘 보게 하려고 환경을 먼저 깔끔하게 만드는 셈이다.
불량 검사는 어떻게 돌아갈까
예를 들어 과자 봉지 씰링 상태를 검사한다고 해보자. 사람이 보면 접착 부위가 제대로 붙었는지, 찢어진 곳은 없는지 눈으로 훑는다. 머신비전은 이미지를 찍은 뒤 정상 제품의 선, 색, 밝기 패턴과 비교한다. 접착선이 끊겼거나, 이물질 때문에 색이 달라졌거나, 봉지가 비뚤게 지나가면 설정된 기준에서 벗어난다.
검사 방식은 크게 규칙 기반과 학습 기반으로 나뉜다. 규칙 기반은 “이 선의 길이는 몇 픽셀 이상이어야 한다”, “이 영역의 밝기는 이 범위여야 한다”처럼 사람이 조건을 정한다. 빠르고 설명하기 쉽다. 대신 제품 모양이 조금만 다양해져도 조건 잡기가 까다롭다.
학습 기반은 정상과 불량 이미지를 많이 보여주고 패턴을 익히게 하는 방식이다. 얼룩, 찍힘, 찌그러짐처럼 모양이 들쭉날쭉한 불량에 강하다. 하지만 좋은 데이터가 필요하다. 정상 사진만 잔뜩 있고 진짜 불량 사례가 적으면 판단이 애매해진다. 솔직히 이 지점은 사람 일과 닮았다. 많이 봐야 잘 구분한다.
- 치수 검사: 길이, 폭, 구멍 위치, 간격 확인
- 외관 검사: 흠집, 얼룩, 찍힘, 깨짐 확인
- 유무 검사: 부품 누락, 조립 방향, 라벨 부착 여부 확인
- 문자 검사: 날짜, 로트 번호, 바코드, QR 코드 판독
생각보다 어려운 건 ‘보는 조건’이었다
자료를 보다 보니 머신비전 실패 사례는 알고리즘보다 현장 조건에서 많이 생긴다. 제품이 살짝 흔들리거나, 조명이 오래돼 밝기가 달라지거나, 먼지가 렌즈에 묻으면 결과가 흔들릴 수 있다. 투명 비닐, 유리, 광택 금속처럼 빛을 반사하거나 통과시키는 재질은 특히 까다롭다.
그래서 좋은 머신비전 시스템은 카메라 성능만으로 결정되지 않는다. 제품이 지나가는 속도, 카메라와 대상의 거리, 필요한 검사 정확도, 주변 빛, 설치 공간을 같이 봐야 한다. 초당 10개가 지나가는 라인과 초당 100개가 지나가는 라인은 필요한 카메라도 달라진다. 빠르게 움직이면 셔터 속도를 올려야 하고, 그러면 빛이 더 필요하다.
비용도 여기서 갈린다. 간단한 유무 검사는 비교적 단순한 카메라와 조명으로 가능하지만, 미세 흠집이나 3D 높이 검사는 장비가 복잡해진다. 라인 하나에 붙이는 검사 장비가 수백만 원에서 수천만 원 이상으로 올라가는 이유가 단순히 카메라 가격 때문만은 아니었다. 안정적으로 같은 결과를 내는 환경을 만드는 비용이 들어간다.
작은 현장이라면 어디부터 봐야 할까
만약 작은 작업장이나 소규모 제조업에서 머신비전을 고민한다면, 처음부터 거창한 인공지능 검사부터 떠올릴 필요는 없어 보였다. 먼저 사람이 지금 어떤 기준으로 불량을 골라내는지 적어보는 게 현실적이다. “색이 이상하다”보다 “이 부분이 기준 샘플보다 어둡다”, “구멍이 중심에서 1mm 이상 벗어나면 안 된다”처럼 바꿔야 기계도 볼 수 있다.
그다음은 샘플 사진을 모으는 일이다. 정상 제품 100장보다, 정상처럼 보이지만 애매한 제품과 실제 불량 사진이 더 값질 때가 있다. 조명 조건을 바꿔 찍어보면 어떤 흠집이 잘 보이는지도 금방 감이 온다. 스마트폰으로 임시 촬영을 해도 방향성은 잡을 수 있다. 물론 실제 도입은 산업용 카메라와 조명으로 검증해야 한다.
나는 머신비전을 파고들면서 “기계가 사람 눈을 대신한다”는 표현이 조금 단순하다고 느꼈다. 더 정확히는 사람이 애매하게 해오던 판단을 숫자와 이미지 조건으로 바꾸는 작업에 가깝다. 그래서 도입 전에 검사 기준이 흐릿하면 장비를 붙여도 계속 흔들릴 수밖에 없다.
반대로 기준이 분명한 일에는 꽤 강력하다. 반복적이고 피곤한 검사를 기계가 맡아주면 사람은 원인 분석이나 공정 개선에 더 시간을 쓸 수 있다. 카메라 하나가 만능 해결사가 되는 건 아니지만, 잘 보이도록 조건을 만들어주면 생각보다 성실하게 일하는 도구가 된다. 작은 흠집 하나를 놓고 사람과 기계가 서로 다른 방식으로 보는 장면이, 이상하게 꽤 현실적인 미래처럼 느껴졌다.
