자율무기체계 시험평가를 위한 실제-가상 연계 포인트 클라우드 증강 기법
Real-virtual Point Cloud Augmentation Method for Test and Evaluation of Autonomous Weapon Systems
Article information
Trans Abstract
Autonomous weapon systems act according to artificial intelligence-based judgement based on recognition through various sensors. Test and evaluation for various scenarios is required depending on the characteristics that artificial intelligence-based judgement is made. As a part of this approach, this paper proposed a LiDAR point cloud augmentation method for mixed-reality based test and evaluation. The augmentation process is achieved by mixing real and virtual LiDAR signals based on the virtual LiDAR synchronized with the pose of the autonomous weapon system. For realistic augmentation of test and evaluation purposes, appropriate intensity values were inserted when generating a point cloud of a virtual object and its validity was verified. In addition, when mixing the generated point cloud of the virtual object with the real point cloud, the proposed method enhances realism by considering the occlusion phenomenon caused by the insertion of the virtual object.
1. 서 론
자율무기체계는 인간의 개입을 최소화하고, 다양한 센서를 통한 인지 및 인공지능 기반의 판단에 따라 행동이 수행되는 무기체계이다[1]. 인간의 판단 대신 인공지능 기반의 의사결정이 이루어진다는 점에서 성능뿐만 아니라 안전 측면에서도 다양한 상황에 대한 검증이 이루어져야 한다. 민간 분야에서는 자율주행 차량에 대해 이러한 시나리오 기반의 시험평가 방법에 대한 연구가 활발히 수행되고 있다[2-4]. 여기서 시나리오란 운용 설계 영역(Operational Design Domain, ODD)을 바탕으로 자율주행차량에 대해 시험평가가 적절히 이루어질 수 있는 다양한 일련의 상황을 정의한 것이다. 그러나 아직까지 국방 분야에서는 국내 자율무기체계 개발 수준이 초기단계에 불과하며, 이에 관한 시험평가에 대해 심도 있게 다룬 사례는 거의 전무한 상황이다. 본 논문에서는 시험평가 관점에서 자율무기체계의 성능 검증을 위한 방법론적인 측면을 다루었다.
자율무기체계는 자율성이 배제된 기존의 무기체계에 대한 시험평가와 같이 물리적 환경의 시험장에서 주어진 규격에 따라 시험평가를 수행하는 것만으로는 부족하다. 이를 극복하기 위해 가상환경 시뮬레이터를 통해 해당 무기체계의 동역학 특성을 고려하여 다양한 상황을 주입하는 방법을 활용할 수 있다. 그러나 가상환경에서의 검증이라는 측면에서 신뢰성 부분의 한계가 존재하고, 이는 자율무기체계의 개발 초기 단계에서 활용될 수 있는 방법에 가깝다. 개발이 완료될 시점에서는 결국 실제 환경에서 실제 센서를 통한 인지 결과에 기반을 둔 행동 특성 평가가 불가피하다. 가상 환경은 다양한 환경을 주입할 수 있는 장점이 있는 반면 신뢰성 측면에서 한계점이 존재하고 실제 환경은 신뢰성 측면에서는 비교우위를 가질 수 있는 반면 다양한 환경에 대한 센서 신호 주입이 제한된다. 이러한 상충되는 관계를 보상하기 위해 실제 환경에서의 시험평가를 바탕으로 하되, 실제 환경 데이터에 가상 객체 데이터를 일부 증강하여 다양한 환경에서 자율시스템의 동작 특성 평가를 수행하는 혼합 현실 환경 기반의 시험평가 기법이 떠오르고 있다[5,6].
기존 자율주행 차량은 정형화된 도로 환경에서 주행됨에 따라 일반적으로 카메라를 통해 측정된 영상을 주로 사용하여 환경을 인지한다. 그에 따라 대부분 혼합 현실 기반의 증강 연구가 영상에 중점을 두고 있다[7-11]. 그러나 자율무기체계의 경우, 험지, 동굴 등의 영상만으로는 인지되는 정보가 충분하지 않은 환경에서의 운용이 필요함에 따라 라이다, 레이더, 적외선 등의 센서가 추가적으로 요구된다. 그 중에서 특히 야간이나 악천후 등의 환경에서도 주변 환경을 적절히 표현할 수 있는 라이다가 필수적이다. 라이다는 레이저를 발사하여 대상에 도달 후 반사되는 정보를 이용하여 환경을 3차원 형태의 포인트 클라우드로 표현해준다. 측정된 포인트 클라우드 정보에는 3차원 좌표인 x, y, z 값뿐만 아니라 반사되는 수신 전력에 따라 표현되는 강도(Intensity) 값이 포함된다. 포인트 클라우드를 이용하면 각종 장애물이 포함된 비정형화된 환경을 360도 전 방향에 대해 면밀히 표현할 수 있다. 자율무기체계에서의 라이다 필요성에 따라 본 논문에서는 자율무기체계 시험평가를 위한 혼합 현실 환경 기반의 실제-가상 연계 포인트 클라우드 증강 기법을 제안하였다. 이는 실제 및 가상 라이다의 동기화를 바탕으로 가상 환경에서의 강도 값이 포함된 가상 객체 포인트 클라우드를 생성하고 이를 가림 현상까지 고려하여 실제 환경의 포인트 클라우드에 실시간으로 증강하는 기술을 포함한다.
Fig. 1은 본 논문에서 제안하는 라이다 증강 기술을 활용한 시나리오 기반 자율무기체계 시험평가 프레임워크를 나타내고 있다. 기존의 인공지능 학습용 데이터셋 보강 목적의 증강 기술과는 달리 다양한 상황에 대한 실제 환경에서의 시험평가를 수행하기 위해서는 시나리오별로 실시간 증강 신호를 생성하는 기술이 필요하다. 시나리오의 예시로 가상의 적군과 드론을 Fig. 1에서 보이는 바와 같이 실제 환경을 고려하여 적절한 위치에 배치시킬 수 있다. 가상의 적군과 드론은 실제 환경에서는 없으나 자율 플랫폼에 탑재된 증강 모듈(Sensor Signal Generator with Mixed Reality, SSGMR)에 의해 자율무기체계는 실제 환경과 가상의 적군 및 드론이 혼재된 실시간 증강 신호를 기반으로 인지를 수행한다. 이를 통해 자율무기체계에 다양한 상황에 대한 자극을 주입할 수 있고 그에 따른 행동 특성을 평가할 수 있는 것이다. 본 논문에서는 이에 필요한 아키텍처 및 신호처리 방법을 라이다 관점에서 종합적으로 제안하였다.
본 논문의 구성은 다음과 같다. 2장에서는 관련 연구를 다루고 3장에서는 제안하는 실제-가상 연계 포인트 클라우드 증강을 위한 아키텍처 및 방법을 설명한다. 4장에서는 제안된 증강 기법을 적용한 데이터에 대해 정량적 및 정성적인 분석을 포함한 실험결과를 제시하고 마지막으로 5장에서 결론을 맺는다.
2. 관련 연구
기존의 라이다 포인트 클라우드 증강 관련 연구는 대부분 실제 환경에서 측정된 데이터셋이 부족함에 따라 인공지능의 학습 성능을 개선하기 위한 학습용 데이터셋 보강 목적이 주를 이루었다. 이는 기본적으로 실제 포인트 클라우드에 대해 전역 또는 지역적으로 변화를 가함으로써 다양성을 확보하는 개념으로 적용된다. 변화를 주는 방식에는 뒤집기(Flip), 회전(Rotation), 스케일링(Scaling), 드롭아웃(Dropout) 등이 있다[12]. 지역적으로 변화를 주는 방식은 일반적으로 특정 객체 영역에 대해 이루어진다. 이와 관련하여 객체 영역을 분할 후 분할된 영역에 대해 각각 상기 방식의 변화를 적용하는 방법, 다른 장면의 객체를 그대로 복사하여 현재 장면의 다양한 위치에 붙여 넣는 방법 등이 연구된 바 있다[13,14]. 다른 장면의 실제 객체 포인트 클라우드 데이터를 그대로 복사하여 현재 장면에 붙여 넣는 방식의 경우에는 가림 현상이 고려되지 않는다. 이를 개선하기 위해 가상 객체로 CAD (Computer-Aided Design) 모델을 사용하여 이를 실제 배경 포인트 클라우드에 적절한 위치를 고려하여 삽입 후 렌더링을 통해 증강을 수행하는 프레임워크가 연구된 바 있다[15]. 이는 렌더링 방식을 사용함에 따라 실제 라이다의 방위각, 고각 분포 특성이 고려되지 않으며, 기하학적인 좌표 값 정보만을 제공할 뿐 물리적인 정보인 강도 값은 제공하지 않는다는 한계점이 존재한다. 해당 프레임워크는 3D 객체 감지 성능을 개선하기 위한 다양한 데이터셋 생성에는 유용하나 라이다 특성이 고려된 실제와 유사한 포인트 클라우드 형태로의 증강이 요구되는 시험평가 목적으로 적용하기에는 한계가 있다고 볼 수 있다.
강도 값 생성과 관련하여 기하학적인 시뮬레이션을 통해 획득된 포인트 클라우드에 실제 데이터 기반의 학습을 통한 강도 값 예측을 수행한 연구사례가 존재한다[16]. 이는 부족한 학습 데이터셋을 보강하기 위해 시뮬레이션 된 데이터셋을 활용하기 위한 목적으로 학습을 통해 증강 신호를 예측한다는 점에서 실시간으로 증강이 이루어져야 하는 시험평가 목적에는 부합하지 않는다. 한편 상기 연구사례[16]에서 제시된 적절한 강도 값이 포함된 데이터셋으로 데이터 품질을 보강하여 학습 시 의미론적 분할 정확도가 개선된다는 점을 통해 증강을 위한 가상 객체 강도 값 생성의 필요성이 부각된다.
앞서 언급한 기존 연구들은 실제 측정된 데이터에 다양한 형태의 변화를 가하여 학습 데이터를 보강함에 따라 학습 성능을 높이는 데 목적이 있다. 그에 따라 Fig. 1과 같은 형태의 시험평가 시 필요한 실시간성 및 가상 센서를 자율 플랫폼의 자세와 동기화하는 과정은 고려되지 않는다. 본 논문에서는 자율 플랫폼 자세와 동기화된 가상 라이다를 기반으로 실제 및 가상 라이다 신호를 실시간으로 혼합하는 형태의 증강 과정을 제안하였다. 이 때, 현실감 있는 증강을 위하여 실시간성을 고려한 라이다 방정식 기반의 기하학적인 요소가 고려된 강도 값 생성 방안을 제시하였다. 또한 가상 라이다 신호 생성 시 실제 라이다의 방위각 및 고각 분포 특성을 고려하고, 생성된 가상 라이다 신호를 실제 라이다 신호와 혼합 시 물리적인 배치에 의한 가림 현상을 고려하였다.
3. 실제-가상 연계 포인트 클라우드 증강 기법
3.1 아키텍처
혼합 현실 기반의 자율무기체계 시험평가를 위한 라이다 증강 아키텍처가 Fig. 2에 나타나 있다. Fig. 2의 SSGMR로 표현된 증강 모듈에서 실질적인 실제-가상 연계 포인트 클라우드 증강 과정이 이루어진다. 혼합 현실 기반으로 증강을 수행하기 위해서는 실제 환경과 가상 환경을 동기화하기 위해 위치 인식 센서를 바탕으로 추출된 플랫폼의 자세 정보가 필요하다. 이때 자세 정보는 위치 및 방향 정보를 모두 포함한다. 해당 플랫폼의 자세 정보와 실제 측정된 라이다 신호를 기반으로 SSMGR 모듈에서 수행되는 일련의 증강 과정을 거쳐 실제와 가상이 적절히 혼합된 라이다 신호가 생성된다. 생성된 증강 신호를 플랫폼의 컨트롤러에 입력으로 전달함으로써 증강된 신호 기반의 자율적인 행동 특성을 확인할 수 있다. 이러한 자율적인 행동 특성은 사람이 직접 가시화된 증강된 신호를 보고 수동으로 조종한 결과와 비교함으로써 평가가 이루어질 수 있다. 본 논문에서는 자율무기체계의 플랫폼으로 소형 UGV(Unmanned Ground Vehicle)를 활용하였으며, 해당 플랫폼에는 라이다, IMU(Inertial Measurement Unit) 등의 센서 및 SSMGR 역할을 수행하는 신호처리 보드가 탑재되어 있다. 신호처리 보드에서 이루어지는 일련의 증강 과정은 ROS(Robot Operating System) 미들웨어 및 가제보(Gazebo) 시뮬레이터를 활용하여 구현되었다.
3.2 실제-가상 라이다 동기화
실제 환경에서의 라이다 자세와 가상 환경에서의 라이다 자세를 동기화시킴으로써 실제 환경에서 측정된 포인트 클라우드의 좌표축과 가상 환경에서 측정된 포인트 클라우드의 좌표축을 동일시 할 수 있다. 그에 따라 실제 환경 지도를 활용하여 원하는 위치에 가상 객체를 배치 시 실제 라이다가 해당 위치에 도달하였을 때 가상 라이다에 의해 가상 객체가 인지되고, 해당 위치에서 실제 환경 포인트 클라우드와의 증강을 수행할 수 있다. 실제 환경의 라이다는 자율무기 체계의 특정 위치에 고정된 형상으로 탑재되어 있으며, 해당 자율무기체계가 구동됨에 따라 자세가 함께 변화될 것이다. 즉, 자율무기체계의 자세 데이터를 획득하고 이를 탑재된 라이다의 위치 및 형상에 맞게끔 변환해주면 실제 라이다의 자세를 추출할 수 있다. 본 논문에서는 휠 오도메트리 및 IMU 데이터를 바탕으로 확장칼만필터(Extended Kalman Filter, EKF)가 적용된 플랫폼의 합성 자세를 추출하여 활용하였다. 이 때 휠 오도메트리는 바퀴와 연동된 모터 인코더 데이터를 바탕으로 본 논문에서 사용된 UGV의 구동 형태인 differential-drive 모델에 따라 계산된 자세 데이터이다[17]. IMU 데이터는 정밀한 방향 정보와 더불어 가속도 성분의 값을 제공해주며, 본 논문에서 사용된 IMU는 Xsens社의 MTi-630R 모델로 roll, pitch에 대해서는 0.2 deg RMS(Root Mean Square)의 정확도를, yaw에 대해서는 1 deg RMS 정확도를 가진다.
가제보에서 제공되는 플러그인 중 액터(Actor) 플러그인을 활용하면 실제 라이다의 자세 정보를 입력받아 가상 라이다 플랫폼의 자세를 가상 환경에서 동기화시킬 수 있다. 가상 라이다 플랫폼을 액터 유형의 적절한 형상으로 모델링하고, 자율 플랫폼에 탑재된 실제 라이다의 자세와 동기화시키는 장면을 실제 및 가상 라이다가 바라보는 환경과 함께 도시화한 그림이 Fig. 3에 나타나 있다.
Fig. 3에서 보다시피 가상 환경에는 실제와 동기화된 자세가 반영된 가상 라이다 플랫폼과 가상 객체만이 존재한다. 만약 혼합 현실이 아닌 가상 환경에서 유사한 구성을 만들기 위해서는 실제 환경과 유사한 환경 모델, 자율 플랫폼 모델, 그리고 구동과 관련된 동역학 모델 등이 모두 필요할 것이다. 그러나 혼합 현실 환경을 이용하면 가상 환경에서의 이러한 일련의 모델링 과정이 대부분 생략되고 현실로 대체될 수 있다. 앞서 가상 라이다 플랫폼이라고 표현하여 실제 라이다 자세와의 동기화 과정을 설명하였는데, 실질적으로 가상 환경에서 가시화된 액터 플랫폼은 수신되는 자세 정보에 따라 변화되는 껍데기에 불과하다. 해당 가상 라이다 플랫폼에 실질적인 가상 라이다 역할을 수행하도록 만들기 위해서는 센서 플러그인 기능을 추가적으로 사용해야 한다. 가제보의 센서 플러그인 기능을 활용하면 가상 라이다에 대해 실제 라이다의 방위각 및 고각 분포 특성을 고려한 모델링이 가능하다.
본 논문에서 사용된 실제 라이다는 Velodyne社의 VLP-16으로 해당 모델의 대략적인 제원은 Table 1과 같다. Table 1에서 제시된 실제 라이다의 제원을 고려하여 가상 라이다의 수직 샘플 수는 16개, 고각 범위는 −15° ∼ 15°로 설정하였다. 수평 샘플 수는 실제 라이다에서 설정한 회전 속도 즉, RPM(Revolutions Per Minute)에 따라 결정되는 값으로 설정하고 방위각 범위는 전방향이기 때문에 -π ∼ -π (rad)으로 설정하였다. 이와 같이 실제 라이다 특성을 고려하여 가상 라이다를 모델링하여야 이를 활용하여 생성한 가상 객체 포인트 클라우드를 실제 포인트 클라우드와 혼합 시 자연스러운 결과를 획득할 수 있다. 이로써 혼합 현실 형태의 라이다 증강 환경이 구축되었다.
3.3 가상 객체 포인트 클라우드 생성
가상 객체 포인트 클라우드를 생성하기 위해서는 우선 가상 환경에서 가상 객체를 생성해야한다. 가상 객체의 경우, 가상 라이다 플랫폼과 유사하게 액터 및 액터 플러그인을 활용하여 생성할 수 있다. 앞서 가상 라이다 플랫폼의 경우 실제 라이다의 자세 정보를 수신하여 변화시켰다면 가상 객체의 경우 정해진 경로에 따라 배치 및 이동되도록 구성하였다. 실제와 가상 라이다를 동기화하였기 때문에 실제 시험평가가 이루어질 장소의 지도를 참조하여 원하는 지점의 좌표 값을 획득하고 이를 활용하여 가상 환경에서 가상 객체를 생성 및 제어할 수 있다. 여기서 지도의 경우 SLAM(Simultaneous Localization And Mapping)을 통해서 획득이 가능하다.
앞서 생성한 가상 라이다의 위치가 가상 객체가 보이는 위치에 도달하게 되면 가상 라이다에 의해 가상 객체의 포인트 클라우드가 획득된다. 한편, 이렇게 획득된 가상 객체 포인트 클라우드는 기하학적인 정보인 x, y, z 값만 존재할 뿐 물리학적 정보인 강도 값은 누락되어 있다. 이를 보강하기 위해 가상 객체의 강도 값을 생성하는 과정이 추가적으로 필요하다. 가상 객체의 강도 값 생성을 위해 라이다 방정식 기반으로 강도 관계를 표현한 식 (1)을 이용하였다[18]. 여 기서 I는 강도, Pr은 수신전력, ηLiDAR, ηall은 각각 라이다 상수 파라미터 및 이를 대기 전달 계수 등 수신 전력 표현 시 사용되는 각종 상수들과 통합한 상수 파라미터이다. R은 거리, ρ는 타겟 반사율, α는 입사각에 해당한다.
식 (1)에 따라 강도 값은 실질적으로 타겟 반사율, 거리, 입사각에 의해 변화된다는 점을 알 수 있으며, 이를 활용하여 가상 객체의 강도 값을 생성하였다. 한편, 라이다 제조사마다 자체 모듈에서 후처리 과정을 거쳐 제공되는 강도 값이 상이하다[19]. 본 논문에서 사용된 VLP-16의 경우, 제조사 데이터 시트 상 타겟의 거리에 독립적으로 측정이 된다고 명시된 점과 실제 측정을 통해 거리에 대한 영향이 미미하다는 실험결과를 제시한 연구결과[19]를 바탕으로 거리에 대한 영향은 가상 강도 값 생성 시 배제하였다. 결과적으로 여기서는 식 (1)에 의해 특정 타겟에 대한 입사각 0도일 때의 강도 값을 측정하고 이를 기반으로 객체 포인트 별 표면 법선 성분 추정에 따른 입사각을 산출하여 해당 포인트의 강도 값을 추출하였다. 이를 수식으로 표현하면 식 (2)와 같다.
식 (2)에서I0는 입사각 0도일 때의 강도 값에 해당 하는데, 이는 타겟을 라이다를 향해 정면 형상으로 바라보도록 설치 후 측정을 통해 획득 가능하다. 이 때, 실제 라이다 반사 신호 측정 후 포인트 별 라이다와 표면 간의 입사각에 의한 영향을 식 (2)의 관계에 따 라 역으로 고려하여 I0를 산출하였다. 단순히 측정된 값들의 평균을 내어 단일 값 형태의I0를 사용할 수 도 있다. 그러나 실제 라이다를 통해 동일한 타겟 표면을 측정하더라도 단일 값으로 측정되는 것이 아닌 일정 값 범위 내에서 약간씩 상이한 값으로 나타난다. 이를 가상으로 생성된 강도 값에서도 반영하기 위해 측정된 값을 정규분포로 추정하고, 해당 확률분포를 활용하여 포인트 별I0값을 추출하여 사용하였다. 최종적으로 식 (2)에 따라 계산된 값을 실제 표현되는 강도 값의 형태와 유사하도록 0 ∼ 255 범위의 값으로 제한하고 정수 형태로 반올림하여 출력함으로써 가상 강도 값 생성이 완료된다. 상기 과정을 순서도로 표현하면 Fig. 4와 같다. Fig. 4에서 표현하였듯이 타겟 별 입사각 0도일 때의 강도 값 분포를 테이블 형태로 만드는 작업은 사전에 오프라인으로 수행하고, 실시간으로 증강 시에는 해당 테이블 값을 이용하여 순서도에 따라 온라인으로 강도가 포함된 가상 객체 포인트 클라우드를 획득한다.
3.4 실제 및 가상 포인트 클라우드 혼합
실제-가상 라이다 동기화를 바탕으로 강도 값이 포함된 가상 객체 포인트 클라우드를 실제 라이다를 통해 측정된 배경 포인트 클라우드와 혼합함으로써 증강된 포인트 클라우드 획득이 이루어진다. 혼합 시 가상 객체 포인트 클라우드가 실제 배경 포인트 클라우드에 삽입됨에 따라 발생하는 가림 현상이 적절히 고려되어야 현실감 있는 증강이 가능하다. 가림 현상 구현과 관련하여 설명하기 위한 그림이 Fig. 5에 나타나 있다.
Fig. 5에서 볼 수 있듯이 실제 측정된 배경 포인트 클라우드를 가상 객체 포인트 클라우드(O)를 기준으로 라이다와 가까운 쪽의 전방(Bfin)과 그 반대편의 후방(Bbin)으로 구분할 수 있다. 가림 현상은 두 가지 측면에서 모두 고려되어야 한다. 첫 번째는 가상 객체 포인트 클라우드(O)로 인한 후방 배경 포인트 클라우드(Bbin)의 가려짐이 있고, 두 번째는 전방 배경 포인트 클라우드(Bfin)에 의한 가상 객체 포인트 클라우드(O)의 가려짐이다. 상기 두 종류의 가림 현상이 모두 고려된 포인트 클라우드 혼합 알고리즘을 Fig. 6과 같이 제안하였다.
우선 가상 객체 포인트 클라우드의 방위각, 고각, 거리 범위를 탐색하여 단순화된 가상 객체 영역을 추출한다. 추출된 단순화된 가상 객체 영역을 바탕으로 이와 무관한 영역의 배경 포인트 클라우드는 따로 저장하여 가림현상을 고려하는 과정에서 배제한다. 단순화된 가상 객체와 관련된 영역의 배경 포인트 클라우드에 대해서 전방 및 후방으로 분리하여 추출 후, 상기 두 종류의 가림 현상을 판단하여 유효한 데이터만 추출한다. 추출된 유효한 데이터와 따로 저장해둔 가상 객체와 무관한 영역의 배경 데이터를 혼합하면 가림현상이 고려된 증강 포인트 클라우드가 획득된다. 이때, 방위각 방향으로 잘게 분할하여 각 분할된 영역에 대해 가림 현상을 판단함으로써 가림을 유발하는 형상에 맞는 가려짐이 구현될 수 있다. 또한 가상 객체와 무관한 배경 포인트 클라우드를 따로 배제하고 관련 있는 영역의 배경 포인트 클라우드에 대해서만 잘게 분할한 후 가림현상 판단 과정을 수행함으로써 실시간성을 확보하였다.
4. 실험 결과
실험은 Fig. 3에 보이는 소형 UGV를 활용하여 수행되었으며, 해당 UGV에는 VLP-16 라이다가 탑재되어 있고 Fig. 2의 아키텍처 상 SSMGR 역할을 수행하는 신호처리 보드로 NVIDIA Jetson Xavier 보드 한 대가 탑재되어 있다. 탑재된 단일 보드를 활용하여 제안된 증강 과정이 구현되었으며, 보드 환경은 Ubuntu 18.04의 리눅스 기반 운영체제 및 ROS melodic 버전의 미들웨어로 구성되었다.
첫 번째 실험으로 가상 강도 값 생성과 관련된 검증을 위해 두 종류의 객체에 대해 실제 라이다를 통해 측정된 강도 분포와 제안된 방법에 따라 생성된 강도 분포를 비교하였다. 이때 정량적인 분석을 위해 Matlab을 활용하였으며 제안된 강도 생성 과정은 상기 보드 환경에서 ROS 노드로 동일하게 구현되었다.
두 번째 실험으로 제안된 방법에 따라 실시간으로 증강된 라이다 신호에 대한 검증을 수행하기 위해 실내 공간에서 증강될 가상 객체의 유효한 위치를 고려하여 생성하고 이를 실제 측정된 라이다 신호와 혼합하여 증강된 신호 결과를 제시하였다. 이와 더불어 실시간 증강 가능성에 대한 검토 결과를 제시하였다.
4.1 가상 객체 강도 생성 결과
제안된 가상 객체 포인트 클라우드 생성 시 동반되는 가상 강도 값 생성에 대한 검증을 위해 균일한 매질의 실제 상자에 대해 측정 후 비교를 수행하였다. 우선 상자의 한 면이 라이다를 향하는 정면 형상으로 배치하여 반사 신호를 측정한 후, 제안된 방식에 따라 I0 분포를 추출하여 가상 강도 값을 생성하는 데 활용하였다. 표면에 따른 입사각의 영향을 확인하기 위해 상자를 약간 회전 후 모서리가 라이다를 향하도록 배치하여 측정을 하고, 동일 형상에 대해 제안된 방식에 따라 생성한 강도 값과 비교하였다. 해당 결과는 Fig. 7을 통해 나타나 있다.
Fig. 7(a)는 포인트 클라우드를 실제 및 가상 강도 값에 따라 상이한 색상으로 가시화한 결과이다. 실제 측정된 결과와 유사하게 입사각이 0에 가까운 모서리 부근에서 가장 강한 강도 값이 형성되는 것을 확인할 수 있다. 이를 통해 제안된 강도 생성 방법이 입사각의 영향을 적절히 고려하였음을 알 수 있다. Fig. 7(b)는 실제 및 가상 강도 값을 정규분포로 추정한 결과이다. 실험에서 사용된 라이다를 통해 측정 시 반사 강도에 따라 0 ∼ 255 범위의 강도 값으로 표현되는데 측정된 데이터에서 비교적 균일한 매질로 구성된 상자 영역에 대한 데이터만 추출하였기에 Fig. 7(b)와 같이 일부 구간에서 강도 분포가 형성되어 나타난다. 추정된 두 분포의 평균 및 표준편차 값이 유사하게 나타나는 것을 차트 범례를 통해 확인할 수 있다. 정량적인 검증을 위하여 2-표본 K-S(Kolmogorov-Smirnov) 검정[20-22]을 적용해보았다. 해당 검정은 두 개의 표본 데이터 분포에 대한 누적 분포 함수 간의 차이를 평가하는 비모수적 가설 검정으로 두 개의 표본 데이터가 동일한 분포에서 추출된다는 귀무가설에 대한 검정 결과를 반환한다. Matlab에서 kstest2 함수를 통해 검정을 수행할 수 있으며, 함수의 출력 값은 불리언 형태로 귀무가설을 기각하지 않을 시 0, 기각할 시 1로 출력된다. 해당 함수를 활용하여 검정 결과를 추출 시 5 % 유의수준에서 귀무가설을 기각하지 않음에 따라 두 추정된 분포의 표본 데이터가 동일한 분포에서 추출되었음이 정량적으로 확인되었다.
상기 과정을 사람에 대해서도 유사하게 정면 형상에서 추출한 I0 분포를 바탕으로 측면 형상의 사람에 적용하여 비교해 본 결과가 Fig. 8을 통해 나타나 있다. Fig. 8(a)를 통해 시각적으로 실제와 유사한 강도 값을 생성할 수 있음을 확인할 수 있다. Fig. 8(b)를 통해 강도 값을 정규분포로 추정한 결과, 평균 및 표준편차가 실제와 유사함이 확인된다. 이때 사람의 경우도 비교적 유사한 매질로 구성되기에 일부 구간에서 강도 분포가 형성된다. 또한 추정된 두 분포에 대하여 2-표본 K-S 검정을 적용해본 결과, 5 % 유의수준에서 동일한 분포임이 확인되었다.
4.2 실제 및 가상 포인트 클라우드 혼합 결과
제안된 방식에 따른 실제-가상 라이다 동기화 기반의 실제 및 가상 포인트 클라우드 혼합 결과를 확인하기 위해 실제 환경 상의 유효한 위치에 가상 객체가 증강될 수 있도록 가상 환경에서 가상 객체를 생성 및 제어하였다. 가상 객체로는 정적인 상자와 동적인 사람을 활용하였으며, 가상 환경의 한 장면을 캡처한 그림이 Fig. 9를 통해 나타나 있다.
해당 환경에서 가상 라이다를 통해 측정된 포인트 클라우드와 여기에 제안된 방법에 따라 생성한 가상 강도 값이 적용된 포인트 클라우드를 가시화하면 Fig. 10과 같다. 이 때 포인트 클라우드의 색상은 강도 값에 따라 상이하게 표현된다. Fig. 10(a)를 살펴보면 가상 라이다를 통해 측정된 포인트 클라우드의 경우 강도 값이 누락되어 모든 포인트가 단일 색상으로 표현되나, Fig. 10(b)에서는 포인트 별로 강도 값에 따라 상이한 색상으로 표현되는 것을 확인 할 수 있다.
실제 및 가상 라이다의 자세가 동기화된 환경에서 소형 UGV에 탑재된 라이다를 통해 측정된 실제 환경 포인트 클라우드의 한 장면이 Fig. 11에 나타나 있다. Fig. 10(b)에 해당하는 강도 값이 생성된 가상 객체 포인트 클라우드가 Fig. 11의 실제 환경 포인트 클라우드에 Fig. 6의 제안된 알고리즘에 따라 가림현상이 고려되어 증강이 이루어진 결과가 Fig. 12에 나타나 있다. Fig. 12에서 occ1이라고 표시된 영역을 살펴보면 가상 상자 포인트 클라우드가 실제 환경에 의해 일부 가려지고 증강되는 것을 확인할 수 있다. 또한 Fig. 12에서 occ2라고 표시된 영역을 살펴보면 실제 환경이 가상 사람의 형상에 맞게 가려지는 것을 확인할 수 있다.
4.3 실시간 증강 가능성 검토
본 실험환경에서 소형 UGV를 주행시킴에 따라 변화되는 실제 라이다의 자세 기반으로 가상 라이다의 자세가 즉각적으로 동기화되고 그에 맞는 증강 결과가 Fig. 12와 같이 실시간으로 획득되는 것을 확인하였다. 정량적인 실시간성을 검토하기 위해 Fig. 9의 가상 환경을 바탕으로 증강 수행 시 각 처리 과정 별 평균적인 처리 시간을 추출한 결과가 Table 2에 나타나 있다.
각 처리 과정은 ROS 환경에서 노드 단위로 구성되며, 각 노드에서는 설정된 동작 속도(Hz)에 따라 주기적인 처리가 타 노드와는 독립적으로 이루어진다. 그에 따라 가장 긴 처리 시간을 갖는 과정의 동작 속도가 전체 처리 과정에 대한 동작 속도를 결정한다고 간주할 수 있다. Table 2를 통해 가장 긴 처리 시간인 40 ms를 동작 속도로 변환 시 25 Hz에 해당한다. 실제 라이다를 통해 측정된 포인트 클라우드의 발행 속도가 10 Hz인 점을 감안하였을 때, 25 Hz의 처리 동작 속도는 정량적으로 충분히 실시간으로 증강이 이루어진다는 점을 입증하는 결과이다.
만약 가상 환경에 존재하는 가상 객체의 수가 Fig. 9에서처럼 두 개가 아니라 더 늘어난다면 그에 따라 가제보 시뮬레이터의 컴퓨팅 자원 소모가 증가하고 실시간성에 문제가 발생할 가능성이 있다. 이러한 경우에는 본 실험에서 사용한 NVIDIA Jetson Xavier의 컴퓨팅 성능보다 뛰어난 보드로 대체하거나 다수의 보드를 병합한 클러스터 형태로 신호처리 환경을 구성하여 실시간성을 해결할 수 있을 것으로 예상된다. 예를 들어 보드 4대를 사용하는 상황을 가정하면 각 처리 과정을 각 보드에서 하나씩 수행하고 보드 간에 통신망을 구성하여 각종 데이터를 ROS 메시지 형태의 토픽으로 송수신함으로써 실시간 증강이 이루어질 수 있을 것이다.
5. 결 론
본 논문에서는 실제 및 가상 환경에 대한 라이다 관점에서의 동기화를 바탕으로 혼합 현실 기반 자율무기체계 시험평가 수행을 위한 실제-가상 연계 포인트 클라우드 증강 기법을 제안하였다. 학습용 데이터셋 보강을 위한 목적이 아닌 시험평가 목적임에 따라 실시간성이 고려된 현실감 있는 증강이 요구된다. 그에 따라 가상 객체에 대한 포인트 클라우드 생성 시 물리적인 현상을 모사하는 강도 값 생성 과정을 실시간성을 고려하여 구현하였고 생성된 강도 값을 실측과 비교함으로써 제안된 방법의 유효성을 검증하였다. 상자 및 사람 두 종류의 객체에 대해 실제 측정한 강도 값의 분포와 제안된 방법에 따라 생성한 강도 값의 분포 간의 2-표본 K-S 검정 수행 시 5 % 유의수준에서 동일한 분포임이 확인되었다. 또한 객체들의 물리적 배치에 의한 가림 현상을 효율적으로 고려하여 실제와 가상 포인트 클라우드를 혼합하는 방법을 제안하고 그 결과를 제시하였다. 제시된 결과를 통해 가상 객체가 실제 배경에 삽입 시 전방 배경에 의한 가상 객체의 가려짐 및 가상 객체에 의한 후방 배경의 가려짐이 모두 적절히 구현되었음을 검증하였다. 또한 실시간성에 대한 검토를 통해 UGV에 탑재된 단일 보드로 실시간 증강이 이루어짐을 확인하였으며, 종합적으로 제안된 실제-가상 연계 포인트 클라우드 증강 기법이 실시간성이 고려된 현실감 있는 증강을 수행할 수 있음을 입증하였다.
제안된 아키텍처를 활용하면 라이다뿐만 아니라 카메라, 레이더, 적외선 등의 다른 종류의 센서 신호에 대한 증강에도 적용이 가능하다. 즉, 가상 환경에서 가상 센서를 모델링하고 이를 활용하여 가상 객체에 대한 실제 센서 데이터와 유사한 가상 센서 데이터를 생성하는 기술과 이를 실제 센서 데이터와 적절히 혼합할 수 있는 기술을 센서 종류에 맞게 확보한다면 센서 종류에 무관하게 증강을 수행할 수 있다. 카메라 데이터인 영상을 예로 들면 가상 카메라를 통해 획득되는 가상 객체의 영상이 실제와 유사한 형태로 획득되어야 하고 이를 가림현상을 고려하여 실제 영상과 합성한다. 이때, 가상 객체의 영상을 실제와 유사하게 생성하기 위해 언리얼 등의 게임엔진을 활용하여 실제와 유사한 가상 객체 모델링이 가능하다. 이처럼 자율무기체계에 탑재되는 다양한 센서에 대해 증강 기술을 적용한다면 다양한 시나리오에 대한 자율무기체계의 종합적인 행동 특성 평가를 수행할 수 있을 것으로 예상된다.