[CV] GrabCut 알고리즘

김민건·2024년 12월 24일

CV

목록 보기
3/4

이론

  1. 이미지의 관심영역을 포함하는 사각형을 이미지에 그린다.

  2. 사각형 내부는 전경으로 외부는 배경으로 초기 레이블링표시

  3. GMM(가우시한 혼합모델) 각 픽셀의 확률 계산
    사각형을 기준으로 전경, 배경의 각 색상 분포를 모델링 후 픽셀이 속할 확률을 계산한다.

  4. 픽셀 분포 학습

    데이터를 기반으로 픽셀 분포를 학습하고, 알 수 없는 픽셀을 전경 또는 배경으로 분류

  5. 그래프 구축
    각 픽셀을 노드로 하는 그래프를 만들고, 소스(전경) 노드와 싱크(배경) 노드를 추가
    전경 픽셀은 소스 노드에, 배경 픽셀은 싱크 노드에 연결

  6. 엣지 가중치 정의
    픽셀과 소스/싱크 노드 간의 엣지 가중치는 픽셀이 전경/배경일 확률로 정의

  7. 최소 컷 알고리즘 적용
    최소 컷 알고리즘을 사용하여 그래프를 소스 노드와 싱크 노드를 분리하는 최소 비용 함수로 분할
    소스 노드에 연결된 모든 픽셀은 전경이 되고, 싱크 노드에 연결된 픽셀은 배경이 된다.
    위 순서를 정확한 전경과 배경 분리를 이룰때까지 반복한다.

코드의 핵심은 bounding box의 네 좌표를 지정하는 것 (직접 드래그 안한다면)

https://velog.io/@smile_b/GrabCut-Algorithm-for-Background-Removal

0개의 댓글