스텝 데이터 흐름 알아보기

현재 최신 버전 (2.2.0)에 대한 매뉴얼을 보고 계십니다. 다른 버전에 액세스하려면 페이지 오른쪽 상단 모서리에 있는 '버전 전환' 버튼을 클릭하세요.

■ 현재 사용하고 있는 제품의 버전이 확실하지 않은 경우에는 언제든지 당사 기술 지원팀에 문의하시기 바랍니다.

이 부분에서는 Mech-Vision 프로젝트의 데이터 흐름과 데이터 유형, 데이터 차원, 프레임워크 루프 및 일반적인 문제 해결 방법을 소개합니다.

데이터 흐름 개요

Mech-Vision에서 각 스텝은 입력을 받고, 계산을 수행하고, 결과를 출력하는 하나의 알고리즘 처리 단위로 볼 수 있습니다. 여러 스텝을 포트로 연결하면 데이터가 연결 방향을 따라 순차적으로 전달되며, 완전한 데이터 흐름이 형성됩니다.

포트를 연결할 때는 데이터 유형데이터 차원을 중점적으로 확인하는 것이 좋습니다.

데이터 흐름은 처리 데이터를 전달하는 데 사용되고, 제어 흐름은 스텝의 실행 여부를 결정하는 데 사용됩니다. 제어 흐름에 대해 알아보려면 스텝 제어 흐름에 대한 설명을 참고하십시오.

데이터 유형

데이터 유형은 이미지, 포인트 클라우드, 포즈, 수치 등 포트를 통해 전달되는 데이터의 형식을 설명합니다.

데이터 흐름을 구성할 때 입력 포트와 출력 포트의 데이터 유형은 반드시 호환되어야 하며, 그렇지 않으면 연결을 만들 수 없습니다. 연결 작업에 대한 자세한 내용은 스텝 간 연결 생성 및 삭제를 참고하십시오.

프로젝트를 디버깅할 때는 스텝을 실행하고 시각화 출력 결과 보기와 함께 사용하여 상위 스텝의 출력 데이터 유형이 하위 스텝의 예상과 일치하는지 확인할 수 있습니다.

데이터 차원

데이터 차원은 데이터의 구조적 계층을 나타냅니다.

  • 포트 선언 차원

    포트가 입력받거나 출력하기를 기대하는 데이터 차원을 나타냅니다. 일반적으로 데이터 유형 뒤에 []를 사용하여 차원 계층을 표시합니다.

    예:

  • Pose: 0차원 데이터

  • Pose []: 1차원 데이터

  • Pose [][]: 2차원 데이터

  • 실제 입력/출력 데이터 차원

    스텝 실행 시 포트에서 실제로 전달되는 데이터 차원을 나타냅니다. 실제 차원은 포트 선언 차원보다 크거나, 같거나, 작을 수 있습니다.

프레임워크 루프

실제 입력 데이터 차원이 포트 선언 차원보다 크면, 스텝은 계층별로 입력 데이터를 반복 처리합니다. 이 과정을 프레임워크 루프라고 합니다.

스텝에 여러 입력 포트가 있는 경우에는 각 포트의 루프 계층이 실행 시 서로 맞춰져야 하며, 그렇지 않으면 스텝이 예상대로 실행되지 않을 수 있습니다.

루프 깊이

루프 깊이는 스텝이 특정 포트 데이터를 처리할 때 반복해야 하는 계층 수를 의미하며, 다음과 같이 이해할 수 있습니다.

루프 깊이 = 실제 입력 데이터 차원 - 포트 선언 차원

스텝의 여러 입력 포트에서 루프 깊이가 일치하지 않으면, 일반적으로 차원을 조정하거나 입력 재사용을 활성화하여 맞춰야 합니다.

차원 올리기와 차원 내리기

포트 간 루프 깊이가 일치하지 않을 때는 데이터 연결선에서 차원 올리기 또는 차원 내리기 작업을 수행해 데이터 구조를 조정하고, 입력을 더 쉽게 맞출 수 있습니다.

  • 슬라이스 차원 올리기: 데이터를 한 단계 높은 차원으로 올립니다.

  • 병합 차원 내리기: 데이터를 한 단계 낮은 차원으로 내립니다.

구체적인 사용 가능 여부는 현재 데이터가 리스트 구조인지, 그리고 스텝 자체의 처리 능력이 어떤지에 따라 달라집니다. 차원 올리기 또는 차원 내리기로 해결할 수 없는 경우에는 입력 재사용을 함께 사용할 수 있습니다.

입력 재사용

특정 포트 데이터에 대해 차원 올리기나 차원 내리기를 적용할 수 없거나 적용하기 적절하지 않은 경우, 입력 재사용을 활성화할 수 있습니다. 그러면 스텝이 루프 실행될 때 차원이 더 낮거나 개수가 더 적은 입력 데이터를 반복 사용하여 스텝이 계속 실행될 수 있도록 돕습니다.

이 파라미터는 스텝 파라미터 탭의 실행 플래그 그룹에 있으며, 자세한 설명은 스텝의 일반적인 파라미터에 대해 알아보기를 참고하십시오.

자동 차원 올리기

실제 입력 데이터 차원이 포트 선언 차원보다 작으면, 시스템은 입력이 스텝의 기본 차원 요구 사항을 만족하도록 자동으로 차원을 올리려고 시도합니다.

자동 차원 올리기는 실행 단계에서 시스템이 자동으로 수행하는 처리이며, 수동으로 수행하는 슬라이스 차원 올리기와는 트리거 방식과 처리 로직이 다릅니다.

최상위 차원

일부 스텝의 입력 포트는 고정된 선언 차원이 없으며, 상위 입력 데이터의 차원을 그대로 이어받아 현재 포트의 처리 기준으로 사용할 수 있습니다. 이러한 상황은 최상위 차원 입력으로 이해할 수 있습니다.

프로젝트를 디버깅할 때 특정 포트의 차원 표현이 예상과 다르다면, 먼저 상위 출력 구조와 해당 포트가 이런 입력 방식을 사용하는지 확인하는 것이 좋습니다.

오류 해결

데이터 루프 깊이가 일치하지 않음

문제 현상:

스텝 또는 프로젝트를 실행할 때 여러 입력 포트의 루프 계층이 일치하지 않는다는 메시지가 표시됩니다.

해결 방법:

  • 각 입력 포트의 실제 데이터 구조를 확인하고 상위 출력이 예상에 맞는지 점검합니다.

  • 데이터 연결선에서 슬라이스 차원 올리기 또는 병합 차원 내리기를 시도하여 포트의 루프 깊이를 맞춥니다.

  • 상황에 따라 스텝의 입력 재사용을 활성화하여 입력을 맞춥니다.

포트 데이터 개수가 일치하지 않음

문제 현상:

스텝 또는 프로젝트를 실행할 때 여러 입력 포트의 데이터 개수가 일치하지 않는다는 메시지가 표시됩니다.

해결 방법:

  • 상위 스텝 출력의 데이터 개수와 구성 방식을 확인합니다.

  • 데이터 개수가 더 적은 포트에 대해서는 입력 재사용을 활성화해 봅니다.

  • 필요한 경우 먼저 차원을 조정한 뒤 입력 재사용을 함께 적용합니다.

슬라이스 작업으로 차원을 늘릴 수 없음

문제 현상:

데이터 연결선에서 슬라이스 차원 올리기를 활성화한 뒤에도 스텝 또는 프로젝트 실행 시 차원을 올릴 수 없다는 메시지가 계속 표시됩니다.

가능한 원인:

  • 현재 입력 데이터가 슬라이스 가능한 리스트 구조가 아닙니다.

  • 차원을 올린 뒤 현재 스텝이 처리할 수 있는 데이터 구조 범위를 벗어났습니다.

해결 방법:

  • 슬라이스 차원 올리기를 해제하고 상위 출력 구조를 확인합니다.

  • 입력 재사용을 사용하거나 상위 스텝의 출력 구성 방식을 조정합니다.

병합 작업으로 차원을 줄일 수 없음

문제 현상:

데이터 연결선에서 병합 차원 내리기를 활성화한 뒤에도 스텝 또는 프로젝트 실행 시 차원을 내릴 수 없다는 메시지가 계속 표시됩니다.

가능한 원인:

  • 현재 입력이 이미 0차원 데이터라서 더 이상 차원을 내릴 수 없습니다.

  • 현재 입력 데이터가 병합 가능한 리스트 구조가 아닙니다.

해결 방법:

  • 병합 차원 내리기를 해제하고 상위 출력 구조를 확인합니다.

  • 입력 재사용을 사용하거나 상위 스텝의 출력 구성 방식을 조정합니다.

이 페이지가 도움이 되었습니까?

다음 방법을 통해 피드백을 보내주실 수 있습니다:

저희는 귀하의 개인정보를 소중히 다룹니다.

당사 웹사이트는 최상의 사용자 경험을 제공하기 위해 쿠키를 사용하고 있습니다. "모두 수락"을 클릭하시면 쿠키 사용에 동의하시는 것이며, "모두 거부"를 클릭하시면 이 웹사이트 방문 시 귀하의 정보가 추적되거나 기억되지 않도록 단일 쿠키만 사용됩니다.