맨위로가기

점프 플러딩 알고리즘

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

점프 플러딩 알고리즘(JFA)은 픽셀 격자에서 각 픽셀의 가장 가까운 "시드" 픽셀을 효율적으로 찾는 알고리즘이다. N x N 픽셀 격자에서 각 단계 크기를 절반으로 줄여가며 이웃 픽셀 간의 거리 비교를 통해 픽셀 색상을 갱신한다. JFA는 보로노이 다이어그램, 거리장 생성, 점 구름 렌더링 등 다양한 분야에 활용되며, JFA+1, 1+JFA, 절반 해상도 등의 변형이 존재한다. JFA는 유사 알고리즘 개발 및 컴퓨터 비전 분야의 신념 전파 알고리즘에도 영감을 주었다.

더 읽어볼만한 페이지

  • 라우팅 알고리즘 - A* 알고리즘
    A* 알고리즘은 가중치 그래프에서 시작 노드부터 목표 노드까지 최소 비용 경로를 찾는 정보 탐색 알고리즘으로, 경로 비용과 목표까지 추정 비용의 합을 최소화하여 경로를 탐색하며 내비게이션, 게임 AI 등에 활용된다.
  • 라우팅 알고리즘 - 플로이드-워셜 알고리즘
    플로이드-워셜 알고리즘은 동적 계획법의 일종으로, 그래프 내의 모든 정점 쌍 간의 최단 경로를 찾아 시간 복잡도 O(N^3)으로 계산하며, 유향 그래프의 최단 경로 탐색 등 다양한 문제에 적용된다.
  • 그래프 알고리즘 - 페이지랭크
    페이지랭크는 래리 페이지와 세르게이 브린이 개발한 알고리즘으로, 하이퍼링크로 연결된 문서 집합에서 웹 페이지의 상대적 중요도를 측정하며, 링크를 투표로 간주하여 페이지 순위를 재귀적으로 결정하고, 구글 검색 엔진의 초기 핵심 알고리즘으로 활용되었으며, 다양한 분야에서 활용된다.
  • 그래프 알고리즘 - 너비 우선 탐색
    너비 우선 탐색은 그래프 탐색 알고리즘으로, 큐 자료구조를 사용하여 시작 노드에서 인접한 노드들을 우선적으로 탐색하며, 가중치가 없는 그래프에서 최단 경로를 찾는 데 유용하고 다양한 분야에 활용된다.
점프 플러딩 알고리즘
알고리즘 개요
종류거리 함수 계산 알고리즘
설명GPU에서 병렬로 거리 관련 함수를 계산하는 데 사용되는 알고리즘
활용 분야Voronoi 다이어그램 생성
거리 변환
최근접 이웃 검색
작동 방식
기본 아이디어이미지의 각 픽셀에 대해 가장 가까운 특징점까지의 거리를 반복적으로 업데이트
단계초기화: 특징점의 위치 정보를 각 픽셀에 할당
반복: 각 반복 단계에서 픽셀은 주변 픽셀의 정보를 참조하여 자신의 거리를 업데이트
종료: 미리 정의된 반복 횟수에 도달하거나 거리 변화가 없을 때 종료
핵심 연산각 픽셀에서 인접 픽셀과의 거리 비교 및 업데이트
장점 및 특징
병렬 처리GPU의 병렬 처리 능력을 최대한 활용
효율성기존의 순차적인 알고리즘에 비해 훨씬 빠른 속도
간단한 구현비교적 간단한 알고리즘 구조
응용 분야
컴퓨터 그래픽스실시간 렌더링, 텍스처 합성 등
이미지 처리객체 검출, 이미지 분할 등
기타로봇 공학, 지리 정보 시스템 등 다양한 분야에서 활용 가능

2. 구현

JFA(점프 플러딩 알고리즘)의 원래 공식은 구현하기 간단하다.[2]

N x N 픽셀 격자(예: 이미지 또는 텍스처)를 가정한다. 모든 픽셀은 고유한 색상의 "시드" 픽셀이 아닌 한 "정의되지 않음" 색상으로 시작한다. JFA가 진행됨에 따라 정의되지 않은 각 픽셀은 해당 시드 픽셀의 색상으로 채워진다.

각 단계 크기 k (N/2, N/4, ..., 1)에 대해 JFA를 한 번 반복 실행한다.

: (x, y)의 모든 픽셀 p에 대해 반복한다.

: i,j (-k, 0, k)인 각 이웃 q (x+i, y+j)에 대해:

:: 만약 p가 정의되지 않고 q가 색칠되어 있다면, p의 색상을 q의 색상으로 변경한다.

:: 만약 p가 색칠되어 있고 q가 색칠되어 있다면, dist(p, s) > dist(p, s')인 경우, 여기서 s와 s'는 각각 p와 q의 시드 픽셀이며, p의 색상을 q의 색상으로 변경한다.

픽셀은 각 단계에서 두 번 이상 색상을 변경할 수 있으며, JFA는 거리가 같은 경우를 해결하는 방법을 지정하지 않으므로 위에서 마지막으로 확인한 픽셀의 색상이 사용된다.

JFA는 마지막 단계 크기에서 마지막 픽셀을 평가한 후에 종료된다. 초기 데이터의 내용에 관계없이 가장 안쪽의 루프는 각 픽셀에 대해 총 9log₂N 번 실행되어 전체 계산 복잡도는 O(N²log₂N)이다.

2. 1. 변형

JFA의 몇 가지 변형은 다음과 같다.

  • '''끝에 추가 패스''': JFA+1은 단계 크기가 1인 추가 패스를 하나 가진다. 즉, 단계 크기는 N/2, N/4, ..., 1, 1이다. JFA+2는 단계 크기가 2와 1인 두 개의 추가 패스를 가진다. 즉, 단계 크기는 N/2, N/4, ..., 1, 2, 1이다. JFA는 추가 패스를 가지며, 단계 크기는 N/2, N/4, ..., 1, N/2, N/4, ..., 1이다. JFA+1은 JFA보다 오류가 훨씬 적고 JFA+2는 오류가 더 적다.[1]

  • '''처음에 추가 패스''': 1+JFA는 단계 크기가 1인 추가 패스를 하나 가진다. 즉, 단계 크기는 1, N/2, N/4, ..., 1이다. 1+JFA는 오류율이 매우 낮고(JFA+2와 비슷) JFA+1과 동일한 성능을 가진다.[3]

  • '''절반 해상도''': 이 변형은 절반 해상도에서 일반 JFA를 실행하고 결과를 원래 해상도로 확대한 후, 단계 크기 1로 하나의 추가 패스를 실행한다. 대부분의 패스에서 절반 해상도만 사용하므로 이 변형은 전체 해상도 JFA보다 속도가 훨씬 빠르다.[3]

3. 사용

점프 플러딩 알고리즘 및 그 변형은 보로노이 다이어그램[1][3]과 중심 보로노이 테셀레이션(CVT) 계산,[4] 거리장 생성,[5] 점 구름 렌더링,[6] 특징 매칭,[7] 파워 다이어그램 계산,[8] 및 소프트 섀도우 렌더링에 사용될 수 있다.[9] 그랜드 전략 게임 개발사인 패러독스 인터랙티브(Paradox Interactive)는 JFA를 사용하여 국가와 지방 간의 경계를 렌더링한다.[10]

4. 추가 개발

JFA는 수많은 유사 알고리즘 개발에 영감을 주었다. 일부는 과학적 계산에 유용하도록 잘 정의된 오류 속성을 가지고 있다.[11]

컴퓨터 비전 분야에서 JFA는 다양한 문제 해결을 가속화하기 위해 새로운 신념 전파 알고리즘에 영감을 주었다.[12][13]

참조

[1] 서적 Proceedings of the 2006 symposium on Interactive 3D graphics and games - SI3D '06 Association for Computing Machinery 2006-03-14
[2] 문서 The original paper uses the optimal case, a square grid, as an example, but a grid of any size works. Albeit with reduced efficiency. See https://computergrap[...]
[3] 서적 4th International Symposium on Voronoi Diagrams in Science and Engineering (ISVD 2007) 2007-07-01
[4] 간행물 GPU-Assisted Computation of Centroidal Voronoi Tessellation https://ieeexplore.i[...] 2011-03-25
[5] 웹사이트 The Quest for Very Wide Outlines https://bgolus.mediu[...] 2021-04-01
[6] 웹사이트 POINT CLOUD RENDERING USING JUMP FLOODING https://www.lcg.ufrj[...] 2014-01-01
[7] 서적 Advances on Digital Television and Wireless Multimedia Communications Springer 2012-01-01
[8] 간행물 GPU-based efficient computation of power diagram https://www.scienced[...] 2019-05-01
[9] 서적 Proceedings of the ACM symposium on Virtual reality software and technology Association for Computing Machinery 2006-11-01
[10] 웹사이트 Optimized Gradient Border Rendering in Imperator: Rome https://www.intel.co[...] 2020-01-01
[11] 서적 Computer Vision, Imaging and Computer Graphics. Theory and Applications Springer 2010-01-01
[12] 서적 2011 International Conference on Computer Vision https://hal.archives[...] 2011-11-06
[13] 서적 2016 26th International Conference on Field Programmable Logic and Applications (FPL) 2016-08-29



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com