O_ColourMatcher
O_ColourMatcher 플러그인을 사용하면 한 뷰의 색상을 다른 뷰의 색상과 일치시킬 수 있습니다. 그것은 미묘한 것을 다루기 위해 특별히 고안되었습니다. 스테레오 뷰간에 때때로 나타나는 색상 차이.
입력과 컨트롤
연결 타입 |
연결 이름 |
함수 |
입력 |
마스크 |
색상 분포를 가져올 위치를 결정하는 선택적 마스크입니다. 예를 들어, 녹색 화면 앞에 사람을 표시하는 클립이있는 경우 플러그인을 사용하여 사람을 일치시키는 데 집중하도록 마스크를 사용하여 녹색 영역을 제외 할 수 있습니다. |
출처 |
이미지의 스테레오 쌍. 시차 채널 및 폐색 마스크가 이미지에 포함되어 있지 않고 3D LUT 또는 Local Matching 모드에서는 이미지 시퀀스 후에 O_Solver, O_DisparityGenerator 및 O_OcclusionDetector 노드를 사용해야합니다. |
Control (UI) |
Knob (Scripting) |
Default Value |
함수 |
O_ColourMatcher Tab |
|||
Views to Use |
viewPair |
Dependent on source |
색상을 일치시키려는 두보기를 설정합니다. 이 뷰는 왼쪽 및 오른쪽 눈에 매핑됩니다. |
Match |
matchWhat |
Left to Right |
뷰 간 색상을 일치시키는 방법을 설정합니다. • Left to Right -왼쪽보기의 색상을 오른쪽의 색상과 일치하도록 조정하십시오. • Right to Left -오른쪽보기의 색상을 왼쪽의 색상과 일치하도록 조정하십시오. |
Mode |
matchingMode |
Basic |
색상 일치에 사용할 알고리즘을 설정합니다. • Basic -이 모드는 전체 뷰의 색상 분포를 가져 와서 다른 뷰의 분포와 일치하도록 수정합니다. • 3D LUT -이 모드는 폐색되지 않은 픽셀의 로컬 매치에서 글로벌 룩업 테이블 (LUT)을 생성합니다. 노트 : 이 모드에서는 입력 데이터 스트림에 시차 필드와 폐색 마스크가 있어야합니다. 아직 존재하지 않는 경우 O_Solver, O_DisparityGenerator 및 OcclusionDetector 플러그인을 사용하여 작성할 수 있습니다. • Local Matching -이 모드는 먼저 두 이미지를 Block Size 제어. 그런 다음 두보기에서 해당 블록 간의 색상 분포와 일치합니다. 한 뷰에서 다른 뷰보다 밝은 하이라이트와 같이 뷰간에 로컬 색상 차이가있는 경우 유용 할 수 있습니다. 이 모드에서는 입력 데이터 스트림에 시차 필드가 있어야합니다. 없는 경우 O_Solver 및 O_DisparityGenerator 플러그인을 사용하여 작성할 수 있습니다. 노트 : 만약 Occlusion Compensate 이 모드에서는 오 클루 전 마스크 업스트림이 필요합니다. 존재하지 않는 경우 O_OcclusionDetector를 사용하여 만들 수 있습니다. |
Export 3D LUT |
exportLUT |
N/A |
현재 프레임에 대해 계산 된 색 변경을 3D 룩업 테이블 (LUT)로 내보내려면 클릭 .vf 체재. 이를 통해 다음을 사용하여 LUT를 별도로 적용 할 수 있습니다 Nuke의 Vectorfield (Color > 3D LUT > Vectorfield) 노드. 이 컨트롤은 3D LUT 방법. |
Local Matching Options |
|||
Block Size |
blockSize |
20 |
색상 일치를 계산할 때 이미지가 분할되는 사각형 블록의 폭과 높이 (픽셀)를 정의합니다. 노트 : 이 컨트롤은 Local Matching 방법. |
Occlusion Compensate |
occlusionCompensate |
enabled |
언제 Occlusion Compensate O_ColourMatcher가 활성화되어 있으면 근처에있는 폐쇄되지 않은 영역에서 유사한 색상을 찾고 이미 찾은 가장 가까운 색상을 사용합니다. 노트 : 여기에는 오 클루 전 마스크 업스트림이 필요하며 (O_OcclusionDetector를 사용하여 마스크를 만들 수 있음) Local Matching 방법. |
Edge Occlusion |
edgeOcclusion |
0.40000001 |
이미지 가장자리를 폐색으로 처리하기위한 임계 값을 설정하여 후광 및 가장자리 깜박임을 줄입니다. 값이 높을수록 업스트림 오 클루 전 마스크에서 표시되지 않더라도 더 많은 이미지 에지가 오 클루 전으로 간주됩니다. 노트 : 이 컨트롤은 다음과 같은 경우에만 사용할 수 있습니다 Occlusion Compensate 사용 가능. |
Colour Sigma |
colourSigma |
2 |
폐색 된 영역에서 색상 일치의 가장자리에서 흐릿한 정도를 설정합니다. 폐색 된 영역의 색상 보정을 비슷한 색상으로 제한하려면이 값을 줄입니다. 색상 보정을 흐리게하려면 값을 늘리십시오. 노트 : 이 컨트롤은 다음과 같은 경우에만 사용할 수 있습니다 Occlusion Compensate 사용 가능. |
Region Size |
regionSize |
25 |
폐색 된 픽셀에서 색상 보정을 계산하는 데 사용되는 폐색되지 않은 픽셀의 영역 크기 (픽셀)를 설정합니다. 팁: 언제 Occlusion Compensate O_ColourMatcher는 가장 가까운 폐색되지 않은 픽셀을 찾은 다음이 픽셀 수만큼 거리를 확장하여 사용할 수없는 폐색 된 픽셀을 선택합니다. |
Multi-scale Options |
|||
Number of Samples |
samples |
5 |
샘플 수를 설정합니다 Local Matching 방법. 1보다 큰 값을 사용하면 여러 블록 크기에 대한 보정이 계산됩니다. Block Size 과 Max Block Size -그런 다음 결과를 혼합합니다. 이것은 오류를 줄이는 데 도움이 될 수 있습니다. |
Max Block Size |
maxBlockSize |
100 |
로컬 일치 모드에서 여러 샘플을 사용할 때 최대 블록 크기의 크기 (픽셀)를 설정합니다. 노트 : 이 컨트롤은 설정 한 경우에만 사용할 수 있습니다 Mode 에 Local Matching 과 Number of Samples 1보다 큰 값으로 |
Sample Spacing |
intervalType |
Uniform |
여러 샘플을 사용할 때 사용할 샘플링 간격 유형을 설정합니다. Local Matching 방법: • Uniform -샘플링 간격이 일정하게 유지됩니다. 샘플의 간격이 균등합니다. • Favour Small Block Sizes -블록 크기가 클수록 샘플링 간격이 증가합니다. 이것은 더 작은 블록 크기에 대한 보정에 가중치를 부여하며, 더 큰 블록 크기를 포함하면서도 디스 패리티 오류에 더 강한 더 많은 세부 사항을 보존합니다. |
Colour Correction Type |
correctionType |
Best Guess |
O_ColourMatcher가 두보기를 정사각형 블록으로 나누고 해당 블록 간의 색상 분포를 일치시키는 방법을 결정합니다. 팁: 설정하면 Number of Samples 1보다 큰 값으로 Colour Correction Type 여러 블록 크기에 대해이 작업을 수행 한 다음 다른 블록 크기에 대한 결과를 결합합니다. • Minimum Correction -결과 중, 각 지점에서 가장 작은 보정 (즉, 원본 이미지에 가장 가까운)을 선택합니다. 이 옵션은 시차 맵이 매우 나쁜 경우에 유용합니다. • Best Guess -결과 중, 각 지점에서 대상 이미지에 가장 가까운 보정을 선택합니다. 대상 이미지는 시차 필드를 사용하여 수정하려는 이미지에 다른보기를 왜곡시켜 만듭니다. 이 옵션은 시차 맵이 매우 좋은 경우 유용 할 수 있습니다. • Average Correction -각 지점에서 색상 보정의 평균값을 사용하십시오. 이 옵션이 기본값입니다. 노트 : 이 컨트롤은 설정 한 경우에만 사용할 수 있습니다 Mode 에 Local Matching. |
Mask Options |
|||
Mask Components |
maskWith |
None |
색상 변환을 계산할 때 마스크로 사용할 채널을 설정합니다. • None -전체 이미지 영역을 사용하십시오. • Source Alpha -의 알파 채널을 사용하십시오 Source 마스크로 클립. • Source Inverted Alpha -반전 된 알파 채널을 사용하십시오. Source 마스크로 클립. • Mask Luminance -의 휘도를 사용 Mask 마스크로 입력하십시오. • Mask Inverted Luminance -반전 된 휘도를 사용하십시오. Mask 마스크로 입력하십시오. • Mask Alpha -의 알파 채널을 사용하십시오 Mask 마스크로 입력하십시오. • Mask Inverted Alpha -반전 된 알파 채널을 사용하십시오. Mask 마스크로 입력 |
비디오 자습서
OCULA 3.0-컬러 매처 ...에서 주조 의 위에 비 메오.
Foundry의 Ocula에 오신 것을 환영합니다. 제 이름은 Jon이며이 자습서에서는 Ocula 3.0에서 ColourMatcher 노드를 설정하고 검토하는 방법을 살펴 보겠습니다. 이 영상을 수정하는 색상을 살펴 보겠습니다. 왼쪽 눈과 오른쪽 눈 사이를 전환하면 여기 바닥에 반사에 큰 변화가 있음을 알 수 있습니다. 스테레오 리플렉션 경험을 용이하게하기 위해 이러한 반사를 이미지와 일치 시키려고합니다. 대본에서 나는 시차를 설정하고 검토하고 있습니다. 우리는 그것을 사용하기 위해 렌더링하고 있으며, Ocula의 ColourMatcher 노드를 사용하여 색상 보정을 위해 여기로 가져오고 나중에 품질 검사를 살펴볼 것입니다.
우선, 설정 및 검토를 살펴 보겠습니다. Solver 노드에서 분석 키를 설정했으며 DisparityGenerator 노드에서 기본 매개 변수를 사용하고 있습니다. Solver 및 DisparityGenerator 노드를 설정하는 방법에 대한 자습서가 있습니다. 여기에는 OcclusionDetector 노드도 있으며 Nuke의 새로운 폐색 마스크 채널을 추가하고 있습니다. 왼쪽과 오른쪽보기 사이에 일치하지 않는 픽셀,보기간에 가려 지거나 드러난 픽셀을 정의합니다. ColourMatcher는 한 뷰에서 다른 뷰로 색상을 가져올 때 차단 된 픽셀을 무시합니다. OcclusionDetector를 살펴보면 폐색이 어떻게 정의되는지 조정할 수 있고 나중에 어떻게해야하는지 알게됩니다. 여기에서 이미지 테두리가 왼쪽과 오른쪽보기 사이에 막힌 것으로 정의되어 있음을 알 수 있습니다. 시차와 폐색을 렌더링 한 다음 ColourMatcher 노드와 함께 사용하도록 다시 가져옵니다.
ColourMatcher에서 왼쪽과 오른쪽을 일치시킬 것인지, 왼쪽과 일치하도록 오른쪽을 갱신 할 것인지에 대한 왼쪽 및 오른쪽보기를 정의 할 수 있습니다. 색상을 계산하는 세 가지 방법이 있습니다. 기본 리프트 앤 게인, 더 복잡한 3D LUTOcula 또는 Nuke 외부에서 사용하기 위해 내보낼 수 있으며 로컬 색상 보정을 수행하는 옵션도 있습니다 (지역 매칭). 이것은 왼쪽과 오른쪽 이미지 사이의 작은 블록과 일치하므로 뷰 사이의 미묘한 변화와 일치합니다. 폐색 검출기에 의해 정의 된 폐색 영역을 개별적으로 처리할지 여부를 선택할 수 있으며 조정할 매개 변수가 있습니다. 나중에 이러한 업데이트를 조정하는 방법을 살펴 보겠습니다. 일부도 있습니다 멀티 스케일 옵션 블록. 하나 이상의 블록 크기를 사용할지 여부를 선택하고 사용할 최대 블록 크기를 설정하고 업데이트 적용 방법을 정의 할 수 있습니다. 이 옵션은 시간이 지남에 따라 색상 업데이트를 안정화하는 데 도움이됩니다. ColourMatcher는 또한 마스크 입력. 기본 및 3D LUT 방법으로 마스크를 정의하는 방법을 선택한 다음 업데이트가 마스크 영역에서 계산되어 전체 이미지에 적용됩니다. 에 지역 매칭마스크 된 영역에 대한 업데이트가 계산되어 해당 마스크 된 영역에 적용됩니다. 여기에 로컬 수정 방법을 사용하여 계산 된 업데이트가 있습니다. 반사가 왼쪽과 오른쪽보기 사이에서 일치하도록 업데이트되었음을 알 수 있습니다.
이제 색상 보정을 어떻게 품질 검사 할 수 있는지 살펴 보겠습니다. 여기에서 수정판의 시차를 다시 계산하고 있습니다. 업스트림에서 솔버 정보를 가져와야합니다. 새 Solver 노드에서 여기에서 다시 계산할 수있었습니다. 나는 Ocula StereoReviewGizmo와의 불일치를 사용하고 있습니다. 왼쪽과 오른쪽보기 사이에 CheckerBoard 키 믹스를 표시하도록 설정했습니다. 수정을 전환하면 기즈모에서 수렴 점을 집어 들고 이미지의 다른 부분에서 왼쪽과 오른쪽의 차이를 확인하기 위해 움직일 수 있습니다. 원본 영상을 보면 수정 된 차이점을 확인할 수 있습니다. 다시, 우리가 움직이면 키 믹스의 왼쪽과 오른쪽보기에서 다른 색상을 볼 수 있습니다. 품질 검사의 또 다른 방법은 NewView 노드를 사용하여 수정 된보기를 '영웅'보기로 가져간 다음 차이점을 확인할 수 있습니다. NewView가 왼쪽 뷰를 사용하여 오른쪽으로 업데이트했습니다. 보간 위치 1 개 중그런 다음 픽셀 당 차이를 만들 수 있으므로 전체 이미지의 오류를 한 번에 확인할 수 있습니다. 차이는 가장자리에만 있으며, 서브 픽셀 시프트 디스 패리티 계산을 가질 수 있습니다. 원래 플레이트를 보면 ColourMatcher 노드에서 수정 된 색상 차이를 볼 수 있습니다.
다른 샷의 색상 보정을 살펴 보겠습니다. 여기에 왼쪽 및 오른쪽보기가 있으며 여기에서 수정하려는 큰 색상 이동이 있습니다. 솔버를 입력했으며 이전과 같이 시차와 폐색을 계산합니다. 이러한 폐색을 보면 왼쪽과 오른쪽보기에서 서로 다르게 표시되는 픽셀입니다. 이제 폐색을 계산하는 두 가지 방법이 있습니다. 깊이 폐색이미지의 한 부분이 다른 부분에 의해 가려지고 다른 부분은 뷰 간의 색상 차이에 대한 임계 값을 사용하여 이미지 내용의 차이를보고색상 임계 값). 따라서이 임계 값을 끄고 샷에 맞출 수 있습니다. 나는 당겨서 시작합니다 깊이 폐색 깊이 레이어 사이의 폐색을 골라 낼 때까지나는 이것이 너무 커지기를 원하지 않습니다. 그런 다음 색상 임계 값 다시, 깊이와 장면 사이의 이러한 변화에서 차이점을 찾아 낼 때까지 이것을 풀 수 있습니다. 나는 여기서 꽤 보수적 인 경향이있다. 프레임 사이에서 깜박 거리는 고립 된 영역을 많이 선택하고 싶지 않습니다. 우리는 시간이 지남에 따라 안정되기를 원합니다. 폐색 영역을 세분화 할 수있는 몇 가지 옵션이 있으며 왼쪽과 오른쪽보기 사이의 이미지 양에 따라 선택할 수있는 몇 가지 사전 설정이 있습니다. 자, 여기 우리는 극단적 인 차이를보고 있습니다. 그래서 훨씬 더 큽니다. 이 샷에서 한 가지 추가 작업은 로토를 추가하여 이미지 상단의 비트를 차단하는 것입니다. 왼쪽과 오른쪽이 다릅니다. 따라서 Roto 또는 RotoPaint를 사용하여 오 클루 전 마스크를 자유롭게 편집 할 수 있습니다.
색상 일치 결과를 살펴 보겠습니다. 이것이 기본 리프트와 게인을하는 방법. 당신은 이것을 사용하여 이것을 향상시킬 수 있습니다 3D LUT 왼쪽 및 오른쪽보기를 기반으로 픽셀 일치를 기반으로 전역 업데이트를 계산하는 방법입니다. 따라서 결과는 훨씬 나아지지만 여전히 물에 대한 반사에 약간의 변화가 있습니다. 이제 이것을 내 보내서 Nuke의 VectorField 노드에서 사용할 수 있으므로 Ocula없이 해당 3D LUT를 적용하거나 Nuke 외부에서 사용할 수 있습니다. 다음은 ColourMatcher 결과이며 VectorField 노드의 결과이며 일치합니다. 이 푸티 지에서 물의 반사와 일치하도록 로컬 보정을 수행 할 수도 있습니다. 여기에서 결과를 볼 수 있습니다 : 왼쪽 및 오른쪽보기가 일치합니다. 이제 NewView 내에서 색상 차이를보고 QC 기술을 다시 사용할 수 있습니다. 로컬 색 보정의 차이점은 다음과 같습니다. 이제 돌아가서 방법을 전환하고 그 차이점을 비교할 수 있습니다. 큰 변화가 있습니다 기본. 더 낫다 3D LUT그러나 물에 반사되는 것과의 차이점을 볼 수 있습니다. 그리고 마지막으로 지역 매칭최상의 결과를 제공합니다.
하나의 예를 더 살펴 보겠습니다. 이 샷에서는 뷰 사이에 약간의 변화가 있습니다. 한 영역에서 다른 영역으로 전환하면 넓은 영역이 보이지 않습니다. 여기에서 왼쪽에서 오른쪽으로 전환하면 상점 정면이 가려지는 것을 볼 수 있습니다. NewView로 영상을 검토해 봅시다. 왼쪽 뷰와 색상을 일치시킵니다. 여기에서 오른쪽을 왼쪽으로 당기고 원래 왼쪽과 비교하고 싶습니다. 상점 앞의 하이라이트를 볼 수 있습니다. OcclusionDetector로이 영역을 선택하고 싶습니다. 이제 설정해 봅시다. 나는로 전환하려고합니다 매트 오버레이 (M)를 선택하면 매장 정면을 볼 수 있습니다. 그러나 약간의 구멍이 있고 일부 고립 된 영역이 있으며 깜박일 수 있으므로 제거하고 안정적인 마스크를 만들고 싶습니다. 나는로 전환하려고합니다 극단 환경. 그러면 마스크가 확장되고 구멍이 채워져 안정적으로 유지됩니다. 이제 이전과 같이 임계 값을 설정하겠습니다. 우리는 여기서 상점 정면을 고르고 싶습니다. 세트로 전환 가능 색상 임계 값 다음으로 마스크에 깜박이는 고립 된 패치가 없는지 확인하여 색상 업데이트가 깜박입니다. 그래서 이것은 좋아 보인다. 자, 여기서 한 가지 더해야 할 일은 로토 마스크를 추가하는 것입니다. 실제로 OcclusionDetector에서 임계 값을 끌 수 있었고 대신 로토를 사용했습니다.
이제 왼쪽보기의 색상 보정을 살펴 보겠습니다. 여기에 기본 리프트와 이득이 있습니다. 로컬 블록 기반 색상 일치를 보도록 전환하겠습니다. 이제 벽에 노란색 띠가 보입니다. 이것은 ColourMatcher가 폐색을 보상하는 곳입니다. 마스크 외부의 픽셀을보고 마스크 내부의 색상 업데이트를 가져옵니다. 여기서 문제는 업데이트가 검은 색 영역에서 인접한 브릭으로 당겨 졌다는 것입니다. 난 그냥 확장해야 지역 크기색상 업데이트를 검색하여 다른 브릭에서 업데이트를 가져올 수 있습니다. 색상을 줄임으로써 비슷한 색상의 영역을 사용하도록 제한 할 수도 있습니다. 컬러 시그마. 이제 마지막으로 주전자 안에 어두운 밴딩이 있음을 알 수 있습니다. 이것은 블록이 밝고 어두운 영역에 걸쳐 있기 때문에 발생합니다. 더 작은 것을 사용해야합니다 블록 크기따라서 업데이트는 더 작은 영역에 적용됩니다. 이것은 좋아 보인다. 특히 프레임 간 보정 변경에 문제가있는 경우 멀티 샘플링 옵션을 조정할 수 있습니다. 멀티 샘플링은 안정성을 향상시킬 수 있습니다. 오 클루 전 마스크 내부에는 여전히 만족스럽지 않은 고립 된 영역이 있습니다. 내가 지금 할 것은이 지역에서 3D LUT 결과를 사용하는 것으로 전환하는 것입니다. 이것은 3D LUT 보정이며 꽤 좋아 보입니다. 그래서 제가 한 것은 오 클루 전 마스크를 알파로 섞은 것입니다. 그리고이를 오 클루 전 마스크 내부의 3D LUT 보정과 외부의 로컬 보정을 선택하기 위해 매트로 적용 할 것입니다. 원본과 최종 결과 사이를 전환하는 과정에서 장면의 그림자와 반사가 수정되는 것을 볼 수 있습니다.
이것으로 ColourMatcher에서이 튜토리얼을 마무리합니다. 우리는 컬러 매칭에 사용하기 위해 오 클루 전 마스크를 시차로 렌더링하는 것을 살펴 보았습니다. 로컬 색상 일치 및 품질 검사 결과, 특히 NewView를 사용하여 한 뷰를 다른 뷰 위에 다시 작성하여 색상 차이를 확인했습니다. 그런 다음 더 자세한 예와 폐색을 설정하는 방법, 로토를 사용하여 편집하는 방법, 마지막으로 폐색 예와 색상 일치 매개 변수를 조정하는 방법을 살펴보고 서로 다른 색상 일치를 전환하는 방법을 살펴 보았습니다. 결과.
도움이되지 않은 죄송합니다
왜 도움이되지 않습니까? (해당되는 모든 것을 체크하세요)
의견을 보내 주셔서 감사합니다.
찾고있는 것을 찾을 수 없거나 워크 플로 관련 질문이있는 경우 시도해보십시오 파운드리 지원.
학습 내용을 개선 할 수있는 방법에 대한 의견이 있으시면 아래 버튼을 사용하여 설명서 팀에 이메일을 보내십시오.
의견을 보내 주셔서 감사합니다.