쿼드트리: 이미지 분석을 위한 계층적 데이터 구조 탐색
By Fouad Sabry
()
About this ebook
쿼드트리란 무엇입니까
쿼드트리는 각 내부 노드가 정확히 4개의 하위 노드를 갖는 트리 데이터 구조입니다. 쿼드트리는 옥트리의 2차원 아날로그이며 2차원 공간을 4개의 사분면 또는 영역으로 재귀적으로 세분화하여 분할하는 데 가장 자주 사용됩니다. 리프 셀과 연관된 데이터는 애플리케이션에 따라 다르지만 리프 셀은 "흥미로운 공간 정보의 단위"를 나타냅니다.
혜택을 받는 방법
(I) 다음 주제에 대한 통찰력 및 검증:
1장: 쿼드트리
2장: 옥트리
3장: R-트리
4장: 이진 트리
5장: B-트리
6장: AVL 트리
7장: 레드-블랙 트리
8장: 이진 검색 트리
9장: 바이너리 힙
10장: 세그먼트 트리
(II) 쿼드트리에 관한 대중의 주요 질문에 답변합니다.
(III) 다양한 분야에서 쿼드트리를 사용하는 실제 사례
이 책은 누구를 위한 책인가요?
전문가, 학부 및 대학원생, 열성팬, 취미생활자, 모든 종류의 Quadtree에 대한 기본 지식이나 정보를 넘어서고 싶은 사람들.
Read more from Fouad Sabry
자율 사물의 새로운 기술 [Korean]
Related to 쿼드트리
Titles in the series (100)
이미지 히스토그램: 시각적 통찰력 공개, 컴퓨터 비전의 이미지 히스토그램 깊이 탐색 Rating: 0 out of 5 stars0 ratings소음 감소: 선명도 향상, 컴퓨터 비전의 노이즈 감소를 위한 고급 기술 Rating: 0 out of 5 stars0 ratings감마 보정: 컴퓨터 비전의 시각적 선명도 향상: 감마 보정 기술 Rating: 0 out of 5 stars0 ratings수중 컴퓨터 비전: 파도 밑에서 컴퓨터 비전의 깊이 탐구 Rating: 0 out of 5 stars0 ratings인간 시각 시스템 모델: 인식 및 처리 이해 Rating: 0 out of 5 stars0 ratings색 공간: 컴퓨터 비전의 스펙트럼 탐색 Rating: 0 out of 5 stars0 ratings레티넥스: 레티넥스 를 통해 컴퓨팅 비전의 비밀을 밝히다 Rating: 0 out of 5 stars0 ratings호모그래피: 호모그래피: 컴퓨터 비전의 변화 Rating: 0 out of 5 stars0 ratings인페인팅: 컴퓨터 비전의 격차 해소 Rating: 0 out of 5 stars0 ratings이방성 확산: 이방성 확산을 통한 이미지 분석 향상 Rating: 0 out of 5 stars0 ratings컴퓨터 시각 인식: 컴퓨터 비전의 깊이 탐구 Rating: 0 out of 5 stars0 ratings활성 윤곽: 능동 윤곽 기술을 통한 컴퓨터 비전의 발전 Rating: 0 out of 5 stars0 ratings톤 매핑: 톤 매핑: 컴퓨터 비전의 관점 밝히기 Rating: 0 out of 5 stars0 ratings윤곽선 감지: 컴퓨터 비전의 시각적 인식 기술 공개 Rating: 0 out of 5 stars0 ratings시각적 인식: 컴퓨터 시각적 처리에 대한 통찰력 Rating: 0 out of 5 stars0 ratings적응형 필터: 적응 필터링을 통해 컴퓨터 비전 향상 Rating: 0 out of 5 stars0 ratings공동 사진 전문가 그룹: JPEG 표준으로 시각적 데이터의 힘 활용 Rating: 0 out of 5 stars0 ratings히스토그램 균등화: 향상된 시각적 인식을 위한 이미지 대비 향상 Rating: 0 out of 5 stars0 ratings라돈 변환: 시각적 데이터에 숨겨진 패턴 밝히기 Rating: 0 out of 5 stars0 ratings아핀 변환: 시각적 관점 잠금 해제: 컴퓨터 비전의 아핀 변환 탐색 Rating: 0 out of 5 stars0 ratings캐니 엣지 감지기: 시각적 인식의 예술 공개 Rating: 0 out of 5 stars0 ratings컴퓨터 스테레오 비전: 컴퓨터 비전의 깊이 인식 탐구 Rating: 0 out of 5 stars0 ratings필터 뱅크: 컴퓨터 비전의 필터 뱅크 기술에 대한 통찰력 Rating: 0 out of 5 stars0 ratings색상 외관 모델: 컴퓨터 비전의 인식 및 표현 이해 Rating: 0 out of 5 stars0 ratings허프 변환: 컴퓨터 비전에서 Hough 변환의 마법 공개 Rating: 0 out of 5 stars0 ratings컬러 매칭 기능: 컴퓨터 비전의 스펙트럼 감도 이해 Rating: 0 out of 5 stars0 ratings하다마드 변환: 컴퓨터 비전에서 아다마르 변환의 힘 공개 Rating: 0 out of 5 stars0 ratings컬러 모델: 컴퓨터 비전의 스펙트럼 이해: 색상 모델 탐색 Rating: 0 out of 5 stars0 ratings무작위 표본 합의: 컴퓨터 비전의 강력한 추정 Rating: 0 out of 5 stars0 ratings기하학적 해싱: 이미지 인식 및 매칭을 위한 효율적인 알고리즘 Rating: 0 out of 5 stars0 ratings
Related ebooks
바이너리 공간 분할: 이진 공간 분할 탐색: 컴퓨터 비전의 기초 및 응용 Rating: 0 out of 5 stars0 ratings기하학적 원형: 컴퓨터 비전의 기초 및 응용 프로그램 탐색 Rating: 0 out of 5 stars0 ratings2차원 기하학적 모델: 컴퓨터 비전의 이해와 응용 Rating: 0 out of 5 stars0 ratings상황별 이미지 분류: 효과적인 분류를 위한 시각적 데이터 이해 Rating: 0 out of 5 stars0 ratings기하학적 해싱: 이미지 인식 및 매칭을 위한 효율적인 알고리즘 Rating: 0 out of 5 stars0 ratings컴퓨터 비전 기본 매트릭스: '컴퓨터 비전' 영역에 '컴퓨터 비전 기본 매트릭스'라는 제목의 책 부제를 제안해주세요. 추천 자막에는 ':'이 포함되어서는 안 됩니다. Rating: 0 out of 5 stars0 ratings메쉬 생성: 컴퓨터 비전 메시 생성의 발전과 응용 Rating: 0 out of 5 stars0 ratings내측 축: 컴퓨터 비전의 핵심 탐구: 중간 축 공개 Rating: 0 out of 5 stars0 ratings핀홀 카메라 모델: 전산 광학을 통한 관점 이해 Rating: 0 out of 5 stars0 ratings고유면: 고유면 를 통한 시각적 인식의 깊이 탐색 Rating: 0 out of 5 stars0 ratings최소 경계 상자: 컴퓨터 비전에서 공간 최적화의 힘 공개 Rating: 0 out of 5 stars0 ratings계산 기하학: 컴퓨터 비전을 위한 기하학적 통찰력 탐구 Rating: 0 out of 5 stars0 ratings홍수 채우기: 컴퓨터 시각 인식의 동적 지형 탐색 Rating: 0 out of 5 stars0 ratings피라미드 이미지 처리: 시각적 분석의 깊이 탐구 Rating: 0 out of 5 stars0 ratings2차원 컴퓨터 그래픽: 시각적 영역 탐색: 컴퓨터 비전의 2차원 컴퓨터 그래픽 Rating: 0 out of 5 stars0 ratings컴퓨터 비전 그래프 컷: 컴퓨터 비전의 그래프 컷 탐색 Rating: 0 out of 5 stars0 ratings이미지 분할: 픽셀 정밀도 을 통해 통찰력 확보 Rating: 0 out of 5 stars0 ratings이미지 히스토그램: 시각적 통찰력 공개, 컴퓨터 비전의 이미지 히스토그램 깊이 탐색 Rating: 0 out of 5 stars0 ratings단어 가방 모델: 단어 가방 로 시각적 지능 잠금 해제 Rating: 0 out of 5 stars0 ratings삼중초점 텐서: 컴퓨터 비전의 깊이, 동작 및 구조 탐색 Rating: 0 out of 5 stars0 ratings가장자리 감지: 컴퓨터 비전의 경계 탐색 Rating: 0 out of 5 stars0 ratings직교 투영: 컴퓨터 비전의 직교 투영 탐색 Rating: 0 out of 5 stars0 ratings도형 기하학: 시각적 영역 잠금 해제: 컴퓨터 비전의 기술 기하학 탐색 Rating: 0 out of 5 stars0 ratings힐베르트 투영 정리: 컴퓨터 비전의 차원 잠금 해제 Rating: 0 out of 5 stars0 ratings해리스 코너 감지기: 이미지 특징 감지의 마법 공개 Rating: 0 out of 5 stars0 ratings직접 선형 변환: 컴퓨터 비전의 실제 응용 및 기술 Rating: 0 out of 5 stars0 ratings보행자 감지: '컴퓨터 비전' 영역에서 '보행자 감지'라는 제목의 도서에 대한 부제를 제안해 주세요. 추천 자막에는 ':'이 포함되어서는 안 됩니다. Rating: 0 out of 5 stars0 ratings문서 모자이크: 문서 모자이크를 통해 시각적 통찰력 확보 Rating: 0 out of 5 stars0 ratings래스터 그래픽 편집기: 시각적 현실의 변화: 컴퓨터 비전에서 래스터 그래픽 편집기 마스터하기 Rating: 0 out of 5 stars0 ratings절차적 표면: 컴퓨터 비전에서 텍스처 생성 및 분석 탐색 Rating: 0 out of 5 stars0 ratings
Reviews for 쿼드트리
0 ratings0 reviews
Book preview
쿼드트리 - Fouad Sabry
챕터 1: 쿼드트리
쿼드트리의 데이터 구조는 각 내부 노드에 정확히 4개의 자손이 있는 트리입니다. 쿼드트리는 octree와 동일한 2차원이며 일반적으로 2차원 공간을 4개의 사분면 또는 섹션으로 분할하는 데 사용됩니다. 리프 셀과 관련된 정보는 응용 프로그램에 따라 다르지만 리프 셀은 흥미로운 공간 정보의 단위
입니다.
분할된 영역은 임의 또는 정사각형 또는 직사각형 모양을 가질 수 있습니다. 1974년에는 Raphael Finkel과 J.L. Bentley가 이 데이터 구조를 쿼드트리로 지정했습니다. Q-트리는 유사한 파티션 체계의 또 다른 용어입니다. 모든 유형의 쿼드 트리에는 특정 특성이 있습니다.
그들은 공간을 유연한 세포로 나눕니다.
각 구획(또는 콘센트)에는 최대 용량이 있습니다. 버킷의 최대 용량에 도달하면 분리됩니다.
트리 디렉터리는 quadtree의 공간 분해를 따릅니다.
트리 피라미드 (T- 피라미드)는 완전한
트리입니다. T-피라미드의 모든 노드에는 리프 노드를 제외한 4개의 하위 노드가 포함됩니다. 모든 나뭇잎은 그림의 개별 픽셀에 해당하는 동일한 수준에 있습니다. 완전한 이진 트리를 배열에 압축적으로 저장할 수 있는 방법과 유사하게 트리 피라미드 데이터는 암시적 데이터 구조로 배열에 압축적으로 저장할 수 있습니다.
Quadtree는 영역, 점, 선 및 곡선과 같이 나타내는 데이터 유형에 따라 분류할 수 있습니다. Quadtree는 트리의 모양이 처리 순서와 무관한지 여부에 따라 분류할 수도 있습니다. 다음은 quadtrees:의 빈번한 형태입니다.
영역 쿼드트리는 영역을 4개의 동일한 사분면, 하위 사분면 등으로 분해하여 공간의 2차원 분할을 보여주며, 각 리프 노드는 특정 하위 영역과 관련된 데이터를 전달합니다. 트리의 각 노드에는 정확히 4개의 자식이 있거나 하나도 없습니다(리프 노드). 이 분해 방법(즉, 더 큰 미세 조정이 필요한 하위 사분면에 관련 데이터가 있는 한 하위 사분면을 세분화)은 쿼드트리의 높이를 분해되는 공간에서 관심 있는 영역의 공간 분포에 민감하고 의존하게 만듭니다. region quadtree는 trie 데이터 구조체의 변형입니다.
깊이가 n인 영역 쿼드트리는 모든 픽셀이 0 또는 1인 2n × 2n 픽셀로 구성된 이미지를 나타내는 데 사용할 수 있습니다.
루트 노드는 이미지 영역의 전체를 나타냅니다.
임의의 영역 내의 픽셀이 완전히 0 또는 1이 아닌 경우, 해당 영역은 유효하지 않은 것으로 간주되어 분할된다.
이것은 응용 프로그램이며, 각 리프 노드는 전적으로 0 또는 1로 구성된 픽셀 블록을 나타냅니다.
이러한 트리를 이미지 저장에 사용할 때 가능한 공간 절약에 유의하십시오. 시각적 묘사의 일반적인 특징은 전체적으로 동일한 색상 값을 가진 수많은 넓은 영역이 존재한다는 것입니다.
이미지의 모든 픽셀로 구성된 큰 2차원 배열을 저장하는 대신 더 작은 배열이 사용되며, 쿼드트리는 픽셀 해상도 크기의 셀보다 훨씬 더 많은 분할 수준에서 동일한 정보를 캡처할 수 있습니다.
트리의 해상도와 크기는 픽셀과 그림 크기에 의해 제한됩니다.
영역 쿼드트리는 변경 가능한 해상도로 데이터 필드를 나타내는 데 사용할 수도 있습니다. 예를 들어, 쿼드트리를 사용하여 지역의 온도를 기록할 수 있으며, 각 리프 노드는 해당 하위 지역의 평균 온도를 저장합니다.
점 쿼드트리
다음은 포인트 쿼드트리가 구축되는 방식입니다. 삽입할 다음 점이 주어지면 해당 셀이 배치되고 점이 트리에 추가됩니다. 새 점이 삽입되어 해당 점을 포함하는 셀이 통과하는 수직선과 수평선에 의해 사분면으로 분할됩니다. 따라서 셀은 직사각형이지만 항상 정사각형은 아닙니다. 이러한 트리의 각 노드에는 입력 지점 중 하나가 있습니다.
평면의 분할은 점 삽입 순서에 따라 결정되기 때문에 트리의 높이는 민감하며 삽입 순서에 따라 달라집니다. 잘못된
순서로 삽입하면 높이가 입력 포인트 수에 비례하는 트리가 생성 될 수 있습니다 (이 시점에서 링크 된 목록이됩니다). 전처리는 점 집합이 정적인 경우 균형 잡힌 높이를 가진 트리를 생성하는 데 사용할 수 있습니다.
포인트 쿼드 트리의 노드는 이진 트리의 노드와 유사하며, 주요 차이점은 기존의 이진 트리와 같이 2 개 ( 왼쪽
및 오른쪽
)와 달리 4 개의 포인터 (각 사분면에 대해 하나씩)가 있다는 것입니다. 또한 키는 일반적으로 x 및 y 좌표를 참조하는 두 개의 구성 요소로 나뉩니다. 따라서 노드에는 다음 데이터가 포함됩니다.
4개 포인터: quad['NW'], quad['NE'], quad['SW'], quad['SE']
점; 여기에는 차례로 다음이 포함됩니다.
식별자; 일반적으로 x, y 좌표로 표시됩니다.
값(예: 이름)
점-지역(PR) 쿼드트리는 영역 쿼드트리와 매우 유사합니다. 차이점은 저장된 셀 관련 데이터의 유형에 있습니다. 영역 쿼드트리에서는 리프 셀의 전체 영역에 적용되는 값이 유지됩니다. 그러나 PR 쿼드트리의 셀에는 리프 셀 내에 있는 점 목록이 있습니다. 앞서 언급했듯이 이 분해 접근 방식을 사용하는 나무의 높이는 점의 공간 분포에 따라 달라집니다. 점 쿼드트리와 유사하게, PR 쿼드트리는 나쁜
집합이 제공될 때 선형 높이를 가질 수 있습니다.
Edge quadtree(PM quadtree와 유사)는 점이 아닌 선을 유지하는 데 사용됩니다. 세포는 곡선을 근사화하기 위해 매우 미세한 해상도로 세분화되며, 셀당 단일 선분이 있을 때까지 정확하게 세분화됩니다. 가장자리 쿼드트리는 모서리/정점 근처에서 최대 분해 수준에 도달할 때까지 계속 분할됩니다. 이로 인해 인덱싱 목표를 무효화하는 심각한 불균형 트리가 발생할 수 있습니다.
다각형 맵 quadtree(또는 PM Quadtree)는 잠재적으로 퇴화될 수 있는 다각형 그룹(즉, 고립된 꼭짓점 또는 가장자리가 있음)을 보유하는 데 사용되는 quadtree의 변형입니다. PM 쿼드트리와 에지 쿼드트리의 중요한 차이점은 셀 내의 세그먼트가 꼭짓점에서 교차하는 경우 검사 중인 셀이 분할되지 않는다는 것입니다.
PM 쿼드트리에는 세 가지 기본 종류가 있으며, 각 블랙 노드에 저장된 데이터에 따라 다릅니다. PM3 쿼드 트리는 임의의 수의 교차하지 않는 가장자리와 최대 단일 점을 보유 할 수 있습니다. PM2 쿼드트리는 모든 모서리가 동일한 위치에서 종료되어야 한다는 점을 제외하고는 PM3 쿼드트리와 동일합니다. PM1 쿼드트리는 PM2 쿼드트리와 유사하지만 검은색 노드에는 점과 해당 가장자리 또는 점을 공유하는 가장자리 집합만 포함될 수 있지만 점을 포함하지 않는 점과 가장자리 집합은 허용되지 않습니다.
이 섹션은 Sariel Har-book의 한 챕터를 요약합니다. 펠레드.
세분화된 셀에 해당하는 모든 노드를 저장해야 하는 경우 저장 필요성이 엄청날 수 있으며 상당한 수의 빈 노드를 저장하게 될 수 있습니다.
이러한 희소 나무의 크기를 줄이려면 잎에 흥미로운 데이터가 포함된 하위 트리만 저장할 수 있습니다(즉,
중요한 하위 분기
).
실제로 크기를 훨씬 더 줄일 수 있습니다.
필수 하위 트리만 유지하는 경우 가지치기 절차는 2차 중간 노드(한 부모와 한 자식에 대한 링크)가 있는 트리에 긴 경로를 남길 수 있습니다.
이 경로의 시작 부분에 노드를 저장하고 제거된 노드를 나타내기 위해 일부 메타데이터를 연결하고, 끝에 뿌리를 둔 하위 트리 u 를 에 연결하기만 하면 됩니다 u .
나쁜
입력 지점이 주어지면 그럼에도 불구하고 이러한 압축된 트리가 선형 높이를 가질 수 있습니다.
이 압축 중에 상당한 양의 트리가 정리되지만 Z 순서 곡선을 사용하여 로그 시간 검색, 삽입 및 삭제가 여전히 가능합니다.
Z 순서 곡선은 전체 쿼드트리(따라서 압축된 쿼드트리)의 각 셀 을 O(1) 시간적으로 1차원 선에 매핑하고(시간적으로도 다시 매핑 O(1) ) 요소에 대한 완전한 순서를 설정합니다.
따라서 쿼드트리를 정렬된 집합 데이터 구조(트리의 노드를 저장하는 구조)에 저장할 수 있습니다.
계속하기 전에 합리적인 가정을 진술해야 합니다: 이진수로 표현된 두 개의 실수가 주어졌 을 때, {\displaystyle \alpha ,\beta \in [0,1)} 서로 다른 첫 번째 비트의 인덱스를 시간에 O(1) 따라 계산할 수 있다고 가정합니다.
또한 O(1) 쿼드트리에 있는 두 점/셀의 가장 낮은 공통 조상을 시간에 계산하고 상대 적인 Z 순서를 설정할 수 있다고 가정하고 시간에 따라 바닥 함수를 계산할 수 있습니다 O(1) .
이러한 전제에서 주어진 지점의 지점 위치 q (즉,
), 삽입 및 삭제 작업을 포함하는 셀을 결정하는 q 것은 모두 시간 내에 수행될 수 있습니다 O(\log {n}) (즉,
기본 정렬된 집합 데이터 구조 내에서 검색을 수행하는 데 필요한 시간).
에 대한 점 위치를 수행하려면 q (즉,
압축된 트리에서 해당 셀 찾기):
압축된 트리에서 Z 순서로 앞에 오는 기존 셀 q 을 찾습니다.
이 셀을 . v
만약에 {\displaystyle q\in v} , 를 반환합니다 v .
그렇지 않으면 압축되지 않은 쿼드 트리에서 점 q 과 셀의 v 가장 낮은 공통 조상이 될 수있는 것을 찾으십시오.
이 조상 셀을 라고 합니다 u .
압축된 트리에서 Z 순서로 앞에 오는 기존 셀을 찾아 u 반환합니다.
세부 사항을 파고들지 않고 삽입 및 삭제를 수행하려면 먼저 삽입 또는 삭제할 항목에 대한 점 배치를 수행한 다음 삽입하거나 제거합니다. 노드를 추가하거나 제거하여 필요에 따라 트리의 모양을 변경하도록 주의해야 합니다.
이미지 표현
Bitmap and its compressed quadtree representation이미지 처리
메쉬 생성
공간 인덱싱, 포인트 기반 및 범위 기반 검색
2차원 충돌 감지 효율
지형에 대한 데이터 절두체 컬링 보기
희소 데이터 저장소(예: 스프레드시트 또는 행렬 계산을 위한 형식 정보)
다차원장 솔루션(전산 유체 역학, 전자기학)
Conway의 Game of Life 시뮬레이션 프로그램.
상태 추정
Quadtree는 프랙탈 사진 분석에도 활용됩니다.
최대 분리 세트
쿼드트리, 즉 영역 쿼드트리는 이미지 처리의 응용 분야에 잘 적응했습니다. 영역 쿼드트리와 쿼드트리에서 수행되는 이미지 처리 절차는 컬러 이미지에도 동일하게 적용할 수 있지만, 여기서는 이진 이미지 데이터로 논의를 제한하겠습니다.
사진 처리를 위해 쿼드 트리를 사용하는 이점은 합집합 및 교차와 같은 집합 연산을 빠르고 쉽게 수행 할 수 있다는 것입니다. 두 개의 이진 영상이 주어졌을 때, 이미지 합집합(오버레이라고도 함)은 입력 영상 중 하나가 같은 위치에 검은색 픽셀을 포함하는 경우 픽셀이 검은색인 이미지를 생성합니다. 즉, 출력 이미지의 픽셀은 두 입력 이미지에서 일치하는 픽셀이 흰색인 경우에만 흰색입니다. 그렇지 않으면 검은색입니다. 픽셀 단위로 작업을 수행하는 대신 쿼드트리의 용량을 사용하여 단일 노드로 여러 픽셀을 표현함으로써 합집합을 효율적으로 계산할 수 있습니다. 다음 설명의 목적을 위해 하위 트리에 검은색 픽셀과 흰색 픽셀이 모두 포함된 경우 하위 트리의 루트가 회색이라고 주장합니다.
이 알고리즘은 출력 quadtree를 작성하는 동안 T_{1} 두 개의 입력 쿼드트리(및 )를 순회하는 방식으로 작동합니다 T_{2} T .
비공식적으로 알고리즘은 다음과 같이 설명됩니다.
{\displaystyle v_{1}\in T_{1}} 이미지에서 동일한 영역에 해당하는 {\displaystyle v_{2}\in T_{2}} 노드를 고려 합니다.
v_{1} or v_{2} 가 검은색이면 해당 노드가 검 T 은색으로 생성되고 검은색으로 표시됩니다.
하나는 검은색이고 다른 하나는 회색이면