스텝 제어 흐름에 대한 설명

이 부분에서는 Mech-Vision 스텝에서의 제어 흐름 및 제어 흐름의 사용법에 대해 소개합니다.

Mech-Vision에서 일반적인 스텝 실행 프로세스는 데이터 스트림을 기반으로 위에서 아래로 수행되며 스텝 사용 과정 중 스텝 또는 워크플로를 트리거하도록 제어 흐름을 구성할 수도 있습니다. 현재 스텝이 제어 흐름에 연결되면 해당 제어 흐름이 트리거될 때만 스텝이 실행되고, 제어 흐름이 트리거되지 않으면 스텝이 실행되지 않습니다.

아래 그림에 표시된 것처럼 비전 프로젝트에는 두 가지 비전 처리 워크플로우가 있으며 빨간색 화살표는 제어 흐름을 나타냅니다. 제어 흐름이 트리거되지 않으면 D → E → F 워크플로가 실행됩니다. 트리거되면 D → E → F 워크플로와 A → B → C 워크플로가 동시에 실행됩니다.

workflow

Mech-Vision 프로젝트 편집 영역에서 스텝이 선택되면 양쪽 지점이 바로 제어 흐름의 연결 지점입니다. 왼쪽의 연결점은 입력 제어 흐름과 연결될 수 있으며, 이는 이 스텝의 실행을 트리거합니다. 오른쪽의 연결점은 출력 제어 흐름과 연결되어 다른 스텝의 실행을 트리거할 수 있습니다.

control flow connection point

사용 프로세스에서 입력 제어 흐름과 출력 제어 흐름을 모두 연결할 필요 없이 실제 수요에 따라 연결할 수 있습니다.

다음은 제어 흐름의 세 가지 일반적인 사용법을 소개합니다.

부울 값에 의해 제어 흐름을 트리거하기

비전 프로젝트를 구성할 때 프로젝트에 “분기”를 추가하는 경우가 많으며 각 “분기”는 서로 다른 비전 처리 프로세스에 대응하고 다양한 규칙에 따라 다양한 “분기”가 트리거되어 다양한 상황에서 다양한 비전 처리 프로세스를 실행하는데 사용됩니다.

일반적으로 부울 값에 의해 제어 흐름을 트리거하기 스텝을 사용하여 트리거 작업을 진행합니다. 이 스텝은 일반적으로 역치에 근거한 이진 분류 스텝 등 부울 값을 출력하는 스텝과 함께 사용됩니다.

아래 그림에 표시된 비전 처리 흐름은 포인트 클라우드의 믿음도가 지정된 요구 사항을 충족할 때 포인트 클라우드를 변환하는 프로세스를 보여줍니다. 다음은 이 프로세스의 각 단계에 대한 자세한 설명입니다.

  1. “포인트 클라우드 클러스터링 후 합격한 포인트 클라우드 출력” 스텝에서 포인트 클라우드 믿음도를 출력합니다.

  2. “역치에 근거한 이진 분류” 스텝에서 이전 스텝의 포인트 클라우드 믿음도가 설정된 역치를 초과하는지 여부를 판단하여 초과하면 부울 값 결과는 False이고 그렇지 않으면 True입니다.

  3. “부울 값에 의해 제어 흐름을 트리거하기” 스텝에서 이전 스텝의 부울 값 결과를 획득한 후 부울 값 결과에 따라 “포인트 클라우드 전환” 스텝을 트리거하고 후속 처리를 계속 실행합니다.

trigger control by flag example

출력이 있거나 없을 경우 제어 흐름을 트리거하기

비전 프로젝트를 실행할 때 출력이 생성되지 않는 스텝이 있을 수 있습니다. 비전 프로젝트가 여러 비전 처리 흐름으로 구성된 경우 관련 설정을 통해 다른 "분기"의 실행을 트리거할 수 있습니다. 마찬가지로 스텝이 출력을 생성할 때 다른 "분기"의 실행을 트리거하는 것도 가능합니다.

프로젝트 구성 과정에서 먼저 실행 플래그에서 제어 흐름을 트리거하는 데 사용되는 스텝에 대해 출력이 있을 경우 제어 흐름을 트리거하기 혹은 출력이 없을 경우 제어 흐름을 트리거하기를 선택해야 합니다.

trigger control flow with output example 1

출력이 있을 경우 제어 흐름을 트리거하기 선택을 예로 들면, 다음 그림과 같이 “3D 상세 매칭 (라이트 버전)” 스텝에서 출력이 있을 경우 “포인트를 필터링하기” 스텝이 실행되고 후속 스텝이 계속 실행됩니다.

trigger control flow with output example 2

제어 흐름을 사용하여 무관한 스텝 비활성화하기

실제 프로젝트에서는 하드웨어 업데이트 또는 기타 관련 요인으로 인해 일부 스텝이 불필요해질 수 있습니다. 그러나 향후 가능성에 대한 고려나 과거 작업을 문서화할 필요가 존재하기에 이러한 스텝들은 여전히 유지가 됐으면 합니다. 이러한 경우에서 프로젝트의 유연성과 추적 가능성을 보장하기 위해 제어 흐름을 사용하여 위 내용과 같은 현재 요구 사항과는 관련이 없는 스텝을 비활성화할 수 있습니다.

아래와 같이 “포인트 클라우드 다운 샘플링” 스텝을 건너뛰고 직접 “포인트 클라우드 필터링” 및 후속 스텝을 실행하려면 왼쪽에 “포인트 클라우드 필터링”을 추가하고 출력 제어 흐름을 “포인트 클라우드 다운 샘플링”에 연결하면 오른쪽의 비전 처리 프로세스를 비활성화시켜 프로젝트 실행 시 왼쪽 비전 처리 프로세스만 실행할 수 있습니다.

제어 흐름을 사용하여 무관한 스텝을 비활성화하는 경우 먼저 실행 플래그에서 제어 흐름을 트리거하는 데 사용되는 출력이 있을 경우 제어 흐름을 트리거하기 혹은 출력이 없을 경우 제어 흐름을 트리거하기를 선택할 필요가 없습니다.

annotate irrelevant steps example

저희는 귀하의 개인 정보를 소중하게 생각합니다.

당사 웹사이트는 귀하에게 최상의 경험을 제공하기 위해 쿠키를 사용합니다. "모두 수락"을 클릭하시는 경우, 귀하는 사의 쿠키 사용에 동의하게 됩니다. "모두 거부"를 클릭하시는 경우, 귀하가 이 웹사이트를 방문할 때 추적되거나 기억되지 않도록 하기 위해 단일 쿠키가 사용됩니다.