KR20230128332A - 이미지 또는 비디오에서의 객체 식별 - Google Patents

이미지 또는 비디오에서의 객체 식별 Download PDF

Info

Publication number
KR20230128332A
KR20230128332A KR1020237026100A KR20237026100A KR20230128332A KR 20230128332 A KR20230128332 A KR 20230128332A KR 1020237026100 A KR1020237026100 A KR 1020237026100A KR 20237026100 A KR20237026100 A KR 20237026100A KR 20230128332 A KR20230128332 A KR 20230128332A
Authority
KR
South Korea
Prior art keywords
raw data
group
post
map
fragments
Prior art date
Application number
KR1020237026100A
Other languages
English (en)
Inventor
루이스 하버
메이반 바하레 바판데
콜린 조셉 브라운
제프리 레이니
Original Assignee
힌지 헬스 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 힌지 헬스 인크. filed Critical 힌지 헬스 인크.
Publication of KR20230128332A publication Critical patent/KR20230128332A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/273Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion removing elements interfering with the pattern to be recognised
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/23Recognition of whole body movements, e.g. for sport training
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • G06T2207/20044Skeletonization; Medial axis transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H20/00ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance
    • G16H20/30ICT specially adapted for therapies or health-improving plans, e.g. for handling prescriptions, for steering therapy or for monitoring patient compliance relating to physical therapies or activities, e.g. physiotherapy, acupressure or exercising

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Image Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Measuring And Recording Apparatus For Diagnosis (AREA)

Abstract

장치가 제공된다. 장치는 외부 소스로부터 원시 데이터를 수신하기 위한 통신 인터페이스를 포함한다. 원시 데이터는 제1 객체 및 제2 객체의 표현을 포함한다. 장치는 원시 데이터를 저장하기 위한 메모리 저장 유닛을 더 포함한다. 또한, 장치는 원시 데이터를 수신하기 위한 뉴럴 네트워크 엔진을 포함한다. 뉴럴 네트워크 엔진은 세그먼테이션 맵 및 경계 맵을 생성하기 위한 것이다. 장치는 또한 세그먼테이션 맵 및 경계 맵에 기초하여 제1 객체 및 제2 객체를 식별하기 위한 후처리 엔진을 포함한다.

Description

이미지 또는 비디오에서의 객체 식별
이미지에서의 객체 식별은 여러 목적으로 사용될 수 있다. 예를 들어, 객체는 다른 다운스트림 애플리케이션에서 사용하기 위한 이미지에서 식별될 수 있다. 특히, 객체의 식별은 스포츠 필드 상의 플레이어와 같은 객체를 추적하여, 플레이어 모션을 따라가고 후속 재생 또는 분석을 위해 모션을 캡처하기 위해 사용될 수 있다.
이미지 및 비디오 내의 객체의 식별은 에지 기반 세그먼테이션(segmentation) 검출 및 다른 컴퓨터 비전 방법과 같은 방법으로 수행될 수 있다. 이러한 방법은 3차원 재구성, 객체 중심 장면 이해, 감시, 및 동작 인식에서의 적용을 위해 이미지에서 객체, 특히 사람을 분리하기 위해 사용될 수 있다.
이제 단지 예로서 다음과 같은 첨부 도면을 참조할 것이다:
도 1은 단편 클러스터링 및 재발견에 기초하여 객체 인스턴스 세그먼테이션을 생성하기 위한 예시적인 장치의 컴포넌트의 개략도이다.
도 2는 도 1의 장치에서 수신된 이미지를 나타내는 원시 데이터의 예시이다.
도 3은 도 2의 이미지 내의 객체의 세그먼테이션 맵이다.
도 4는 도 2의 이미지에서의 객체의 경계 맵이다.
도 5는 식별된 단편을 처리하는 방법의 예의 흐름도이다.
도 6은 관심 영역을 보여주는 도 2의 이미지 내의 객체의 경계 맵이다.
도 7은 세그먼테이션된 객체를 보여주는 관심 영역의 맵이다.
도 8은 단편 클러스터링 및 재발견에 기초하여 객체 인스턴스 세그먼테이션을 생성하기 위한 또다른 예시적인 장치의 컴포넌트의 개략도이다.
도 9는 단편 클러스터링 및 재발견에 기초하여 객체 인스턴스 세그먼테이션을 생성하는 방법의 예시의 개략도이다.
본원에서 사용되는 바와 같이, 절대 배향을 제안하는 용어의 임의의 용도(예를 들어, “상단”, “하단”, “상부”, “하부”, “좌측”, “우측”, “낮은”, “높은” 등)는 예시적인 편의를 위한 것일 수 있고, 특정 도면에 도시된 배향을 참조한다. 그러나, 이러한 용어는, 다양한 컴포넌트가 실제로 설명되거나 도시된 것과 동일하거나 또는 상이한 배향으로 활용될 것이라는 것이 고려되기 때문에, 제한적인 의미로 해석되어서는 안된다.
이미지에서의 객체 식별은 여러 목적으로 사용될 수 있다. 예를 들어, 객체는 다른 다운스트림 애플리케이션에서 사용하기 위한 이미지에서 식별될 수 있다. 특히, 객체의 식별은 스포츠 필드 상의 플레이어와 같은 객체를 추적하여, 플레이어의 모션을 따라가고 후속 재생 또는 분석을 위해 모션을 캡처하기 위해 사용될 수 있다.
에지 기반 세그먼테이션 검출 및 다른 컴퓨터 비전 방법이 이미지 내의 객체를 식별하기 위해 사용될 수 있다. 그러나, 이러한 방법은 일반적으로, 이러한 방법이 단편화된 부분으로부터 의미있는 객체 및 인스턴스를 생성하는 것을 어렵게 하기 때문에, 단편화된 부분이 가시적일 때 객체를 잘 식별하지 못한다. 따라서, 실제 환경에서 분리된 전경 배경(figure-ground) 인간 인스턴스 세그먼트의 검출은 복합 폐색 패턴, 다양한 신체 비율 및 의복으로 인해 어려울 수 있다.
이미지에서의 타겟 객체를 식별하기 위해 다수의 객체를 갖는 복합 이미지에서의 세그먼테이션을 예측하는 장치 및 방법이 제공된다. 장치는 경계 맵을 예측하기 위해 뉴럴 네트워크를 사용하고, 그 후 후처리 엔진은 인코딩된 맵을 결합하여 인스턴스 세그먼테이션을 제공한다. 장치 및 방법은 두꺼운 폐색 영역을 갖는 복합 이미지에서 정확한 객체 인스턴스 세그먼테이션 프레임워크를 제공할 수 있다. 예를 들어, 장치는 입력 이미지 상에 경계 맵을 적용한 후에 인간(손, 다리, 몸통, 머리를 포함하지만 이에 제한되지는 않음)과 같은 객체의 모든 관련 부분들을 자동으로 클러스터링할 수 있다. 또한, 장치 및 방법은 검출의 수 및 품질 둘 다에 관점에서 복합 장면에서 개선된 객체 인스턴스 세그먼테이션을 제공하기 위해 입력 이미지의 특성에 기초하여 동적으로 적응할 수 있다.
본 설명에서, 아래에 논의되는 모델 및 기술은 일반적으로 사람에게 적용된다. 아래에 설명되는 예시가 동물 및 기계와 같은 다른 객체들에 적용될 수 있다는 것이, 본 설명의 이익을 갖는 숙련자에 의해 인지되어야 한다.
도 1을 참조하면, 단편 클러스터링 및 재발견에 기초하여 복합 이미지에서 객체 인스턴스 세그먼테이션을 생성하기 위한 장치의 개략적인 표현이 일반적으로 50에서 도시된다. 장치(50)는 장치(50)의 사용자와 상호작용하기 위한 표시기와 같은 다양한 추가 인터페이스 및/또는 입력/출력 디바이스와 같은 추가 컴포넌트를 포함할 수 있다. 상호작용은 장치(50) 또는 장치(50)가 동작하는 시스템의 동작 상태를 보는 것, 장치(50)의 파라미터를 업데이트하는 것, 또는 장치(50)를 재설정하는 것을 포함할 수 있다. 본 예에서, 장치(50)는 표준 RGB 이미지와 같은 원시 데이터를 수신하고, 사람과 같은 객체를 식별하는 출력을 생성하기 위해 원시 데이터를 처리하기 위한 것이다. 출력은 특별히 제한되지 않으며 세그먼테이션 맵 또는 골격을 포함할 수 있다. 본 예에서, 장치(50)는 통신 인터페이스(55), 메모리 저장 유닛(60), 뉴럴 네트워크 엔진(65), 및 후처리 엔진(70)을 포함한다.
통신 인터페이스(55)는 외부 소스와 통신하여 복합 이미지 내의 객체를 나타내는 원시 데이터를 수신하기 위한 것이다. 통신 인터페이스(55)에 의해 수신된 원시 데이터는 일부 경우에 복합 이미지를 나타내지 않을 수 있지만, 장치(50)는 일반적으로 이미지 내의 객체의 폐색으로 인해 일반적으로 다루기 어려운 복합 이미지를 처리하도록 구성된다는 것을 인지해야 한다. 폐색물(occlusion)은 제한되지 않으며, 일부 경우에서, 이미지는 객체가 서로 폐색되도록 많은 객체를 포함할 수 있다. 다른 예에서, 객체는 세그먼테이션되거나 식별되지 않는 다른 피처를 야기하는 폐색물을 포함할 수 있다.
본 예에서, 원시 데이터는 객체의 2차원 이미지일 수 있다. 객체가 표현되는 방식 및 2차원 이미지의 정확한 포맷은 특별히 제한되지 않는다. 본 예에서, 2차원 이미지는 RGB 포맷으로 수신될 수 있다. 본 설명의 이점을 갖는 당업자에 의해, 2차원 이미지는 카메라에 의해 캡처되고 처리되는 압축된 이미지 파일 또는 래스터 그래픽 파일과 같은 상이한 포맷이라는 것이 인지되어야 한다.
통신 인터페이스(55)가 원시 데이터를 수신하는 방식은 제한되지 않는다. 본 예에서, 통신 인터페이스(55)는 네트워크를 통해 외부 소스와 통신하며, 이는 WiFi 네트워크 또는 셀룰러 네트워크와 같은 다수의 연결된 디바이스와 공유되는 공용 네트워크일 수 있다. 다른 예에서, 통신 인터페이스(55)는 인트라넷 또는 다른 디바이스와의 유선 연결과 같은 사설 네트워크를 통해 외부 소스로부터 데이터를 수신할 수 있다. 또한, 통신 인터페이스(55)가 원시 데이터를 수신하는 외부 소스는 임의의 유형의 소스로 제한되지 않는다. 예를 들어, 통신 인터페이스(55)는 블루투스 연결, 무선 신호, 또는 적외선 신호를 통해 원시 데이터를 캡처하는 다른 근접한 휴대용 전자 디바이스에 연결될 수 있다. 다른 예로서, 통신 인터페이스(55)는 카메라 시스템 또는 클라우드와 같은 외부 데이터 소스로부터 원시 데이터를 수신하기 위한 것이다. 통신 인터페이스(55)를 통해 수신된 원시 데이터는 일반적으로 메모리 저장 유닛(60) 상에 저장되어야 한다.
또다른 예에서, 장치(50)는 원시 데이터를 캡처하기 위한 카메라 시스템(도시되지 않음)을 포함하는 스마트폰과 같은 휴대용 전자 디바이스의 일부일 수 있다. 따라서, 이 예에서, 통신 인터페이스(55)는 휴대용 전자 디바이스의 장치(50) 부분을 카메라 시스템과 연결하기 위한 휴대용 전자 디바이스 내의 전기적 연결을 포함할 수 있다. 전기 연결부는 휴대용 전자 디바이스 내의 다양한 내부 버스를 포함할 수 있다.
또한, 통신 인터페이스(55)는 결과들, 원본 이미지에서 객체를 세그먼테이션하기 위해 생성될 수 있는 그러한 세그먼테이션 맵 및/또는 복수의 골격을 송신하는데 사용될 수 있다. 예를 들어, 통신 인터페이스(55)는 장치(50)의 일부일 수 있거나 별도의 디바이스 상에 있을 수 있는 애니메이션 엔진(도시되지 않음)과 통신할 수 있다. 따라서, 장치(50)는 세그먼테이션될 복합 폐색물을 갖는 다중 객체를 나타내는 외부 소스로부터 원시 데이터를 수신하도록 동작할 수 있다.
메모리 저장 유닛(60)은 통신 인터페이스(55)를 통해 수신된 원시 데이터를 저장하기 위한 것이다. 특히, 메모리 저장 유닛(60)은 세그먼테이션 및/또는 추적될 복합 폐색물을 갖는 객체를 나타내는 2차원 이미지를 포함하는 원시 데이터를 저장할 수 있다. 본 예에서, 메모리 저장 유닛(60)은 비디오의 프레임으로서 상이한 객체를 나타내는 다수의 2차원 이미지를 저장할 수 있다. 따라서, 원시 데이터는 이미지 내의 다양한 객체의 움직임을 나타내는 비디오 데이터일 수 있다. 특정 예로서, 객체는 상이한 사이즈를 갖는 사람의 이미지일 수 있고, 상이한 관절을 보여주는 상이한 포즈에 있는 사람을 포함할 수 있고, 신체의 일부 부분은 신체의 다른 관절 및 부분을 폐쇄한다. 예를 들어, 이미지는 다수의 플레이어가 일반적인 게임 플레이에서 주위를 이동하며 캡처되는 스포츠 장면일 수 있다. 그러한 장면에서, 각각의 플레이어가 또다른 플레이어를 폐색할 수 있다는 것이 당업자에 의해 인지되어야 한다. 또한, 게임 피스 또는 아레나 픽스처(arena fixture)와 같은 다른 객체가 플레이어를 더 폐색할 수 있다. 본 예시는 하나 이상의 인간의 2차원 이미지에 관한 것이지만, 본 설명의 이점으로 예시는 또한 동물 또는 기계와 같은 상이한 유형의 객체를 나타내는 이미지를 포함할 수 있다는 것을 인지해야 한다. 예를 들어, 이미지는 다수의 동물이 다수의 차량이 트랙 주위를 주행하는 레이스트랙 주위에서 이동하는 초원 장면의 이미지 캡처를 나타낼 수 있다.
메모리 저장 유닛(60)은 또한 장치(50)에 의해 사용될 추가 데이터를 저장하기 위해 사용될 수 있다. 예를 들어, 메모리 저장 유닛(60)은 뉴럴 네트워크 엔진에 의해 사용될 템플릿 및 모델 데이터와 같은 다양한 참조 데이터 소스를 저장할 수 있다. 메모리 저장 유닛(60)은 다수의 데이터베이스를 유지하기 위해 사용되는 물리적 컴퓨터 판독가능 매체일 수 있거나, 또는 중앙 서버 또는 클라우드 서버와 같은 하나 이상의 외부 서버에 걸쳐 분산될 수 있는 다수의 매체를 포함할 수 있다는 것을 인지해야 한다.
본 예에서, 메모리 저장 유닛(60)은 특히 제한되지 않으며, 임의의 전자, 자기, 광학, 또는 다른 물리적 저장 디바이스일 수 있는 비일시적 기계 판독가능 저장 매체를 포함한다. 상기 언급된 바와 같이, 메모리 저장 유닛(60)은 통신 인터페이스(55)를 통해 외부 소스로부터 수신된 데이터, 템플릿 데이터, 트레이닝 데이터, 뉴럴 네트워크 엔진(65)으로부터의 결과, 및/또는 후처리 엔진(70)으로부터의 결과와 같은 정보를 저장하기 위해 사용될 수 있다. 또한, 메모리 저장 유닛(60)은 장치(50)의 일반적인 작동을 위한 명령어들을 저장하기 위해 사용될 수 있다. 메모리 저장 유닛(60)은 또한, 다양한 애플리케이션을 지원하기 위한 기능과 같은 일반적인 기능을 장치(50)에 제공하기 위해 프로세서에 의해 실행가능한 오퍼레이팅 시스템을 저장할 수 있다. 메모리 저장 유닛(60)은 뉴럴 네트워크 엔진(65) 및 후처리 엔진(70)을 동작시키기 위한 명령어들을 추가적으로 저장할 수 있다. 또한, 메모리 저장 유닛(60)은 또한, 카메라 및 사용자 인터페이스와 같은 장치(50)와 함께 설치될 수 있는 임의의 주변 디바이스 및 다른 컴포넌트를 동작시키기 위한 제어 명령어들을 저장할 수 있다.
메모리 저장 유닛(60)은 장치(50)의 컴포넌트를 동작시키기 위한 데이터 또는 명령어들이 미리 로딩될 수 있다. 다른 예시에서, 명령어들은 통신 인터페이스(55)를 통해 또는 메모리 플래시 드라이브와 같은 장치(50)에 연결된 휴대용 메모리 저장 디바이스로부터 명령어들을 직접 전달함으로써 로딩될 수 있다. 다른 예에서, 메모리 저장 유닛(60)은 외부 하드 드라이브와 같은 외부 유닛, 또는 콘텐츠를 제공하는 클라우드 서비스일 수 있다.
뉴럴 네트워크 엔진(65)은 메모리 저장 유닛(60)에 저장된 원시 데이터를 수신 또는 검색한다. 본 예에서, 뉴럴 네트워크 엔진(65)은 이미지(도 2)를 나타내는 원시 데이터를 사용하여 출력 데이터를 생성하며, 출력 데이터는 세그먼테이션 맵, 경계 맵, 뼈 히트맵(bone heatmap), 및 관절 히트맵을 포함할 수 있다. 뉴럴 네트워크 엔진(65)은 다수의 관절 히트맵, 예들 들어 각각의 관절 유형에 대해 하나의 공동 히트맵을 생성할 수 있다는 것을 인지해야 한다. 마찬가지로, 뉴럴 네트워크 엔진(65)은 다수의 뼈 히트맵을 생성할 수 있으며, 여기서, 각각의 맵은 뼈 유형 연결 관절을 나타낸다. 본 설명의 이점을 갖는 당업자에 의해, “관절” 및 “뼈”라는 용어는 사람 상의 기준 포인트의 근사치를 나타내기 위해 모션 범위로 모델링될 수 있는 사람 내의 다양한 기준 포인트를 지칭한다는 것을 인지해야 한다. 예를 들어, 관절은 눈과 같은 생리학적 관절이 아닌 사람 상의 기준 포인트를 지칭할 수 있다. 다른 예에서, 관절은 손목 또는 발목과 같은 다수의 생리학적 뼈 관절을 갖는 기준 포인트를 지칭할 수 있다. 마찬가지로, 뼈는 여기서 설명된 바와 같이 관절 사이의 연결을 지칭할 수 있다.
도 2에 도시된 이미지는 식별될 객체가 레이스에 참여하는 사람들인 레이스로부터의 장면을 나타낸다. 본 설명의 이점을 갖는 당업자에 의해, 장면은 사람의 다양한 부분이 다른 사람의 부분을 폐색함에 따라 복합된다는 것을 인지해야 한다.
뉴럴 네트워크 엔진(65)이 세그먼테이션 맵 및 경계 맵을 생성하기 위해 원시 데이터를 처리하는 방식은 특별히 제한되지 않는다. 본 예에서, 원시 데이터는 복수의 객체의 이미지를 포함할 수 있다. 뉴럴 네트워크 엔진(65)의 동작을 예시하기 위해, 원시 데이터는 도 2에 도시된 이미지를 제공하도록 렌더링될 수 있다. 도 2는 컬러일 수 있음을 인지해야 한다. 이 특정 예시에서, 원시 데이터의 복수의 객체는 레이스에 있는 참가자의 사진을 나타낸다. 원시 데이터는 RGB 이미지이며, RGB 이미지는 적색 색상, 녹색 색상, 및 청색 색상의 강도에 대한 3개의 중첩된 맵으로 표현될 수 있다. 다른 예시에서, 원시 데이터는 RGB 이미지 포맷이 아닐 수 있다는 것을 인지해야 한다. 예를 들어, 원시 데이터는, 뉴럴 네트워크 엔진(65)에 의해 수신되기 전에 RGB 포맷으로 변환되도록 캡처되고 선처리된 래스터 그래픽 파일 또는 압축 이미지 파일과 같은 포맷일 수 있다. 대안적으로, 뉴럴 네트워크 엔진(65)은 추가적인 유형의 이미지 포맷들을 수신하고 처리하도록 구성될 수 있다.
도 3을 참조하면, 뉴럴 네트워크 엔진에 의해 생성된 도 2의 이미지의 세그먼테이션 맵의 예가 도시된다. 세그먼테이션 맵은 픽셀이 객체의 일부인지 여부를 표시하기 위해 각각의 픽셀에 대한 이진 값을 갖는 2차원 맵이다. 본 예에서, 원시 데이터 내의 객체는 레이스에 참여하고 있는 인간이다. 뉴럴 네트워크 엔진(65)이 세그먼테이션 맵을 생성하는 방식은 특별히 제한되지 않으며, wrnchAI 엔진과 같은 컴퓨터 비전 기반 휴먼 포즈 및 세그먼테이션 시스템을 적용하는 것을 포함할 수 있다. 다른 예시에서, OpenPose, Mask-R CNN, 또는 다른 깊이 센서, 스테레오 카메라, 또는 Microsoft Kinect 또는 Intel RealSense와 같은 LIDAR 기반 휴먼 세그먼테이션 시스템과 같은 다른 유형의 컴퓨터 비전 기반 휴먼 세그먼테이션 시스템이 사용될 수 있다. 또한, 세그먼테이션 맵은 CVAT와 같은 적절한 소프트웨어를 이용하여 수작업으로 또는 도Adobe Photoshop 또는 GIMP와 같은 세그먼테이션 보조 툴을 이용하여 반자동화된 방식으로 주석화될 수 있다.
도 2에 도시된 원시 데이터가 뉴럴 네트워크 엔진에 의해 처리되는 이 본 예시에서, 뉴럴 네트워크 엔진(65)은 레이스 참가자의 녹색 스크린 투영을 보여주는 세그먼테이션 맵을 생성한다. 이 설명의 이점을 갖는 당업자에 의해, 녹색 스크린 투영은 장면 내의 참가자와 같은 2개 이상의 폐색 객체 사이를 구별할 수 없다는 것을 인지해야 한다. 대신, 세그먼테이션 맵은 객체의 존재를 나타내며, 이 특정 예시에서 레이스 내의 인간 참가자인 객체의 부재를 나타내거나, 또는 각각의 픽셀에 대한 객체의 부재를 나타낸다. 객체의 존재는 0 또는 1의 이진 값으로 표현된다. 뉴럴 네트워크 엔진(65)은 세그먼테이션 맵에서의 픽셀에 대한 값이 1인지 0인지를 결정하기 위해 미리 결정된 임계 확률 값을 사용할 수 있다.
또한, 세그먼테이션 맵 및 관절 히트맵은 원시 데이터 내의 객체의 폐색된 부분을 어드레싱하기 위한 통계치를 제공할 수 있다. 도 3에 도시된 바와 같이, 사람의 다양한 신체 부분은 다른 신체 부분과 오버랩되거나 그들을 폐색할 수 있다. 중첩 영역은 경계 맵의 생성을 보조하기 위해 중첩을 특성화하기 위한 정보를 제공할 수 있다. 특히, 중첩된 부분은 이미지 내에서 어느 사람이 다른 사람과 중첩되는지를 결정하기 위해 사용될 수 있는 통계치를 제공할 수 있다. 예를 들어, 통계치는 중첩 영역에 존재하는 관절의 수 및 종류와 같은 정보를 포함할 수 있다. 특히, 상체의 가시적인 관절은, 안면 관절만이 가시적인 다른 사람에 비해, 그 사람이 다른 사람에 비해 전방에 있다는 것을 나타낼 수 있다. 원시 데이터로부터의 통계치의 추출은 특별히 제한되지 않는다. 본 예에서, 뉴럴 네트워크 엔진(65)은 세그먼테이션 맵에서 식별되는 바와 같이 사람이 존재하는 영역과 같은 다수의 객체들이 존재하는 영역과 같은 관심 영역을 식별할 수 있다. 관심 영역을 식별함으로써, 원시 데이터로부터 통계치를 획득하기 위해 사용되는 계산 리소스가 감소될 수 있다.
본 설명의 이점을 갖는 당업자에 의해, 다수의 관심 영역이 뉴럴 네트워크 엔진(65)에 의해 식별될 수 있다는 것을 인지해야 한다. 관심 영역은 단일 객체 영역 또는 다중 객체 영역으로 분류될 수 있다. 단일 객체로 분류되는 영역의 경우, 관심 영역에서 객체가 완전히 식별되기 때문에 추가적인 처리가 수행되지 않는다. 다중 객체로 분류되는 영역의 경우, 다중 객체 영역 내의 인스턴스 세그먼테이션을 분리하기 위해 추가적인 처리가 수행될 수 있다. 본 예에서, 뉴럴 네트워크 엔진(65)이 사람에 대한 관심 영역을 분류하는 방식은 세그먼테이션 맵에 적용되는 바와 같은 관절 히트맵으로부터의 정보를 사용하는 것을 수반한다. 객체가 사람이 아닐 수 있는 다른 예시에서, 뉴럴 네트워크 엔진(65)은 적절한 대체 히트맵을 사용할 수 있다.
도 4를 참조하면, 도 2의 이미지의 경계 맵의 예가 도시된다. 경계 맵은 원시 데이터 내의 객체를 분할하기 위해 뉴럴 네트워크 엔진(65)에 의해 생성된 2차원 맵이다. 이 특정 예에서, 경계 맵은 레이스 내의 상이한 사람들을 분할한다. 경계 맵이 생성되는 방식은 특별히 제한되지 않는다. 본 예에서, 후처리 엔진(70)은 뉴럴 네트워크(65)에 의해 생성된 경계 맵을 정제하기 위해 적절한 파라미터를 자동으로 선택하기 위해 세그먼테이션 맵을 사용할 수 있다. 예를 들어, 세그먼테이션 맵은 원시 데이터가 정제된 경계 맵에서 검출되지 않을 수 있는 더 크거나 더 작은 객체와 같은 상이한 크기의 객체의 이미지를 포함하는 것을 제안할 수 있다. 객체가 2차원 원시 데이터의 배경 및 전경에 있다는 것을 알고, 경계 맵을 정제하기 위해 후처리 엔진(70)에 의해 사용되는 파라미터는 더 크고 더 작은 객체가 배제되지 않도록 선택될 수 있다.
뉴럴 네트워크 엔진(65)에 의해 생성된 경계 맵은 경계가 될 가능성과 연관된 각각의 픽셀에 대한 확률 맵을 포함할 수 있다. 따라서, 뉴럴 네트워크 엔진(65)에 의해 생성된 경계 맵은 명확하지 않을 수 있고/있거나, 뉴럴 네트워크 엔진(65)이 명확한 경계를 결정할 수 없는 원시 데이터의 일부에 대해 날카로운 객체 경계를 제공하지 않을 수 있다. 본 예에서, 뉴럴 네트워크 엔진(65)은 또한 도 4에 도시된 바와 같이 이진 경계 맵을 생성할 수 있으며, 여기서 각각의 픽셀에는 0 또는 1의 이진 값이 할당된다. 이진 경계 맵의 생성은, 픽셀에 대한 임계치 위의 값을 갖는 각각의 픽셀에 1의 값이 할당되도록 하고, 픽셀에 대한 임계치 아래의 값을 갖는 각각의 픽셀에는 0의 값이 할당되도록 픽셀에 미리 결정된 임계치를 적용함으로써 수행될 수 있다. 경계 맵은 또한 커널 크기를 조정함으로써 후처리 엔진(70)에 의해 더욱 정제될 수 있다. 따라서, 후처리 엔진(70)은 얇은 정의된 라인들을 갖는 폐쇄된 경계를 생성하기 위해 임계 값 및 커널 크기를 조정할 수 있다.
후처리 엔진(70)은 뉴럴 네트워크 엔진(65)에 의해 생성된 세그먼테이션 맵, 경계 맵, 관절 히트맵(들), 및 뼈 히트맵(들)에 기초하여 원시 데이터 내의 객체들을 식별하는 것이다. 특히, 후처리 엔진(70)은 식별 데이터를 생성하기 위해 원시 데이터에 의해 표현된 이미지에서 상이한 인간들과 같은 상이한 객체들의 인스턴스를 분리시키기 위한 것이다. 후처리 엔진(70)에 의해 생성된 식별 데이터는 제한되지 않으며, 고유 식별자를 갖는 복수의 골격을 포함할 수 있다.
본 예에서, 후처리 엔진(70)은 원시 데이터 내의 객체의 단편을 식별한다. 원시 데이터 내의 단편은 특정 부분을 잘라낼 수 있는 객체들 사이의 폐색물로부터 발생한다. 객체가 도 2에 도시된 바와 같이 레이스에 참여하는 인간인 상기 예에서, 폐색물은 신체 부분이 다른 다리의 전방의 다리와 같은 또다른 부분을 커버할 때 발생한다. 이 예에서, 배경에서의 다리는 전경 내의 다리의 양측 상의 단편으로 분리될 수 있다. 그 후, 객체가 인간인 경우에, 몸통, 상측 다리, 발, 손, 팔 등과 같은 각각의 단편이 식별될 수 있다.
본 설명의 이점을 갖는 당업자에 의해, 객체의 모든 단편이 후처리 엔진(70)에 의해 식별될 수 있는 것은 아니라는 것을 인지해야 한다. 객체로서 인간의 본 예시를 계속하면, 후처리 엔진(70)은 사람의 알려진 누락 단편을 검출할 수 있다. 특히, 메인 단편의 맵은 어떤 단편이 누락되었는지 여부를 결정하기 위해 후속 맵과 비교될 수 있다. 단편이 누락된 경우, 이는 객체가 검출되지 않았을 수 있다는 표시일 수 있다. 따라서, 후처리 엔진(70)은 뉴럴 네트워크 엔진(65)으로부터 세그먼테이션 맵 및 경계 맵에 적용하기 위해 파라미터를 조정할 수 있다.
단편의 식별 후에, 후처리 엔진(70)은 동일한 객체에 속하는 바와 같이 함께 클러스터링할 단편의 그룹을 선택한다. 본 예에서, 후처리 엔진(70)은 몸통, 상측 다리, 발, 손, 팔 등과 같은 인간 인스턴스의 세그먼트인 단편을 식별하기 위해 세그먼테이션 맵 상에 경계 맵을 적용할 수 있다. 그 후, 단편은 클러스터링 프로세스를 사용하여 후처리 엔진(70)에 의해 동일한 객체로부터 다른 단편과 연관된다. 후처리 엔진(70)이 단편을 단일 인스턴스와 연관시키기 위해 단편을 클러스터링하는 방식은 특별히 제한되지 않는다. 본 예에서, 후처리 엔진(70)은 단편을 클러스터링하고 단편을 이미지 내의 객체와 연관시키기 위해, 뼈 히트맵, 관절 히트맵, 또는 뼈 및 관절 히트맵의 조합을 사용할 수 있다. 후처리 엔진(70)이 뼈 히트맵과 관절 히트맵을 사용하는 정확한 방식은 특별히 제한되지 않는다. 예를 들어, 뼈 히트맵은 이미지 내의 단편들 사이의 연결을 식별하기 위해 사용될 수 있다. 추가적으로, 단편은 또한 손, 발, 발목, 고관절 등과 같은 하나 이상의 관절 유형이 할당될 수 있다. 본 설명의 이익을 갖는 당업자에 의해, 인간 객체에 대해, 각각의 객체는, 왼손과 같은 각각의 유형의 단일 관절만 가진다는 것을 인지해야 한다. 따라서, 뼈 히트맵의 적용 후에, 나머지 단편은 함께 클러스터링되어, 각각의 클러스터 내에 공통 관절 유형이 존재하지 않을 수 있다.
도 5를 참조하면, 후처리 엔진(70)에 의해 수행되는 200에서 단편을 클러스터링하는 예시적인 방법의 흐름도가 도시된다. 방법(200)이 예시이고, 다른 클러스터링 프로세스가 후처리 엔진(70)에 의해 구현될 수 있다는 것을 인지해야 한다. 다음의 논의와 예시적인 방법(200)은 후처리 엔진(70) 및 장치(50) 내에서의 그 기능에 대한 추가적인 이해를 제공할 수 있다. 또한, 방법(200)은 도시된 바와 같은 정확한 시퀀스로 수행되지 않을 수 있고, 다양한 블록들이 시퀀스가 아닌 병렬로 또는 상이한 시퀀스로 모두 수행될 수 있다는 것을 강조해야 한다. 또한, 방법(200)의 반복적 특성으로 인해, 모든 블록이 동시에 실행될 수 있다.
블록(205)에서 시작하여, 2개의 단편들 사이의 연결이 선택된다. 원시 데이터에서 식별되는 각각의 단편 쌍은 순차적으로 선택되고, 그들이 선택되는 순서는 특별히 제한되지 않는다. 본 예에서, 순서는 관절 히트맵 및 뼈 히트맵으로부터의 정보에 기초하여 선택될 수 있다. 다른 예시에서, 모든 가능한 단편 조합이 이미지의 한 측으로부터 반대 측으로 순차적으로 선택될 수 있다. 본 예에서, 각각의 단편은 생성되는 단편에 고유 식별자(마스크 Id)가 할당된다. 또한, 연결된 단편은 동일한 마스크 ID가 할당되고, 독립적인 단편은 고유 마스크 ID가 할당된다. 단편은 또한, 세그먼테이션 맵 외부의 픽셀(즉, 세그먼테이션 맵에서의 0 값 픽셀) 상에 놓일 때와 같이, 전경 대신에 배경의 일부임을 나타내기 위해 고유 식별자(배경 ID)로 분류될 수 있다. 본 예에서, 배경의 일부인 단편은 고려되지 않을 것이다. 일단 한 쌍의 단편이 선택되면, 프로세스는 블록(210)으로 이동하고, 여기서 각각의 단편의 마스크 ID가 비교되어 그들이 동일한지 여부를 결정한다. 각각의 단편에 대한 마스크 ID가 상이한 경우, 방법(200)은 상이한 단편들 사이의 다른 연결을 선택하기 위해 블록(205)으로 복귀한다. 블록(205)에서 선택된 2개의 단편의 마스크 ID가 동일한 경우, 방법(200)은 마스크 ID가 백그라운드 ID와 비교되는 블록(215)으로 진행한다. 마스크 ID가 배경 ID인 경우, 방법(200)은 상이한 단편들 사이의 또다른 연결을 선택하기 위해 블록(205)으로 복귀한다. 블록(205)에서 선택된 2개의 단편의 마스크 ID가 배경 ID가 아닌 경우, 방법(200)은 단편이 동일한 관절 유형을 갖는지 여부를 결정하기 위해 후처리 엔진(70)에 의해 분석되는 블록(220)으로 진행한다. 후처리 엔진(70)이 단편이 동일한 관절을 포함한다고 결정하는 경우, 단편은 상이한 인간 인스턴스인 것으로 간주되고, 방법(200)은 다른 단편 쌍을 선택하기 위해 블록(205)으로 복귀한다. 대안적으로, 단편이 상이한 관절 유형을 갖는 것으로 결정되는 경우, 방법(200)은 단편이 병합되는 블록(225)으로 이동한다. 본 예에서, 블록(225)은 더 작은 단편을 더 큰 단편으로 병합하지만, 다른 예에서, 더 작은 단편이 더 큰 단편보다 더 중요한 것으로 간주되는 관절을 나타내는 경우 반대가 발생할 수 있다. 단편을 병합한 후, 방법(200)은 블록(230)으로 진행하며, 여기서 후처리 엔진(70)은 모든 단편 쌍이 처리되었는지 여부를 결정한다. 처리될 단편 쌍이 더 많은 경우, 방법(200)은 블록(205)으로 복귀하고 계속 반복한다.
클러스터를 생성하기 위한 관절의 연결의 처리의 완료시에, 방법(200)은 2개의 클러스터링되지 않은 단편이 선택되는 블록(235)으로 진행한다. 방법(200)은 블록(240)으로 진행하여 블록(235)에서 선택된 단편이 동일한 관절 유형을 갖는지 여부를 결정한다. 후처리 엔진(70)이 단편이 동일한 관절을 포함한다고 결정하는 경우, 단편은 상이한 인간 인스턴스로 간주되고, 방법(200)은 다른 클러스터링되지 않은 단편 쌍을 선택하기 위해 블록(235)으로 복귀한다. 대안적으로, 단편이 상이한 관절 유형을 갖는 것으로 결정되는 경우, 방법(200)은 블록(245)으로 이동한다. 블록(245)에서, 후처리 엔진(70)은 블록(235)에 의해 선택된 단편이 접속 경로에 임의의 다른 클러스터링되지 않은 단편이 없는 경우 연결될 수 있는지 여부를 결정한다. 단편이 블록(235)에서 선택된 2개의 단편 사이의 경로 상의 다른 클러스터링되지 않은 단편 없이 연결될 수 없는 경우, 방법(200)은 2개의 다른 비클러스터형 단편들이 선택된 블록(235)으로 다시 진행한다. 블록(235)에서 선택된 단편들이 경로 상의 다른 단편 없이 연결될 수 있는 경우, 방법(200)은 블록(250)으로 이동하고, 여기서 후처리 엔진(70)은 본 예에서 더 작은 단편을 더 큰 단편으로 병합한다. 클러스터링되지 않은 단편을 병합한 후에, 방법(200)은 블록(255)으로 진행하며, 여기서 후처리 엔진(70)은 모든 클러스터링되지 않은 단편 쌍이 처리되었는지 여부를 결정한다. 처리될 단편 쌍이 더 많은 경우, 방법(200)은 블록(235)으로 복귀하고 계속 반복한다.
객체 단편을 클러스터링한 후, 도 2에 도시된 바와 같이 원시 데이터에 표현된 이미지 내의 객체는 별개의 인스턴스로 분리될 수 있다. 그 후, 분리된 객체는 다운스트림 서비스를 위한 출력 데이터를 생성하기 위해 사용될 수 있다. 본 예에서, 객체는 인간이고, 일단 인간 인스턴스가 분리되면, 출력 데이터는 각각의 인간 인스턴스를 식별하기 위해 상이한 음영을 사용하는 인스턴스 세그먼테이션 맵을 포함할 수 있다. 다른 예에서, 골격, 메시, 또는 윤곽은 상이한 인간 인스턴스를 나타내도록 렌더링될 수 있다.
일부 예에서, 후처리 엔진(70)은 뉴럴 네트워크 엔진(65)에 의해 식별된 바와 같이 세그먼테이션 맵 및 경계 맵에서의 관심 영역만을 처리함으로써 계산 효율성을 향상시킬 수 있다는 것을 인지해야 한다. 도 6을 참조하면, 단일 객체 경계를 갖는 영역(300) 및 다중 객체 경계를 갖는 영역(305)이 도시된다. 이 예에서, 후처리 엔진(70)은 계산 리소스를 절약하기 위해 다중 객체 경계를 갖는 영역(305)에 초점을 맞추도록 구성될 수 있다.
또한, 원시 데이터에서 객체 인스턴스를 예측한 후에, 후처리 엔진(70)은 일부 예에서 출력 데이터를 생성하기 전에 결과를 더 향상시킬 수 있다. 예를 들어, 후처리 엔진(70)은 객체와 연관되지 않은 픽셀을 채우기 위해 마스크로서 세그먼테이션 맵을 사용하여 측지성 확장(geodesic dilation)을 적용할 수 있다. 따라서, 영역(305) 상에만 동작할 때, 후처리 엔진(70)은 도 7에 도시된 바와 같이 영역(305) 내의 상이한 객체 인스턴스를 식별하는 맵을 생성할 수 있다.
도 8을 참조하면, 단편 클러스터링 및 재발견에 기초하여 복합 이미지에서 객체 인스턴스 세그먼테이션을 생성하기 위한 장치(50a)의 또다른 개략적인 표현이 일반적으로 도시된다. 장치(50a)의 유사한 컴포넌트는 접미사 "a"가 뒤따르는 것을 제외하고, 장치(50)에서의 그들의 대응부에 대해 유사한 참조를 갖는다. 본 예에서, 장치(50a)는 통신 인터페이스(55a), 메모리 저장 유닛(60a), 및 프로세서(80a)를 포함한다. 프로세서(80a)는 뉴럴 네트워크 엔진(65a), 후처리 엔진(70a), 및 추적 엔진(75a)을 동작시킨다.
본 예에서, 메모리 저장 유닛(60a)은 또한 장치(50a)에 의해 사용되는 다양한 데이터를 저장하기 위해 데이터베이스를 유지할 수 있다. 예를 들어, 메모리 저장 유닛(60a)은 통신 인터페이스(55a)로부터 수신된 원시 데이터 이미지를 저장하기 위한 데이터베이스(300a), 뉴럴 네트워크 엔진(65a)에 의해 생성된 세그먼테이션 맵을 저장하기 위한 데이터베이스(310a), 뉴럴 네트워크 엔진(65a)에 의해 생성된 경계 맵을 저장하기 위한 데이터베이스(315a), 뉴럴 네트워크 엔진(65a)에 의해 생성된 관절 히트맵을 저장하기 위한 데이터베이스(320a), 뉴럴 네트워크 엔진(65a)에 의해 생성된 뼈 히트맵을 저장하기 위한 데이터베이스(325a), 및 원시 데이터 내의 객체들을 식별하는 후처리 엔진(70a)에 의해 생성된 식별 데이터를 저장하기 위한 데이터베이스(330a)를 포함할 수 있다. 또한, 메모리 저장 유닛은 장치(50a)에 일반적인 기능을 제공하기 위해 프로세서(80a)에 의해 실행가능한 오퍼레이팅 체제(340a)를 포함할 수 있다. 또한, 메모리 저장 유닛(60a)은 아래에 더 상세히 설명되는 방법을 수행하도록 특정 단계를 수행하도록 프로세서(80a)에 지시하기 위한 코드로 인코딩될 수 있다. 메모리 저장 유닛(60a)은 또한 입력을 수신하거나 출력을 제공하기 위해 다양한 사용자 인터페이스와 같은, 장치(50a)의 다른 컴포넌트 및 주변 디바이스와 통신하기 위한 다른 하드웨어 드라이버뿐만 아니라 드라이버 레벨에서 동작을 수행하기 위한 명령어들을 저장할 수 있다.
메모리 저장 유닛(60a)은 또한 뉴럴 네트워크 엔진(65a)을 트레이닝하기 위한 트레이닝 데이터를 저장하기 위한 합성 트레이닝 데이터베이스(350a)를 포함할 수 있다. 본 예시는 트레이닝 데이터베이스(350a)를 국부적으로 저장하지만, 다른 예시는 트레이닝 데이터를 외부적으로, 예를 들어 통신 인터페이스(55a)를 통해 뉴럴 네트워크의 트레이닝 동안 액세스될 수 있는 파일 서버 또는 클라우드에 저장할 수 있다는 것을 인지해야 한다.
본 예에서, 프로세서는 원시 데이터에서 식별된 객체를 추적하기 위해 추적 엔진(75a)을 추가로 동작시킨다. 원시 데이터는 복수의 이미지를 포함할 수 있고, 여기서 각각의 이미지는 비디오의 프레임을 나타낼 수 있다는 것을 당업자에 의해 인지해야 한다. 따라서, 객체는 다른 객체에 대해 이미지 내에서 이동할 수 있고, 이미지 내의 포지셔닝될 수 있다. 추가적으로, 추적 엔진(75a)은 객체가 비디오의 프레임을 이탈하고 비디오의 프레임에 재진입할 때 객체를 추적할 수 있다. 본 예에서, 추적 엔진(75a)은 후처리 엔진(70a)으로부터의 출력 데이터에 기초하여 외형 모델을 적용하는 다른 뉴럴 네트워크를 동작시킬 수 있다.
도 9을 참조하면, 단편 클러스터링 및 재발견에 기초하여 복합 이미지에서 객체 인스턴스 세그먼테이션을 생성하는 예시적인 방법의 흐름도가 일반적으로 400에서 도시된다. 방법(400)의 설명을 돕기 위해, 방법(400)이 장치(50)에 의해 수행될 수 있다고 가정할 것이다. 실제로, 방법(400)은 장치(50)가 구성될 수 있는 하나의 방법일 수 있다. 또한, 방법(400)에 대한 다음의 논의는 장치(50) 및 IT 컴포넌트에 대한 추가적인 이해로 이어질 수 있다. 또한, 방법(400)은 도시된 바와 같은 정확한 시퀀스로 수행되지 않을 수 있고, 다양한 블록들이 시퀀스가 아닌 병렬로 , 또는 상이한 시퀀스로 모두 수행될 수 있다는 것을 강조해야 한다.
블록(410)에서 시작하여, 장치(50)는 통신 인터페이스(55)를 통해 외부 소스로부터 원시 데이터를 수신한다. 본 예에서, 원시 데이터는 이미지 내의 다중 객체의 표현을 포함한다. 특히, 원시 데이터는 다양한 폐색 패턴을 갖는 다수의 인간을 나타낸다. 객체가 표현되는 방식 및 2차원 이미지의 정확한 포맷은 특별히 제한되지 않는다. 예를 들어, 2차원 이미지는 RGB 포맷으로 수신된다. 다른 예시에서, 2차원 이미지는 카메라에 의해 캡처되고 처리되는 압축된 이미지 파일 또는 래스터 그래픽 파일과 같은 상이한 포맷이다. 장치(50)에서 수신되면, 원시 데이터는 블록(420)에서 메모리 저장 유닛(60)에 저장되어야 한다.
블록(430)은 뉴럴 네트워크 엔진(65)으로 맵을 생성하는 것을 포함한다. 본 예에서, 뉴럴 네트워크 엔진(65)은 이미지 내의 객체의 세그먼테이션 맵 및 경계 맵을 생성한다. 세그먼테이션 맵이 생성되는 방식은 특별히 제한되지 않으며, wrnchAI 엔진과 같은 컴퓨터 비전 기반 휴먼 포즈 및 세그먼테이션 시스템을 적용하는 것을 포함할 수 있다. 다른 예시에서, OpenPose, Mask-R CNN, 또는 다른 깊이 센서, 스테레오 카메라, 또는 Microsoft Kinect 또는 Intel RealSense와 같은 LIDAR 기반 휴먼 세그먼테이션 시스템과 같은 다른 유형의 컴퓨터 비전 기반 휴먼 세그먼테이션 시스템이 사용될 수 있다. 또한, 세그먼테이션 맵은 CVAT와 같은 적절한 소프트웨어를 이용하여 수작업으로 또는 Adobe Photoshop 또는 GIMP와 같은 세그먼테이션 보조 툴을 이용하여 반자동화된 방식으로 주석화될 수 있다.
경계 맵이 생성되는 방식은 또한 특별히 제한되지 않으며 다양한 이미지 프로세싱 기술을 사용할 수 있다. 본 예에서, 세그먼테이션 맵은 또한, 경계 맵을 정제하기 위해 후처리 엔진(70)에 의해 사용될 파라미터를 선택하기 위한 입력을 제공할 수 있다. 특히, 파라미터는 얇은 라인을 갖는 폐쇄된 경계를 제공하도록 선택된다.
다음으로, 블록(440)은 블록(410)에서 수신된 이미지 내의 객체를 식별하는 것을 포함한다. 본 예에서, 후처리 엔진(70)은 블록(430)에서 뉴럴 네트워크 엔진(65)에 의해 생성된 맵으로부터의 입력을 사용한다. 객체의 식별은 출력 데이터로 변환될 수 있고, 출력 데이터는 비디오에서 객체를 추적하는 것과 같은 추가적인 처리를 위해 다운스트림 디바이스로 송신될 수 있다.
다양한 이점이 당업자에게 명백하지 않을 것이다. 특히, 장치(50) 또는 장치(50a)는 각각의 사람에 대한 식별을 수행하는 대신 전체 이미지를 분석함으로써 상향식(bottom-up) 접근법을 사용하여 중폐색된 영역을 갖는 단편 클러스터링 및 재발견 이미지에 기초하여 복합 이미지에서 객체 인스턴스 세그먼테이션을 생성하기 위해 사용될 수 있다. 장치(50)는 후처리 엔진의 파라미터를 그에 따라 변경함으로써 상이한 특징 및 복잡성을 갖는 많은 상이한 유형의 원시 데이터에 사용될 수 있다. 또한, 장치(50)는 객체의 다양한 단편을 검출할 수 있고, 구체적으로 객체와 재연결하기 위해 누락된 단편을 검출할 수 있다.
상기 제공된 다양한 예시의 특징 및 양태가 또한 본 개시의 범위 내에 속하는 추가적인 예시로 결합될 수 있다는 것을 인지해야 한다.

Claims (30)

  1. 장치에 있어서,
    외부 소스로부터 원시 데이터를 수신하기 위한 통신 인터페이스 - 상기 원시 데이터는 제1 객체 및 제2 객체의 표현을 포함함 - ;
    상기 원시 데이터를 저장하기 위한 메모리 저장 유닛;
    상기 원시 데이터를 수신하기 위한 뉴럴 네트워크 엔진 - 상기 뉴럴 네트워크 엔진은 세그먼테이션 맵(segmentation map) 및 경계 맵을 생성함 - ; 및
    상기 세그먼테이션 맵 및 상기 경계 맵에 기초하여 제1 객체 및 제2 객체를 식별하기 위한 후처리(post-processing) 엔진
    을 포함하는, 장치.
  2. 제1항에 있어서, 상기 후처리 엔진은 상기 제1 객체의 제1 골격 및 상기 제2 객체의 제2 골격을 생성하는 것인, 장치.
  3. 제1항 또는 제2항에 있어서, 상기 원시 데이터는 비디오 데이터이고, 상기 비디오 데이터는 상기 제1 객체 및 상기 제2 객체의 움직임을 나타내는 것인, 장치.
  4. 제3항에 있어서,
    상기 제1 객체 및 상기 제2 객체를 추적하기 위한 추적 엔진
    을 더 포함하는, 장치.
  5. 제4항에 있어서, 상기 추적 엔진은 상기 제1 객체가 프레임을 이탈하고 재진입하는 것을 추적하는 것인, 장치.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 후처리 엔진은 상기 제1 객체 및 상기 제2 객체의 단편(fragments)을 식별하는 것인, 장치.
  7. 제6항에 있어서, 상기 후처리 엔진은 상기 단편으로부터 제1 그룹을 선택하고, 상기 제1 그룹은 상기 제1 객체와 연관되며, 상기 후처리 엔진은 상기 단편으로부터 제2 그룹을 선택하고, 상기 제2 그룹은 상기 제2 객체와 연관된 것인, 장치.
  8. 제7항에 있어서, 상기 후처리 엔진은 상기 제1 그룹 및 상기 제2 그룹을 선택하기 위해 뼈 히트맵(bone heatmap)을 사용하는 것인, 장치.
  9. 제7항 또는 제8항에 있어서, 상기 후처리 엔진은 제1 그룹 및 상기 제2 그룹을 선택하기 위해 관절 히트맵을 사용하는 것인, 장치.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 제1 객체는 제1 인간이고, 상기 제2 객체는 제2 인간인 것인, 장치.
  11. 방법에 있어서,
    통신 인터페이스를 통해 이미지 소스로부터 원시 데이터를 수신하는 단계 - 상기 원시 데이터는 제1 객체 및 제2 객체의 표현을 포함함 - ;
    상기 원시 데이터를 메모리 저장 유닛에 저장하는 단계;
    뉴럴 네트워크 엔진을 사용하여 상기 원시 데이터로부터 세그먼테이션 맵 및 경계 맵을 생성하는 단계;
    후처리 엔진을 사용하여, 상기 세그먼테이션 맵 및 상기 경계 맵에 기초하여 상기 제1 객체 및 상기 제2 객체를 식별하는 단계; 및
    상기 통신 인터페이스를 통해, 식별 정보를 외부 소스로 송신하는 단계 - 상기 식별 정보는 상기 원시 데이터 내의 상기 제1 객체 및 상기 제2 객체를 식별하기 위한 것인, 방법.
  12. 제11항에 있어서, 상기 제1 객체 및 상기 제2 객체를 식별하는 단계는, 상기 제1 객체의 제1 골격을 생성하는 단계 및 상기 제2 객체의 제2 골격을 생성하는 단계를 포함하는 것인, 방법.
  13. 제11항 또는 제12항에 있어서, 상기 원시 데이터는 비디오 데이터이고, 상기 비디오 데이터는 상기 제1 객체 및 상기 제2 객체의 움직임을 나타내는 것인, 방법.
  14. 제13항에 있어서,
    추적 엔진을 사용하여 상기 제1 객체 및 상기 제2 객체를 추적하는 단계
    를 더 포함하는, 방법.
  15. 제14항에 있어서, 상기 제1 객체를 추적하는 단계는, 상기 제1 객체가 프레임을 이탈하고 재입력하는 것을 추적하는 단계를 포함하는 것인, 방법.
  16. 제11항 내지 제15항 중 어느 한 항에 있어서,
    상기 후처리 엔진을 사용하여 상기 제1 객체 및 상기 제2 객체의 단편을 식별하는 단계
    를 더 포함하는, 방법.
  17. 제16항에 있어서,
    상기 단편으로부터 상기 제1 그룹을 선택하고 상기 단편으로부터 제2 그룹을 선택하는 단계 - 상기 제1 그룹은 상기 제1 객체와 연관되고, 상기 제2 그룹은 상기 제2 객체와 연관됨 -
    를 더 포함하는, 방법.
  18. 제17항에 있어서, 상기 제1 그룹 및 상기 제2 그룹을 선택하는 단계는, 상기 단편에 뼈 히트맵을 적용하는 단계를 포함하는 것인, 방법.
  19. 제17항 또는 제18항에 있어서, 상기 제1 그룹 및 상기 제2 그룹을 선택하는 단계는, 상기 단편에 관절 히트맵을 적용하는 단계를 포함하는 것인, 방법.
  20. 제11항 내지 제19항 중 어느 한 항에 있어서, 상기 제1 객체는 제1 인간이고, 상기 제2 객체는 제2 인간인 것인, 방법.
  21. 코드로 인코딩된 비일시적 컴퓨터 판독가능 매체에 있어서,
    상기 코드는,
    통신 인터페이스를 통해 이미지 소스로부터 원시 데이터를 수신하도록 - 상기 원시 데이터는 제1 객체 및 제2 객체의 표현을 포함함 - ;
    상기 원시 데이터를 메모리 저장 유닛에 저장하도록;
    상기 원시 데이터로부터 세그먼테이션 맵 및 경계 맵을 생성하도록;
    상기 세그먼테이션 맵 및 상기 경계 맵에 기초하여 상기 제1 객체 및 상기 제2 객체를 식별하도록;
    상기 통신 인터페이스를 통해, 식별 정보를 외부 소스에 송신하도록 - 상기 식별 정보는 상기 세그먼테이션 맵에서 상기 제1 객체 및 상기 제2 객체를 식별하기 위한 것임 -
    프로세서에 지시하기 위한 것인, 비일시적 컴퓨터 판독가능 매체.
  22. 제21항에 있어서, 상기 코드는, 상기 제1 객체 및 상기 제2 객체를 식별하도록 상기 프로세서에 지시하고, 상기 제1 객체의 제1 골격을 생성하고 제2 객체의 제2 골격을 생성하도록 프로세서에 지시하기 위한 것인, 비일시적 컴퓨터 판독가능 매체.
  23. 제21항 또는 제22항에 있어서, 상기 코드는 원시 데이터를 수신하도록 상기 프로세서에 지시하기 위한 것이고, 상기 원시 데이터는 비디오 데이터를 수신하도록 상기 프로세서에 지시하고, 상기 비디오 데이터는 상기 제1 객체 및 상기 제2 객체의 움직임을 나타내는 것인, 비일시적 컴퓨터 판독가능 매체.
  24. 제23항에 있어서, 상기 코드는, 상기 제1 객체 및 상기 제2 객체를 추적하도록 상기 프로세서에 지시하기 위한 것인, 비일시적 컴퓨터 판독가능 매체.
  25. 제24항에 있어서, 상기 코드는, 상기 제1 객체가 프레임을 이탈하고 재진입하는 것을 추적하도록 상기 프로세서에 지시하는 것인, 비일시적 컴퓨터 판독가능 매체.
  26. 제21항 내지 제25항 중 어느 한 항에 있어서, 상기 코드는, 상기 후처리 엔진을 사용하여 상기 제1 객체 및 상기 제2 객체의 단편을 식별하도록 상기 프로세서에 지시하기 위한 것인, 비일시적 컴퓨터 판독가능 매체.
  27. 제26항에 있어서, 상기 코드는, 상기 단편으로부터 제1 그룹을 선택하고 상기 단편으로부터 제2 그룹을 선택하도록 상기 프로세서에 지시하기 위한 것이고, 상기 제1 그룹은 상기 제1 객체와 연관되고, 상기 제2 그룹은 상기 제2 객체와 연관된 것인, 비일시적 컴퓨터 판독가능 매체.
  28. 제27항에 있어서, 상기 코드는 상기 제1 그룹을 선택하고 상기 제2 그룹을 선택하기 위해 상기 단편에 뼈 히트맵을 적용하도록 상기 프로세서에 지시하기 위한 것인, 비일시적 컴퓨터 판독가능 매체.
  29. 제27항 또는 제28항에 있어서, 상기 코드는 상기 제1 그룹을 선택하고 상기 제2 그룹을 선택하기 위해 상기 단편에 관절 히트맵을 적용하도록 상기 프로세서에 지시하기 위한 것인, 비일시적 컴퓨터 판독가능 매체.
  30. 제21항 내지 제29항 중 어느 한 항에 있어서, 상기 코드는, 상기 원시 데이터를 수신하도록 상기 프로세서에 지시하고, 제1 객체로서 제1 인간의 표면 및 제2 객체로서 제2 인간의 표현을 수신하도록 상기 프로세서에 지시하기 위한 것인, 비일시적 컴퓨터 판독가능 매체.

KR1020237026100A 2021-01-04 2021-01-04 이미지 또는 비디오에서의 객체 식별 KR20230128332A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2021/050022 WO2022144594A1 (en) 2021-01-04 2021-01-04 Object identifications in images or videos

Publications (1)

Publication Number Publication Date
KR20230128332A true KR20230128332A (ko) 2023-09-04

Family

ID=82258701

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237026100A KR20230128332A (ko) 2021-01-04 2021-01-04 이미지 또는 비디오에서의 객체 식별

Country Status (7)

Country Link
US (1) US20230351615A1 (ko)
EP (1) EP4272156A4 (ko)
JP (1) JP2024503344A (ko)
KR (1) KR20230128332A (ko)
AU (1) AU2021411776A1 (ko)
CA (1) CA3206872A1 (ko)
WO (1) WO2022144594A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230100305A1 (en) * 2021-09-27 2023-03-30 Baidu Usa Llc System and process for repainting of planar objects in video

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2792736C (en) * 2010-03-11 2018-07-03 Koninklijke Philips Electronics N.V. Probabilistic refinement of model-based segmentation
US8971575B2 (en) * 2012-11-23 2015-03-03 Cyberlink Corp. Systems and methods for tracking objects
US9972092B2 (en) * 2016-03-31 2018-05-15 Adobe Systems Incorporated Utilizing deep learning for boundary-aware image segmentation
US11429842B2 (en) * 2019-02-24 2022-08-30 Microsoft Technology Licensing, Llc Neural network for skeletons from input images

Also Published As

Publication number Publication date
CA3206872A1 (en) 2022-07-07
WO2022144594A1 (en) 2022-07-07
US20230351615A1 (en) 2023-11-02
JP2024503344A (ja) 2024-01-25
AU2021411776A1 (en) 2023-08-03
EP4272156A4 (en) 2024-03-06
EP4272156A1 (en) 2023-11-08

Similar Documents

Publication Publication Date Title
US11087488B2 (en) Automated gesture identification using neural networks
Darrell et al. Integrated person tracking using stereo, color, and pattern detection
CN101305401B (zh) 用于处理游戏的立体视频的方法
Wang et al. Geometric pose affordance: 3d human pose with scene constraints
JP2022547183A (ja) 生体顔検出方法、装置、設備及びコンピュータプログラム
WO2019019828A1 (zh) 目标对象的遮挡检测方法及装置、电子设备及存储介质
WO2021218293A1 (zh) 图像处理方法、装置、电子设备和存储介质
US20020135581A1 (en) Method and system for controlling an avatar using computer vision
JP4597391B2 (ja) 顔領域検出装置およびその方法並びにコンピュータ読み取り可能な記録媒体
JP2010041725A (ja) イベントログ生成装置及びイベントログ生成方法
JP6362085B2 (ja) 画像認識システム、画像認識方法およびプログラム
CN109035415B (zh) 虚拟模型的处理方法、装置、设备和计算机可读存储介质
CN110163046B (zh) 人体姿态识别方法、装置、服务器及存储介质
US20230351615A1 (en) Object identifications in images or videos
JP6350331B2 (ja) 追尾装置、追尾方法及び追尾プログラム
US20240153032A1 (en) Two-dimensional pose estimations
HanbyulJoo et al. Panoptic studio: A massively multiview system for social interaction capture
US20240020901A1 (en) Method and application for animating computer generated images
US12002236B2 (en) Automated gesture identification using neural networks
AU2020474614B2 (en) Three-dimensional mesh generator based on two-dimensional image
US20240127539A1 (en) Mechanical weight index maps for mesh rigging
KR102630106B1 (ko) 우선순위 사물 기반의 영상 정합 장치 및 그 방법
JP2022054251A (ja) 生成装置、生成方法、およびプログラム
WO2022205167A1 (zh) 图像处理方法、装置、可移动平台、终端设备和存储介质
Stamou et al. A monocular system for person tracking: Implementation and testing

Legal Events

Date Code Title Description
A201 Request for examination