KR102343061B1 - 개인정보 비식별 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 - Google Patents

개인정보 비식별 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102343061B1
KR102343061B1 KR1020210102991A KR20210102991A KR102343061B1 KR 102343061 B1 KR102343061 B1 KR 102343061B1 KR 1020210102991 A KR1020210102991 A KR 1020210102991A KR 20210102991 A KR20210102991 A KR 20210102991A KR 102343061 B1 KR102343061 B1 KR 102343061B1
Authority
KR
South Korea
Prior art keywords
data
image
identified
identification processing
identification
Prior art date
Application number
KR1020210102991A
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 주식회사 인피닉
Priority to KR1020210102991A priority Critical patent/KR102343061B1/ko
Application granted granted Critical
Publication of KR102343061B1 publication Critical patent/KR102343061B1/ko

Links

Images

Classifications

    • G06T5/005
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4318Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

본 발명은 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습용 데이터로부터 개인정보를 비식별 처리하는 방법을 제안한다. 상기 방법은 학습 데이터 수집 장치가 차량에 설치된 라이다(lidar) 및 카메라(camera)에 의해 동시에 획득 및 촬영된 3D 점군 데이터(points group) 및 2D 이미지를 수집하는 단계; 상기 학습 데이터 수집 장치가 상기 3D 점군 데이터에 포함된 점들(points)의 3차원 좌표를 기초로, 상기 2D 이미지에 포함된 객체를 식별하는 단계; 및 상기 학습 데이터 수집 장치가 상기 식별된 객체의 유형에 대응하여 상기 2D 이미지의 일부를 비식별(de-identify) 처리하는 단계를 포함할 수 있다. 이 경우, 상기 3D 점군 데이터는 상기 라이다에 의해 상기 차량의 주위로 방사된 레이저 펄스를 반사시킨 점들에 대한 3차원 정보를 포함할 수 있다.

Description

개인정보 비식별 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램{Method for de-identifying personal information, and computer program recorded on record-medium for executing method therefor}
본 발명은 인공지능(Artificial Intelligence, AI) 기계 학습용 데이터의 수집에 관한 것이다. 보다 상세하게는, 인공지능(AI)의 기계 학습용 데이터로부터 개인정보를 비식별 처리하는 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램에 관한 것이다.
인공지능(AI)은 인간의 학습능력, 추론능력 및 지각능력 등의 일부 또는 전부를 컴퓨터 프로그램을 이용하여 인공적으로 구현하는 기술을 의미한다. 인공지능(AI)과 관련하여, 기계 학습(machine learning)은 다수의 파라미터로 구성된 모델을 이용하여 주어진 데이터로 파라미터를 최적화하는 학습을 의미한다. 이와 같은, 기계 학습은 학습용 데이터의 형태에서 따라, 지도 학습(supervised learning), 비지도 학습(unsupervised learning) 및 강화 학습(reinforcement learning)으로 구분된다.
일반적으로, 인공지능(AI) 학습용 데이터의 설계는 데이터 구조의 설계, 데이터의 수집, 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증 단계로 진행된다.
각각의 단계에서 대하여 보다 구체적으로 설명하면, 데이터 구조의 설계는 온톨로지(ontology) 정의, 분류 체계의 정의 등을 통해 이루어진다. 데이터의 수집은 직접 촬영, 웹 크롤링(web crawling) 또는 협회/전문 단체 등을 통해 데이터를 수집하여 이루어진다. 데이터 정제는 수집된 데이터 내에서 중복 데이터를 제거하고, 개인 정보 등을 비식별화하여 이루어진다. 데이터의 가공은 어노테이션(annotation)을 수행하고, 메타데이터(metadata)를 입력하여 이루어진다. 데이터의 확장은 온톨로지 매핑(mapping)을 수행하고, 필요에 따라 온톨로지를 보완하거나 확장하여 이루어진다. 그리고, 데이터의 검증은 다양한 검증 도구를 활용하여 설정된 목표 품질에 따른 유효성을 검증하여 이루어진다.
한편, 차량의 자율주행(automatic driving)은 차량 스스로 판단하여 주행할 수 있는 시스템을 의미한다. 이와 같은, 자율주행은 시스템이 주행에 관여하는 정도와 운전차가 차량을 제어하는 정도에 따라 비자동화부터 완전 자동화까지 점진적인 단계로 구분될 수 있다. 일반적으로, 자율주행의 단계는 국제자동차기술자협회(SAE(Society of Automotive Engineers) International)에서 분류한 6단계의 레벨로 구분된다. 국제자동차기술자협회(SAE)가 분류한 6단계에 따르면, 레벨 0단계는 비자동화(no automation), 레벨 1단계는 운전자 보조(driver assistance), 레벨 2단계는 부분 자동화(partial automation), 레벨 3단계는 조건부 자동화(conditional automation), 레벨 4단계는 고도 자동화(high automation), 그리고 레벨 5단계는 완전 자동화(full automation) 단계이다.
차량의 자율주행은 인지(perception), 측위(localization), 경로 계획(path planning) 및 제어(control)의 메커니즘을 통해 수행된다. 현재 여러 기업체들은 자율주행 메커니즘 중에서 인지 및 경로 계획을 인공지능(AI)을 이용하여 구현하기 위해 개발 중에 있다.
이러한 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터는 차량에 설치된 다양한 종류의 센서들에 의해 수집된다. 예를 들어, 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습에 사용되는 데이터들은 차량에 고정 설치된 라이다(lidar), 카메라(camera), 레이더(radar), 초음파 센서(ultrasonic sensor) 및 GPS(Global Positioning System) 등에 의해 획득, 촬영 또는 감지된 데이터들이 될 수 있으며, 이에 한정되는 것도 아니다.
그러나, 인공지능(AI)의 기계 학습에 사용하기 위해 차량에 설치된 다양한 종류의 센서들을 이용하여 실시간으로 데이터들을 수집할 경우, 수집된 데이터들의 용량이 기하 급수적으로 커지게 되나 이동통신의 대역폭, 음영 지역 등에 의해 수집된 데이터들을 실시간으로 외부에 전송할 수 없는 어려움이 있다.
또한, 다양한 센서들에 의해 수집된 데이터 속에는 무의미한 데이터(useless data)가 포함되어 있거나, 또는 개인 정보(personal information)가 포함되어 있을 수 있다. 나아가, 데이터들을 수집하기 위한 다양한 센서들이 설치된 차량과 실제 자율주행을 수행할 차량의 물리적인 조건이 서로 다를 경우, 수집된 데이터들을 이용하여 기계 학습된 인공지능(AI)에 의한 자율주행의 성능을 보장할 수 없다는 한계가 있다.
대한민국 공개특허공보 제10-2020-0042629호, ‘인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치’, (2020.04.24. 공개)
본 발명의 일 목적은 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습용 데이터로부터 개인정보를 비식별 처리하는 방법을 제공하는 것이다.
본 발명의 다른 목적은 기계 학습용 데이터로부터 개인정보를 비식별 처리하는 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제공하는 것이다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습용 데이터를 수집하기 위한 시스템을 제안한다. 상기 시스템은 차량에 설치된 라이다(lidar), 카메라(camera), 레이더(radar) 및 초음파 센서(ultrasonic sensor) 중 하나 이상으로부터 실시간으로 데이터를 수집하는 복수의 학습 데이터 수집 장치; 상기 라이다, 카메라, 레이더 또는 초음파 센서로부터 수집된 데이터를 대상으로, 어노테이션(annotation) 작업을 수행하는 복수의 어노테이션 장치; 및 상기 복수의 학습 데이터 수집 장치 각각으로부터 이동통신(mobile telecommunication)을 이용하여 상기 실시간으로 수집된 데이터상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 기계 학습용 데이터로부터 개인정보를 비식별 처리하는 방법을 제안한다. 상기 방법은 학습 데이터 수집 장치가 차량에 설치된 라이다(lidar) 및 카메라(camera)에 의해 동시에 획득 및 촬영된 3D 점군 데이터(points group) 및 2D 이미지를 수집하는 단계; 상기 학습 데이터 수집 장치가 상기 3D 점군 데이터에 포함된 점들(points)의 3차원 좌표를 기초로, 상기 2D 이미지에 포함된 객체를 식별하는 단계; 및 상기 학습 데이터 수집 장치가 상기 식별된 객체의 유형에 대응하여 상기 2D 이미지의 일부를 비식별(de-identify) 처리하는 단계를 포함할 수 있다. 이 경우, 상기 3D 점군 데이터는 상기 라이다에 의해 상기 차량의 주위로 방사된 레이저 펄스를 반사시킨 점들에 대한 3차원 정보를 포함할 수 있다.
구체적으로, 상기 객체를 식별하는 단계는 상기 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집(crowd)을 형성하고 있는 점들을 식별하고, 상기 식별된 군집의 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이를 기초로 상기 객체의 유형을 식별할 수 있다. 이 경우, 상기 객체를 식별하는 단계는 객체의 유형별로 사전에 구비된 폭, 높이 및 깊이의 비율 관계(rate relation)를 기초로, 상기 식별된 군집의 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이에 대응하는 객체의 유형을 식별할 수도 있다.
상기 비식별 처리하는 단계는 상기 식별된 객체의 유형에 따라 사전에 구비된 3D 모델(3D model)을 상기 카메라의 광축(optical axis) 방향에 따라 3차원 회전시킨 후, 상기 카메라에 의해 촬영된 2D 이미지 내에서 상기 회전된 3D 모델에 사전에 부여된 비식별 처리 영역에 대응하는 영역에 대하여 상기 비식별 처리할 수 있다.
상기 비식별 처리하는 단계는 상기 2D 이미지의 엣지를 추출(edge detection)하고, 사전에 구비된 데이터베이스로부터 상기 식별된 객체의 유형 및 상기 추출된 엣지의 패턴(edge pattern)에 대응하는 비식별 처리 규칙을 조회하고, 상기 비식별 처리 규칙이 조회되는 경우 조회된 비식별 처리 규칙에 따라 상기 2D 이미지의 일부를 비식별 처리할 수 있다. 이 경우, 상기 비식별 처리 규칙은 학습 데이터 생성 장치에 의해 배포되며, 2D 이미지 내에서 비식별 처리할 영역을 결정할 수 있도록 객체 내에 존재하는 비식별 영역에 대한 엣지의 패턴들을 열거한 규칙이 될 수 있다.
상기 비식별 처리하는 단계는 상기 데이터베이스로부터 상기 비식별 처리 규칙이 조회되지 않은 경우, 상기 2D 이미지, 상기 식별된 객체의 유형 및 상기 추출된 엣지의 패턴이 포함된 비식별 처리 규칙에 대한 업데이트 요청 메시지를 생성한 후, 상기 생성된 업데이트 요청 메시지를 상기 학습 데이터 생성 장치에 전송할 수 있다.
한편, 상기 비식별 처리하는 단계는 상기 비식별 처리를 수행할 영역의 경계선과 상기 추출된 엣지에 의한 폐쇄 영역(enclosure)의 경계선(boundary line)이 사전에 설정된 최소 이격 거리 내로 인접한 경우, 상기 비식별 처리를 수행할 영역의 경계선과 상기 폐쇄 영역의 경계선이 상기 최소 이격 거리 이상으로 이격되도록 상기 비식별 처리를 수행할 영역의 크기를 감소시킬 수 있다. 이 경우, 상기 최소 이격 거리는 두 경계선 사이에 위치하는 픽셀의 최소 개수가 될 수 있다.
상기 비식별 처리하는 단계는 상기 2D 이미지의 일부를 블러링(blurring) 처리하여 상기 비식별 처리를 수행하되, 상기 블러링의 강도는 상기 카메라가 설치된 차량의 이동속도에 반비례할 수 있다.
그리고, 상기 비식별 처리하는 단계는 상기 블러링 처리를 수행하기 이전에 상기 비식별 처리를 수행할 영역을 크롭(crop)한 후, 상기 크롭된 영상을 포함시켜 복원 데이터를 생성할 수 있다.
상술한 바와 같은 기술적 과제를 달성하기 위하여, 본 발명은 개인정보 비식별 처리 방법을 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램을 제안한다. 상기 컴퓨터 프로그램은 메모리(memory); 송수신기(transceiver); 및 상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합될 수 있다. 그리고, 상기 컴퓨터 프로그램은 상기 프로세서가 차량에 설치된 라이다 및 카메라에 의해 동시에 획득 및 촬영된 3D 점군 데이터 및 2D 이미지를 수집하는 단계; 상기 프로세서가 상기 3D 점군 데이터에 포함된 점들의 3차원 좌표를 기초로, 상기 2D 이미지에 포함된 객체를 식별하는 단계; 및 상기 프로세서가 상기 식별된 객체의 유형에 대응하여 상기 2D 이미지의 일부를 비식별(de-identify) 처리하는 단계를 실행시키기 위하여, 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
기타 실시 예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 실시 예들에 따르면, 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여 실시간으로 수집된 데이터에 포함된 개인정보를 즉각적으로 비식별 처리함으로써 외부에 개인 정보를 노출하지 않을 수 있게 된다.
나아가, 데이터에 포함된 개인정보의 비식별화 작업을 사람이 직접 수행할 필요가 없이 이미 비식별화된 영역을 단순 검토하게 됨으로써. 데이터 정제 과정의 효율이 향상될 수 있다.
본 발명의 효과들은 이상에서 언급한 효과로 제한되지 아니하며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 본 발명이 속한 기술분야의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 센서들을 설명하기 위한 예시도이다.
도 3은 서로 다른 높이에 설치된 카메라들의 서로 다른 객체 인식율을 설명하기 위한 예시도이다.
도 4는 본 발명의 일 실시예에 따른 학습 데이터 수집 장치의 논리적 구성도이다.
도 5는 본 발명의 일 실시예에 따른 학습 데이터 수집 장치의 하드웨어 구성도이다.
도 6은 본 발명의 일 실시예에 따라 3D 점군 데이터에 포함된 객체의 유형을 식별하는 과정을 설명하기 위한 예시도이다.
도 7은 본 발명의 일 실시예에 따라 2D 이미지 내에서 객체의 영역을 식별하는 과정을 설명하기 위한 예시도이다.
도 8 및 도 9는 본 발명의 몇몇 실시예에 따라 객체를 검출한 결과를 설명하기 위한 예시도들이다.
도 10은 본 발명의 일 실시예에 따라 개인정보를 비식별 처리한 결과를 설명하기 위한 예시도이다.
도 11은 본 발명의 일 실시예에 따라 데이터를 전송하는 과정을 설명하기 위한 예시도이다.
도 12는 본 발명의 일 실시예에 따라 최악의 통신 환경에 데이터를 전송하는 과정을 설명하기 위한 예시도이다.
도 13은 본 발명의 일 실시예에 따른 데이터 수집 방법을 설명하기 위한 순서도이다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
또한, 본 명세서에서 사용되는 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "구성된다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.
상술한 바와 같이, 인공지능(AI)의 기계 학습에 사용하기 위해 차량에 설치된 다양한 종류의 센서들을 이용하여 실시간으로 데이터들을 수집할 경우, 수집된 데이터들의 용량이 기하 급수적으로 커지게 되나 이동통신의 대역폭, 음영 지역 등에 의해 수집된 데이터들을 실시간으로 외부에 전송할 수 없는 어려움이 있었다. 또한, 다양한 센서들에 의해 수집된 데이터 속에는 무의미한 데이터(useless data)가 포함되어 있거나, 또는 개인 정보(personal information)가 포함되어 있을 수 있다. 나아가, 데이터들을 수집하기 위한 다양한 센서들이 설치된 차량과 실제 자율주행을 수행할 차량의 물리적인 조건이 서로 다를 경우, 수집된 데이터들을 이용하여 기계 학습된 인공지능(AI)에 의한 자율주행의 성능을 보장할 수 없다는 한계가 있었다.
이러한 한계를 극복하고자, 본 발명은 인공지능(AI)의 기계 학습용 데이터를 수집하는 장치가 차량에 설치된 각종 센서들을 효율적으로 제어하고, 실시간으로 수집된 데이터로부터 객체 검출 및 개인정보 비식별의 전처리를 수행하고, 통신 품질에 따라 데이터를 효율적으로 전송할 수 있는 수단들을 제안하고자 한다.
도 1은 본 발명의 일 실시예에 따른 인공지능 학습 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 인공지능 학습 시스템은 복수의 학습 데이터 수집 장치(100a, 100b, …, 100n; 100)), 학습 데이터 생성 장치(200), 복수의 어노테이션 장치(300a, 300b, …, 300n; 300) 및 인공지능 학습 장치(400)를 포함하여 구성될 수 있다.
이와 같은, 일 실시예에 따른 인공지능 학습 시스템의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 학습 데이터 수집 장치(100)는 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위한 데이터를 수집하기 위하여, 차량에 설치된 라이다(lidar), 카메라(camera), 레이더(radar) 및 초음파 센서(ultrasonic sensor) 중 하나 이상으로부터 실시간으로 데이터를 수집하는 장치이다.
특징적으로, 본 발명의 다양한 실시예에 따른 학습 데이터 수집 장치(100)는 차량에 서로 다른 높이에 설치되어 동일한 방향을 동시에 실시간으로 촬영하는 복수 개의 카메라들을 효율적으로 제어할 수 있다. 학습 데이터 수집 장치(100)는 수집된 데이터를 학습 데이터 생성 장치(200)에 전송하기 이전에, 수집된 데이터에 포함된 객체를 자동으로 검출하고, 개인 정보를 자동으로 비식별 처리할 수 있다. 또한, 학습 데이터 수집 장치(100)는 수집된 데이터를 학습 데이터 생성 장치(200)와의 통신 품질에 따라 효율적으로 전송할 수 있다.
이러한, 학습 데이터 수집 장치(100)의 제어 대상이자, 차량에 설치되어 기계 학습용 데이터를 획득, 촬영 또는 감지하는 센서의 종류에는 라이다(lidar), 카메라(camera), 레이더(radar) 및 초음파 센서(ultrasonic sensor) 중 하나 이상이 포함될 수 있으나, 이에 한정되는 것은 아니다. 또한, 학습 데이터 수집 장치(100)의 제어 대상이자, 차량에 설치되어 기계 학습용 데이터를 획득, 촬영 또는 감지하는 센서는 종류별로 하나씩 구비되는 것으로 한정되지 아니하며, 동일한 종류의 센서라 할지라도 복수 개로 구비될 수 있다.
학습 데이터 수집 장치(100)의 제어 대상이자, 차량에 설치되어 기계 학습용 데이터를 획득, 촬영 또는 감지하는 센서들의 종류에 대해서는 추후 도 2를 참조하여 보다 구체적으로 설명하기로 한다. 또한, 학습 데이터 수집 장치(100)의 특징들에 대해서는 추후 도 3 및 도 4를 참조하여 보다 구체적으로 설명하기로 한다.
다음 구성으로, 학습 데이터 생성 장치(200)는 복수의 학습 데이터 수집 장치(100) 각각으로부터 이동통신(mobile communication)을 이용하여 각각의 학습 데이터 수집 장치(100)에 의해 실시간으로 수집된 데이터를 수신하고, 수신된 데이터를 복수의 어노테이션 장치(300)에 분배하고, 각각의 어노테이션 장치(300)로부터 수신된 어노테이션 작업 결과물을 기초로 인공지능(AI)을 기계 학습시키기 위한 데이터를 생성하는 장치이다.
구체적으로, 학습 데이터 생성 장치(200)는 인공지능 학습 장치(400)로부터 인공지능(AI) 학습과 관련된 프로젝트의 속성을 수신할 수 있다. 학습 데이터 생성 장치(200)는 사용자의 제어 및 수신된 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 데이터 구조의 설계, 수집된 데이터의 정제, 데이터의 가공, 데이터의 확장 및 데이터의 검증을 수행할 수 있다.
우선적으로, 학습 데이터 생성 장치(200)는 인공지능(AI) 학습을 위한 데이터 구조를 설계할 수 있다. 예를 들어, 학습 데이터 생성 장치(200)는 사용자의 제어 및 수신된 프로젝트의 속성을 기초로, 인공지능(AI) 학습을 위한 온톨로지(ontology), 인공지능(AI) 학습을 위한 데이터의 분류 체계를 정의할 수 있다.
학습 데이터 생성 장치(200)는 설계된 데이터 구조를 기초로, 인공지능(AI) 학습을 위한 데이터를 수집할 수 있다. 이를 위하여, 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100)로부터 감지 데이터들, 3D 점군 데이터들, 2D 이미지들 및 거리 정보들을 수신할 수 있다. 그러나, 이에 한정되지 아니하고, 학습 데이터 생성 장치(200)는 웹 크롤링(web crawling)을 수행하거나, 또는 외부 기관의 장치로부터 데이터들을 다운로드할 수도 있다.
학습 데이터 생성 장치(200)는 수집된 감지 데이터들, 3D 점군 데이터들, 2D 이미지들 및 거리 정보들 중에서 중복되거나 또는 극히 유사한 데이터를 제거할 수 있다. 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100)가 2D 이미지를 대상으로 자동으로 비식별 처리한 개인 정보가 올바른지 여부를 검증할 수 있다.
한편, 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100)가 수행하는 객체 검출의 자동화를 지원하기 위하여, 다수의 2D 이미지들을 대상으로 기존의 어노테이션 작업의 결과물을 기초로 기계 학습된 객체 검출 인공지능(AI)을 구비할 수 있다. 그리고, 학습 데이터 생성 장치(200)는 객체 검출 인공지능(AI)을 이용하여 객체 검출 규칙을 생성하고, 생성된 객체 검출 규칙을 복수 개의 학습 데이터 수집 장치(100)에 대하여 배포할 수 있다.
이 경우, 객체 검출 규칙은 2D 이미지 내에서 식별된 객체를 검증할 수 있도록, 객체의 유형별로 분류된 엣지의 패턴들을 열거한 규칙이 될 수 있다.
학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100)로부터 객체 검출 규칙에 대한 업데이트 요청을 수신할 수 있다. 이 경우, 업데이트 요청에는 기존의 객체 검출 규칙으로 올바르게 검증하지 못한 2D 이미지, 2D 이미지로부터 식별된 객체의 유형, 식별된 객체에 대하여 추출된 엣지의 패턴이 포함될 수 있으나, 이에 한정되는 것은 아니다. 학습 데이터 생성 장치(200)는 수신된 업데이트 요청을 기초로, 객체 검출 인공지능(AI)의 강화 학습(reinforcement learning)을 수행할 수 있다. 그리고, 학습 데이터 생성 장치(200)는 강화 학습의 결과로 새로운 객체 검출 규칙이 생성된 경우, 새로운 객체 검출 규칙을 복수 개의 학습 데이터 수집 장치(100)들에 대하여 재배포할 수 있다.
또한, 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100)가 수행하는 비식별 처리의 자동화를 지원하기 위하여, 다수의 2D 이미지들을 대상으로 기존에 개인 정보를 비식별 처리한 이미지들을 기초로 기계 학습된 비식별 처리 인공지능(AI)을 구비할 수 있다. 그리고, 학습 데이터 생성 장치(200)는 비식별 처리 인공지능(AI)을 이용하여 비식별 처리 규칙을 생성하고, 생성된 비식별 처리 규칙을 복수 개의 학습 데이터 수집 장치(100)들에 대하여 배포할 수 있다.
이 경우, 비식별 처리 규칙은 2D 이미지 내에서 비식별 처리할 영역을 결정할 수 있도록, 객체 내의 존재하는 비식별 영역에 대한 엣지의 패턴들을 열거한 규칙이 될 수 있다. 또한, 비식별 처리는 2D 이미지에 포함된 개인 정보를 사람이 식별하지 못하도록 영상 처리하는 것이다. 구체적인 비식별 처리 방법의 예로서 2D 이미지 일부의 블러링(blurring) 처리가 포함될 수 있으나, 이에 한정되는 것은 아니다.
학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100)로부터 비식별 처리 규칙에 대한 업데이트 요청을 수신할 수 있다. 이 경우, 업데이트 요청에는 기존의 비식별 처리 규칙으로 처리하지 못한 2D 이미지, 2D 이미지로부터 식별된 객체의 유형, 식별된 객체에 대하여 추출된 엣지의 패턴이 포함될 수 있으나, 이에 한정되는 것은 아니다. 학습 데이터 생성 장치(200)는 수신된 업데이트 요청을 기초로, 비식별 처리 인공지능(AI)의 강화 학습을 수행할 수 있다. 그리고, 학습 데이터 생성 장치(200)는 강화 학습의 결과로 새로운 비식별 처리 규칙이 생성된 경우, 새로운 비식별 처리 규칙을 복수 개의 학습 데이터 수집 장치(100)들에 대하여 재배포할 수 있다.
한편, 학습 데이터 생성 장치(200)는 수집 및 정제된 감지 데이터들, 3D 점군 데이터들, 2D 이미지들 및 거리 정보들을 복수 개의 어노테이션 장치(300)에 분배하여 전송할 수 있다. 이 경우, 학습 데이터 생성 장치(200)는 어노테이션 장치(300)의 작업자(즉, 라벨러)에 대하여 사전에 할당된 양에 대응하여, 감지 데이터들, 3D 점군 데이터들, 2D 이미지들 및 거리 정보들을 분배할 수 있다.
학습 데이터 생성 장치(200)는 각각의 어노테이션 장치(300)로부터 어노테이션 작업 결과물을 수신할 수 있다. 학습 데이터 생성 장치(200)는 수신된 어노테이션 작업 결과물을 패키징(packaging)하여 인공지능(AI) 학습용 데이터를 생성할 수 있다. 그리고, 학습 데이터 생성 장치(200)는 생성된 인공지능(AI) 학습용 데이터를 인공지능 학습 장치(400)에 전송할 수 있다.
이와 같은 특징을 가지는, 학습 데이터 생성 장치(200)는 학습 데이터 수집 장치(100), 어노테이션 장치(300) 및 인공지능 학습 장치(400)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 학습 데이터 생성 장치(200)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
다음 구성으로, 어노테이션 장치(300)는 라이다, 카메라, 레이더 또는 초음파로부터 수집된 데이터를 대상으로, 어노테이션 작업을 수행하는데 사용될 수 있는 장치이다. 즉, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)에 의해 분배된 감지 데이터들, 3D 점군 데이터들, 2D 이미지들 및 거리 정보를 대상으로 어노테이션 작업을 수행하는데 사용될 수 있는 장치이다.
이와 같은, 어노테이션 장치(300)의 전부 또는 일부는 어노테이션 작업자가 클라우딩 서비스(clouding service)를 통해 어노테이션 작업을 수행하는 장치가 될 수도 있다.
구체적으로, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)로부터 수신된 감지 데이터들, 3D 점군 데이터들, 2D 이미지들 및 거리 정보들 중에서 어노테이션 작업 대상이 되는 하나의 감지 데이터, 3D 점군 데이터, 2D 이미지 또는 거리 정보를 디스플레이에 출력할 수 있다.
어노테이션 장치(300)는 입출력장치를 통해 사용자로부터 입력된 신호에 따라 툴(tool)을 선택할 수 있다. 여기서, 툴은 감지 데이터, 3D 점군 데이터, 2D 이미지 또는 거리 정보 속에 포함되어 있는 하나 이상의 객체(object)를 특정하는 바운딩 박스를 설정하기 위한 도구이다.
어노테이션 장치(300)는 입출력장치를 통해 선택된 툴에 따른 좌표를 입력 받을 수 있다. 그리고, 어노테이션 장치(300)는 입력된 좌표를 기초로 바운딩 박스(bounding box)를 설정하여, 감지 데이터, 3D 점군 데이터, 2D 이미지 또는 거리 정보 속에 포함된 객체를 특정할 수 있다.
여기서, 바운딩 박스는 감지 데이터, 3D 점군 데이터, 2D 이미지 또는 거리 정보 속에 포함된 객체들 중에서 인공지능(AI) 학습의 대상이 되는 객체를 특정하기 위한 영역이다. 이와 같은, 바운딩 박스는 사각형(rectangle) 또는 정육면체(cube)의 형상을 가질 수 있으며, 이에 한정되는 것은 아니다.
예를 들어, 어노테이션 장치(300)는 입출력장치를 통해 두 개의 좌표를 입력 받고, 입력된 두 좌표를 기초로 감지 데이터, 3D 점군 데이터, 2D 이미지 또는 거리 정보 내에서 좌상단 꼭지점(vertex)의 좌표와 우하단 꼭지점의 좌표로 가지는 사각형을 기초로 바운딩 박스를 설정하여 객체를 특정할 수 있다. 이 경우, 두 개의 좌표는 사용자가 한 종류의 입력 신호를 두 번 입력(예들 들어, 마우스 클릭)하여 설정되거나, 사용자가 두 종류의 입력 신호를 한번씩 입력(예를 들어, 마우스 드래그)하여 설정될 수 있으나, 이에 한정되는 것은 아니다.
이와 다르게, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)로부터 수신된 2D 이미지와, 해당 2D 이미지를 대상으로 학습 데이터 생성 장치(100)에 의해 자동으로 검출된 객체에 관한 정보를 디스플레이에 출력할 수 있다. 그리고, 어노테이션 장치(300)는 자동으로 검출된 객체에 관한 정보가 올바른지 여부를 검증한 결과를 사용자로부터 입력 받을 수 있다. 만약, 자동으로 검출된 객체에 관한 정보에 오류가 존재하는 경우, 어노테이션 장치(300)는 입출력장치를 통해 사용자로부터 입력된 신호에 따라, 2D 이미지 속에 포함된 객체를 재특정할 수 있다.
어노테이션 장치(300)는 입출력장치를 통해 사용자로부터 입력된 신호에 따라, 어노테이션 작업의 대상이 되는 감지 데이터, 3D 점군 데이터, 2D 이미지, 거리 정보, 또는 설정된 객체에 대한 메타데이터(metadata)를 생성할 수 있다. 여기서, 메타데이터는 감지 데이터, 3D 점군 데이터, 2D 이미지, 거리 정보, 또는 객체를 설명하기 위한 데이터이다. 이와 같은, 메타데이터에는 특정된 객체의 카테고리, 객체가 화각에 의해 잘려진 비율, 객체가 다른 객체 또는 물체에 의해 가려진 비율, 객체의 트래킹 아이디, 이미지가 촬영된 시각, 이미지가 촬영된 날의 기상 조건 등이 포함될 수 있으며, 이에 한정되지 아니하고, 파일 크기, 이미지 크기, 저작권자, 해상도, 비트 값, 조리개 투과량, 노출 시간, ISO 감도, 초점 거리, 조리개 개방 수치, 화각, 화이트 밸런스, RGB 깊이, 클래스 명, 태그, 촬영 장소, 도로의 유형, 도로 표면 정보 또는 교통 체증 정보가 더 포함될 수도 있다.
어노테이션 장치(300)는 특정된 객체와 생성된 메타데이터를 기초로, 어노테이션 작업 결과물을 생성할 수 있다. 이 경우, 어노테이션 작업 결과물을 JSON(Java Script Object Notation) 파일 형식을 가질 수 있으나, 이에 한정되는 것은 아니다. 어노테이션 장치(300)는 생성된 어노테이션 작업 결과물을 학습 데이터 생성 장치(200)에 전송할 수 있다.
이와 같은 특징을 가지는, 어노테이션 장치(300)는 학습 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 기초로 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 어노테이션 장치(100)는 데스크탑(desktop), 워크스테이션(workstation) 또는 서버(server)와 같은 고정식 컴퓨팅 장치, 또는 스마트폰(smart phone), 랩탑(laptop), 태블릿(tablet), 패블릿(phablet), 휴대용 멀티미디어 재생장치(Portable Multimedia Player, PMP), 개인용 휴대 단말기(Personal Digital Assistants, PDA) 또는 전자책 단말기(E-book reader)과 같은 이동식 컴퓨팅 장치 중 어느 하나가 될 수 있다.
다음 구성으로, 인공지능 학습 장치(400)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키는데 사용될 수 있는 장치이다.
구체적으로, 인공지능 학습 장치(400)는 차량의 자율주행에 사용될 수 있는 인공지능(AI)의 목적 달성을 위한 요구 사항을 학습 데이터 생성 장치(200)에 전송할 수 있다. 인공지능 학습 장치(400)는 학습 데이터 생성 장치(200)로부터 인공지능(AI) 학습용 데이터를 수신할 수 있다. 그리고, 인공지능 학습 장치(400)는 수신된 인공지능(AI) 학습용 데이터를 이용하여, 차량의 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습할 수 있다.
이와 같은, 인공지능 학습 장치(400)는 학습 데이터 생성 장치(200)와 데이터를 송수신하고, 송수신된 데이터를 이용하여 연산을 수행할 수 있는 장치라면 어떠한 장치라도 허용될 수 있다. 예를 들어, 인공지능 학습 장치(400)는 데스크탑, 워크스테이션 또는 서버와 같은 고정식 컴퓨팅 장치 중 어느 하나가 될 수 있으나, 이에 한정되는 것은 아니다.
지금까지 상술한 바와 같은, 복수 개의 학습 데이터 수집 장치(100)와 학습 데이터 생성 장치(200)는 이동통신망을 이용하여 데이터를 송수신할 수 있다. 예를 들어, 이동통신망에는 코드 분할 다중 접속(Code Division Multiple Access, CDMA), 와이드 밴드 코드 분할 다중 접속(Wideband CDMA, WCDMA), 고속 패킷 접속(High Speed Packet Access, HSPA), 롱텀 에볼루션(Long Term Evolution, LTE), 5세대 이동통신(5th generation mobile telecommunication)가 포함될 수 있으나, 이에 한정되는 것은 아니다.
또한, 학습 데이터 생성 장치(200), 복수 개의 어노테이션 장치(300) 및 인공지능 학습 장치(400)는 장치들 사이를 직접 연결하는 보안 회선, 공용 유선 통신망 또는 이동통신망 중 하나 이상이 조합된 네트워크를 이용하여 데이터를 송수신할 수 있다. 예를 들어, 공용 유선 통신망에는 이더넷(ethernet), 디지털가입자선(x Digital Subscriber Line, xDSL), 광동축 혼합망(Hybrid Fiber Coax, HFC), 광가입자망(Fiber To The Home, FTTH)가 포함될 수 있으나, 이에 한정되는 것도 아니다.
이하, 상술한 바와 같은 학습 데이터 수집 장치(100)의 제어 대상이자, 차량에 설치되어 기계 학습용 데이터를 획득, 촬영 또는 감지하는 센서들에 대하여 보다 구체적으로 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 센서들을 설명하기 위한 예시도이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 차량(10)에 고정 설치된 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50) 중 하나 이상을 제어하여, 인공지능(AI)을 기계 학습시키기 위한 기초 데이터를 수집할 수 있다.
여기서, 차량(10)은 인공지능(AI)을 기계 학습시키기 위한 기초 데이터를 수집하기 위한 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50)가 설치된 차량으로, 인공지능(AI)에 의해 자율주행을 수행하는 차량과는 서로 구별될 수 있다.
레이더(20)는 차량(10)에 고정 설치되어 차량(10)의 주행 방향을 향하여 전자기파(electromagnetic wave)를 발사하고, 차량(10)의 전방에 위치하는 객체(object)에 의해 반사되어 돌아온 전자기파를 감지하여, 차량(10)이 전방에 대한 영상에 해당하는 감지 데이터를 생성할 수 있다.
다르게 말하면, 감지 데이터는 차량(10)에 고정 설치된 레이더(20)에 의해 차량의 주행 방향을 향하여 발사된 전자기파를 반사시킨 점들(points)에 대한 정보이다. 따라서, 감지 데이터에 포함된 점들의 좌표들은 차량(10)의 전방에 위치하는 객체의 위치 및 형상에 대응하는 값을 가질 수 있다. 이러한, 감지 데이터는 2차원 정보가 될 수 있으나, 이에 한정되지 않고 3차원 정보가 될 수도 있다.
라이다(30)는 차량(10)에 고정 설치되어 차량(10)의 주위로 레이저 펄스(laser pulse)를 방사하고, 차량(10)의 주위에 위치하는 객체에 의해 반사되어 돌아온 빛을 감지하여, 차량(10)의 주위에 대한 3차원 영상에 해당하는 3D 점군 데이터를 생성할 수 있다.
다르게 말하면, 3D 점군 데이터는 차량(10)에 고정 설치된 라이다(30)에 의해 차량의 주위로 방사된 레이저 펄스를 반사시킨 점들에 대한 3차원 정보이다. 따라서, 3D 점군 데이터에 포함된 점들의 좌표들은 차량(10)의 주위에 위치하는 객체의 위치 및 형성에 대응하는 값을 가질 수 있다.
카메라(40)는 차량(10)에 고정 설치되어 차량(10)의 주위에 대한 2차원 이미지를 촬영할 수 있다. 이와 같은, 카메라(40)는 서로 다른 방향을 촬영할 수 있도록 복수 개가 지표면과 수평 또는 수평 방향으로 이격되게 설치될 수 있다. 예를 들어, 도 2는 서로 다른 6개의 방향을 촬영할 수 있는 6개의 카메라(40)가 고정 설치된 차량(10)의 예시를 도시하고 있으나, 차량(10)에 설치될 수 있는 카메라(40)가 다양한 개수로 구성될 수 있음은 본 발명이 속한 기술분야의 통상의 지식을 가진 자에게 자명할 것이다.
다르게 말하면, 2D 이미지는 차량(10)에 고정 설치된 카메라(40)에 의해 촬영된 이미지이다. 따라서, 2D 이미지에는 카메라(40)가 향하는 방향에 위치하는 객체의 색상 정보가 포함될 수 있다.
초음파 센서(50)는 차량(50)에 고정 설치되어 차량(10)의 주위로 초음파(ultrasonic)를 발사하고, 차량(10)과 인접하게 위치하는 객체에 의해 반사되어 돌아온 음파를 감지하여, 차량(10)에 설치된 초음파 센서(50)와 객체 사이의 거리에 해당하는 거리 정보를 생성할 수 있다. 일반적으로, 초음파 센서(50)는 복수 개로 구성되어, 객체와 접촉하기 쉬운 차량(10)의 전방, 후방, 전측방 및 후측방에 고정 설치될 수 있다.
다르게 말하면, 거리 정보는 차량(10)에 고정 설치된 초음파 센서(50)에 의해 감지된 객체로부터의 거리에 관한 정보이다.
도 3은 서로 다른 높이에 설치된 카메라들의 서로 다른 객체 인식율을 설명하기 위한 예시도이다.
기계 학습된 인공지능(AI)을 이용하여 자율주행을 수행할 차량의 차고(vehicle height)는 다양할 수 있으며, 자율주행을 수행할 차량에 설치되는 카메라의 설치 높이 또한 다양할 수 있다.
따라서, 일정한 하나의 높이에서 촬영된 2D 이미지만을 기초로 인공지능(AI)을 기계 학습시키게 되면, 기계 학습된 인공 지능(AI)을 이용하여 자율주행을 수행할 차량들에 카메라가 서로 다른 높이에 설치될 경우, 각각의 차량에 설치된 카메라의 높이에 따라 객체의 검출율이 서로 다르게 되는 한계가 있다.
이러한 한계를 극복하고자, 도 3에 도시된 바와 같이, 인공지능(AI)을 기계 학습시키기 위한 기초 데이터를 수집하는 차량(10)에 복수 개의 카메라(40_high, 40_low)를 지표면과 수직 방향으로 이격되게 설치하고, 지표면과 수직 방향으로 이격되게 설치된 복수 개의 카메라(40_high, 40_low)가 각각 2D 이미지(45_high, 45_low)를 촬영하도록 구성할 수 있다.
그러나, 지표면과 수평한 2차원 관점에서 동일한 방향을 중복하여 촬영하고 있는 복수 개의 카메라(40_high, 40_low)가 촬영한 모든 2D 이미지들(45_high, 45_low)을 모두 중복적으로 영상 처리하고 외부로 전송하는 것은 비효율적이다.
본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 서로 다른 높이에 설치된 복수 개의 카메라(40_high, 40_low) 사이의 우선순위를 정의하고 조절함으로써, 복수 개의 카메라(40_high, 40_low)에 의해 촬영된 모든 2D 이미지들(45_high, 45_low)을 영상 처리하기 위한 연산 부하 및 네트워크 부하를 감소시킬 수 있다.
이하, 상술한 바와 같은 특징들을 가지는 학습 데이터 수집 장치(100)의 구성에 대하여 보다 구체적으로 설명하기로 한다.
도 4는 본 발명의 일 실시예에 따른 학습 데이터 수집 장치의 논리적 구성도이다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 통신부(105), 입출력부(110), 다중 센서 제어부(115), 객체 식별부(120), 비식별화 처리부(125), 데이터 제공부(130) 및 저장부(135)를 포함하여 구성될 수 있다.
이와 같은, 학습 데이터 수집 장치(100)의 구성 요소들은 기능적으로 구분되는 요소들을 나타낸 것에 불과하므로, 둘 이상의 구성 요소가 실제 물리적 환경에서는 서로 통합되어 구현되거나, 하나의 구성 요소가 실제 물리적 환경에서는 서로 분리되어 구현될 수 있을 것이다.
각각의 구성 요소에 대하여 설명하면, 통신부(105)는 차량(10)에 설치된 다중 센서들과 학습 데이터 생성 장치(200)와 데이터를 송수신할 수 있다.
구체적으로, 통신부(105)는 차량(10)에 고정 설치된 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50)로부터 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보를 수신할 수 있다.
통신부(105)는 사전에 설정된 주기마다 학습 데이터 생성 장치(200)와의 이동통신의 통신 품질을 측정할 수 있다. 예를 들어, 통신부(105)는 사전에 설정된 주기마다 ICMP(Internet Control Message Protocol)의 ping 패킷(echo request)를 학습 데이터 생성 장치(200)에 전송하고, 학습 데이터 생성 장치(200)로부터 응답 패킷(echo reply)을 수신할 수 있다.
통신부(105)는 데이터 제공부(130)의 제어에 따라, 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보를 학습 데이터 생성 장치(200)에 전송할 수 있다. 이 경우, 2D 이미지에는 객체 식별부(120)에 의해 2D 이미지로부터 식별된 객체가 차지하고 있는 영역에 관한 정보 및 비식별 처리된 개인정보에 관한 정보가 포함될 수 있다.
그리고, 통신부(105)는 객체 식별부(120) 및 비식별화 처리부(125)의 제어에 따라 객체 검출 규칙의 업데이트 요청 메시지 또는 비식별 처리 규칙의 업데이트 요청 메시지를 학습 데이터 생성 장치(200)에 전송할 수 있다.
다음 구성으로, 입출력부(110)는 사용자 인터페이스(UI)를 통해 사용자로부터 신호를 입력 받거나 연산 결과를 외부로 출력할 수 있다.
구체적으로, 입출력부(110)는 학습 데이터 생성 장치(200)와의 통신 품질을 측정하기 위한 주기를 사용자로부터 입력 받을 수 있다. 입출력부(110)는 3D 점군 데이터, 2D 이미지, 감지 데이터 및 거리 정보를 저장하기 위한 버퍼(buffer)의 기본 크기 및 버퍼에 우선적으로 저장할 데이터의 우선순위를 사용자로부터 입력 받을 수 있다.
입출력부(110)는 감지 데이터 또는 3D 점군 데이터에 포함된 점들 중에서 객체로 식별될 수 있는 점들의 군집(crowd)을 결정하기 위한 크기 범위인 임계 범위를 사용자로부터 입력 받을 수 있다. 이 경우, 임계 범위는 인공지능(AI)의 기계 학습의 대상이 되는 객체의 유형에 따라 결정된 값이 입력될 수 있다. 입출력부(110)는 2D 이미지에 포함된 객체에 대한 객체 영역을 설정하기 위한 정점들(vertices)의 개수를 사용자로부터 입력 받을 수 있다.
입출력부(110)는 2D 이미지에 포함된 객체를 비식별 처리하기 위한 영역과 객체의 엣지 사이의 최소 이격 거리를 사용자로부터 입력 받을 수 있다. 입출력부(110)는 비식별 처리된 2D 이미지를 디스플레이를 통해 출력할 수 있다.
그리고, 입출력부(110)는 차량(10)에 서로 다른 높이에 설치된 복수 개의 카메라들에 대한 우선순위를 사용자로부터 입력 받을 수 있다. 입출력부(110)는 각 카메라에 의해 촬영된 2D 이미지마다 객체 검출을 시도하기 위한 횟수를 사용자로부터 입력 받을 수 있다.
다음 구성으로, 다중 센서 제어부(115)는 차량(10)에 고정 설치된 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50) 중 하나 이상을 제어하고, 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50) 중 하나 이상으로부터 실시간으로 데이터를 수집할 수 있다.
구체적으로, 다중 센서 제어부(115)는 통신부(105)를 통해 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보 중에서 하나 이상을 수집할 수 있다. 여기서, 감지 데이터는 차량(10)에 고정 설치된 레이더(20)에 의해 차량의 주행 방향을 향하여 발사된 전자기파를 반사시킨 점들(points)에 대한 정보이다. 3D 점군 데이터는 차량(10)에 고정 설치된 라이다(30)에 의해 차량의 주위로 방사된 레이저 펄스를 반사시킨 점들에 대한 3차원 정보이다. 2D 이미지는 차량(10)에 고정 설치된 카메라(40)에 의해 촬영된 이미지이다. 그리고, 거리 정보는 차량(10)에 고정 설치된 초음파 센서(50)에 의해 감지된 객체로부터의 거리에 관한 정보이다.
다중 센서 제어부(115)는 언제나 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보를 모두 수집할 필요는 없으며, 다중 센서 제어부(115)는 객체 식별부(120), 비식별화 처리부(125) 또는 데이터 제어부(130)의 요청에 대응하여, 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보 중에서 하나 이상을 수집할 수 있다.
예를 들어, 다중 센서 제어부(115)는 라이다(30) 및 카메라(40)에 의해 동시에 획득 및 촬영된 3D 점군 데이터 및 2D 이미지만을 수집할 수 있다. 또는, 다중 센서 제어부(115)는 차량(10)에 서로 다른 높이에 설치된 복수 개의 카메라들(40)에 의해 동시에 촬영된 2D 이미지들을 수집할 수도 있다.
그리고, 다중 센서 제어부(115)는 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50) 중 하나 이상으로부터 실시간으로 수집된 데이터를 데이터 제공부(130)의 버퍼에 저장할 수 있다.
특징적으로, 본 발명의 일 실시예에 따른 다중 센서 제어부(115)는 차량(10)에 서로 다른 높이에 설치된 복수 개의 카메라들에 의해 동시에 촬영된 2D 이미지들을 수집하는 경우, 서로 다른 높이에 설치된 복수 개의 카메라들을 우선순위에 따라 제어할 수 있다.
보다 상세하게, 다중 센서 제어부(115)는 서로 다른 높이에 설치된 복수 개의 카메라들 사이의 우선순위(priority)를 기초로, 우선순위가 가장 높은 카메라에 의해 촬영된 2D 이미지에 포함된 객체가 식별되도록, 우선순위가 가장 높은 카메라에 의해 촬영된 2D 이미지를 객체 식별부(120)에 제공할 수 있다.
만약, 우선순위가 가장 높은 카메라에 의해 촬영된 2D 이미지로부터 객체의 식별이 실패한 경우, 다중 센서 제어부(115)는 차순위의 우선순위를 가지는 카메라에 의해 촬영된 2D 이미지로부터 객체의 식별이 시도되도록, 차순위의 우선순위를 가지는 카메라에 의해 촬영된 2D 이미지를 객체 식별부(120)에 제공할 수 있다.
또한, 서로 다른 높이에 설치된 복수 개의 카메라들에 의해 동시에 촬영된 모든 2D 이미지들로부터 객체의 식별이 실패한 경우, 다중 센서 제어부(115)는 해당 2D 이미지들이 촬영된 시점과 동시에 라이다에 의해 획득된 3D 점군 데이터를 저장부(135)로부터 제거할 수 있다.
상술한 바와 같이 2D 이미지들을 처리하기 위한, 서로 다른 높이에 설치된 복수 개의 카메라들 사이의 우선순위는 기본적으로 인공지능(AI)을 이용하여 자율주행을 수행할 차량의 차고를 기초로 학습 데이터 생성 장치(200)에 의해 임시적으로 설정될 수 있다.
그러나, 우선순위가 가장 높은 카메라에 의해 촬영된 2D 이미지들을 대상으로 수행된 객체의 식별이 사전에 설정된 횟수만큼 연속적으로 실패한 경우, 다중 센서 제어부(115)는 서로 다른 높이에 설치된 복수 개의 카메라들 사이의 우선순위를 조정할 수 있다.
보다 상세하게, 다중 센서 제어부(115)는 서로 다른 높이에 설치된 복수 개의 카메라들에 의해 촬영된 2D 이미지들을 대상으로, 객체 식별부(120)를 통해 각각의 2D 이미지에 포함된 객체를 식별할 수 있다. 그리고, 다중 센서 제어부(115)는 각각의 2D 이미지로부터 식별된 객체의 완전성(integrity)을 기준으로, 서로 다른 높이에 설치된 복수 개의 카메라들 사이의 우선순위를 조정할 수 있다.
이 경우, 객체의 완전성은 객체의 전체 형상 중에서 카메라의 화각 또는 다른 객체에 의해 잘리지 않고 2D 이미지에 포함된 비율을 의미한다.
이를 위하여, 다중 센서 제어부(115)는 2D 이미지로부터 식별된 객체와 3D 점군 데이터를 대비하여 객체의 완전성을 평가하거나, 또는 2D 이미지 자체에서 필수점을 몇 개나 포함하고 있는지 여부를 기초로 객체의 완전성을 평가할 수 있다.
일 예로, 다중 센서 제어부(115)는 차량(10)에 설치된 라이다(30)에 의해 획득된 3D 점군 데이터를 더 수집하고, 객체 식별부(120)를 통해 3D 점군 데이터에 포함된 점들의 3차원 좌표를 기초로 3D 점군 데이터에 포함된 객체를 식별할 수 있다. 그리고, 객체 식별부(120)는 3D 점군 데이터로부터 식별된 객체와 각각의 2D 이미지로부터 식별된 객체를 서로 대비한 결과를 기초로, 객체의 완전성을 평가할 수 있다.
다른 예로, 다중 센서 제어부(115)는 각각의 2D 이미지로부터 식별된 객체를 구성하는 점들 중에서, 객체 식별부(120)에 의해 식별된 객체의 유형에 따라 사전에 설정된 복수 개의 필수점(essential point)들에 대응하는 점들을 몇 개나 포함하고 있는지 여부에 따라, 객체의 완전성을 평가할 수 있다. 이 경우, 필수점은 객체의 유형을 다른 유형과 구별하기 위하여 요구되는 점들이 될 수 있다.
다음 구성으로, 객체 식별부(120)는 다중 센서 제어부(115)에 의해 수집된 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보로부터 객체를 식별할 수 있다.
기본적으로, 본 발명의 일 실시예에 따른 객체 식별부(120)는 3D 점군 데이터에 포함된 점들(points)의 3차원 좌표를 기초로, 2D 이미지 내에서 객체가 존재할 것으로 예측되는 객체 영역을 설정할 수 있다. 이 경우, 객체 영역은 정점들(vertices)과 정점들을 서로 연결한 간선들(edges)로 구성된 2차원 영역일 수 있다.
객체 영역을 구성하는 정점들은 기본적으로 학습 데이터 수집 장치(100)의 연산 능력(computing power)에 대응하여 학습 데이터 생성 장치(200)에 의해 사전에 설정된 개수로 구성될 수 있다.
그러나, 객체 식별부(120)는 카메라(40)에 의해 촬영된 2D 이미지의 중요도가 변화되는 경우, 객체 영역을 구성하는 정점들의 개수를 조절할 수 있다.
일 예로, 객체 식별부(120)는 차량(10)에 설치된 카메라(40)가 2D 이미지를 촬영하는 주기(period)의 크기에 비례하여, 객체 영역을 구성하는 정점들의 개수를 증가시킬 수 있다.
다른 예로, 객체 식별부(120)는 카메라(40)가 설치된 차량(10)의 이동 속도에 비례하여, 객체 영역을 구성하는 정점들의 개수를 증가시킬 수도 있다.
한편, 3D 점군 데이터로부터 2D 이미지 내의 객체를 식별하기 위하여, 객체 식별부(120)는 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집을 형성하고 있는 점들을 식별할 수 있다.
객체 식별부(120)는 식별된 군집의 X축 상의 폭(width), Y축 상의 높이(height) 및 Z축 상의 깊이(depth)를 기초로, 객체의 유형을 식별할 수 있다. 보다 상세하게, 객체 식별부(120)는 데이터베이스 내에 객체의 유형별로 사전에 구비된 폭, 높이 및 깊이의 비율 관계(rate relation)를 기초로, 식별된 군집의 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이에 대응하는 객체의 유형을 식별할 수 있다.
객체 식별부(120)는 식별된 객체의 유형에 따라 데이터베이스 내에 사전에 구비된 3D 모델을 해당 2D 이미지를 촬영한 카메라(40)의 광축(optical axis) 방향에 따라 3차원 회전시킬 수 있다. 그리고, 객체 식별부(120)는 3차원 회전된 3D 모델을 카메라(40)의 광축 방향에서 바라본 2차원 형상을 객체 영역으로 식별할 수 있다.
그리고, 객체 식별부(120)는 객체 영역으로 식별된 2차원 형상을 2D 이미지에 반영하여 정점들과 간선들을 구성함으로써, 2D 이미지 내에서 객체가 존재할 것으로 예측되는 객체 영역을 설정할 수 있다.
한편, 객체 식별부(120)는 식별된 객체 영역에 대하여 엣지를 추출(edge detection)하고, 데이터베이스로부터 객체의 유형 및 추출된 엣지의 패턴(edge pattern)에 대응하는 객체 검출 규칙이 존재하는 여부를 기초로 식별된 객체 영역을 검증할 수 있다. 이 경우, 객체 검출 규칙은 학습 데이터 생성 장치(200)에 의해 배포되며, 2D 이미지 내에서 식별된 객체를 검증할 수 있도록 객체의 유형별로 분류된 엣지의 패턴들을 열거한 규칙이다.
객체 식별부(120)는 데이터베이스 내에 객체 검출 규칙이 존재하지 않는 경우, 해당 2D 이미지, 3D 점군 데이터로부터 식별된 객체의 유형 및 2D 이미지로부터 추출된 엣지의 포함을 포함시켜, 객체 검출 규칙에 대한 업데이트 요청 메시지를 생성할 수 있다. 객체 식별부(120)는 업데이트 요청 메시지가 생성되면, 생성된 업데이트 요청 메시지를 통신부(105)를 통해 학습 데이터 생성 장치(200)에 전송할 수 있다.
또한, 객체 식별부(120)는 2D 이미지 내에서 어떠한 객체도 식별되지 않은 경우, 객체가 식별되지 않은 2D 이미지가 촬영된 시점과 동시에 획득된 3D 점군 데이터를 저장부(135)로부터 제거할 수 있다.
다음 구성으로, 비식별화 처리부(125)는 객체 식별부(120)에 의해 식별된 객체의 유형에 대응하여, 2D 이미지의 일부를 비식별(de-identify) 처리할 수 있다.
구체적으로, 비식별화 처리부(125)는 객체 식별부(120)가 3D 모델을 이용하여 객체 영역을 설정하면, 3D 모델에 사전에 부여된 비식별 처리 영역에 대응하는 영역에 대하여 비식별 처리를 수행할 수 있다.
이를 위하여, 비식별화 처리부(125)는 2D 이미지의 엣지를 추출하고, 데이터베이스로부터 객체 식별부(120)에 의해 식별된 객체의 유형 및 2D 이미지로부터 추출된 엣지의 패턴에 대응하는 비식별 규칙을 조회할 수 있다. 데이터베이스로부터 비식별 처리 규칙이 조회되는 경우, 비식별화 처리부(125)는 조회된 비식별 처리 규칙에 따라, 2D 이미지의 일부를 비식별 처리할 수 있다. 이 경우, 비식별 처리 규칙은 학습 데이터 생성 장치(200)에 의해 배포되며, 2D 이미지 내에서 비식별 처리할 영역을 결정할 수 있도록, 객체 내에 존재하는 비식별 영역에 대한 엣지의 패턴을 열거한 규칙이다.
비식별 처리부(125)는 데이터베이스로부터 비식별 처리 규칙이 조회되지 않은 경우, 해당 2D 이미지, 3D 점군 데이터로부터 식별된 객체의 유형 및 2D 이미지로부터 추출된 엣지의 포함을 포함시켜, 비식별 처리 규칙에 대한 업데이트 요청 메시지를 생성할 수 있다. 비식별 처리부(125)는 업데이트 요청 메시지가 생성되면, 생성된 업데이트 요청 메시지를 통신부(105)를 통해 학습 데이터 생성 장치(200)에 전송할 수 있다.
한편, 비식별 처리부(125)는 비식별 처리를 수행함에 있어, 비식별 처리를 수행할 영역의 경계선과 2D 이미지로부터 추출된 엣지에 의한 폐쇄 영역(enclosure)의 경계선(boundary line)이 사전에 설정된 최소 이격 거리 내로 인접한 경우, 비식별 처리를 수행할 영역의 경계선과 폐쇄 영역의 경계선이 최소 이격 거리 이상으로 이격되도록, 비식별 처리를 수행할 영역의 크기를 감소시킬 수 있다. 이 경우, 최소 이격 거리는 두 경계선 사이에 위치하는 픽셀의 최소 개수가 될 수 있다.
이와 같이, 비식별 처리부(125)는 비식별 처리를 수행할 영역의 경계선과 2D 이미지의 엣지가 서로 겹치지 않고, 최소 이격 거리 이상으로 이격되게 함으로써, 개인정보의 비식별 처리가 어노테이션 작업에 미치는 영향을 최소화할 수 있다.
한편, 상술한 바와 같은 비식별 처리부(125)는 2D 이미지의 일부를 블러링 처리하여 비식별 처리를 수행할 수 있다. 이 경우, 비식별 처리의 대상이 되는 2D 이미지의 선명도(visibility)는 차량(10)의 이동속도에 따라 변화될 수 있으므로, 비식별 처리부(125)는 비식별 처리를 위한 블러링의 강도를 카메라(40)가 설치된 차량(10)의 이동속도에 반비례하게 설정할 수도 있다.
그리고, 비식별 처리부(125)는 블러링 처리를 수행하기 이전에, 비식별 처리를 수행할 영역을 크롭(crop)한 후, 크롭된 영상을 포함시켜 복원 데이터를 생성할 수도 있다.
다음 구성으로, 데이터 제공부(130)는 다중 센서 제어부(115)에 의해 수집된 감지 데이터, 3D 점군 데이터, 비식별 처리부(125)에 의해 비식별 처리된 2D 이미지, 거리 정보, 및 객체 식별부(120)에 의해 설정된 객체 영역에 관한 정보를 학습 데이터 생성 장치(200)에 전송할 수 있다.
특징적으로, 본 발명의 일 실시예에 따른 데이터 제공부(130)는 사전에 설정된 주기마다 학습 데이터 생성 장치(200)와의 이동통신의 통신 품질을 측정하고, 측정된 통신 품질에 대응하여 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보를 저장할 버퍼(buffer)의 크기를 조정하고, 버퍼(buffer)에 누적 저장된 데이터가 꽉 차면 버퍼에 저장된 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보를 학습 데이터 생성 장치(200)에 전송할 수 있다. 즉, 버퍼는 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50)로부터 수집된 데이터를 저장하기 위한 임시 저장 공간이다.
기본적으로, 데이터 제공부(130)는 사전에 설정된 주기마다 학습 데이터 생성 장치(200)와의 이동통신의 통신 품질을 측정하고, 측정된 통신 품질에 대응하여 버퍼의 크기를 조정할 수 있다.
구체적으로, 데이터 제공부(130)는 통신부(105)를 통해, 설정된 주기마다 ICMP의 ping 패킷을 학습 데이터 생성 장치(200)에 전송하고, 학습 데이터 생성 장치로부터 수신된 응답 패킷에 포함된 RTT(Round Trip Time)와 TTL(Time To Live)을 기초로 버퍼의 크기를 결정할 수 있다. 이 경우, 데이터 제공부(130)는 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50)가 설치된 차량(10)의 이동 속도에 반비례하여, ICMP의 ping 패킷을 전송할 주기를 조절할 수 있다.
한편, 응답 패킷에 포함된 TTL을 기초로 모든 패킷이 손실되는 것으로 판단되는 경우, 데이터 제공부(130)는 학습 데이터 생성 장치(200)와 직접 이동통신을 수행하지 아니하고, 다른 학습 데이터 수집 장치(100)를 경유하여 학습 데이터 생성 장치(200)와 이동통신을 수행하도록 제어할 수도 있다.
만약, 데이터 제공부(130)에 의해 결정된 버퍼의 크기가 사전에 설정된 기본 전송 크기보다 작은 경우, 데이터 제공부(130)는 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50) 중 하나 이상으로부터 수집된 데이터 중 일부를 제거(discard)할 수 있다. 이 경우, 기본 전송 크기는 사전에 설정된 기본 수집 시간동안 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50)에 의해 동시에 획득, 촬영 및 감지된 데이터를 모두 합한 데이터의 크기가 될 수 있다.
우선, 데이터 제공부(130)는 사전에 설정된 우선순위에 따라, 레이더(20)에 의해 획득된 감지 데이터, 라이다(30)에 의해 획득된 3D 점군 데이터, 카메라(40)에 의해 촬영된 2D 이미지 및 초음파 센서(50)에 의해 감지된 거리 정보를 순서대로 제거할 수 있다.
이 경우, 데이터 제공부(130)는 레이더(20)에 의해 획득된 감지 데이터를 기초로 차량(10)이 객체로부터 이격된 거리를 추정하고, 추정된 거리를 기준으로 레이더(20)에 의해 획득된 감지 데이터, 라이다(30)에 의해 획득된 3D 점군 데이터, 카메라(40)에 의해 촬영된 2D 이미지 및 초음파 센서(50)에 의해 감지된 거리 정보 사이의 우선순위를 조정할 수 있다.
또한, 데이터 제공부(130)는 우선순위에 따라 카메라(40)에 의해 촬영된 2D 이미지들을 제거해야 하는 경우, 기본 수집 시간동안 카메라(40)에 의해 촬영된 복수 개의 2D 이미지들 중에서 객체가 포함되지 않은 2D 이미지를 우선적으로 제거할 수 있다.
이 경우, 2D 이미지로부터 객체를 정확히 특정할 필요 없이 2D 이미지 내에 객체가 포함되어 있는지 여부만을 판단하면 족하므로, 객체 식별부(120)를 통해 정확한 객체를 식별하기 아니하고, 데이터 제공부(130)가 3D 점군 데이터에 포함된 점들 중에서 군집을 형성하고 있는 점들의 경계와 2D 이미지의 엣지를 단순 매칭하여, 2D 이미지 내에 객체가 포함되어 있는지 여부만을 판단할 수도 있다.
다음 구성으로, 저장부(135)는 학습 데이터 수집 장치(100)의 동작에 필요한 데이터를 저장할 수 있다.
구체적으로, 저장부(135)는 3D 점군 데이터, 2D 이미지, 감지 데이터 및 거리 정보를 저장하기 위한 버퍼(buffer)를 포함하여 구성될 수 있다. 그리고, 저장부(135)는 영상 처리 및 데이터 전송에 필요한 규칙 및 기초 데이터를 저장하기 위한 데이터베이스(database)를 포함하여 구성될 수 있다.
저장부(135)를 구성하는 데이터베이스에는 객체 검출 규칙, 비식별 처리 규칙 및 객체의 유형별 3D 모델이 저장될 수 있다. 여기서, 객체 검출 규칙은 2D 이미지 내에서 식별된 객체를 검증할 수 있도록 객체의 유형별로 분류된 엣지의 패턴들을 열거한 규칙이 될 수 있다. 비식별 처리 규칙은 2D 이미지 내에서 비식별 처리할 영역을 결정할 수 있도록 객체 내에 존재하는 비식별 영역에 대한 엣지의 패턴들을 열거한 규칙이 될 수 있다. 그리고, 3D 모델은 객체의 유형별로 분류된 객체의 3차원 형상 데이터이다.
이하, 상술한 바와 같은 학습 데이터 수집 장치(100)의 논리적 구성요소를 구현하기 위한 하드웨어에 대하여 보다 구체적으로 설명한다.
도 5는 본 발명의 일 실시예에 따른 학습 데이터 수집 장치의 하드웨어 구성도이다.
도 5에 도시된 바와 같이, 학습 데이터 수집 장치(100)는 프로세서(Processor, 150), 메모리(Memory, 155), 송수신기(Transceiver, 160), 입출력장치(Input/output device, 165), 데이터 버스(Bus, 170) 및 스토리지(Storage, 175)를 포함하여 구성될 수 있다.
프로세서(150)는 메모리(155)에 상주된 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180a)에 따른 명령어를 기초로, 학습 데이터 수집 장치(100)의 동작 및 기능을 구현할 수 있다. 메모리(155)에는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180a)가 상주(loading)될 수 있다. 송수신기(160)는 레이더(20), 라이다(30), 카메라(40), 초음파 센서(50) 및 학습 데이터 생성 장치(200)와 데이터를 송수신할 수 있다. 입출력장치(165)는 학습 데이터 수집 장치(100)의 동작에 필요한 데이터를 입력 받고, 수집된 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보를 출력할 수 있다. 데이터 버스(170)는 프로세서(150), 메모리(155), 송수신기(160), 입출력장치(165) 및 스토리지(175)와 연결되어, 각각의 구성 요소 사이가 서로 데이터를 전달하기 위한 이동 통로의 역할을 수행할 수 있다.
스토리지(175)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180a)의 실행을 위해 필요한 애플리케이션 프로그래밍 인터페이스(Application Programming Interface, API), 라이브러리(library) 파일, 리소스(resource) 파일 등을 저장할 수 있다. 스토리지(175)는 본 발명의 실시예들에 따른 방법이 구현된 소프트웨어(180b) 및 데이터베이스(185)를 저장할 수 있다. 데이터베이스(185)에는 객체 검출 규칙, 비식별 처리 규칙 및 객체의 유형별 3D 모델이 저장될 수 있다.
본 발명의 일 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 센서들의 제어 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 차량(10)에 서로 다른 높이에 설치된 복수 개의 카메라(40)들에 의해 동시에 촬영된 2D 이미지들을 수집하는 단계. 프로세서(150)가 상기 복수 개의 카메라(40)들 사이의 우선순위를 기초로, 상기 우선순위가 가장 높은 카메라에 의해 촬영된 2D 이미지에 포함된 객체를 식별하는 단계, 및 프로세서(150)가 상기 우선순위가 가장 높은 카메라(40)에 의해 촬영된 2D 이미지 및 상기 식별된 객체에 관한 정보를 학습 데이터 생성 장치(200)에 전송하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 다른 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 객체의 선제 검출 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 차량(10)에 설치된 라이다(20) 및 카메라(30)에 의해 동시에 획득 및 촬영된 3D 점군 데이터 및 2D 이미지를 수집하는 단계, 프로세서(150)가 상기 3D 점군 데이터에 포함된 점들의 3차원 좌표를 기초로, 상기 2D 이미지 내에서 객체가 존재할 것으로 예측되는 객체 영역을 식별하는 단계, 및 프로세서(150)가 상기 2D 이미지 및 상기 예측되는 영역에 관한 정보를 학습 데이터 생성 장치(200)에 전송하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
본 발명의 또 다른 실시예에 따르면, 메모리(155)에 상주되거나 또는 스토리지(175)에 저장된 개인정보 비식별 처리 방법을 구현하기 위한 소프트웨어(180a, 180b)는 프로세서(150)가 차량(10)에 설치된 라이다(20) 및 카메라(40)에 의해 동시에 획득 및 촬영된 3D 점군 데이터 및 2D 이미지를 수집하는 단계, 프로세서(150)가 상기 3D 점군 데이터에 포함된 점들의 3차원 좌표를 기초로, 상기 2D 이미지에 포함된 객체를 식별하는 단계, 및 프로세서(150)가 상기 식별된 객체의 유형에 대응하여 상기 2D 이미지의 일부를 비식별(de-identify) 처리하는 단계를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램이 될 수 있다.
보다 구체적으로, 프로세서(150)는 ASIC(Application-Specific Integrated Circuit), 다른 칩셋(chipset), 논리 회로 및/또는 데이터 처리 장치를 포함할 수 있다. 메모리(155)는 ROM(Read-Only Memory), RAM(Random Access Memory), 플래쉬 메모리, 메모리 카드, 저장 매체 및/또는 다른 저장 장치를 포함할 수 있다. 송수신기(160)는 유무선 신호를 처리하기 위한 베이스밴드 회로를 포함할 수 있다. 입출력장치(165)는 키보드(keyboard), 마우스(mouse), 및/또는 조이스틱(joystick) 등과 같은 입력 장치 및 액정표시장치(Liquid Crystal Display, LCD), 유기 발광 다이오드(Organic LED, OLED) 및/또는 능동형 유기 발광 다이오드(Active Matrix OLED, AMOLED) 등과 같은 영상 출력 장치 프린터(printer), 플로터(plotter) 등과 같은 인쇄 장치를 포함할 수 있다.
본 명세서에 포함된 실시 예가 소프트웨어로 구현될 경우, 상술한 방법은 상술한 기능을 수행하는 모듈(과정, 기능 등)로 구현될 수 있다. 모듈은 메모리(155)에 상주되고, 프로세서(150)에 의해 실행될 수 있다. 메모리(155)는 프로세서(150)의 내부 또는 외부에 있을 수 있고, 잘 알려진 다양한 수단으로 프로세서(150)와 연결될 수 있다.
도 5에 도시된 각 구성요소는 다양한 수단, 예를 들어, 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 본 발명의 일 실시예는 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 콘트롤러, 마이크로 콘트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
또한, 펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 일 실시예는 이상에서 설명된 기능 또는 동작들을 수행하는 모듈, 절차, 함수 등의 형태로 구현되어, 다양한 컴퓨터 수단을 통하여 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한, 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이하, 상술한 바와 같은 본 발명의 다양한 실시예에 따른 인공지능 학습 시스템의 특징들에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.
도 6은 본 발명의 일 실시예에 따라 3D 점군 데이터에 포함된 객체의 유형을 식별하는 과정을 설명하기 위한 예시도이다. 도 7은 본 발명의 일 실시예에 따라 2D 이미지 내에서 객체의 영역을 식별하는 과정을 설명하기 위한 예시도이다. 그리고, 도 8 및 도 9는 본 발명의 몇몇 실시예에 따라 객체를 검출한 결과를 설명하기 위한 예시도들이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 3D 점군 데이터로부터 2D 이미지 내의 객체를 식별하기 위하여, 3D 점군 데이터에 포함된 점들 중에서 임계 범위 내에 군집(60)을 형성하고 있는 점들을 식별할 수 있다.
학습 데이터 수집 장치(100)는 식별된 3D 점군 데이터로부터 군집(60)을 평면(top)에서 바라봤을 때(60_top)의 X축 상의 폭(width), 군집(60)을 측면(side)에서 바라봤을 때(60_side)의 Z축 상의 깊이(depth), 군집(60)을 정면(front)에서 바라봤을 때(60_front)의 Y축 상의 높이(height)를 기초로 객체의 유형을 식별할 수 있다.
구체적으로, 학습 데이터 수집 장치(100)는 데이터베이스 내에 객체의 유형별로 구비된 객체의 폭, 높이 및 깊이의 비율 관계를 기초로, 군집(60)의 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이에 대응하는 객체의 유형을 식별할 수 있다.
도 7을 참조하면, 학습 데이터 수집 장치(100)는 식별된 객체의 유형에 따라 데이터베이스 내에 사전에 구비된 3D 모델(70)을 해당 2D 이미지를 촬영한 카메라(40)의 광축(optical axis) 방향에 따라 3차원 회전시킬 수 있다.
이 경우, 3D 모델(70)은 객체의 유형별로 분류된 객체의 3차원 형상 데이터이다. 이와 같은, 3D 모델(70)에는 객체의 유형별로 개인정보를 제거하기 위한 비식별 처리 영역(90)이 부여되어 있을 수 있다.
그리고, 학습 데이터 수집 장치(100)는 3차원 회전된 3D 모델을 카메라(40)의 광축 방향에서 바라본 2차원 형상을 객체 영역(80)으로 식별할 수 있다.
이 경우, 객체 영역(80)은 정점들(85)과 정점들(85)을 서로 연결한 간선들로 구성된 2차원 영역으로, 2D 이미지 내에 객체가 존재할 것으로 예측되는 영역이다. 이와 같은, 정점(85)은 객체를 자동으로 특정하는 지점이라는 의미에서 매직 핀(magic pin)이라 지칭될 수도 있다.
이와 같은, 객체 영역(80)을 구성하는 정점들(85)의 개수가 많은 경우, 카메라(40)에 의해 실시간으로 촬영된 수많은 2D 이미지들을 영상 처리해야 하는 학습 데이터 수집 장치(100)에 큰 부하가 발생할 수 있다.
따라서, 도 8 및 도 9에 도시된 바와 같이, 객체 영역(80)을 구성하는 정점들(85)은 기본적으로 학습 데이터 수집 장치(100)의 연산 능력에 대응하여, 학습 데이터 생성 장치(200)에 의해 설정된 개수로 구성될 수 있다. 다만, 카메라(40)에 의해 촬영된 2D 이미지의 중요도가 변화되는 경우, 학습 데이터 수집 장치(100)는 객체 영역(80)을 구성하는 정점들(85)의 개수를 능동적으로 조절할 수도 있다.
예를 들어, 학습 데이터 수집 장치(200)는 차량(10)에 설치된 카메라(40)가 2D 이미지를 촬영하는 주기(period)의 크기에 비례하여, 객체 영역(80)을 구성하는 정점들(85)의 개수를 증가시킬 수 있다. 또한, 학습 데이터 수집 장치(200)는 카메라(40)가 설치된 차량(10)의 이동 속도에 비례하여, 객체 영역(80)을 구성하는 정점들(85)의 개수를 증가시킬 수도 있다.
상술한 바와 같이, 학습 데이터 수집 장치(200)는 자율주행에 사용될 수 있는 인공지능(AI)을 기계 학습시키기 위하여 실시간으로 수집된 데이터에 포함된 객체를 선제적으로 검출함으로써 어노테이션의 작업량을 감소시킬 수 있게 된다.
또한, 학습 데이터 수집 장치(200)는 장치의 연산 능력에 대응하여 객체를 검출함으로써, 실시간으로 수집된 대용량의 데이터로부터 병목 현상 없이 객체를 검출할 수 있게 된다.
도 10은 본 발명의 일 실시예에 따라 개인정보를 비식별 처리한 결과를 설명하기 위한 예시도이다.
도 10에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 2D 이미지의 일부(즉, 개인정보가 포함된 영역)을 비식별 처리할 수 있다.
구체적으로, 학습 데이터 수집 장치(100)는 3D 모델(70)을 이용하여 객체 영역(80)이 설정되면, 3D 모델(70)에 부여된 비식별 처리 영역(90)에 대응하는 영역에 대하여 비식별 처리를 수행할 수 있다.
특징적으로, 학습 데이터 수집 장치(100)는 비식별 처리를 수행함에 있어, 비식별 처리를 수행할 영역의 경계선과 2D 이미지로부터 추출된 엣지에 의한 폐쇄 영역의 경계선이 사전에 설정된 최소 이격 거리 내로 인접한 경우, 비식별 처리를 수행할 영역의 경계선과 폐쇄 영역의 경계선이 최소 이격 거리 이상으로 이격되도록, 비식별 처리를 수행할 영역의 크기를 감소시킬 수 있다. 이를 통하여, 학습 데이터 수집 장치(100)는 개인정보의 비식별 처리가 어노테이션 작업에 미치는 영향을 최소화할 수 있다.
또한, 학습 데이터 수집 장치(100)가 수행하는 비식별 처리는 2D 이미지의 일부를 블러링 처리하여 수행될 수 있다. 이 경우, 비식별 처리의 대상이 되는 2D 이미지의 선명도는 차량(10)의 이동속도에 따라 변화될 수 있으므로, 학습 데이터 수집 장치(100)는 비식별 처리를 위한 블러링의 강도를 카메라(40)가 설치된 차량(10)의 이동속도에 반비례하게 설정할 수도 있다.
한편, 학습 데이터 수집 장치(100)는 블러링 처리를 수행하기 이전에, 비식별 처리를 수행할 영역을 크롭(crop)한 후, 크롭된 영상을 포함시켜 복원 데이터를 생성할 수도 있다.
상술한 바와 같이, 학습 데이터 수집 장치(200)는 실시간으로 수집된 데이터에 포함된 개인정보를 즉각적으로 비식별 처리함으로써 외부에 개인 정보를 노출하지 않을 수 있게 된다.
이 경우, 데이터에 포함된 개인정보의 비식별화 작업을 사람이 직접 수행할 필요가 없이 이미 비식별화된 영역을 단순 검토하게 됨으로써. 데이터 정제 과정의 효율이 향상될 수 있다.
도 11은 본 발명의 일 실시예에 따라 데이터를 전송하는 과정을 설명하기 위한 예시도이다. 그리고, 도 12는 본 발명의 일 실시예에 따라 최악의 통신 환경에 데이터를 전송하는 과정을 설명하기 위한 예시도이다.
도 11에 도시된 바와 같이, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 사전에 설정된 주기마다 학습 데이터 생성 장치(200)와의 이동통신의 통신 품질을 측정하고, 측정된 통신 품질에 대응하여 버퍼의 크기를 조정할 수 있다. 이 경우, 버퍼는 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50)로부터 수집된 데이터를 저장하기 위한 임시 저장 공간이다.
구체적으로, 학습 데이터 수집 장치(100)는 사전에 설정된 주기마다 ICMP의 ping 패킷을 학습 데이터 생성 장치(200)에 전송하고, 학습 데이터 생성 장치로부터 수신된 응답 패킷에 포함된 RTT(Round Trip Time)와 TTL(Time To Live)을 기초로 버퍼의 크기를 결정할 수 있다.
이 경우, 학습 데이터 수집 장치(100)는 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50)가 설치된 차량(10)의 이동 속도에 반비례하여, ICMP의 ping 패킷을 전송할 주기를 조절할 수 있다.
한편, 응답 패킷에 포함된 TTL을 기초로 모든 패킷이 손실되는 것으로 판단되는 경우, 도 12에 도시된 바와 같이, 학습 데이터 수집 장치(100a)는 학습 데이터 생성 장치(200)와 직접 이동통신을 수행하지 아니하고, 다른 학습 데이터 수집 장치(100b)를 경유하여 학습 데이터 생성 장치(200)와 이동통신을 수행하도록 제어할 수도 있다.
또한, 학습 데이터 수집 장치(100)에 의해 결정된 버퍼의 크기가 사전에 설정된 기본 전송 크기보다 작은 경우, 학습 데이터 수집 장치(100)는 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50) 중 하나 이상으로부터 수집된 데이터 중 일부를 제거할 수 있다.
우선, 학습 데이터 수집 장치(100)는 사전에 설정된 우선순위에 따라, 레이더(20)에 의해 획득된 감지 데이터, 라이다(30)에 의해 획득된 3D 점군 데이터, 카메라(40)에 의해 촬영된 2D 이미지 및 초음파 센서(50)에 의해 감지된 거리 정보를 순서대로 제거할 수 있다.
이 경우, 학습 데이터 수집 장치(100)는 레이더(20)에 의해 획득된 감지 데이터를 기초로 차량(10)이 객체로부터 이격된 거리를 추정하고, 추정된 거리를 기준으로 레이더(20)에 의해 획득된 감지 데이터, 라이다(30)에 의해 획득된 3D 점군 데이터, 카메라(40)에 의해 촬영된 2D 이미지 및 초음파 센서(50)에 의해 감지된 거리 정보 사이의 우선순위를 조정할 수 있다. 또한, 학습 데이터 수집 장치(100)는 우선순위에 따라 카메라(40)에 의해 촬영된 2D 이미지들을 제거해야 하는 경우, 기본 수집 시간동안 카메라(40)에 의해 촬영된 복수 개의 2D 이미지들 중에서 객체가 포함되지 않은 2D 이미지를 우선적으로 제거할 수도 있다.
상술한 바와 같이, 학습 데이터 수집 장치(200)는 실시간으로 수집된 데이터를 효율적으로 전송하게 됨으로써, 안정적인 데이터 전송을 위해 차량의 주행을 중단할 필요가 없으며, 대용량의 저장 공간을 구비하지 않아도 된다.
이하, 상술한 바와 같은 본 발명의 다양한 실시예에 따른 학습 데이터 수집 장치(100)의 동작에 대하여, 도면을 참조하여 구체적으로 설명하기로 한다.
도 13은 본 발명의 일 실시예에 따른 데이터 수집 방법을 설명하기 위한 순서도이다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 학습 데이터 수집 장치(100)는 레이더(20), 라이다(30), 카메라(40) 및 초음파 센서(50)로부터 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보 중에서 하나 이상을 수집할 수 있다(S100). 이 경우, 학습 데이터 수집 장치(100)는 차량(10)에 서로 다른 높이에 설치된 복수 개의 카메라들에 의해 동시에 촬영된 2D 이미지들을 수집하는 경우, 서로 다른 높이에 설치된 복수 개의 카메라들을 우선순위에 따라 제어할 수 있다.
다음으로, 학습 데이터 수집 장치(100)는 수집된 감지 데이터, 3D 점군 데이터, 2D 이미지 및 거리 정보로부터 객체를 식별할 수 있다(S200). 이 경우, 학습 데이터 수집 장치(100)는 3D 점군 데이터에 포함된 점들의 3차원 좌표를 기초로, 2D 이미지 내에서 객체가 존재할 것으로 예측되는 객체 영역을 설정할 수 있다. 이 경우, 객체 영역은 정점들과 정점들을 서로 연결한 간선들로 구성된 2차원 영역일 수 있다. 또한, 객체 영역을 구성하는 정점들은 기본적으로 학습 데이터 수집 장치(100)의 연산 능력에 대응하는 개수로 구성될 수 있다.
다음으로, 학습 데이터 수집 장치(100)는 식별된 객체의 유형에 대응하여 2D 이미지에 포함된 개인 정보를 비식별 처리할 수 있다(S300). 이 경우, 학습 데이터 수집 장치(100)는 객체의 유형 및 2D 이미지로부터 추출된 엣지의 패턴에 대응하는 비식별 규칙을 조회하고, 조회된 비식별 처리 규칙에 따라 2D 이미지의 일부(즉, 개인 정보)를 비식별 처리할 수 있다.
다음으로, 학습 데이터 수집 장치(100)는 수집된 감지 데이터, 3D 점군 데이터, 비식별 처리된 2D 이미지, 거리 정보, 및 객체 영역에 관한 정보를 학습 데이터 생성 장치(200)에 전송할 수 있다(S400).
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으나, 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다. 또한, 본 명세서와 도면에서 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서, 상술한 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니 되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 선정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.
차량: 10 레이더: 20
라이다: 30 카메라: 40
초음파 센서: 50
학습 데이터 수집 장치: 100 학습 데이터 생성 장치: 200
어노테이션 장치: 300 인공지능 학습 장치: 400
통신부: 105 입출력부: 110
다중 센서 제어부: 115 객체 식별부: 120
비식별화 처리부: 125 데이터 제공부: 130
저장부: 135

Claims (10)

  1. 자율주행에 사용될 수 있는 인공지능(Artificial Intelligence, AI)을 기계 학습(machine learning)시키기 위한 데이터를 수집하는 방법으로서,
    학습 데이터 수집 장치가, 차량에 설치된 라이다(lidar) 및 카메라(camera)에 의해 동시에 획득 및 촬영된 3D 점군 데이터(points group) 및 2D 이미지를 수집하는 단계;
    상기 학습 데이터 수집 장치가, 상기 3D 점군 데이터에 포함된 점들(points)의 3차원 좌표를 기초로, 상기 2D 이미지에 포함된 객체를 식별하는 단계; 및
    상기 학습 데이터 수집 장치가, 상기 식별된 객체의 유형에 대응하여 상기 2D 이미지의 일부를 비식별(de-identify) 처리하는 단계를 포함하되,
    상기 3D 점군 데이터는 상기 라이다에 의해 상기 차량의 주위로 방사된 레이저 펄스를 반사시킨 점들에 대한 3차원 정보를 포함하는 것을 특징으로 하고,
    상기 객체를 식별하는 단계는
    상기 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집(crowd)을 형성하고 있는 점들을 식별하고, 상기 식별된 군집의 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이를 기초로 상기 객체의 유형을 식별하는 것을 특징으로 하며,
    상기 객체를 식별하는 단계는
    객체의 유형별로 사전에 구비된 폭, 높이 및 깊이의 비율 관계(rate relation)를 기초로, 상기 식별된 군집의 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이에 대응하는 객체의 유형을 식별하는 것을 특징으로 하는, 개인정보 비식별 처리 방법.
  2. 제1 항에 있어서, 상기 비식별 처리하는 단계는
    상기 식별된 객체의 유형에 따라 사전에 구비된 3D 모델(3D model)을 상기 카메라의 광축(optical axis) 방향에 따라 3차원 회전시킨 후, 상기 카메라에 의해 촬영된 2D 이미지 내에서 상기 회전된 3D 모델에 사전에 부여된 비식별 처리 영역에 대응하는 영역에 대하여 상기 비식별 처리하는 것을 특징으로 하는, 개인정보 비식별 처리 방법.
  3. 제1 항에 있어서, 상기 비식별 처리하는 단계는
    상기 2D 이미지의 엣지를 추출(edge detection)하고, 사전에 구비된 데이터베이스로부터 상기 식별된 객체의 유형 및 상기 추출된 엣지의 패턴(edge pattern)에 대응하는 비식별 처리 규칙을 조회하고, 상기 비식별 처리 규칙이 조회되는 경우 조회된 비식별 처리 규칙에 따라 상기 2D 이미지의 일부를 비식별 처리하되,
    상기 비식별 처리 규칙은
    학습 데이터 생성 장치에 의해 배포되며, 2D 이미지 내에서 비식별 처리할 영역을 결정할 수 있도록 객체 내에 존재하는 비식별 영역에 대한 엣지의 패턴들을 열거한 규칙인 것을 특징으로 하는, 개인정보 비식별 처리 방법.
  4. 제3 항에 있어서, 상기 비식별 처리하는 단계는
    상기 데이터베이스로부터 상기 비식별 처리 규칙이 조회되지 않은 경우, 상기 2D 이미지, 상기 식별된 객체의 유형 및 상기 추출된 엣지의 패턴이 포함된 비식별 처리 규칙에 대한 업데이트 요청 메시지를 생성한 후, 상기 생성된 업데이트 요청 메시지를 상기 학습 데이터 생성 장치에 전송하는 것을 특징으로 하는, 개인정보 비식별 처리 방법.
  5. 제3 항에 있어서, 상기 비식별 처리하는 단계는
    상기 비식별 처리를 수행할 영역의 경계선과 상기 추출된 엣지에 의한 폐쇄 영역(enclosure)의 경계선(boundary line)이 사전에 설정된 최소 이격 거리 내로 인접한 경우, 상기 비식별 처리를 수행할 영역의 경계선과 상기 폐쇄 영역의 경계선이 상기 최소 이격 거리 이상으로 이격되도록 상기 비식별 처리를 수행할 영역의 크기를 감소시키되,
    상기 최소 이격 거리는
    두 경계선 사이에 위치하는 픽셀의 최소 개수인 것을 특징으로 하는, 개인정보 비식별 처리 방법.
  6. 제1 항에 있어서, 상기 비식별 처리하는 단계는
    상기 2D 이미지의 일부를 블러링(blurring) 처리하여 상기 비식별 처리를 수행하되, 상기 블러링의 강도는 상기 카메라가 설치된 차량의 이동속도에 반비례하는 것을 특징으로 하는, 개인정보 비식별 처리 방법.
  7. 제6 항에 있어서, 상기 비식별 처리하는 단계는
    상기 블러링 처리를 수행하기 이전에 상기 비식별 처리를 수행할 영역을 크롭(crop)한 후, 상기 크롭된 영상을 포함시켜 복원 데이터를 생성하는 것을 특징으로 하는, 개인정보 비식별 처리 방법.
  8. 메모리(memory);
    송수신기(transceiver); 및
    상기 메모리에 상주된 명령어를 처리하는 프로세서(processor)를 포함하여 구성된 컴퓨팅 장치와 결합되어,
    상기 프로세서가, 차량에 설치된 라이다 및 카메라에 의해 동시에 획득 및 촬영된 3D 점군 데이터 및 2D 이미지를 수집하는 단계;
    상기 프로세서가, 상기 3D 점군 데이터에 포함된 점들의 3차원 좌표를 기초로, 상기 2D 이미지에 포함된 객체를 식별하는 단계; 및
    상기 프로세서가, 상기 식별된 객체의 유형에 대응하여 상기 2D 이미지의 일부를 비식별(de-identify) 처리하는 단계를 실행시키되,
    상기 3D 점군 데이터는 상기 라이다에 의해 상기 차량의 주위로 방사된 레이저 펄스를 반사시킨 점들에 대한 3차원 정보를 포함하는 것을 특징으로 하고,
    상기 객체를 식별하는 단계는
    상기 3D 점군 데이터에 포함된 점들 중에서 사전에 설정된 임계 범위 내에서 군집(crowd)을 형성하고 있는 점들을 식별하고, 상기 식별된 군집의 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이를 기초로 상기 객체의 유형을 식별하는 것을 특징으로 하며,
    상기 객체를 식별하는 단계는
    객체의 유형별로 사전에 구비된 폭, 높이 및 깊이의 비율 관계(rate relation)를 기초로, 상기 식별된 군집의 X축 상의 폭, Y축 상의 높이 및 Z축 상의 깊이에 대응하는 객체의 유형을 식별하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
  9. 제8 항에 있어서, 상기 비식별 처리하는 단계는
    상기 식별된 객체의 유형에 따라 사전에 구비된 3D 모델(3D model)을 상기 카메라의 광축(optical axis) 방향에 따라 3차원 회전시킨 후, 상기 카메라에 의해 촬영된 2D 이미지 내에서 상기 회전된 3D 모델에 사전에 부여된 비식별 처리 영역에 대응하는 영역에 대하여 상기 비식별 처리하는 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
  10. 제8 항에 있어서, 상기 비식별 처리하는 단계는
    상기 2D 이미지의 엣지를 추출(edge detection)하고, 사전에 구비된 데이터베이스로부터 상기 식별된 객체의 유형 및 상기 추출된 엣지의 패턴(edge pattern)에 대응하는 비식별 처리 규칙을 조회하고, 상기 비식별 처리 규칙이 조회되는 경우 조회된 비식별 처리 규칙에 따라 상기 2D 이미지의 일부를 비식별 처리하되,
    상기 비식별 처리 규칙은
    학습 데이터 생성 장치에 의해 배포되며, 2D 이미지 내에서 비식별 처리할 영역을 결정할 수 있도록 객체 내에 존재하는 비식별 영역에 대한 엣지의 패턴들을 열거한 규칙인 것을 특징으로 하는, 기록매체에 기록된 컴퓨터 프로그램.
KR1020210102991A 2021-08-05 2021-08-05 개인정보 비식별 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램 KR102343061B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210102991A KR102343061B1 (ko) 2021-08-05 2021-08-05 개인정보 비식별 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210102991A KR102343061B1 (ko) 2021-08-05 2021-08-05 개인정보 비식별 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102343061B1 true KR102343061B1 (ko) 2021-12-24

Family

ID=79176180

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210102991A KR102343061B1 (ko) 2021-08-05 2021-08-05 개인정보 비식별 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR102343061B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102459778B1 (ko) * 2022-05-12 2022-10-31 주식회사 유오케이 라이다 및 카메라를 이용한 변화 탐지 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140141174A (ko) * 2013-05-31 2014-12-10 한국과학기술원 3차원 객체 인식을 위한 rgb-d 영상 기반 객체 구역화 및 인식 방법 및 장치
KR20190106861A (ko) * 2019-08-27 2019-09-18 엘지전자 주식회사 학습 데이터를 생성하는 인공 지능 장치, 인공 지능 서버 및 그 방법
KR20190110498A (ko) * 2019-09-10 2019-09-30 엘지전자 주식회사 영상 파일에서 불특정 인물의 얼굴 영역을 비식별화 처리하는 인공 지능 서버 및 그 방법
KR20200042629A (ko) 2018-10-16 2020-04-24 주식회사 키센스 인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140141174A (ko) * 2013-05-31 2014-12-10 한국과학기술원 3차원 객체 인식을 위한 rgb-d 영상 기반 객체 구역화 및 인식 방법 및 장치
KR20200042629A (ko) 2018-10-16 2020-04-24 주식회사 키센스 인공지능 학습을 위한 모바일 기기의 터치 기반 어노테이션과 이미지 생성 방법 및 그 장치
KR20190106861A (ko) * 2019-08-27 2019-09-18 엘지전자 주식회사 학습 데이터를 생성하는 인공 지능 장치, 인공 지능 서버 및 그 방법
KR20190110498A (ko) * 2019-09-10 2019-09-30 엘지전자 주식회사 영상 파일에서 불특정 인물의 얼굴 영역을 비식별화 처리하는 인공 지능 서버 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102459778B1 (ko) * 2022-05-12 2022-10-31 주식회사 유오케이 라이다 및 카메라를 이용한 변화 탐지 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
KR102356910B1 (ko) 객체의 선제 검출 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343059B1 (ko) 인공지능 기계 학습용 데이터 수집 시스템 및 이를 위한 장치
US11580328B1 (en) Semantic labeling of point clouds using images
KR102310608B1 (ko) 레이더 및 라이다를 기반으로 하는 자율주행 학습 데이터의 처리 방법 및 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
JP2021089724A (ja) 構造的制約及び物理的制約を伴う3d自動ラベル付け
KR102310613B1 (ko) 연속된 2d 이미지에서 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102389998B1 (ko) 비식별 처리 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343056B1 (ko) 어노테이션을 위한 이미지의 데이터 로드를 감축시키는 방법
KR102403169B1 (ko) 이미지 분석을 통한 가이드 제공 방법 및 이를 실행시키기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310606B1 (ko) 자율주행 데이터 수집을 위한 센서 간의 위상차 제어 방법 및 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310602B1 (ko) 다중 센서의 오차 보정 방법 및 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343061B1 (ko) 개인정보 비식별 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313918B1 (ko) 3d 데이터와 2d 이미지의 동기화 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310601B1 (ko) 레이저 프리뷰를 이용한 학습 데이터 수집 방법 및 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102310604B1 (ko) 다중 센서에 의해 수집된 데이터의 처리 방법 및 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102343062B1 (ko) 높이 차이를 가지는 센서들을 위한 제어 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313922B1 (ko) 연속되는 3d 점군 데이터의 품질 향상 방법
KR102313944B1 (ko) 화각의 경계를 넘어가는 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102313940B1 (ko) 연속된 3d 데이터에서 객체 추적 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102454538B1 (ko) 인공지능을 이용한 행동 추정 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
US20230281975A1 (en) Systems and methods for generating three-dimensional annotations for training a machine learning model
KR102310605B1 (ko) 데이터 수집용 다중 센서의 제어 방법 및 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
Barra et al. Can Existing 3D Monocular Object Detection Methods Work in Roadside Contexts? A Reproducibility Study
KR102310607B1 (ko) 어노테이션 분산 처리 방법 및 이를 실행하기 위하여 기록매체에 기록된 컴퓨터 프로그램
KR102378890B1 (ko) 어노테이션을 위한 3d 점군의 데이터 로드를 감축시키는 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant