alt

5-1

Shared on October 20, 2026

이미지 처리와 모델 피팅·최적화

개요

이미지의 크기 변경과 기하학적 변환 원리를 복습한 뒤, 주어진 데이터에 맞는 함수를 찾는 모델 피팅과 최소제곱법을 소개한다. 마지막으로 모델 복잡도에 따른 언더피팅·오버피팅과 비선형 문제의 반복적 최적화 필요성을 다룬다.

핵심 개념

  • 이미지 축소·확대는 주변 픽셀을 거리와 위치에 따른 가중치로 결합하는 과정이다.
  • 이미지 피라미드는 여러 스케일의 정보를 탐색하거나 주파수 대역별 특징을 다루는 데 쓰인다.
  • 기하학적 변환은 픽셀을 다른 위치에서 읽어 이미지를 이동·회전·변형한다.
  • 모델 피팅은 데이터와 모델 예측값의 차이를 줄이도록 모델의 파라미터를 정하는 과정이다.
  • 최소제곱법은 잔차 제곱합을 최소화하며, 모델의 복잡도가 지나치게 낮거나 높을 때 각각 언더피팅과 오버피팅이 발생할 수 있다.

상세 노트

1. 이미지 축소와 확대

이미지를 축소할 때 여러 원본 픽셀을 하나의 픽셀로 합친다. 이때 각 픽셀의 기여도를 어떻게 정할지가 중요하다.

  • 목표 픽셀에 가까운 픽셀에는 큰 가중치를, 먼 픽셀에는 작은 가중치를 준다.
  • 영향을 주는 범위인 **서포트(support)**를 정하고, 거리에 따라 가중치가 감소하도록 한다.
  • 필터 가중치의 전체 합은 보통 1이 되도록 정규화해 밝기가 불필요하게 변하는 것을 막는다.
  • 확대도 같은 원리로 새 픽셀 위치 주변의 원본 픽셀을 가중합해 값을 만든다.

대표적인 보간 방식은 다음과 같다.

  • 최근접 이웃 보간: 가장 가까운 픽셀 하나의 값을 사용한다. 간단하지만 결과가 거칠 수 있다.
  • 선형 보간: 주변 픽셀을 선형적으로 섞는다. 2차원에서는 양 축의 보간을 결합한 쌍선형 보간을 쓴다.
  • 더 넓은 이웃을 활용하면 부드러워질 수 있지만, 이미지가 흐릿해질 수 있다.
  • 선명도를 높이기 위해 필터에 음수 가중치를 넣기도 하나, 경계 부근에 밝고 어두운 띠 같은 아티팩트가 생길 수 있다.

이 과정은 주변 값을 가중합한다는 점에서 컨볼루션과 유사하지만, 이미지 크기를 바꾸는 재표본화 과정과 동일한 것은 아니다.

2. 이미지 피라미드

이미지 피라미드는 이미지를 여러 크기와 표현 수준으로 구성하는 방법이다.

  • 멀티스케일 표현: 물체의 크기를 미리 알기 어려울 때, 여러 해상도의 이미지에서 정보를 탐색한다.
  • 라플라시안 피라미드: 이미지의 주파수 대역별 성분을 분리해 특징 분석이나 블렌딩 등에 활용한다.
  • 가우시안 피라미드는 이미지를 반복적으로 축소해 만들며, 라플라시안 피라미드는 스케일 간 차이를 이용해 구성한다.

실습에서는 OpenCV의 피라미드 관련 기능을 사용해 피라미드를 만들고, 결과 이미지를 확인하는 것이 목표다. 제공된 코드의 구조를 바탕으로 구현하며, 과제에서는 AI를 사용하지 않는다는 안내가 있었다.

3. 기하학적 변환과 워핑

픽셀 값을 바꾸는 변환과 달리, 기하학적 변환은 픽셀의 위치를 바꾼다. 출력 위치에서 변환을 적용해 원본 이미지의 어느 위치를 읽을지 정하는 방식으로 설명할 수 있다.

주요 변환 유형은 다음과 같다.

  • 이동과 회전: 유클리드 변환
  • 회전과 균일한 크기 변경: 유사 변환
  • 축마다 다른 크기 변경, 회전·기울임 등을 포함하는 변환: 아핀 변환

이미지의 영역마다 서로 다른 변환을 적용하는 과정은 **워핑(warping)**이라 한다. 얼굴 합성처럼 눈·코·입 등 주요 지점을 정렬한 뒤 이미지를 결합하는 작업에 활용할 수 있다.

4. 모델 피팅과 최소제곱법

여러 입력값 $x_k$와 이에 대응하는 데이터 $d_k$가 주어졌을 때, 전체 데이터를 잘 설명하는 함수 $f$를 찾는 문제를 모델 피팅 또는 회귀 문제로 볼 수 있다.

모델 예측값과 실제 데이터의 차이를 **잔차(residual)**라고 하며, 대표적인 목적 함수는 잔차 제곱합이다.

$$E = \sum_k \left(f(x_k)-d_k\right)^2$$

이 값을 최소화하는 방법을 최소제곱법이라 한다.

  • 주어진 점을 모두 정확히 지나는 해를 찾는 것은 **보간(interpolation)**이다.
  • 오차가 있는 데이터를 고려해 전체적으로 잘 맞는 함수를 찾는 것은 **근사(approximation)**에 해당한다.
  • 목적 함수는 비용 함수, 오차 함수, 또는 에너지 함수라고도 부른다.

5. 선형 회귀와 의사역행렬

직선 모델 $f(x)=ax+b$에서는 기울기 $a$와 절편 $b$가 파라미터다. 잔차 제곱합을 이 파라미터들에 대해 미분하고, 미분값이 0이 되는 조건을 풀면 최소제곱 해를 구할 수 있다.

여러 데이터와 여러 입력 변수를 행렬 형태로 쓰면 문제가 다음처럼 정리된다.

$$A p \approx d$$

여기서 $A$는 입력 데이터로 만든 행렬, $p$는 모델 파라미터, $d$는 관측값이다. 데이터가 파라미터보다 많으면 $A$는 보통 정사각행렬이 아니므로 일반적인 역행렬을 직접 구할 수 없다. 이때 **의사역행렬(pseudoinverse)**을 사용해 최소제곱 해를 구한다.

다항식처럼 파라미터에 대해 선형으로 표현되는 모델은 차수가 높아져도 행렬 형태로 구성해 다룰 수 있다. 다만 파라미터 수가 증가하면 모델의 복잡도도 커진다.

6. 언더피팅과 오버피팅

모델의 복잡도는 데이터를 얼마나 잘 설명하는지뿐 아니라, 새로운 데이터에도 잘 대응하는지에 영향을 준다.

  • 언더피팅: 모델의 표현력이 부족해 데이터의 전반적인 경향조차 충분히 설명하지 못하는 상태다.
  • 오버피팅: 모델이 지나치게 복잡해 관측 데이터의 노이즈까지 따라가는 상태다. 주어진 점에는 잘 맞더라도 새로운 입력에서 비현실적인 결과를 낼 수 있다.

어떤 모델이 적절한지는 데이터의 노이즈와 실제 생성 과정에 관한 가정에 달려 있다. 따라서 학습 데이터의 오차만으로 모델의 타당성을 판단하기 어렵다. 오버피팅이 항상 나쁜 것은 아니며, 모델의 종류와 데이터 특성을 함께 고려해야 한다.

7. 비선형 피팅과 반복적 최적화

모델이 파라미터에 대해 선형적으로 표현되지 않으면 앞서 사용한 행렬 기반 해법을 그대로 적용하기 어려울 수 있다. 이 경우에도 잔차 제곱합을 최소화하는 목적은 유지되지만, 해를 구하는 과정은 더 복잡해진다.

이런 문제에는 반복적으로 해를 갱신하는 **반복적 방법(iterative methods)**을 사용할 수 있다. 다음 강의에서는 뉴턴–랩슨 방법 등을 중심으로 이러한 최적화 과정을 다룰 예정이다.