For the complete documentation index, see llms.txt. This page is also available as Markdown.

이상치 식별

이전 데이터와 비교하여 이상치 임베딩을 식별합니다.

Von Mises-Fisher 통계 분포 분석을 사용해 이전 데이터와 비교하여 이상치 임베딩을 식별합니다. 현재 임베딩 벡터를 과거 임베딩의 슬라이딩 윈도우와 비교하여 품질 관리, 이상 탐지, 데이터 샘플링 워크플로에서 이상, 비정상 패턴 또는 정상 동작으로부터의 편차를 감지합니다.

이 블록의 작동 방식

이 블록은 방향 통계를 사용하여 임베딩 벡터를 과거 데이터와 통계적으로 비교해 이상치를 탐지합니다. 이 블록은:

  1. 현재 데이터 포인트의 특징을 나타내는 임베딩 벡터를 수신합니다

  2. 임베딩을 단위 길이로 정규화합니다:

    • 방향 분석을 위해 임베딩을 단위 벡터(길이 = 1)로 변환합니다

    • 거리 기반 메트릭이 아니라 각도/방향 통계를 사용한 비교를 가능하게 합니다

    • 정규화를 건너뛰어 0 벡터를 우아하게 처리합니다

  3. 샘플 수와 워밍업 상태를 추적합니다:

    • 처리된 각 임베딩에 대해 샘플 카운터를 증가시킵니다

    • 아직 워밍업 기간인지(샘플 < 워밍업 매개변수) 판단합니다

    • 워밍업 동안에는 기준선 설정을 허용하기 위해 이상값이 식별되지 않습니다

  4. 과거 임베딩의 슬라이딩 윈도우를 유지합니다:

    • 정규화된 임베딩을 window_size까지 증가하는 버퍼에 저장합니다

    • 버퍼가 window_size를 초과하면 가장 오래된 임베딩을 제거합니다(FIFO)

    • 통계적 비교를 위해 최근 데이터의 롤링 히스토리를 만듭니다

  5. 워밍업 완료 시 von Mises-Fisher(vMF) 분포 파라미터를 적합합니다:

    • 평균 방향(mu): 모든 과거 임베딩의 평균 방향을 계산합니다

    • 집중도 파라미터(kappa): 임베딩이 평균 주변에 얼마나 밀집되어 있는지를 측정합니다

    • 임베딩 방향의 분포를 모델링하기 위해 통계적 추정을 사용합니다

    • vMF 분포는 초구 위의 방향성 데이터(단위 벡터)에 이상적입니다

  6. 현재 임베딩의 정렬 점수를 계산합니다:

    • 현재 정규화된 임베딩과 평균 방향 벡터의 내적을 계산합니다

    • 현재 임베딩이 일반적인 방향과 얼마나 잘 정렬되는지 측정합니다

    • 값이 높을수록 기준과 더 가깝게 정렬되어 있음을, 낮을수록 벗어남을 나타냅니다

  7. 현재 임베딩의 경험적 백분위를 계산합니다:

    • 현재 임베딩과 평균 방향에 대한 모든 과거 임베딩의 정렬 점수를 계산합니다

    • 과거 점수들 사이에서 현재 임베딩의 정렬 점수를 순위 매깁니다

    • 현재 임베딩의 백분위 위치를 결정합니다(0.0 = 가장 낮음, 1.0 = 가장 높음)

  8. 백분위 임계값을 기준으로 이상값 상태를 판단합니다:

    • percentile이 threshold_percentile보다 낮으면 이상치로 표시합니다(예: 하위 5%)

    • percentile이 (1 - threshold_percentile)보다 높으면 이상치로 표시합니다(예: 상위 5%)

    • 정상에서 극단적으로 낮은 편차와 극단적으로 높은 편차를 모두 탐지합니다

  9. 세 가지 출력을 반환합니다:

    • is_outlier: 현재 임베딩이 이상치인지 나타내는 불리언 플래그

    • percentile: 과거 데이터에서 해당 임베딩의 순위를 나타내는 0.0-1.0 범위의 실수 값

    • warming_up: 아직 워밍업 기간인지 나타내는 불리언 플래그(워밍업 후에는 항상 False)

이 블록은 초구 위의 방향성 데이터(단위 벡터)를 위해 설계된 von Mises-Fisher 분포 분석을 사용합니다. 따라서 크기보다 방향이 더 중요한 고차원 임베딩에 매우 적합합니다. 슬라이딩 윈도우 접근 방식은 통계 모델이 최근 추세에 적응하도록 보장하며, 백분위 기반 탐지는 과거 패턴과 비정상적으로 다른 임베딩을 식별합니다. 낮은 백분위는 일반적인 패턴과 덜 정렬된 임베딩을 나타내고, 높은 백분위는 비정상적으로 잘 정렬되었거나 긍정적인 방향으로 다른 임베딩을 나타냅니다.

일반적인 사용 사례

  • 이상 탐지: 정상 데이터에서 벗어나는 비정상적인 이미지, 객체 또는 패턴을 탐지합니다(예: 특이한 제품 변형 식별, 비정상 행동 감지, 예상치 못한 패턴 표시). 이상 탐지 워크플로를 활성화합니다

  • 품질 관리: 제조 또는 생산에서 결함이 있거나 비정상적인 항목을 식별합니다(예: 제품 결함 감지, 품질 문제 식별, 제조 이상 표시). 품질 관리 워크플로를 활성화합니다

  • 데이터 샘플링: 수동 검토나 추가 분석을 위해 흥미롭거나 비정상적인 데이터 포인트를 식별합니다(예: 라벨링을 위해 비정상적인 이미지를 샘플링, 모델 개선을 위한 엣지 케이스 식별, 분석용 흥미로운 데이터 선택). 지능형 데이터 샘플링 워크플로를 활성화합니다

  • 변화 감지: 데이터 패턴이 과거의 정상 범위에서 크게 변할 때를 감지합니다(예: 장면 변화 감지, 패턴 변화 식별, 중요한 변동 표시). 변화 감지 워크플로를 활성화합니다

  • 모델 모니터링: 임베딩이 학습 분포에서 벗어날 때를 감지하여 모델 성능을 모니터링합니다(예: 분포 이동 감지, 분포 밖 데이터 식별, 모델 드리프트 모니터링). 모델 모니터링 워크플로를 활성화합니다

  • 콘텐츠 필터링: 예상 패턴과 다른 비정상적이거나 부적절한 콘텐츠를 식별합니다(예: 비정상 콘텐츠 감지, 부적절한 자료 표시, 콘텐츠 이상 식별). 콘텐츠 필터링 워크플로를 활성화합니다

다른 블록에 연결하기

이 블록은 임베딩을 수신하고 is_outlier, percentile, warming_up 출력을 생성합니다:

  • 임베딩 모델 블록 다음에 (CLIP, Perception Encoder 등) 임베딩 이상치를 분석합니다(예: CLIP 임베딩에서 이상치 식별, Perception Encoder 이상치 분석, 임베딩에서 이상 탐지). 임베딩-이상치 워크플로를 활성화합니다

  • 분류 또는 감지 블록 다음에 임베딩과 함께 비정상적인 예측을 식별합니다(예: 비정상적인 탐지 식별, 이상 분류 표시, 이상 예측 탐지). 예측-이상치 워크플로를 활성화합니다

  • 로직 블록 이전 Continue If와 같은 것을 사용하여 이상치 탐지를 기반으로 결정을 내립니다(예: 이상치가 감지되면 계속, 이상 상태를 기준으로 필터링, 이상에 대해 작업 트리거). 이상치 기반 의사결정 워크플로를 활성화합니다

  • 알림 블록 앞에서 이상치 탐지를 알리기 위해 사용합니다(예: 이상에 대한 알림, 비정상 데이터 알림, 이상치에 대한 경고). 이상치 기반 알림 워크플로를 활성화합니다

  • 데이터 저장 블록 앞에서 이상치 정보를 기록하기 위해 사용합니다(예: 이상치 데이터 기록, 이상 통계 저장, 비정상 데이터 포인트 기록). 이상치 데이터 로깅 워크플로를 활성화합니다

  • 품질 관리 파이프라인에서 이상치 탐지가 품질 보증의 일부인 경우(예: 품질 파이프라인에서 이상치 필터링, 생산 워크플로의 문제 식별, 처리 체인에서 문제 탐지). 품질 관리 워크플로를 활성화합니다

요구 사항

이 블록은 입력으로 임베딩이 필요합니다(일반적으로 CLIP나 Perception Encoder 같은 임베딩 모델 블록에서 가져옴). 이 블록은 워크플로 실행 전반에 걸쳐 내부 상태를 유지하며, 과거 임베딩의 슬라이딩 윈도우를 누적합니다. 워밍업 기간(처음 워밍업 샘플 동안)에는 이상치가 식별되지 않으며, 블록은 is_outlier=False 및 percentile=0.5를 반환합니다. 워밍업 후에는 블록이 최소 워밍업 개의 임베딩을 사용하여(최대 window_size 개의 임베딩까지) 통계적 기준선을 설정합니다. threshold_percentile 매개변수(0.0-1.0)는 민감도를 제어합니다. 값이 낮을수록(예: 0.01) 극단적인 이상치만 탐지하는 매우 엄격한 설정이고, 값이 높을수록(예: 0.1) 더 완만한 편차를 탐지하는 더 민감한 설정입니다. 이 블록은 일관된 임베딩 모델과 가장 잘 작동하며, 데이터에서 예상되는 변동성에 따라 threshold_percentile 조정이 필요할 수 있습니다.

유형 식별자

단계에서 다음 식별자를 사용하세요 "type" 필드: roboflow_core/identify_outliers@v1 워크플로우에 이 블록을 단계로 추가하려면.

속성

이름

유형

설명

참조

name

str

워크플로우에서 단계의 고유 이름.

threshold_percentile

float

이상치 탐지를 위한 백분위 임계값, 범위 0.0-1.0. 이 백분위보다 낮거나 (1 - threshold_percentile)보다 높은 임베딩은 이상치로 표시됩니다. 낮은 값(예: 0.01)은 극단적인 이상치만 탐지하며 매우 엄격합니다. 높은 값(예: 0.1)은 더 완만한 편차를 탐지하며 더 민감합니다. 기본값 0.05는 하위 5%와 상위 5%를 이상치로 간주합니다. 데이터에서 예상되는 변동성에 따라 조정하세요..

워밍업

정수

이상치 탐지가 시작되기 전에 필요한 초기 데이터 포인트 수입니다. 워밍업 동안에는 기준선 설정을 위해 이상치가 식별되지 않으며(is_outlier=False), 통계 분석을 위해 최소 2개 이상이어야 합니다. 일반적인 범위: 3-100개 샘플. 값이 클수록 기준선은 더 안정적이지만 이상치 탐지가 지연됩니다. 값이 작을수록 더 빠르게 탐지되지만 초기 정확도는 낮을 수 있습니다..

window_size

정수

슬라이딩 윈도우에서 유지할 과거 임베딩의 최대 개수입니다. 이 블록은 통계적 비교를 위해 가장 최근의 window_size개 임베딩을 유지합니다. 초과하면 가장 오래된 임베딩이 제거됩니다(FIFO). 더 큰 윈도우는 더 안정적인 통계를 제공하지만 분포 변화에 더 느리게 적응합니다. 더 작은 윈도우는 더 빠르게 적응하지만 덜 안정적일 수 있습니다. 무제한 윈도우(모든 과거 데이터 사용)를 원하면 None으로 설정하세요. 일반적인 범위: 10-100개 임베딩..

참조 열은 워크플로우 런타임에서 사용 가능한 동적 값으로 속성을 매개변수화할 수 있는 가능성을 나타냅니다 워크플로우 런타임입니다. 자세한 내용은 바인딩 을 참조하세요.

런타임 호환성

소프트 - 런타임 호스팅 서버리스, 전용 배포; 실행 원격; 입력 비디오 : 이 블록은 프로세스 메모리에서 비디오별 상태를 유지합니다(video_metadata.video_identifier로 키 지정). 상태 비저장 또는 다중 복제 HTTP 런타임에서 원격 단계 실행을 사용하면 연속 요청이 서로 다른 작업자 프로세스에서 처리될 수 있으므로, 상태가 호출 사이에 초기화되어 추적 / 카운팅 / 집계를 위한 출력은 의미가 없어집니다. 안정적인 프레임 간 결과를 위해 지속적인 WebRTC 세션에서 로컬 단계 실행을 사용하세요.

소프트 - 입력 이미지 : 이 블록은 비디오나 반복 프레임 워크플로의 시간적 문맥에 의존합니다. 정지 이미지/사진에는 추적, 비교, 집계 또는 시각화할 의미 있는 히스토리가 없으므로 이 블록은 거의 또는 전혀 이점을 제공하지 않습니다.

입력 및 출력 바인딩

사용 가능한 연결은 바인딩 유형에 따라 달라집니다. 어떤 바인딩 유형인지 확인하세요 이상치 식별 버전 v1 을 가지고 있는지.

입력 및 출력 바인딩
  • 입력

    • embedding (embedding): 현재 데이터 포인트의 특징을 나타내는 임베딩 벡터입니다. 일반적으로 CLIP이나 Perception Encoder 같은 임베딩 모델에서 가져옵니다. 이 임베딩은 von Mises-Fisher 분포를 사용하는 방향 통계 분석을 위해 단위 길이로 정규화됩니다. 어떤 차원이든 가능한 수치 벡터여야 합니다..

    • threshold_percentile (0에서 1 사이의 실수): 이상치 탐지를 위한 백분위 임계값, 범위 0.0-1.0. 이 백분위보다 낮거나 (1 - threshold_percentile)보다 높은 임베딩은 이상치로 표시됩니다. 낮은 값(예: 0.01)은 극단적인 이상치만 탐지하며 매우 엄격합니다. 높은 값(예: 0.1)은 더 완만한 편차를 탐지하며 더 민감합니다. 기본값 0.05는 하위 5%와 상위 5%를 이상치로 간주합니다. 데이터에서 예상되는 변동성에 따라 조정하세요..

    • 워밍업 (정수): 이상치 탐지가 시작되기 전에 필요한 초기 데이터 포인트 수입니다. 워밍업 동안에는 기준선 설정을 위해 이상치가 식별되지 않으며(is_outlier=False), 통계 분석을 위해 최소 2개 이상이어야 합니다. 일반적인 범위: 3-100개 샘플. 값이 클수록 기준선은 더 안정적이지만 이상치 탐지가 지연됩니다. 값이 작을수록 더 빠르게 탐지되지만 초기 정확도는 낮을 수 있습니다..

    • window_size (정수): 슬라이딩 윈도우에서 유지할 과거 임베딩의 최대 개수입니다. 이 블록은 통계적 비교를 위해 가장 최근의 window_size개 임베딩을 유지합니다. 초과하면 가장 오래된 임베딩이 제거됩니다(FIFO). 더 큰 윈도우는 더 안정적인 통계를 제공하지만 분포 변화에 더 느리게 적응합니다. 더 작은 윈도우는 더 빠르게 적응하지만 덜 안정적일 수 있습니다. 무제한 윈도우(모든 과거 데이터 사용)를 원하면 None으로 설정하세요. 일반적인 범위: 10-100개 임베딩..

  • 출력

예시 JSON 정의

마지막 업데이트

도움이 되었나요?