영상(이미지 데이터)를 가지고 이미지 처리를 하거나 인공지능을 거쳐서 영상에 포함된 의미를 분석, 해석해 내는 과정
컴퓨터를 사용해서 영상을 처리(이미지 처리)를 연구하는 분야인 컴퓨터 비전이라는 큰 범주 안에 속해 있다
1.객체 탐지: 어떠한 객체, 즉 오브젝트가 존재하는지에 대한 유무를 판단
ㄴ알고리즘: 하고자 하는 객체의 특징을 사전에 추출하고 주어진 영상에서 해당 특징을 검출해내는 접근을 사용
ex) 빨간색 토마토를 검출해내고 싶을때, 빨갛고 동글다는 특징을 사전에 입력해둔다. 컴퓨터는 자기가 구분해낸 것이 빨간 토마토라는 것을 모른다. 그냥 특징에 맞춰서 객체를 구분해낸 것일뿐이다
=>정해진 특징에 맞는 '어떤 객체'이다
2.객체 인식: 그 객체의 자체가 무엇인지 인식시키는 개념
ㄴ객체 탐지가 선행되어야함
ㄴ라벨링과 비슷한 개념. 탐지된 객체의 라벨링
3.객체 추적: 동영상에서 발생. 탐지된 객체, 인식된 객체를 매 프레임마다 확인하면서 그 객체가 어떻게 움직이는지 그 경로는 어떠한지 등을 파악하며 추적하는 것이 바로 객체 추적이다.
ㄴ객체 탐지, 객체 인식이 선행되어야함
4.객체 분류: 탐지되고, 인식된 객체들을 정해진 카테고리로 분류하는 작업
5.객체 영역 분할: 단순히 분류에 그치지 않고 인식된 대상을 픽셀단위로 정확히 분할하고 나누어내는 것
ex) 사람과 자전거 구분
영상에 인식이 되려면 먼저 객체의 특징을 사전에 정의하고 추출해야한다
<특징>
사전적 의미: 다른 것에 비하여 특별히 눈에 띄는 점
수치적 의미: 주변과 다르게 숫자가 변하는, 수치적 느낌이 있는 것
영상도 픽셀에 어떠한 숫자값들로 구성되니 데이터로 이루어져 있다.
이에 대한 특징을 구한다는 것은 숫자값들이 확 변하거나 내가 검출한 점(dot)이나 픽셀들의 간격이 확 벌어진다는 등이다.
특징을 잡기 쉽게 해주는 전처리 또는 처리 과정으로 네 가지의 처리방법 알고리즘이 존재한다.
1.화소점 처리: 원 화소의 값이나 위치를 바탕으로 단일 화소 값을 변경하는 기술
ㄴ화소 점, 픽셀의 원래 값이나 위치를 기준으로 그 픽셀 안의 값을 변경하면서 이루어지는 처리로 산술 연산과 논리 연산의 방법이 있다
ex)픽셀 값이 127 이상이면 255, 이하면 0으로 처리해버리는 간단한 연산
2.영역 처리: 픽셀의 원래 값과 이웃하는 여러 픽셀이 서로 관계하여 생성된 픽셀 값을 기준으로 값이 변경되는 것
-블러링: 영상의 세세한 부분을 제거해서 흐릿하게 만드는 것
-샤프링: 주변 픽셀에 대비해서 값이 크게 변하는 경계 부분이 돋보이게 하는 기법
3.기하학 처리: 디지털 영상 픽셀의 위치나 픽셀의 모임인 배열을 변화시키는 방법
ㄴ스케일 변화 즉, 영상크기를 비례적으로 줄이거나 확대하여 변화를 주거나, 영상 자체를 회전시키거나 이동시키는 방법을 말한다
4.프레임 처리: 두 가지 이상의 서로 다른 영상으로 각종 연산을 조합하여 새로운 픽셀값을 생성
전제: 고정된 카메라로부터 영상 데이터를 얻는다
<<시간이 지나도 바뀌는 것, 바뀌지 않는 것>>
지금 영상 데이터와 1초 전 영상 데이터를 받았다고 가정
(지금) - (1초 전)을 했을때 모두 0이 나오면 둘의 영상이 똑같아 변함이 없다는 뜻이다.
0이 아닌 다른 숫자가 나오면 그 부분에 물체의 어떠한 변화가 있었다는 뜻이다. 그 다른 숫자를 모두 1로 처리하게 되면 흑백 영상이 되는 것이다.
최근에 컴퓨터 성능이 많이 발전하고 인공지능기법이 많이 발전을 하면서 영상인식 부분에서 인공지능이 더 우수한 성능을 보이고 있다.
일반적인 물체에 대한 인식률에 대한 대회(ImageNet)에 대한 대회 결과
2010~11년 : 75%
2013년~ : 85%
딥러닝을 적용하기 시작한 2014년으로 접어들면서 전통적인 컴퓨터 비전 방법보다 딥러닝으로 95%이상의 성능을 보이게 됐다.
최근에는 98%의 성능을 보이게 됐는데 사람의 인식률은 98.5%인 것을 보면 거의 사람 정도나 사람을 뛰어넘을 정도의 인식률이 된 것이다.
1.데이터 수집
2.전처리
3.특징추출
--------↑트레이닝 데이터 셋을 모으는 것↑-------
4.학습
5.검증
--------↑학습시키고 추론 결과를 살피는 것↑-------
그냥 날 것의 영상 데이터가 아니라 전처리가 되어 있는 특징이 잘 나타나 있는 사진을 학습시켜 동일한 시간에 성능과 효율을 높여준다
최대한 비슷한 포맷을 만들거나 윤곽을 더 또렷하게 보이게 하거나 특징점을 잡아주는 등 전처리 및 특징 추출을 해줘야한다. 그렇지 않고 그냥 날 것의 데이터를 사용하면 효율이 떨어져 좋은 결과를 얻기 힘들어진다.
사람이 어떻게 학습데이터를 만들어 주는지에 따라 인공지능의 효율은 달라진다. 또 인공지능은 이런 데이터와 학습 없이는 우수해질 수 없다.
경우에 따라 인공지능이 우세한 경우가 있고 전통적인 방식의 영상인식이 우수한 경우도 있다. 이론적으로 무한한 데이터, 무한한 시간이 있는 상황이라면 인공지능이 우수하겠지만 현실에서는 그 돈을 투자할 산업과 소비자가 각기 다르기 때문에 효율에 따라 어떤 방식을 사용할지 선택해야한다.
인공지능을 사용한다는 것이 그냥 컴퓨터한테 막 학습을 시키는 것이 아니라 어느 정도 전통적인 방법을 이해하고 효율적인 부분들만 채택해서 어떻게 전처리 및 특징 추출을 해주느냐에 따라 인공지능의 성능이 결정된다.