KR20220043186A - 포인트 클라우드 데이터의 처리 방법, 장치, 전자 기기 및 저장 매체 - Google Patents

포인트 클라우드 데이터의 처리 방법, 장치, 전자 기기 및 저장 매체 Download PDF

Info

Publication number
KR20220043186A
KR20220043186A KR1020227007211A KR20227007211A KR20220043186A KR 20220043186 A KR20220043186 A KR 20220043186A KR 1020227007211 A KR1020227007211 A KR 1020227007211A KR 20227007211 A KR20227007211 A KR 20227007211A KR 20220043186 A KR20220043186 A KR 20220043186A
Authority
KR
South Korea
Prior art keywords
matrix
raster
target
identified
convolution
Prior art date
Application number
KR1020227007211A
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 KR20220043186A publication Critical patent/KR20220043186A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/10028Range image; Depth image; 3D point clouds
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

본 발명은 포인트 클라우드 데이터의 처리 방법, 장치, 전자 기기 및 저장 매체를 제공하고, 여기서 상기 처리 방법은, 획득된 타깃 시나리오 중의 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하는 단계 - 래스터 행렬 중 각 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재하는지 여부를 나타내고, 상기 타깃 포인트는 상기 포인트 클라우드 데이터에 대응되는 임의의 하나의 포인트를 나타냄 - ; 상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계; 및 생성된 상기 희소 행렬에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계를 포함한다.

Description

포인트 클라우드 데이터의 처리 방법, 장치, 전자 기기 및 저장 매체
관련 출원의 상호 참조
본 특허 출원은 2020년 7월 22일에 제출하고, 출원번호가 202010712674.X이며, 발명의 명칭이 “포인트 클라우드 데이터의 처리 방법, 장치, 전자 기기 및 저장 매체”인 중국 특허 출원의 우선권을 주장하며, 해당 출원의 모든 내용은 참조로서 본 명세서에 인용된다.
본 발명은 포인트 클라우드 데이터 처리 기술분야에 관한 것으로, 구체적으로 포인트 클라우드 데이터의 처리 방법, 장치, 전자 기기 및 저장 매체에 관한 것이다.
레이저 레이더 기술의 지속적인 발전과 더불어, 레이저 레이더에 의해 수집된 포인트 클라우드 데이터에는 타깃 물체의 정확한 위치 정보가 포함되기 때문에, 레이저 레이더를 응용한 포인트 클라우드 데이터의 수집은 타깃 검출, 3차원 타깃 재구성, 자율 운전 등 각 분야에서 널리 응용되고 있다. 포인트 클라우드 데이터는 희소화 데이터로, 상기 응용을 구현하기 위해, 일반적으로 수집된 포인트 클라우드 데이터를 처리해야 한다. 응용의 편의를 위해, 관련 기술의 포인트 클라우드 처리 수단은 상이한 응용 환경에 대해 상이한 프로그래밍 언어를 사용하여 맞춤화 설계해야 하는데, 이는 많은 인력과 물적 자원을 소모하게 된다.
본 발명의 실시예는 래스터화 처리 및 크기 정보 제약 하의 희소 처리를 통해 희소 행렬의 자동 생성을 구현하여, 생성된 희소 행렬에 따라 시나리오 응용을 구현함으로써 시간과 힘을 절약하는, 포인트 클라우드 데이터의 처리 방법, 장치, 전자 기기 및 저장 매체를 적어도 제공한다. 주로 하기와 같은 몇 개의 측면을 포함한다.
제1 측면에서, 본 발명의 실시예는 포인트 클라우드 데이터의 처리 방법을 제공하고, 상기 방법은, 타깃 시나리오에 대응되는 포인트 클라우드 데이터를 획득하는 단계; 획득된 상기 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하는 단계 - 상기 래스터 행렬 중 각 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재하는지 여부를 나타내고, 상기 타깃 포인트는 상기 포인트 클라우드 데이터에 대응되는 임의의 하나의 포인트를 나타냄 - ; 상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계; 및 생성된 상기 희소 행렬에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계를 포함한다.
상기 포인트 클라우드 데이터의 처리 방법을 사용하여, 타깃 시나리오에 대응되는 포인트 클라우드 데이터가 획득된 경우, 먼저 상기 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여 래스터 행렬을 획득할 수 있고, 상기 래스터 행렬 중 각 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재하는지 여부를 나타낼 수 있으며, 이렇게, 타깃 시나리오 중 식별할 객체의 크기 정보에 따라, 대응되는 래스터에 타깃 포인트가 존재함을 나타내는 래스터 행렬 중 각 요소를 처리하여, 식별할 객체에 대응되는 희소 행렬을 생성함으로써, 생성된 희소 행렬에 따라, 타깃 시나리오에서의 식별할 객체의 위치를 결정할 수 있다.
일 실시형태에서, 상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계는, 상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 래스터 행렬 중의 타깃 요소에 대해 적어도 한 번의 팽창 처리 조작 또는 침식 처리 조작을 수행하여, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계를 포함하고; 상기 타깃 요소의 값은, 대응되는 래스터에 상기 타깃 포인트가 존재함을 특성화한다.
일 실시형태에서, 상기 팽창 처리 조작 또는 침식 처리 조작은 시프트 처리 및 논리 연산 처리를 포함하고, 상기 희소 행렬의 좌표 범위와 상기 식별할 객체의 크기 사이의 차이값은 사전 설정 임계값 범위에 속한다.
일 실시형태에서, 상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 래스터 행렬 중의 요소에 대해 적어도 한 번의 팽창 처리 조작을 수행하여, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계는, 금번 팽창 처리 조작 전의 래스터 행렬 중의 요소에 대해 제1 인버전 조작을 수행하여, 제1 인버전 조작 후의 래스터 행렬을 획득하는 단계; 제1 사전 설정 콘볼루션 커널에 기반하여 상기 제1 인버전 조작 후의 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득하는 단계 - 상기 사전 설정 희소성은 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 의해 결정됨 - ; 및 상기 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬 중의 요소에 대해 제2 인버전 조작을 수행하여, 상기 희소 행렬을 획득하는 단계를 포함한다.
일 실시형태에서, 상기 금번 팽창 처리 조작 전의 래스터 행렬 중의 요소에 대해 제1 인버전 조작을 수행하여, 제1 인버전 조작 후의 래스터 행렬을 획득하는 단계는, 제2 사전 설정 콘볼루션 커널에 기반하여, 금번 팽창 처리 조작 전의 래스터 행렬에서 상기 타깃 요소를 제외한 다른 요소에 대해 콘볼루션 연산을 수행하여, 제1 인버전 요소를 획득하는 단계; 제2 사전 설정 콘볼루션 커널에 기반하여, 금번 팽창 처리 조작 전의 래스터 행렬 중의 타깃 요소에 대해 콘볼루션 연산을 수행하여, 제2 인버전 요소를 획득하는 단계; 및 상기 제1 인버전 요소 및 상기 제2 인버전 요소에 기반하여, 제1 인버전 조작 후의 래스터 행렬을 획득하는 단계를 포함한다.
일 실시형태에서, 상기 제1 사전 설정 콘볼루션 커널에 기반하여 상기 제1 인버전 조작 후의 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득하는 단계는, 최초 콘볼루션 연산에 대해, 상기 제1 인버전 조작 후의 래스터 행렬과 상기 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 최초 콘볼루션 연산 후의 래스터 행렬을 획득하는 단계; 및 지난 번 콘볼루션 연산 후의 래스터 행렬과 상기 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 금번 콘볼루션 연산 후의 래스터 행렬을 획득하는 단계를, 상기 사전 설정 희소성을 갖는 래스터 행렬을 획득할 때까지 반복 수행하는 단계를 포함한다.
여기서, 최초 콘볼루션 연산에 대해, 제1 인버전 조작 후의 래스터 행렬과 제1 사전 설정 콘볼루션 커널 사이의 콘볼루션 연산에 기반하여, 최초 콘볼루션 연산 후의 래스터 행렬을 결정할 수 있고, 다음, 최초 콘볼루션 연산 후의 래스터 행렬과 제1 사전 설정 콘볼루션 커널에 기반하여 콘볼루션 연산을 수행하여, 두 번째 콘볼루션 연산 후의 래스터 행렬을 결정할 수 있으며, 이와 같이, 사전 설정 희소성을 갖는 래스터 행렬을 획득할 때까지 수행한다.
일 실시형태에서, 상기 제1 사전 설정 콘볼루션 커널은 가중치 행렬 및 상기 가중치 행렬에 대응되는 바이어스를 가지고; 최초 콘볼루션 연산에 대해, 상기 제1 인버전 조작 후의 래스터 행렬과 상기 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 최초 콘볼루션 연산 후의 래스터 행렬을 획득하는 단계는, 최초 콘볼루션 연산에 대해, 제1 사전 설정 콘볼루션 커널의 크기 및 사전 설정 스텝 크기에 따라, 상기 제1 인버전 조작 후의 래스터 행렬에서 각 래스터 서브 행렬을 선택하는 단계; 선택된 각 상기 래스터 서브 행렬에 대해, 상기 래스터 서브 행렬과 상기 가중치 행렬에 대해 콘볼루션 연산을 수행하여, 제1 연산 결과를 획득하고, 상기 제1 연산 결과와 상기 바이어스에 대해 덧셈 연산을 수행하여, 제2 연산 결과를 획득하는 단계; 및 각 상기 래스터 서브 행렬에 대응되는 제2 연산 결과에 기반하여, 최초 콘볼루션 연산 후의 래스터 행렬을 결정하는 단계를 포함한다.
일 실시형태에서, 상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 래스터 행렬 중의 요소에 대해 적어도 한 번의 침식 처리 조작을 수행하여, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계는, 제3 사전 설정 콘볼루션 커널에 기반하여 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득하는 단계 - 상기 사전 설정 희소성은 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 의해 결정됨 - ; 및 상기 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 상기 식별할 객체에 대응되는 희소 행렬로 결정하는 단계를 포함한다.
일 실시형태에서, 획득된 상기 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하는 단계는, 획득된 상기 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬 및 상기 래스터 행렬 중 각 요소와 각 타깃 포인트 좌표 범위 정보 사이의 대응 관계를 획득하는 단계를 포함하고; 생성된 상기 희소 행렬에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계는, 상기 래스터 행렬 중 각 요소와 각 타깃 포인트 좌표 범위 정보 사이의 대응 관계에 기반하여, 생성된 상기 희소 행렬 중의 각 타깃 요소에 대응되는 타깃 포인트의 좌표 정보를 결정하는 단계; 및 상기 희소 행렬 중 각 상기 타깃 요소에 대응되는 타깃 포인트의 좌표 정보를 조합하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계를 포함한다.
여기서, 래스터 행렬 중 각 요소와 각 타깃 포인트 좌표 범위 정보 사이의 대응 관계에 기반하여, 생성된 희소 행렬 중의 타깃 요소의 좌표 정보를 결정하고, 나아가 좌표 정보의 조합에 기반하여, 식별할 객체가 희소 행렬에서의 좌표 범위를 결정하며, 다음, 희소 행렬이 위치한 좌표계와 물리 좌표계 사이의 변환 관계에 기반하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정할 수 있다.
일 실시형태에서, 생성된 상기 희소 행렬에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계는, 이미 트레이닝된 콘볼루션 신경망에 기반하여, 생성된 상기 희소 행렬 중의 각 타깃 요소에 대해 적어도 한 번의 콘볼루션 처리를 수행하여, 콘볼루션 결과를 획득하는 단계; 및 상기 콘볼루션 결과에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계를 포함한다.
여기서, 트레이닝된 콘볼루션 신경망에 기반하여, 생성된 희소 행렬에 대해 콘볼루션 처리를 수행하여, 처리를 거쳐 획득된 콘볼루션 결과를 통해 타깃 시나리오에서의 식별할 객체의 위치를 결정할 수 있다. 콘볼루션 처리를 수행하는 과정에서, 희소 행렬 중 대응되는 래스터에 타깃 포인트가 존재하는 타깃 요소에 대해서만 콘볼루션 조작을 수행할 수 있고, 이는 콘볼루션 계산량을 어느 정도 감소시키고, 타깃 검출의 효율을 향상시킨다.
제2 측면에서, 본 발명의 실시예는 포인트 클라우드 데이터의 처리 장치를 더 제공하고, 상기 장치는, 타깃 시나리오에 대응되는 포인트 클라우드 데이터를 획득하기 위한 획득 모듈; 획득된 상기 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하기 위한 처리 모듈 - 상기 래스터 행렬 중 각 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재하는지 여부를 나타내고, 상기 타깃 포인트는 상기 포인트 클라우드 데이터에 대응되는 임의의 하나의 포인트를 나타냄 - ; 상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 식별할 객체에 대응되는 희소 행렬을 생성하기 위한 생성 모듈; 및 생성된 상기 희소 행렬에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하기 위한 결정 모듈을 포함한다.
제3 측면에서, 본 발명의 실시예는 프로세서, 메모리 및 버스를 포함하는 전자 기기를 더 제공하고, 상기 메모리에는 상기 프로세서에 의해 실행 가능한 기계 판독 가능 명령이 저장되며, 전자 기기가 실행될 경우, 상기 프로세서와 상기 메모리 사이는 버스를 통해 통신하고, 상기 기계 판독 가능 명령이 상기 프로세서에 의해 실행될 경우, 제1 측면 및 그 다양한 실시 형태 중 어느 하나에 따른 포인트 클라우드 데이터의 처리 방법의 단계가 수행된다.
제4 측면에서, 본 발명의 실시예는 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 저장 매체를 더 제공하고, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우, 제1 측면 및 그 다양한 실시 형태 중 어느 하나에 따른 포인트 클라우드 데이터의 처리 방법의 단계가 수행된다.
상기 포인트 클라우드 데이터의 처리 장치, 전자 기기, 및 컴퓨터 판독 가능 저장 매체에 관한 효과 설명은 상기 포인트 클라우드 데이터의 처리 방법의 설명을 참조하며, 여기서 상세한 설명을 생략한다.
본 발명의 상기 목적, 특징 및 장점을 보다 명확하게 이해하기 쉽도록, 아래에서는 바람직한 실시예와 첨부된 도면을 결합하여 상세하게 설명하기로 한다.
본 발명의 실시예의 기술적 해결수단을 보다 명확하게 설명하기 위해, 아래에서는 실시예에서 사용되어야 하는 도면을 간단히 소개하기로 한다. 이러한 도면들은 본 발명에 부합되는 실시예를 도시하며, 명세서와 함께 본 발명의 기술적 해결수단을 설명한다. 이하, 도면은 본 발명의 일부 실시예를 도시하였을 뿐이므로, 범위를 제한하는 것으로 간주되어서는 아니되며, 본 기술분야의 통상의 기술자라면 진보성 창출에 힘쓰지 않은 전제 하에 이러한 도면에 따라 다른 관련되는 도면을 획득할 수도 있음을 이해해야 한다.
도 1은 본 발명의 실시예 1에서 제공되는 포인트 클라우드 데이터의 처리 방법의 흐름도를 도시한다.
도 2a는 본 발명의 실시예 1에서 제공되는 인코딩 전 래스터 행렬의 모식도를 도시한다.
도 2b는 본 발명의 실시예 1에서 제공되는 희소 행렬의 모식도를 도시한다.
도 2c는 본 발명의 실시예 1에서 제공되는 인코딩 후 래스터 행렬의 모식도를 도시한다.
도 3a는 본 발명의 실시예 1에서 제공되는 왼쪽 시프트 후의 래스터 행렬의 모식도를 도시한다.
도 3b는 본 발명의 실시예 1에서 제공되는 논리 OR 연산의 모식도를 도시한다.
도 4a는 본 발명의 실시예 1에서 제공되는 제1 인버전 조작 후의 래스터 행렬의 모식도를 도시한다.
도 4b는 본 발명의 실시예 1에서 제공되는 콘볼루션 연산 후의 래스터 행렬의 모식도를 도시한다.
도 5는 본 발명의 실시예 2에서 제공되는 포인트 클라우드 데이터의 처리 장치의 모식도를 도시한다.
도 6은 본 발명의 실시예 3에서 제공되는 전자 기기의 모식도를 도시한다.
본 발명의 실시예의 목적, 기술적 해결수단 및 장점을 보다 명확하게 하기 위해, 아래에서는 본 발명의 실시예의 도면을 결부하여 본 발명의 실시예의 기술적 해결수단을 명확하고 완전하게 설명하며, 물론, 설명되는 실시예는 본 발명의 일부 실시예일 뿐, 전부의 실시예가 아니다. 일반적으로, 여기서의 도면에서 설명되고 도시되는 본 발명의 실시예의 구성요소는 다양한 상이한 구성으로 배치되고 설계될 수 있다. 따라서, 이하 도면에서 제공되는 본 발명의 실시예에 대한 상세한 설명은 보호하고자 하는 본 발명의 범위를 제한하려는 것이 아니라, 본 발명의 선택된 실시예를 나타내는 것에 불과하다. 본 발명의 실시예에 기반하여, 본 기술분야의 통상의 기술자가 진보성 창출에 힘쓰지 않은 전제 하에 획득한 모든 다른 실시예들은 모두 본 발명의 보호범위에 포함된다.
연구를 거쳐, 관련 기술의 포인트 클라우드 처리 수단은 상이한 응용 환경에 대해 상이한 프로그래밍 언어를 사용하여 맞춤화 설계해야 하는데, 이는 많은 인력과 물적 자원을 소모하게 되는 것을 발견하였다.
상기 연구에 기반하여, 본 발명은 래스터화 처리 및 크기 정보 제약 하의 희소 처리를 통해 희소 행렬의 자동 생성을 구현하여, 생성된 희소 행렬에 따라 시나리오 응용을 구현함으로써 시간과 힘을 절약하는, 포인트 클라우드 데이터의 처리 방법을 적어도 제공한다.
상기 수단에 존재하는 결함은 모두 발명자가 실천 및 세심한 연구를 거쳐 얻은 결과이므로, 상기 문제점의 발견 과정 및 후술되는 본 발명에서 상기 문제점에 대해 제기한 해결수단은 모두 본 발명의 과정에서 본 발명에 부여하는 발명자의 기여이어야 한다.
유사한 부호 및 문자는 아래의 도면에서 유사한 항목을 나타내므로, 하나의 도면에서 한 번 정의된 항목은 이후의 도면에서 더 이상 정의 및 해설될 필요 없음을 유의해야 한다.
본 실시예에 대한 이해를 용이하게 하기 위해, 먼저 본 발명의 실시예에서 공개되는 포인트 클라우드 데이터의 처리 방법을 상세하게 설명하기로 하며, 본 발명의 실시예에서 제공되는 포인트 클라우드 데이터의 처리 방법의 수행 주체는 일반적으로 일정한 컴퓨팅 능력을 갖는 전자 기기이며, 상기 전자 기기는 예를 들어 단말 기기 또는 서버 또는 다른 처리 기기를 포함하고, 단말 기기는 사용자 기기(User Equipment, UE), 모바일 기기, 사용자 단말기, 단말기, 셀룰러폰, 무선전화, 개인 휴대 정보 단말기(Personal Digital Assistant, PDA), 핸드헬드 기기, 컴퓨팅 기기, 차량 탑재 기기, 웨어러블 기기 등일 수 있다. 일부 가능한 구현 형태에서, 상기 포인트 클라우드 데이터의 처리 방법은 프로세서를 통해 메모리에 저장된 컴퓨터 판독 가능 명령을 호출하는 방식으로 구현될 수도 있다.
이하, 본 발명의 실시예에서 제공되는 포인트 클라우드 데이터의 처리 방법을 설명하기로 한다
실시예 1
도 1을 참조하면, 본 발명의 실시예는 포인트 클라우드 데이터의 처리 방법을 제공하고, 상기 방법은 단계 S101 내지 단계 S104를 포함한다.
단계 S101에서, 타깃 시나리오에 대응되는 포인트 클라우드 데이터를 획득한다.
단계 S102에서, 획득된 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하고, 래스터 행렬 중 각 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재하는지 여부를 나타내고, 타깃 포인트는 포인트 클라우드 데이터에 대응되는 임의의 하나의 포인트를 나타낸다.
단계 S103에서, 래스터 행렬 및 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 식별할 객체에 대응되는 희소 행렬을 생성한다.
단계 S104에서, 생성된 희소 행렬에 기반하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정한다.
여기서, 본 발명의 실시예에서 제공되는 포인트 클라우드 데이터의 처리 방법에 대한 이해의 편의를 위해, 아래에서는 먼저 상기 처리 방법의 구체적인 응용 시나리오를 상세하게 설명하기로 한다. 본 발명의 실시예에서 제공되는 포인트 클라우드 데이터의 처리 방법은 주로 타깃 검출, 3차원 타깃 재구성 등 분야에 응용될 수 있다. 여기에서는 타깃 검출을 예로 들어 예시적으로 설명한다. 관련 기술에서, 타깃 객체에 관련되는 위치 등 정보를 결정하기 위해, 응용 시나리오에 관련되는 데이터 정보(예를 들어, 포인트 클라우드 데이터)가 획득된 후, 미리 트레이닝된 콘볼루션 신경망에 기반하여 타깃 검출을 구현할 수 있다. 여기서, 콘볼루션 신경망에 의존하여 타깃 검출을 수행하는 과정에서, 포인트 클라우드 데이터에 대응되는 각 타깃 포인트에 대해 콘볼루션 조작을 수행해야 하므로, 이는 콘볼루션 계산량을 어느 정도로 증가시킨다.
상기 문제점을 해결하기 위해, 본 발명의 실시예는 래스터화 처리 및 크기 한정 하의 희소 처리에 기반하여 희소 행렬을 생성하여 타깃 검출을 수행하는 수단을 제공한다. 한편으로, 상기 희소 행렬은 타깃 시나리오 중의 식별할 객체의 크기 정보를 결합하여 생성되므로, 생성된 희소 행렬은 식별할 객체의 관련 정보를 어느 정도로 직접 나타낼 수 있고, 이는 타깃 검출 정밀도 요구가 높지 않을 경우, 직접 타깃 검출 결과로 사용될 수 있으며, 다른 한편으로, 상기 관련 기술에서 사용되는 콘볼루션 신경망에 기반하여 타깃 검출을 수행하는 과정에서, 생성된 희소 행렬 중 대응되는 래스터에 타깃 포인트가 존재하는 요소에 대해서만 콘볼루션 연산을 수행하므로, 콘볼루션 계산량을 어느 정도로 감소시키고, 타깃 검출의 효율을 향상시킬 수 있다.
본 발명의 실시예에서, 획득된 포인트 클라우드 데이터에 대해, 먼저 래스터화 처리를 수행할 수 있고, 다음 래스터화 처리하여 획득된 래스터 행렬에 대해 희소 처리를 수행하여, 희소 행렬을 생성할 수 있다. 여기서 래스터화 처리 과정은 공간적으로 분포된, 각 타깃 포인트가 포함되는 포인트 클라우드 데이터를 설정된 래스터 내에 매핑하고, 래스터에 대응되는 타깃 포인트에 기반하여 래스터 인코딩(0-1 행렬에 대응됨)을 수행하는 과정일 수 있으며, 희소 처리 과정은 타깃 시나리오 중의 식별할 객체의 크기 정보에 기반하여 상기 0-1 행렬에 대해 팽창 처리 조작(0-1 행렬에서 1로 지시되는 요소를 증가시키는 처리 결과에 대응됨) 또는 침식 처리 조작(0-1 행렬에서 1로 지시되는 요소를 감소시키는 처리 결과에 대응됨)을 수행하는 과정일 수 있다. 이어서, 상기 래스터화 처리 과정 및 희소 처리 과정에 대해 더 상세하게 설명기로 한다.
여기서, 상기 래스터화 처리 과정에서, 데카르트 연속 실수 좌표계에 분포된 타깃 포인트를 래스터화된 이산 좌표계로 변환시킬 수 있다.
상기 래스터화 처리 과정에 대한 이해의 편의를 위해, 아래에서는 하나의 예시를 결합하여 구체적으로 설명할 수 있다. 본 발명의 실시예에는 포인트 A(0.32m, 0.48m), 포인트 B(0.6m, 0.4801m) 및 포인트 C(2.1m, 3.2m) 등 타깃 포인트가 구비되고, 1m를 래스터 너비로 하여 래스터화 처리를 수행하며, (0m, 0m) 내지 (1m, 1m)의 범위는 첫 번째 래스터에 대응되고, (0m, 1m) 내지 (1m, 2m)의 범위는 두 번째 래스터에 대응되며, 이와 같이 유추한다. 래스터화 후의 A'(0, 0), B'(0, 0)는 모두 제1 행 제1 열의 래스터에 위치하고, C'(2, 3)는 제2 행 제3 열의 래스터에 위치할 수 있으며, 이로써 데카르트 연속 실수 좌표계에서 이산 좌표계로의 변환을 구현한다. 여기서, 타깃 포인트에 관한 좌표 정보는 참조 기준점(예를 들어, 포인트 클라우드 데이터를 수집하는 레이더 기기의 위치)에 의해 결정될 수 있으며, 여기서 설명하지 않는다.
본 발명의 실시예에서는 2차원 래스터화를 수행할 수 있고, 3차원 래스터화를 수행할 수도 있으며, 2차원 래스터화에 비해, 3차원 래스터화는 2차원 래스터화의 기반 하에 높이 정보가 추가된다. 이어서, 2차원 래스터화를 예로 들어 구체적으로 설명할 수 있다.
2차원 래스터화의 경우, 제한된 공간을 N*M의 래스터로 분할할 수 있으며, 일반적으로 등간격 분할이고, 간격 크기는 설정될 수 있다. 이때, 0-1 행렬(즉 상기 래스터 행렬)을 사용하여 래스터화 후의 포인트 클라우드 데이터를 인코딩할 수 있고, 각각의 래스터는 고유한 행 번호 및 열 번호로 구성된 좌표를 사용하여 표시될 수 있으며, 상기 래스터에 하나 이상의 타깃 포인트가 존재하면, 상기 래스터를 1로 코딩하고, 그렇지 않으면 0으로 코딩함으로써, 인코딩 후의 0-1 행렬을 획득할 수 있다.
상기 방법에 따라 래스터 행렬을 결정한 후, 타깃 시나리오의 식별할 객체의 크기 정보에 따라, 상기 래스터 행렬 중의 요소에 대해 희소 처리 조작을 수행하여, 대응되는 희소 행렬을 생성할 수 있다.
여기서, 식별할 객체에 관한 크기 정보는 미리 획득될 수 있고, 여기서, 포인트 클라우드 데이터에 의해 동기화 수집된 이미지 데이터를 결합하여, 식별할 객체의 크기정보를 결정할 수 있으며, 본 발명의 실시예에서 제공되는 포인트 클라우드 데이터의 처리 방법의 구체적인 응용 시나리오에 기반하여, 상기 식별할 객체의 크기 정보를 대략적으로 추정할 수도 있다. 예를 들어, 자율 운전 분야의 경우, 차량 전방의 물체는 차량일 수 있고, 그 일반적인 크기 정보는 4mХ4m라고 결정될 수 있다. 이를 제외하고도, 본 발명의 실시예는 다른 방식에 기반하여 식별할 객체의 크기 정보를 결정할 수도 있으며, 본 발명의 실시예에서는 이에 대해 구체적으로 한정하지 않는다.
본 발명의 실시예에서, 희소 처리 조작은 래스터 행렬 중의 타깃 요소(즉 대응되는 래스터에 타깃 포인트가 존재함을 나타내는 요소)에 대해 적어도 한번의 팽창 처리 조작을 수행하는 것일 수 있고, 여기서 팽창 처리 조작은 래스터 행렬의 좌표 범위가 타깃 시나리오 중의 식별할 객체의 크기보다 작을 경우 수행될 수 있으며, 즉, 한 번 또는 여러 번의 팽창 처리 조작을 통해, 대응되는 래스터에 타깃 포인트가 존재함을 나타내는 요소 범위를 단계적으로 확장하여, 확장 후의 요소 범위가 식별할 객체에 매칭될 수 있도록 함으로써, 위치의 결정을 구현할 수 있다. 또한, 본 발명의 실시예의 희소 처리 조작은 래스터 행렬 중의 타깃 요소에 대해 적어도 한 번의 침식 처리 조작을 수행하는 것일 수도 있고, 여기서 침식 처리 조작은 래스터 행렬의 좌표 범위가 타깃 시나리오 중의 식별할 객체의 크기보다 클 경우 수행될 수 있으며, 즉, 한 번 또는 여러 번의 침식 처리 조작을 통해, 대응되는 래스터에 타깃 포인트가 존재함을 나타내는 요소 범위를 단계적으로 축소하여, 축소 후의 요소 범위가 식별할 객체에 매칭될 수 있도록 함으로써, 위치의 결정을 구현할 수 있다.
구체적인 응용에서, 한 번의 팽창 처리 조작, 여러 번의 팽창 처리 조작, 한 번의 침식 처리 조작, 여러 번의 침식 처리 조작 중 어느 것을 수행할 것인가 하는 것은, 적어도 한 번의 시프트 처리 및 논리 연산 처리를 수행하여 획득된 희소 행렬의 좌표 범위와 상기 타깃 시나리오 중의 식별할 객체의 크기 사이의 차이값이 사전 설정 임계값 범위에 속하는지 여부에 의해 결정되며, 즉, 본 발명에서 사용되는 팽창 또는 침식 처리 조작은 식별할 객체의 크지 정보의 제약에 기반하여 수행되어, 결정된 희소 행렬에 의해 특성화되는 정보가 식별할 객체의 관련 정보에 더욱 부합되도록 한다.
팽창 처리 조작에 기반하여 구현되든 침식 처리 조작에 기반하여 구현되든, 희소 처리의 목적은 생성된 희소 행렬로 하여금 더욱 정확한 식별할 객체의 관련 정보를 나타낼 수 있도록 하는 것임을 이해할 수 있다.
본 발명의 실시예에서, 상기 팽창 처리 조작은 시프트 조작 및 논리 OR 조작에 기반하여 구현될 수 있고, 인버전 후 콘볼루션, 콘볼루션 후 재인버전에 기반하여 구현될 수도 있다. 두 가지 조작은 상이한 방법을 사용하지만, 최종적으로 생성된 희소 행렬의 효과는 일치할 수 있다.
이 밖에, 상기 침식 처리 조작은 시프트 조작 및 논리 AND 조작에 기반하여 구현될 수 있고, 직접 콘볼루션 조작에 기반하여 구현될 수도 있다. 마찬가지로, 두 가지 조작이 상이한 방법을 사용할 지라도, 최종적으로 생성된 희소 행렬의 효과는 일치할 수 있다.
이어서, 팽창 처리 조작을 예로 들어, 도 2a 내지 도 2b에 도시된 희소 행렬을 생성하는 구체적인 예시도를 결합하여, 상기 희소 행렬의 생성 과정을 더 설명하기로 한다.
도 2a는 래스터화 처리 후 획득된 래스터 행렬(인코딩되기 전에 대응됨)의 모식도이고, 상기 래스터 행렬 중의 각 타깃 요소(패딩 효과가 있는 래스터에 대응됨)에 대해 한 번의 8-이웃의 팽창 조작을 수행하여, 도 2b에 도시된 바와 같은 대응되는 희소 행렬을 획득할 수 있다. 본 발명의 실시예는 도 2a의 대응되는 래스터에 타깃 포인트가 존재하는 타깃 요소에 대해, 8-이웃의 팽창 조작을 수행하여, 각 타깃 요소로 하여금 팽창된 후 하나의 요소 집합을 형성하도록 하고, 상기 요소 집합에 대응되는 래스터 너비는 식별할 객체의 크기에 매칭될 수 있음을 알 수 있다.
여기서, 상기 8-이웃의 팽창 조작은 상기 타깃 요소의 가로 좌표 또는 세로 좌표 간의 차이의 절댓값이 모두 1을 초과하지 않는 요소를 결정하는 과정일 수 있고, 래스터 가장자리의 요소를 제외하고, 일반적으로 하나의 요소의 이웃 내에는 모두 8개의 요소(상기 요소 집합에 대응됨)가 존재하며, 팽창 처리 결과 입력은 6개의 타깃 요소의 좌표 정보일 수 있고, 출력은 상기 타깃 요소의 8-이웃 내의 요소 집합의 좌표 정보일 수 있으며, 도 2b에 도시된 바와 같다.
설명해야 할 것은, 실제 응용에서는 상기 8-이웃의 팽창 조작을 수행할 수 있는 외에도, 4-이웃의 팽창 조작을 수행할 수도 있으며, 후자 및 다른 팽창 조작에 대해 여기에서는 구체적으로 한정하지 않는다. 이를 제외하고도, 본 발명의 실시예는 여러 번의 팽창 조작을 수행할 수도 있고, 예를 들어, 도 2b에 도시된 팽창 결과를 토대로, 팽창 조작을 더 수행하여, 더 큰 요소 집합 범위의 희소 행렬을 획득하며, 여기서 상세한 설명을 생략한다.
본 발명의 실시예에서는 생성된 희소 행렬에 기반하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정할 수 있다. 본 발명의 실시예는 하기와 같은 두 개의 측면을 통해 구체적으로 구현될 수 있다.
제1 측면: 여기에서는 래스터 행렬 중 각 요소와 각 타깃 포인트 좌표 범위 정보 사이의 대응 관계에 기반하여, 식별할 객체의 위치 범위를 결정할 수 있고, 구체적으로 하기와 같은 단계를 통해 구현될 수 있다.
단계 1에서, 래스터 행렬 중 각 요소와 각 타깃 포인트의 좌표 범위 정보 사이의 대응 관계에 기반하여, 생성된 희소 행렬 중의 각 타깃 요소에 대응되는 타깃 점의 좌표 정보를 결정한다.
단계 2에서, 희소 행렬 중의 각 타깃 요소에 대응되는 타깃 포인트의 좌표 정보를 조합하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정한다.
여기서, 상기 래스터화 처리에 관한 관련 설명에 기반하면, 래스터 행렬 중의 각 타깃 요소는 다수의 타깃 포인트에 대응될 수 있음을 알 수 있으며, 이와 같이, 관련 요소와 다수의 타깃 포인트에 대응되는 타깃 포인트 좌표 범위 정보는 미리 결정될 수 있다. 여기서, 여전히 N*M 차원의 래스터 행렬을 예로 들며, 타깃 포인트가 존재하는 타깃 요소는 P개의 타깃 포인트에 대응될 수 있고, 각 포인트의 좌표는 (Xi, Yi)이며, i는 0 내지 P-1에 속하고, Xi, Yi는 타깃 포인트가 래스터 행렬에서의 위치를 표시하며, 0<=Xi<N, 0<=Yi<M이다.
이렇게, 희소 행렬이 생성된 후, 미리 결정된 상기 각 요소와 각 타깃 포인트 좌표 범위 정보 사이의 대응 관계에 기반하여, 상기 희소 행렬 중의 각 타깃 요소에 대응되는 타깃 포인트의 좌표 정보를 결정할 수 있으며, 즉, 역래스터화 처리 조작이 수행된다.
설명해야 할 것은, 희소 행렬은 래스터 행렬 중 대응되는 래스터에 타깃 포인트가 존재함을 나타내는 요소에 대해 희소 처리를 수행하여 획득되기 때문에, 여기에서의 희소 행렬 중의 타깃 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재함을 나타낼 수 있다.
상기 역래스터화 처리 과정에 대한 이해의 편의를 위해, 아래에서는 하나의 예시를 결합하여 구체적으로 설명할 수 있다. 여기서, 희소 행렬이 지시하는 포인트 A'(0, 0) 및 포인트 B'(0, 0)가 제1 행 제1 열 래스터에 위치하고, 포인트 C' (2, 3)가 제2 행 제3 열의 래스터에 위치하는 것을 예로 들며, 역래스터화 처리를 수행하는 과정에서, 첫 번째 래스터 (0, 0)는 중심을 이용하여 데카르트 좌표계로 매핑된 후 (0.5m, 0.5m)를 획득할 수 있으며, 즉 (0.5m, 0.5m) 및 (2.5m, 3.5m)를 매핑 후의 좌표 정보로 결정할 수 있고, 이와 같이, 매핑 후의 좌표 정보를 조합하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정할 수 있다.
본 발명의 실시예는 상기 희소 행렬과 타깃 검출 결과의 근사 관계에 기반하여 식별할 객체의 위치 범위를 결정할 수 있을 뿐 만 아니라, 트레이닝된 콘볼루션 신경망에 기반하여 식별할 객체의 위치 범위를 결정할 수도 있다.
제2 측면: 본 발명의 실시예에서는 먼저 이미 트레이닝된 콘볼루션 신경망에 기반하여, 생성된 희소 행렬에 대해 적어도 한 번의 콘볼루션 처리를 수행할 수 있고, 다음 콘볼루션 처리하여 획득된 콘볼루션 결과에 기반하여 식별할 객체의 위치 범위를 결정할 수 있다.
콘볼루션 신경망을 이용하여 타깃 검출을 구현하는 관련 기술에서는 모든 입력 데이터를 순회하고, 입력 포인트의 이웃 포인트를 차례대로 찾아 콘볼루션 연산을 수행하여, 마지막으로 모든 이웃 포인트의 집합을 출력해야 하지만, 본 발명의 실시예에서 제공되는 포인트 클라우드 데이터의 처리 방법은 희소 행렬 중의 타깃 요소를 신속하게 순회하여 유효 포인트의 위치(즉 0-1 행렬에서 값이 1인 요소)를 찾아 콘볼루션 연산을 수행하기만 하면 되므로, 콘볼루션 신경망의 계산 과정을 크게 가속화시키고, 식별할 객체의 위치 범위를 결정하는 효율을 향상시킨다.
희소 처리 조작이 본 발명의 실시예에서 제공되는 포인트 클라우드 데이터의 처리 방법에 대한 핵심적인 작용을 고려하면, 아래에서는 하기와 같은 두 개의 측면을 통해 각각 설명할 수 있다.
제1 측면: 희소 처리 조작이 팽창 처리 조작일 경우, 본 발명의 실시예는 시프트 처리 및 논리 연산을 결합하여 구현될 수 있고, 인버전 후 콘볼루션, 콘볼루션 후 재인버전에 기반하여 구현될 수도 있다.
첫째, 본 발명의 실시예에서는 적어도 한 번의 시프트 처리 및 논리 OR 연산에 기반하여, 한 번 또는 여러 번의 팽창 처리 조작을 수행할 수 있으며, 구체적인 구현 과정에서, 구체적인 팽창 처리 조작의 횟수는 타깃 시나리오 중의 식별할 객체의 크기 정보를 결합하여 결정될 수 있다.
여기서, 최초 팽창 처리 조작에 대해, 대응되는 래스터에 타깃 포인트가 존재함을 나타내는 타깃 요소에 대해 다수의 사전 설정 방향의 시프트 처리를 수행하여, 대응되는 다수의 시프트 후의 래스터 행렬을 획득할 수 있고, 다음, 래스터 행렬 및 최초 팽창 처리 조작에 대응되는 다수의 시프트 후의 래스터 행렬에 대해 논리 OR 연산을 수행할 수 있으며, 이로써 최초 팽창 처리 조작 후의 희소 행렬을 획득할 수 있고, 여기서, 획득된 희소 행렬의 좌표 범위가 식별할 객체의 크기보다 작은지 여부, 및 대응되는 차이값이 충분히 큰지(예컨대, 사전 설정 임계값보다 큰지) 여부를 판정할 수 있으며, 클 경우, 상기 방법에 따라 최초 팽창 처리 조작 후의 희소 행렬 중의 타깃 요소에 대해 다수의 사전 설정 방향의 시프트 처리 및 논리 OR 연산을 수행하여, 두 번째 팽창 처리 조작 후의 희소 행렬을 획득할 수 있고, 이와 같이, 최신 획득된 희소 행렬의 좌표 범위와 타깃 시나리오 중의 식별할 객체의 크기 사이의 차이값이 사전 설정 임계값 범위에 속한다고 판정될 때까지 수행하여, 희소 행렬을 결정한다.
설명해야 할 것은, 어느 회차의 팽창 처리 조작 후 획득된 희소 행렬이든지 막론하고, 모두 본질적으로 하나의 0-1 행렬이다. 팽창 처리 조작 횟수의 증가에 따라, 획득된 희소 행렬 중 대응되는 래스터에 타깃 포인트가 존재함을 나타내는 타깃 요소의 수량도 증가되고, 0-1 행렬에 의해 매핑된 래스터는 너비 정보를 가지므로, 여기서, 희소 행렬 중의 각 타깃 요소에 대응되는 좌표 범위를 이용하여, 타깃 시나리오 중의 식별할 객체의 크기에 도달하였는지 여부를 검증할 수 있으므로, 후속되는 타깃 검출 응용의 정확성을 향상시킨다.
여기서, 상기 논리 OR 연산은 하기와 같은 단계에 따라 구현될 수 있다.
단계 1에서, 다수의 시프트 후의 래스터 행렬에서 하나의 시프트 후의 래스터 행렬을 선택한다.
단계 2에서, 금번 팽창 처리 조작 전의 래스터 행렬과 선택된 시프트 후의 래스터 행렬에 대해 논리 OR 연산을 수행하여, 연산 결과를 획득한다.
단계 3에서, 모든 래스터 행렬이 선택 완료될 때까지, 시프트 후의 다수의 래스터 행렬에서 연산에 참여하지 않은 래스터 행렬을 선택하고, 선택된 래스터 행렬과 가장 최근의 연산 결과에 대해 논리 OR 연산을 수행하는 단계를 반복 수행하여, 금번 팽창 처리 조작 후의 희소 행렬을 획득한다.
여기서, 먼저 시프트 후의 다수의 래스터 행렬에서 하나의 시프트 후의 래스터 행렬을 선택할 수 있고, 이렇게, 금번 팽창 처리 조작 전의 래스터 행렬과 선택된 시프트 후의 래스터 행렬에 대해 논리 OR 연산을 수행하여 연산 결과를 획득할 수 있으며, 여기서, 모든 시프트 후의 래스터 행렬이 선택 완료될 때까지, 시프트 후의 다수의 래스터 행렬에서 연산에 참여하지 않은 래스터 행렬을 선택하고, 논리 OR 연산에 참여시키는 단계를 반복 수행할 수 있으며, 이로써 금번 팽창 처리 조작 후의 희소 행렬을 획득할 수 있다.
본 발명의 실시예의 팽창 처리 조작은 타깃 요소를 중심으로 하는 4-이웃의 팽창 조작일 수 있고, 타깃 요소를 중심으로 하는 8-이웃의 팽창 조작일 수도 있으며, 다른 이웃 처리 조작 방식일 수도 있고, 구체적인 응용에서는 식별할 객체의 크기 정보에 기반하여, 대응되는 이웃 처리 조작 방식을 선택할 수 있으며, 여기서 구체적으로 한정하지 않는다.
설명해야 할 것은, 상이한 이웃 처리 조작 방식에 대해, 대응되는 시프트 처리의 사전 설정 방향은 동일하지 않으며, 4-이웃의 팽창 조작을 예로 들면, 래스터 행렬에 대해, 4개의 사전 설정 방향에 따라 각각 시프트 처리를 수행할 수 있으며, 이들은 각각 왼쪽 시프트, 오른쪽 시프트, 위쪽 시프트, 및 아래쪽 시프트이고, 8-이웃의 팽창 조작을 예로 들면, 래스터 행렬에 대해, 8개의 사전 설정 방향에 따라 각각 시프트 처리를 수행할 수 있으며, 이들은 각각 왼쪽 시프트, 오른쪽 시프트, 위쪽 시프트, 아래쪽 시프트, 왼쪽 시프트를 전제로 하는 위쪽 시프트 및 아래쪽 시프트, 및 오른쪽 시프트를 전제로 하는 위쪽 시프트 및 아래쪽 시프트이다. 이 밖에, 후속되는 논리 OR 연산에 적응하기 위해, 다수의 시프트 방향에 기반하여 시프트 후의 래스터 행렬을 결정한 후, 먼저 한 번의 논리 OR 연산을 수행하고, 논리 OR 연산 결과에 기반하여 다수의 시프트 방향의 시프트 조작을 수행한 다음, 다시 다음 번의 논리 OR 연산을 수행할 수 있으며, 이와 같이, 팽창 처리 후의 희소 행렬을 획득할 때까지 수행한다.
상기 팽창 처리 조작에 대한 이해의 편의를 위해, 먼저 도 2a에 도시된 인코딩 전의 래스터 행렬을 도 2c에 도시된 인코딩 후의 래스터 행렬로 변환시킨 후, 도 3a 내지 도 3b를 결합하여 최초 팽창 처리 조작을 예시적으로 설명할 수 있다.
도 2c에 도시된 래스터 행렬과 같이, 상기 래스터 행렬은 0-1 행렬로, 행렬에서 모든 1의 위치는 타깃 요소가 위치한 래스터를 표시할 수 있고, 행렬에서 모든 0은 배경을 표시할 수 있다.
본 발명의 실시예에서는 먼저 행렬 시프트를 사용하여 0-1 행렬에서 요소값이 1인 모든 요소의 이웃을 결정할 수 있다. 여기서, 4개의 사전 설정 방향의 시프트 처리를 정의할 수 있으며, 각각 왼쪽 시프트, 오른쪽 시프트, 위쪽 시프트, 아래쪽 시프트이다. 여기서, 도 3a에 도시된 바와 같이, 왼쪽 시프트는 0-1 행렬에서 요소값이 1인 모든 요소에 대응되는 열 좌표에서 1을 덜어내는 것이고, 오른쪽 시프트는 0-1 행렬에서 요소값이 1인 모든 요소에 대응되는 열 좌표에 1을 가하는 것이며, 위쪽 시프트는 0-1 행렬에서 요소값이 1인 모든 요소에 대응되는 행 좌표에서 1을 덜어내는 것이고, 아래쪽 시프트는 0-1 행렬에서 요소값이 1인 모든 요소에 대응되는 행 좌표에 1을 가하는 것이다.
다음, 본 발명의 실시예는 행렬 논리 OR 조작을 사용하여 모든 이웃의 결과를 병합할 수 있다. 행렬 논리 OR 조작, 즉 크기가 동일한 두개 그룹의 0-1 행렬 입력이 수신될 경우, 두개 그룹의 행렬의 동일한 위치의 0-1에 대해 차례로 논리 OR 조작을 수행하고, 획득된 결과는 하나의 새로운 0-1 행렬로 구성되어 출력으로 사용되며, 도 3b에 도시된 것은 하나의 논리 OR 연산의 구체적인 예시이다.
논리 OR 조작을 구현하는 구체적인 과정에서, 왼쪽 시프트 후의 래스터 행렬, 오른쪽 시프트 후의 래스터 행렬, 위쪽 시프트 후의 래스터 행렬, 및 아래쪽 시프트 후의 래스터 행렬을 차례로 선택해여 논리 OR의 연산에 참여시킬 수 있다. 예를 들어, 먼저 래스터 행렬과 왼쪽 시프트 후의 래스터 행렬에 대해 논리 OR 연산을 수행할 수 있고, 획득된 연산 결과는 오른쪽 시프트 후의 래스터 행렬과 다시 논리 OR 연산이 수행될 수 있으며, 획득된 연결 결과는 위쪽 시프트 후의 래스터 행렬과 다시 논리 OR 연산이 수행될 수 있고, 획득된 연산 결과는 아래쪽 시프트 후의 래스터 행렬과 다시 논리 OR 연산이 수행됨으로써, 최초 팽창 처리 조작 후의 희소 행렬이 획득된다.
설명해야 할 것은, 상기 평행 이동 후의 래스터 행렬의 선택 순서는 하나의 구체적인 예시일 뿐, 실제 응용에서는 다른 방식과 결합되어 선택될 수도 있으며, 평행 이동 조작의 대칭성을 고려하면, 여기에서는 위쪽 시프트와 아래쪽 시프트를 페어링한 후 논리 OR 연산을 수행하고, 왼쪽 시프트와 오른쪽 시프트를 페어링한 후 논리 OR 연산을 수행할 수 있으며, 두 개의 논리 OR 연산은 동기화 수행될 수 있으므로, 계산 시간을 절약할 수 있다.
둘째, 본 발명의 실시예에서는 콘볼루션 및 두 번의 인버전 처리를 결합하여 팽창 처리 조작을 구현할 수 있으며, 구체적으로 하기와 같은 단계를 통해 구현될 수 있다.
단계 1에서, 현재 팽창 처리 조작 전의 래스터 행렬 중의 요소에 대해 제1 인버전 조작을 수행하여, 제1 인버전 조작 후의 래스터 행렬을 획득한다.
단계 2에서, 제1 사전 설정 콘볼루션 커널에 기반하여 제1 인버전 조작 후의 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득하고, 사전 설정 희소성은 타깃 시나리오 중의 식별할 객체의 크기 정보에 의해 결정된다.
단계 3에서, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬 중의 요소에 대해 제2 인버전 조작을 수행하여, 희소 행렬을 획득한다.
본 발명의 실시예는 인버전 후 콘볼루션, 콘볼루션 후 재인버전 조작을 통해 팽창 처리 조작을 구현할 수 있고, 획득된 희소 행렬은 식별할 객체의 관련 정보를 어느 정도로 나타낼 수도 있으며, 이 밖에, 상기 콘볼루션 조작이 후속되는 타깃 검출을 수행하는 등 응용에서 사용되는 콘볼루션 신경망과 자동으로 결합될 수 있는 것을 고려하면, 검출 효율을 어느 정도로 향상시킬 수 있다.
본 발명의 실시예에서, 인버전 조작은 콘볼루션 연산에 의해 구현될 수 있고, 다른 인버전 조작 방식에 의해 구현될 수도 있다. 후속되는 응용 네트워크(예컨대, 타깃 검출을 수행하는데 사용되는 콘볼루션 신경망)에 대한 적용의 편의를 위해, 여기에서는 콘볼루션 연산을 사용하여 구체적으로 구현될 수 있으며, 아래에는 상기 제1 인버전 조작을 구체적으로 설명하기로 한다.
여기서, 제2 사전 설정 콘볼루션 커널에 기반하여, 금번 팽창 처리 조작 전의 래스터 행렬에서 타깃 요소를 제외한 다른 요소에 대해 콘볼루션 연산을 수행하여, 제1 인버전 요소를 획득할 수 있고, 제2 사전 설정 콘볼루션 커널에 기반하여, 금번 팽창 처리 조작 전의 래스터 행렬 중의 타깃 요소에 대해 콘볼루션 연산을 수행하여, 제2 인버전 요소를 획득할 수도 있으며, 상기 제1 인버전 요소 및 제2 인버전 요소에 기반하여, 제1 인버전 조작 후의 래스터 행렬을 획득할 수 있다.
제2 인버전 조작에 관한 구현 과정은 상기 제1 인버전 조작의 구현 과정을 참조할 수 있으며, 여기서 상세한 설명을 생략한다.
본 발명의 실시예에서, 제1 사전 설정 콘볼루션 커널을 이용하여 제1 인버전 조작 후의 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행함으로써, 사전 설정 희소성을 갖는 래스터 행렬을 획득할 수 있다. 팽창 처리 조작이 래스터 행렬 중의 타깃 요소 수량을 증가시키는 수단으로 사용될 수 있으면, 상기 콘볼루션 연산은 래스터 행렬 중의 타깃 요소 수량을 감소시키는 과정(침식 처리 조작에 대응됨)으로 간주될 수 있으며, 본 발명의 실시예의 콘볼루션 연산은 제1 인버전 조작 후의 래스터 행렬에 대해 수행되므로, 인버전 조작과 침식 처리 조작을 결합한 후, 인버전 조작을 재수행하여, 상기 팽창 처리 조작과 동일한 등가적 조작을 구현한다.
여기서, 최초 콘볼루션 연산에 대해, 제1 인버전 조작 후의 래스터 행렬과 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 최초 콘볼루션 연산 후의 래스터 행렬을 획득하고, 최초 콘볼루션 연산 후의 래스터 행렬의 희소성이 사전 설정 희소성에 도달하지 못함이 판정된 후, 최초 콘볼루션 연산 후의 래스터 행렬과 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 재수행하여, 두 번째 콘볼루션 연산 후의 래스터 행렬을 획득할 수 있으며, 이와 같이, 사전 설정 희소성을 갖는 래스터 행렬을 결정할 수 있을 때까지 수행한다.
여기서, 상기 희소성은 래스터 행렬 중 타깃 요소와 비타깃 요소의 비율 분포에 의해 결정될 수 있으며, 타깃 요소 비율이 클수록 이에 대응되게 특성화되는 식별할 객체의 크기 정보가 더 크고, 반대로 타깃 요소 비율이 작을수록, 이에 대응되게 특성화되는 식별할 객체의 크기 정보가 더 작으며, 본 발명의 실시예는 비율 분포가 사전 설정 희소성에 도달할 때 콘볼루션 연산을 정지할 수 있다.
본 발명의 실시예의 콘볼루션 연산은 한 번 또는 여러 번 수행될 수 있고, 여기서 최초 콘볼루션 연산의 구체적인 연산 과정으로 설명할 수 있으며, 하기와 같은 단계를 포함한다.
단계 1에서, 최초 콘볼루션 연산에 대해, 제1 사전 설정 콘볼루션 커널의 크기 및 사전 설정 스텝 크기에 따라, 제1 인버전 조작 후의 래스터 행렬에서 각 래스터 서브 행렬을 선택한다.
단계 2에서, 선택된 각 래스터 서브 행렬에 대해, 상기 래스터 서브 행렬과 가중치 행렬에 대해 곱셈 연산을 수행하여, 제1 연산 결과를 획득하고, 제1 연산 결과와 바이어스에 대해 덧셈 연산을 수행하여, 제2 연산 결과를 획득한다.
단계 3에서, 각 래스터 서브 행렬에 대응되는 제2 연산 결과에 기반하여, 최초 콘볼루션 연산 후의 래스터 행렬을 결정한다.
여기서, 순회 방식으로 제1 인버전 조작 후의 래스터 행렬을 순회할 수 있고, 이렇게 순회된 각 래스터 서브 행렬에 대해, 래스터 서브 행렬과 가중치 행렬에 대해 곱셈 연산을 수행하여, 제1 연산 결과를 획득하고, 제1 연산 결과와 바이어스에 대해 덧셈 연산을 수행하여, 제2 연산 결과를 획득할 수 있으며, 이렇게, 각 래스터 서브 행렬에 대응되는 제2 연산 결과를 대응되는 행렬 요소에 조합하여, 최초 콘볼루션 연산 후의 래스터 행렬을 획득할 수 있다.
상기 팽창 처리 조작에 대한 이해의 편의를 위해, 여기에서는 여전히 도 2c에 도시된 인코딩 후의 래스터 행렬을 예로 들며, 도 4a 내지 도 4b를 결합하여 팽창 처리 조작을 예시적으로 설명한다.
여기서, 하나의 1*1의 콘볼루션 커널(즉 제2 사전 설정 콘볼루션 커널)을 이용하여 제1 인버전 조작을 구현할 수 있고, 상기 제2 사전 설정 콘볼루션 커널의 가중치는 -1이며, 바이어스는 1이고, 이때, 가중치와 바이어스를 콘볼루션 공식인 {출력=입력된 래스터 행렬*가중치+바이어스}에 대입하며, 래스터 행렬 중의 타깃 요소가 입력이고 그 값이 1에 대응되면, 출력=1*-1+1=0이다. 래스터 행렬 중의 비타깃 요소가 입력이고, 그 값이 0에 대응되면, 출력=0*-1+1=1이다. 이와 같이, 1*1 콘볼루션 커널이 입력에 작용하여, 0-1 행렬이 인버전되도록 할 수 있고, 요소값 0은 1로 변하며, 요소값 1은 0으로 변하고, 도 4a에 도시된 바와 같다.
상기 침식 처리 조작에 대해, 구체적인 응용에서는 하나의 3*3 콘볼루션 커널(즉 제1 사전 설정 콘볼루션 커널) 및 하나의 선형 정류 함수(Rectified Linear Unit, ReLU)를 이용하여 구현될 수 있다. 상기 제1 사전 설정 콘볼루션 커널 가중치 행렬에 포함되는 각 가중치는 모두 1이고, 바이어스는 8이며, 이 경우, 공식 {출력=ReLU(입력된 제1 인버전 조작 후의 래스터 행렬*가중치+바이어스)}을 이용하여 상기 침식 처리 조작을 구현할 수 있다.
여기서, 입력된 3*3의 래스터 서브 행렬 내 모든 요소의 값이 모두 1일 때만, 출력=ReLU(9-8)=1이고, 그렇지 않을 경우, 출력=ReLU(입력된 래스터 서브 행렬*1-8)=0이며, 여기서, (입력된 래스터 서브 행렬*1-8)<0이고, 도 4b는 콘볼루션 연산 후의 래스터 행렬을 도시한다.
여기서, 제2 사전 설정 콘볼루션 커널이 구비되는 콘볼루션 네트워크가 한 계층씩 내포될 때마다 한 번의 침식 조작을 중첩할 수 있으며, 이로써 희소성이 고정된 래스터 행렬을 획득할 수 있고, 재차 인버전 조작하면 한 번의 팽창 처리 조작과 동일할 수 있으므로, 희소 행렬의 생성을 구현할 수 있다.
제2 측면: 희소 처리 조작이 침식 처리 조작일 경우, 본 발명의 실시예는 시프트 처리 및 논리 연산을 결합하여 구현될 수 있고, 콘볼루션 연산에 기반하여 구현될 수도 있다.
첫째, 본 발명의 실시예에서는 적어도 한 번의 시프트 처리 및 논리 AND 연산에 기반하여, 한 번 또는 여러 번의 침식 처리 조작을 수행할 수 있으며, 구체적인 구현 과정에서, 구체적인 침식 처리 조작의 횟수는 타깃 시나리오 중의 식별할 객체의 크기 정보를 결합하여 결정될 수 있다.
제1 측면에서 시프트 처리 및 논리 OR 연산에 기반하여 팽창 처리를 구현하는 것과 유사한 것은, 침식 처리 조작을 수행하는 과정에서도 먼저 래스터 행렬의 시프트 처리를 수행할 수 있는 것이고, 상기 팽창 처리와 상이한 점은, 여기서의 논리 연산은 시프트 후의 래스터 행렬에 대해 논리 AND의 연산이 수행되는 것일 수 있다는 것이다. 시프트 처리 및 논리 AND 연산에 기반하여 침식 처리 조작을 구현하는 과정에 관한 내용은 구체적으로 상기 설명된 내용을 참조하며, 여기서 상세한 설명을 생략한다.
마찬가지로, 본 발명의 실시예의 침식 처리 조작은 타깃 요소를 중심으로 하는 4-이웃 침식일 수 있고, 타깃 요소를 중심으로 하는 8-이웃 침식일 수도 있으며, 다른 이웃 처리 조작 방식일 수도 있고, 구체적인 응용에서는 식별할 객체의 크기 정보에 기반하여, 대응되는 이웃 처리 조작 방식을 선택할 수 있으며, 여기서 구체적으로 한정하지 않는다.
둘째, 본 발명의 실시예에서는 콘볼루션 처리를 결합하여 침식 처리 조작을 구현할 수 있으며, 구체적으로 하기와 같은 단계를 통해 구현될 수 있다.
단계 1에서, 제3 사전 설정 콘볼루션 커널에 기반하여 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득하고, 사전 설정 희소성은 타깃 시나리오 중의 식별할 객체의 크기 정보에 의해 결정된다.
단계 2에서, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 식별할 객체에 대응되는 희소 행렬로 결정한다.
상기 콘볼루션 연산은 래스터 행렬 중의 타깃 요소 수량을 감소시키는 과정, 즉 침식 처리 과정으로 간주될 수 있다. 여기서, 최초 콘볼루션 연산에 대해, 래스터 행렬과 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 최초 콘볼루션 연산 후의 래스터 행렬을 획득하고, 최초 콘볼루션 연산 후의 래스터 행렬의 희소성이 사전 설정 희소성에 도달하지 못함이 판정된 후, 최초 콘볼루션 연산 후의 래스터 행렬과 제3 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 재수행하여, 두 번째 콘볼루션 연산 후의 래스터 행렬을 획득할 수 있으며, 이와 같이, 사전 설정 희소성을 갖는 래스터 행렬을 결정할 수 있을 때까지 수행하여, 식별할 객체에 대응되는 희소 행렬을 획득한다.
본 발명의 실시예의 콘볼루션 연산은 한 번 또는 여러 번 수행될 수 있고, 콘볼루션 연산에 관한 구체적인 과정은 상기 제1 측면에서 콘볼루션 및 인버전에 기반하여 팽창 처리를 구현하는 관련 설명을 참조하며, 여기서 상세한 설명을 생략한다.
설명해야 할 것은, 구체적인 응용에서, 상이한 데이터 처리 비트폭의 콘볼루션 신경망을 사용하여 희소 행렬의 생성을 구현할 수 있으며, 예를 들어, 4 비트(bit)를 사용하여 네트워크의 입력, 출력 및 계산에 사용되는 파라미터, 예를 들어, 래스터 행렬의 요소값(0 또는 1), 가중치, 바이어스 등을 나타낼 수 있고, 이를 제외하고도, 8bit로 특성화하여 네트워크 처리 비트폭에 적응시켜, 연산 효율을 향상시킬 수도 있다.
본 기술분야의 통상의 기술자라면 구체적인 실시형태의 상기 방법에서, 각 단계의 작성 순서가 엄격한 수행 순서를 의미하지 않으며 구현 과정에 대한 임의의 한정을 구성하지 않음을 이해할 수 있고, 각 단계의 구체적인 수행 순서는 그 기능 및 가능한 내적 논리에 의해 결정되어야 한다.
동일한 발명 구상에 기반하여, 본 발명의 실시예는 포인트 클라우드 데이터의 처리 방법에 대응되는 포인트 클라우드 데이터의 처리 장치를 더 제공하고, 본 발명의 실시예의 장치가 과제를 해결하는 원리는 본 발명의 실시예의 상기 포인트 클라우드 데이터의 처리 방법과 유사하므로, 장치의 구현은 방법의 구현을 참조할 수 있으며, 중복되는 부분은 여기서 상세한 설명을 생략한다
실시예 2
도 5를 참조하면, 이는 본 발명의 실시예에서 제공되는 포인트 클라우드 데이터의 처리 장치의 아키텍처 모식도이고, 장치는 획득 모듈(501), 처리 모듈(502), 생성 모듈(503) 및 결정 모듈(504)을 포함한다. 여기서,
획득 모듈(501)은, 타깃 시나리오에 대응되는 포인트 클라우드 데이터를 획득하고;
처리 모듈(502)은, 획득된 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하며, 래스터 행렬 중 각 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재하는지 여부를 나타내고, 타깃 포인트는 포인트 클라우드 데이터에 대응되는 임의의 하나의 포인트를 나타내며;
생성 모듈(503)은, 래스터 행렬 및 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 식별할 객체에 대응되는 희소 행렬을 생성하고;
결정 모듈(504)은, 생성된 희소 행렬에 기반하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정한다.
상기 포인트 클라우드 데이터의 처리 장치를 사용하여, 먼저 포인트 클라우드 데이터 중의 각 타깃 포인트를 대응되는 래스터에 매핑할 수 있고, 일부 래스터는 하나 또는 다수의 타깃 포인트에 대응되며, 일부 래스터는 대응되는 타깃 포인트가 없고, 이렇게, 상기 매핑 관계에 의해 결정된 래스터 행렬은 표준화된 0-1행렬일 수 있으며, 상기 0-1 행렬을 관련 처리 조작에 참여시키면 대응되는 희소 행렬을 결정할 수 있다. 상기 처리 조작은 타깃 시나리오 중의 식별할 객체의 크기 정보를 결합하여 수행되기 때문에, 처리 조작을 거쳐 생성된 희소 행렬에서 요소값이 1인 요소는 식별할 객체의 관련 정보를 어느 정도로 나타낼 수 있고, 여기에서는 타깃 시나리오에서의 식별할 객체의 위치를 결정할 수 있다.
일 실시형태에서, 생성 모듈(503)은,
래스터 행렬 및 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 래스터 행렬 중의 타깃 요소에 대해 적어도 한 번의 팽창 처리 조작 또는 침식 처리 조작을 수행하여, 식별할 객체에 대응되는 희소 행렬을 생성하는 단계에 따라,
래스터 행렬 및 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 식별할 객체에 대응되는 희소 행렬을 생성하고;
타깃 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재함을 특성화한다.
일 실시형태에서, 생성 모듈(503)은, 시프트 처리 및 논리 연산 처리에 따라 팽창 처리 조작 또는 침식 처리 조작을 수행하며,
희소 행렬의 좌표 범위와 식별할 객체의 크기 사이의 차이값은 사전 설정 임계값 범위에 속한다.
일 실시형태에서, 생성 모듈(503)은,
금번 팽창 처리 조작 전의 래스터 행렬 중의 요소에 대해 제1 인버전 조작을 수행하여, 제1 인버전 조작 후의 래스터 행렬을 획득하는 단계;
제1 사전 설정 콘볼루션 커널에 기반하여 제1 인버전 조작 후의 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득하는 단계 - 사전 설정 희소성은 타깃 시나리오 중의 식별할 객체의 크기 정보에 의해 결정됨 - ; 및
적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬 중의 요소에 대해 제2 인버전 조작을 수행하여, 희소 행렬을 획득하는 단계에 따라,
래스터 행렬 및 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 래스터 행렬 중의 요소에 대해 적어도 한 번의 팽창 처리 조작을 수행하여, 식별할 객체에 대응되는 희소 행렬을 생성한다.
일 실시형태에서, 생성 모듈(503)은,
제2 사전 설정 콘볼루션 커널에 기반하여, 금번 팽창 처리 조작 전의 래스터 행렬에서 타깃 요소를 제외한 다른 요소에 대해 콘볼루션 연산을 수행하여, 제1 인버전 요소를 획득하는 단계;
제2 사전 설정 콘볼루션 커널에 기반하여, 금번 팽창 처리 조작 전의 래스터 행렬 중의 타깃 요소에 대해 콘볼루션 연산을 수행하여, 제2 인버전 요소를 획득하는 단계; 및
제1 인버전 요소 및 제2 인버전 요소에 기반하여, 제1 인버전 조작 후의 래스터 행렬을 획득하는 단계에 따라,
금번 팽창 처리 조작 전의 래스터 행렬 중의 요소에 대해 제1 인버전 조작을 수행하여, 제1 인버전 조작 후의 래스터 행렬을 획득한다.
일 실시형태에서, 생성 모듈(503)은,
최초 콘볼루션 연산에 대해, 제1 인버전 조작 후의 래스터 행렬과 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 최초 콘볼루션 연산 후의 래스터 행렬을 획득하는 단계; 및
지난 번 콘볼루션 연산 후의 래스터 행렬과 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 금번 콘볼루션 연산 후의 래스터 행렬을 획득하는 단계를, 사전 설정 희소성을 갖는 래스터 행렬을 획득할 때까지 반복 수행하는 단계에 따라,
제1 사전 설정 콘볼루션 커널에 기반하여 제1 인버전 조작 후의 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득한다.
일 실시형태에서, 제1 사전 설정 콘볼루션 커널은 가중치 행렬 및 상기 가중치 행렬에 대응되는 바이어스를 가지고; 생성 모듈(503)은,
최초 콘볼루션 연산에 대해, 제1 사전 설정 콘볼루션 커널의 크기 및 사전 설정 스텝 크기에 따라, 제1 인버전 조작 후의 래스터 행렬에서 각 래스터 서브 행렬을 선택하는 단계;
선택된 각 상기 래스터 서브 행렬에 대해, 상기 래스터 서브 행렬과 가중치 행렬에 대해 콘볼루션 연산을 수행하여, 제1 연산 결과를 획득하고, 제1 연산 결과와 바이어스에 대해 덧셈 연산을 수행하여, 제2 연산 결과를 획득하는 단계; 및
각 래스터 서브 행렬에 대응되는 제2 연산 결과에 기반하여, 최초 콘볼루션 연산 후의 래스터 행렬을 결정하는 단계에 따라,
최초 콘볼루션 연산에 대해, 제1 인버전 조작 후의 래스터 행렬과 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 최초 콘볼루션 연산 후의 래스터 행렬을 획득한다.
일 실시형태에서, 생성 모듈(503)은,
제3 사전 설정 콘볼루션 커널에 기반하여 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득하는 단계 - 사전 설정 희소성은 타깃 시나리오 중의 식별할 객체의 크기 정보에 의해 결정됨 - ; 및
적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 식별할 객체에 대응되는 희소 행렬로 결정하는 단계에 따라,
래스터 행렬 및 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 래스터 행렬 중의 요소에 대해 적어도 한 번의 침식 처리 조작을 수행하여, 식별할 객체에 대응되는 희소 행렬을 생성한다.
일 실시형태에서, 처리 모듈(502)은,
획득된 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬 및 상기 래스터 행렬 중 각 요소와 각 타깃 포인트 좌표 범위 정보 사이의 대응 관계를 획득하는 단계에 따라,
획득된 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하고;
결정 모듈(504)은,
래스터 행렬 중 각 요소와 각 타깃 포인트 좌표 범위 정보 사이의 대응 관계에 기반하여, 생성된 희소 행렬 중의 각 타깃 요소에 대응되는 타깃 포인트의 좌표 정보를 결정하는 단계; 및
희소 행렬 중의 각 타깃 요소에 대응되는 타깃 포인트의 좌표 정보를 조합하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정하는 단계에 따라,
생성된 희소 행렬에 기반하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정한다.
일 실시형태에서, 결정 모듈(504)은,
이미 트레이닝된 콘볼루션 신경망에 기반하여, 생성된 희소 행렬 중의 각 타깃 요소에 대해 적어도 한 번의 콘볼루션 처리를 수행하여, 콘볼루션 결과를 획득하는 단계; 및
콘볼루션 결과에 기반하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정하는 단계에 따라,
생성된 희소 행렬에 기반하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정한다.
장치의 각 모듈의 처리 프로세스, 및 각 모듈 사이의 인터랙션 프로세스에 관한 설명은 상기 방법 실시예의 관련 설명을 참조할 수 있으며, 여기에서 더이상 설명하지 않는다.
실시예 3
도 6에 도시된 바와 같이, 본 발명의 실시예는 프로세서(601), 메모리(602) 및 버스(603)를 포함하는 전자 기기를 더 제공한다. 메모리(602)에는 프로세서(601)에 의해 실행 가능한 기계 판독 가능 명령(도 5에 도시된 바와 같은 포인트 클라우드 데이터의 처리 장치에서, 획득 모듈(501), 처리 모듈(502), 생성 모듈(503) 및 결정 모듈(504)에 의해 대응되게 실행되는 명령)이 저장되고, 전자 기기가 실행될 경우, 프로세서(601)와 메모리(602) 사이는 버스(603)를 통해 통신하며, 기계 판독 가능 명령어가 프로세서(602)에 의해 실행될 경우,
타깃 시나리오에 대응되는 포인트 클라우드 데이터를 획득하는 단계;
획득된 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하는 단계 - 래스터 행렬 중 각 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재하는지 여부를 나타내고, 타깃 포인트는 포인트 클라우드 데이터에 대응되는 임의의 하나의 포인트를 나타냄 - ;
래스터 행렬 및 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 식별할 객체에 대응되는 희소 행렬을 생성하는 단계; 및
생성된 희소 행렬에 기반하여, 타깃 시나리오에서의 식별할 객체의 위치를 결정하는 단계가 수행된다.
본 발명의 실시예는 컴퓨터 판독 가능 저장 매체를 더 제공하고, 이에 저장된 컴퓨터 프로그램이 프로세서(601)에 의해 실행될 경우, 상기 방법 실시예의 포인트 클라우드 데이터의 처리 방법이 수행된다. 여기서, 상기 저장 매체는 휘발성 또는 비휘발성 컴퓨터 판독 가능 저장 매체일 수 있다.
본 발명의 실시예에서 제공되는 포인트 클라우드 데이터의 처리 방법의 컴퓨터 프로그램 제품은 프로그램 코드가 저장된 컴퓨터 판독 가능 저장 매체를 포함하고, 상기 프로그램 코드에 포함된 명령은 상기 방법 실시예에 따른 포인트 클라우드 데이터의 처리 방법의 단계를 수행할 수 있으며, 구체적인 것은 상기 방법 실시예를 참조할 수 있고, 여기서 상세한 설명을 생략한다.
본 발명의 실시예에서는 컴퓨터 프로그램을 더 제공하고, 상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우, 전술한 실시예의 임의의 하나의 방법이 구현된다. 상기 컴퓨터 프로그램 제품은 구체적으로 하드웨어, 소프트웨어 또는 이들의 조합으로 구현될 수 있다. 일 선택 가능한 실시예에서, 상기 컴퓨터 프로그램 제품은 구체적으로 컴퓨터 저장 매체로 구현되고, 다른 선택 가능한 실시예에서, 컴퓨터 프로그램 제품은 구체적으로 소프트웨어 개발 키트(Software Development Kit, SDK) 등과 같은 소프트웨어 제품으로 구현된다.
본 기술분야의 통상의 기술자는 설명의 편의 및 간결함을 위해 상기 설명된 시스템 및 장치의 구체적인 작업 과정은 전술한 방법 실시예에서 대응되는 과정을 참조할 수 있음을 명확히 이해할 수 있으므로, 여기서 더 이상 설명하지 않는다. 본 발명에서 제공되는 각 실시예에서, 개시된 시스템, 장치 및 방법은 다른 방식으로 구현될 수 있음을 이해해야 한다. 이상에서 설명된 장치 실시예는 단지 예시적인 것이고, 예를 들면, 상기 유닛의 구획은 단지 논리적 기능 구획일 뿐이고, 실제 구현 시 다른 구획 방식이 있을 수 있으며, 또 예를 들면, 다수의 유닛 또는 컴포넌트는 다른 하나의 시스템에 결합 또는 집적될 수 있거나, 또는 일부 특징은 생략되거나 실행되지 않을 수 있다. 또한, 표시 또는 논의된 서로 간의 커플링 또는 직접 커플링 또는 통신 연결은 일부 통신 인터페이스를 통한 것일 수 있고, 장치 또는 유닛의 간접 커플링 또는 통신 연결은 전기적, 기계적 또는 다른 형식일 수 있다.
분리 부재로서 설명되는 상기 유닛은 물리적으로 분리된 것일 수 있거나 아닐 수도 있고, 유닛으로서 표시되는 부재는 물리 유닛일 수 있거나 아닐 수도 있으며, 즉 한 곳에 위치할 수 있거나 또는 복수 개의 네트워크 유닛에 분포될 수도 있다. 실제 수요에 따라 그 중의 일부 또는 전부 유닛을 선택하여 본 실시예의 수단의 목적을 구현할 수 있다.
이 밖에, 본 발명의 각 실시예 중의 각 기능 유닛은 하나의 처리 유닛에 집적될 수 있고, 각각의 유닛이 별도로 물리적으로 존재할 수도 있으며, 두 개 또는 두 개 이상의 유닛이 하나의 유닛에 집적될 수도 있다.
상기 기능이 소프트웨어 기능 유닛의 형식으로 구현되고, 독립적인 제품으로 판매되거나 사용될 때, 하나의 프로세서에 의해 실행 가능한 비휘발성 컴퓨터 판독 가능 저장 매체에 저장될 수 있다. 이러한 이해에 기반하면, 본 발명의 기술적 해결수단은 본질적으로 또는 종래 기술에 대해 기여하는 부분 또는 상기 기술적 해결수단의 일부는 소프트웨어 제품 형식으로 구현될 수 있고, 상기 컴퓨터 소프트웨어 제품은 하나의 전자 기기(개인용 컴퓨터, 서버, 또는 네트워크 기기 등일 수 있음)가 본 발명의 각 실시예에 따른 방법의 전부 또는 일부 단계를 수행하도록 하는 다수의 명령을 포함하는 하나의 저장 매체에 저장된다. 전술한 저장 매체는 USB 메모리, 이동식 저장 기기, 판독 전용 메모리(Read-Only Memory, ROM), 랜덤 액세스 메모리(Random Access Memory, RAM), 자기 디스크 또는 광 디스크 등 프로그램 코드를 저장할 수 있는 다양한 매체를 포함한다.
마지막으로 설명할 것은, 전술한 실시예들은 본 발명의 기술적 해결수단을 설명하기 위한 본 발명의 구체적인 실시형태일 뿐, 제한하기 위함이 아니고, 본 발명의 보호범위는 이에 제한되지 않으며, 전술한 실시예를 참조하여 본 발명을 상세하게 설명하였을 지라도, 본 기술분야의 통상의 기술자는, 본 기술분야의 통상의 기술자라면 본 발명에 개시된 기술범위 내에서, 전술한 실시예에 기재된 기술적 해결수단을 수정하거나 쉽게 변경할 수 있거나, 또는 일부 기술특징을 등가적으로 대체할 수 있으며, 이러한 수정, 변경 또는 대체는 상응한 기술적 해결수단의 본질이 본 발명의 실시예의 기술적 해결수단의 사상 및 범위를 범어나지 않게 하며, 모두 본 발명의 보호범위 내에 포함되어야 함을 이해해야 한다. 따라서, 본 발명의 보호범위는 상기 청구범위의 보호범위에 따라야 한다.

Claims (13)

  1. 포인트 클라우드 데이터의 처리 방법으로서,
    타깃 시나리오에 대응되는 포인트 클라우드 데이터를 획득하는 단계;
    획득된 상기 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하는 단계 - 상기 래스터 행렬 중 각 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재하는지 여부를 나타내고, 상기 타깃 포인트는 상기 포인트 클라우드 데이터에 대응되는 임의의 하나의 포인트를 나타냄 - ;
    상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계; 및
    생성된 상기 희소 행렬에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계를 포함하는 포인트 클라우드 데이터의 처리 방법.
  2. 제1항에 있어서,
    상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계는,
    상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 래스터 행렬 중의 타깃 요소에 대해 적어도 한 번의 팽창 처리 조작 또는 침식 처리 조작을 수행하여, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계를 포함하고;
    상기 타깃 요소의 값은, 대응되는 래스터에 상기 타깃 포인트가 존재함을 나타내는 것을 특징으로 하는 포인트 클라우드 데이터의 처리 방법.
  3. 제2항에 있어서,
    상기 팽창 처리 조작 또는 침식 처리 조작은 시프트 처리 및 논리 연산 처리를 포함하고,
    상기 희소 행렬의 좌표 범위와 상기 식별할 객체의 크기 사이의 차이값은 사전 설정 임계값 범위에 속하는 것을 특징으로 하는 포인트 클라우드 데이터의 처리 방법.
  4. 제2항에 있어서,
    상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 래스터 행렬 중의 요소에 대해 적어도 한 번의 팽창 처리 조작을 수행하여, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계는,
    금번 팽창 처리 조작 전의 래스터 행렬 중의 요소에 대해 제1 인버전 조작을 수행하여, 제1 반전 조작 후의 래스터 행렬을 획득하는 단계;
    제1 사전 설정 콘볼루션 커널에 기반하여 상기 제1 인버전 조작 후의 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득하는 단계; 및
    상기 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬 중의 요소에 대해 제2 인버전 조작을 수행하여, 상기 희소 행렬을 획득하는 단계를 포함하는 것을 특징으로 하는 포인트 클라우드 데이터의 처리 방법.
  5. 제4항에 있어서,
    상기 금번 팽창 처리 조작 전의 래스터 행렬 중의 요소에 대해 제1 인버전 조작을 수행하여, 제1 인버전 조작 후의 래스터 행렬을 획득하는 단계는,
    제2 사전 설정 콘볼루션 커널에 기반하여, 금번 팽창 처리 조작 전의 래스터 행렬에서 상기 타깃 요소를 제외한 다른 요소에 대해 콘볼루션 연산을 수행하여, 제1 인버전 요소를 획득하는 단계;
    상기 제2 사전 설정 콘볼루션 커널에 기반하여, 금번 팽창 처리 조작 전의 래스터 행렬 중의 상기 타깃 요소에 대해 콘볼루션 연산을 수행하여, 제2 인버전 요소를 획득하는 단계; 및
    상기 제1 인버전 요소 및 상기 제2 인버전 요소에 기반하여, 제1 인버전 조작 후의 래스터 행렬을 획득하는 단계를 포함하는 것을 특징으로 하는 포인트 클라우드 데이터의 처리 방법.
  6. 제4항 또는 제5항에 있어서,
    상기 제1 사전 설정 콘볼루션 커널에 기반하여 상기 제1 인버전 조작 후의 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득하는 단계는,
    최초 콘볼루션 연산에 대해, 상기 제1 인버전 조작 후의 래스터 행렬과 상기 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 최초 콘볼루션 연산 후의 래스터 행렬을 획득하는 단계; 및
    지난 번 콘볼루션 연산 후의 래스터 행렬과 상기 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 금번 콘볼루션 연산 후의 래스터 행렬을 획득하는 단계를, 상기 사전 설정 희소성을 갖는 래스터 행렬을 획득할 때까지 반복 수행하는 단계를 포함하는 것을 특징으로 하는 포인트 클라우드 데이터의 처리 방법.
  7. 제6항에 있어서,
    상기 제1 사전 설정 콘볼루션 커널은 가중치 행렬 및 상기 가중치 행렬에 대응되는 바이어스를 가지고; 상기 최초 콘볼루션 연산에 대해, 상기 제1 인버전 조작 후의 래스터 행렬과 상기 제1 사전 설정 콘볼루션 커널에 대해 콘볼루션 연산을 수행하여, 최초 콘볼루션 연산 후의 래스터 행렬을 획득하는 단계는,
    최초 콘볼루션 연산에 대해, 제1 사전 설정 콘볼루션 커널의 크기 및 사전 설정 스텝 크기에 따라, 상기 제1 인버전 조작 후의 래스터 행렬에서 각 래스터 서브 행렬을 선택하는 단계;
    선택된 각 상기 래스터 서브 행렬에 대해, 상기 래스터 서브 행렬과 상기 가중치 행렬에 대해 곱셈 연산을 수행하여, 제1 연산 결과를 획득하고, 상기 제1 연산 결과와 상기 바이어스에 대해 덧셈 연산을 수행하여, 제2 연산 결과를 획득하는 단계; 및
    각 상기 래스터 서브 행렬에 대응되는 제2 연산 결과에 기반하여, 최초 콘볼루션 연산 후의 래스터 행렬을 결정하는 단계를 포함하는 것을 특징으로 하는 포인트 클라우드 데이터의 처리 방법.
  8. 제2항에 있어서,
    상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 래스터 행렬 중의 요소에 대해 적어도 한 번의 침식 처리 조작을 수행하여, 상기 식별할 객체에 대응되는 희소 행렬을 생성하는 단계는,
    제3 사전 설정 콘볼루션 커널에 기반하여 상기 래스터 행렬에 대해 적어도 한 번의 콘볼루션 연산을 수행하여, 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 획득하는 단계; 및
    상기 적어도 한 번의 콘볼루션 연산 후의 사전 설정 희소성을 갖는 래스터 행렬을 상기 식별할 객체에 대응되는 희소 행렬로 결정하는 단계를 포함하는 것을 특징으로 하는 포인트 클라우드 데이터의 처리 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    획득된 상기 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하는 단계는,
    획득된 상기 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬 및 상기 래스터 행렬 중 각 요소와 각 타깃 포인트 좌표 범위 정보 사이의 대응 관계를 획득하는 단계를 포함하고;
    생성된 상기 희소 행렬에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계는,
    상기 래스터 행렬 중 각 요소와 각 타깃 포인트 좌표 범위 정보 사이의 대응 관계에 기반하여, 생성된 상기 희소 행렬 중의 각 타깃 요소에 대응되는 타깃 포인트의 좌표 정보를 결정하는 단계; 및
    상기 희소 행렬 중 각 상기 타깃 요소에 대응되는 타깃 포인트의 좌표 정보를 조합하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계를 포함하는 것을 특징으로 하는 포인트 클라우드 데이터의 처리 방법.
  10. 제1항 내지 제8항 중 어느 한 항에 있어서,
    생성된 상기 희소 행렬에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계는,
    이미 트레이닝된 콘볼루션 신경망에 기반하여, 생성된 상기 희소 행렬 중의 각 타깃 요소에 대해 적어도 한 번의 콘볼루션 처리를 수행하여, 콘볼루션 결과를 획득하는 단계; 및
    상기 콘볼루션 결과에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하는 단계를 포함하는 것을 특징으로 하는 포인트 클라우드 데이터의 처리 방법.
  11. 포인트 클라우드 데이터의 처리 장치로서,
    타깃 시나리오에 대응되는 포인트 클라우드 데이터를 획득하기 위한 획득 모듈;
    획득된 상기 포인트 클라우드 데이터에 대해 래스터화 처리를 수행하여, 래스터 행렬을 획득하기 위한 처리 모듈 - 상기 래스터 행렬 중 각 요소의 값은, 대응되는 래스터에 타깃 포인트가 존재하는지 여부를 나타내고, 상기 타깃 포인트는 상기 포인트 클라우드 데이터에 대응되는 임의의 하나의 포인트를 나타냄 - ;
    상기 래스터 행렬 및 상기 타깃 시나리오 중의 식별할 객체의 크기 정보에 따라, 상기 식별할 객체에 대응되는 희소 행렬을 생성하기 위한 생성 모듈; 및
    생성된 상기 희소 행렬에 기반하여, 상기 타깃 시나리오에서의 상기 식별할 객체의 위치를 결정하기 위한 결정 모듈을 포함하는 포인트 클라우드 데이터의 처리 장치.
  12. 프로세서, 메모리 및 버스를 포함하는 전자 기기로서,
    상기 메모리는 상기 프로세서에 의해 실행 가능한 기계 판독 가능 명령을 저장하고,
    상기 프로세서는 전자 기기가 실행될 때 버스를 통해 상기 메모리와 통신하고 상기 기계 판독 가능 명령을 실행하여, 제1항 내지 제10항 중 어느 한 항에 따른 포인트 클라우드 데이터의 처리 방법의 단계를 수행하는 전자 기기.
  13. 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능 저장 매체로서,
    상기 컴퓨터 프로그램이 프로세서에 의해 실행될 경우, 제1항 내지 제10항 중 어느 한 항에 따른 포인트 클라우드 데이터의 처리 방법의 단계가 수행되는 컴퓨터 판독 가능 저장 매체.
KR1020227007211A 2020-07-22 2021-06-29 포인트 클라우드 데이터의 처리 방법, 장치, 전자 기기 및 저장 매체 KR20220043186A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010712674.X 2020-07-22
CN202010712674.XA CN113971712A (zh) 2020-07-22 2020-07-22 一种点云数据的处理方法、装置、电子设备及存储介质
PCT/CN2021/103037 WO2022017134A1 (zh) 2020-07-22 2021-06-29 一种点云数据的处理方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
KR20220043186A true KR20220043186A (ko) 2022-04-05

Family

ID=79584956

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227007211A KR20220043186A (ko) 2020-07-22 2021-06-29 포인트 클라우드 데이터의 처리 방법, 장치, 전자 기기 및 저장 매체

Country Status (4)

Country Link
JP (1) JP2022546828A (ko)
KR (1) KR20220043186A (ko)
CN (1) CN113971712A (ko)
WO (1) WO2022017134A1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014043764A1 (en) * 2012-09-21 2014-03-27 Umwelt (Australia) Pty. Limited On-ground or near-ground discrete object detection method and system
CN108399424B (zh) * 2018-02-06 2022-01-18 深圳市建设综合勘察设计院有限公司 一种点云分类方法、智能终端及存储介质
CN109955486B (zh) * 2019-03-14 2020-08-04 浙江大学 一种基于点阵化与稀疏压缩处理的结构模型3d打印方法

Also Published As

Publication number Publication date
JP2022546828A (ja) 2022-11-09
WO2022017134A1 (zh) 2022-01-27
CN113971712A (zh) 2022-01-25

Similar Documents

Publication Publication Date Title
CN110705448B (zh) 一种人体检测方法及装置
US8014568B2 (en) Method for computer-aided identification of the child octants of a parent octant, which are intersected by a beam, in an octree data structure by means of look-up tables
CN104335217B (zh) 用于确定密码强度的方法、装置和计算机程序产品
EP3971840A1 (en) Three-dimensional model generation method, neural network generation method, and devices
CN107273294B (zh) 一种基于神经网络语言模型的重复代码检测方法
JP2004164596A (ja) 2分木を巡回する方法およびシステム
WO2020190466A1 (en) Spatially sparse convolutional neural networks for inking applications
WO2022077863A1 (zh) 视觉定位方法及相关模型的训练方法及相关装置、设备
CN112907747A (zh) 一种点云数据处理的方法、装置、电子设备及存储介质
KR20230069607A (ko) 셀프 어텐션 기반의 영상 인식 방법 및 장치
CN113970752A (zh) 一种目标检测方法、装置、电子设备及存储介质
CN108986210B (zh) 三维场景重建的方法和设备
CN111639523B (zh) 目标检测方法、装置、计算机设备和存储介质
CN106569643B (zh) 一种红外触摸屏触控点定位的方法及装置
CN110728359B (zh) 搜索模型结构的方法、装置、设备和存储介质
CN117216591A (zh) 三维模型匹配、多模态特征映射模型的训练方法及装置
KR20220043186A (ko) 포인트 클라우드 데이터의 처리 방법, 장치, 전자 기기 및 저장 매체
Grimme Picking a uniformly random point from an arbitrary simplex
JP2022547873A (ja) 点群データ処理方法及び装置
CN113591969B (zh) 面部相似度评测方法、装置、设备以及存储介质
Madhusudana et al. Revisiting dead leaves model: Training with synthetic data
Li et al. A human-computer interactive dynamic description method for Jiaguwen Characters
CN111382834B (zh) 一种置信度比较方法及装置
CN105117733A (zh) 一种确定聚类样本差异的方法及装置
Liu et al. A random algorithm for low-rank decomposition of large-scale matrices with missing entries