Korean J. Remote Sens. 2024; 40(6): 965-973
Published online: December 31, 2024
https://doi.org/10.7780/kjrs.2024.40.6.1.8
© Korean Society of Remote Sensing
구건우1, 김재광2,3, 구아영4, 윤동호5*
1성균관대학교 인공지능융합학과 석사과정생
2성균관대학교 인공지능융합학과 부교수
3성균관대학교 소셜이노베이션융합전공 부교수
4경상국립대학교 항공우주및소프트웨어공학부 학부생
5한국생산기술연구원 목적기반모빌리티그룹 수석연구원
Correspondence to : Dongho Yun
E-mail: lipo123@kitech.re.kr
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (https://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
This study proposes a camera-vision-based method for slip perception and decision through image preprocessing utilizing star motion blurring phenomena to enable safe navigation for exploration rovers on hazardous terrains, such as soft sand, which may induce slippage. Aiming for real-time performance in low-power embedded environments, we developed a Cortex-based printed circuit board. Through evaluations on validation datasets, the slip detection algorithm showed that the contour tracing technique achieved 31% higher accuracy compared to the Hough transformation. In addition, frames per second performance and power consumption comparisons confirmed that the slip detection algorithm using the contour tracing technique is more suitable for autonomous driving environments. This research presents an optimal algorithm and hardware configuration for real-time hazard detection on low-power embedded systems, particularly for CubeRover applications. We expect that these findings will contribute to the development and validation of CubeRover-based exploration rovers in autonomous navigation scenarios.
Keywords Computer vision, Hough transformation, Contour tracing, Low power embedded PC, Cuberover
대한민국의 달 탐사로버(Rover) 계획은 국가 우주개발 전략의 핵심으로, 2032년까지 달 탐사로버를 달에 착륙시키는 것을 목표로 하고 있다(Choi, 2023). 달 탐사로버의 필요성은 단순한 탐사활동을 넘어 화성 또는 기타 심우주 탐사 역량의 기반 구축과 자원 활용 등의 장기적 관점에서 중요한 의미를 갖는다. 특히, 무인 탐사로버가 인간이 접근하기 어려운 극한 환경에서도 임무 수행을 가능하게 하며, 이러한 특징으로 현재는 미국을 제외한 인도, 미국, 일본 등과 같은 국가들에서도 적극적으로 달 탐사로버의 개발을 시도하고 있다(Koo and Kim, 2023).
탐사로버들에게 위험한 지형, 특히 주행 중 미끄러짐을 유발할 수 있는 부드러운 모래와 같은 지형은 탐사로버의 주행 의사결정에 큰 영향을 준다(Wang et al., 2017). 이러한 위험 요소는 탐사로버의 이동경로를 제한하고 최악의 경우 미션 실패와 같은 부정적인 영향을 미칠 수 있다(Kang and Kong, 1992). 따라서 탐사로버가 이러한 위험 지형에서 주행함에 있어 생존성을 확보하기 위해 위험 지형 극복 또는 회피와 관련된 연구가 진행되어야 할 필요성이 대두되고 있다(Kim, 2017).
위험 지형 극복의 경우, 주로 제어를 통해 차륜의 형태를 변형하거나 차륜 바퀴의 크기를 키우면서 지형에 접촉되는 차륜 바퀴의 면적을 증가시킨 후 주행하는 방법을 사용하며, 경우에 따라서는 4족 보행 로봇과 같은 기술을 활용하여 위험 지형을 안전하게 통과하는 것을 목표로 한다(Lee et al., 2021; Park, 2023).
탐사로버의 위험 지형 회피의 경우, 위험 지형에 진입하는 것을 사전에 방지하는 것을 목표로 하며 주로 센서 기반의 인지 및 판단 기술을 사용한다. 대표적으로 카메라 비전(camera vision), 관성 측정 장치(InertialMeasurementUnit, IMU), 휠 오도메트리(wheel odometry)를 활용하여 미끄러짐과 관련된 이상 징후를 감지하거나 Global Positioning System (GPS)가 없는 환경에서 자신의 위치를 추정함으로써 위험 지형으로의 진입을 막아 탐사로버의 생존성을 확보하게 된다. 이 때 관성 측정 장치 또는 휠 오도메트리 단일 값 만으로 미끄러짐을 인지 및 판단하는 과정에서는 오차가 누적될 수 있어 보통은 두 개 이상의 기술을 같이 사용하여 오차를 보간해 탐사로버의 개선된 현재 위치를 계산할 수 있게 된다(Reina et al., 2010; Kang et al., 2019).
본 연구에서는 초소형 인공위성인 큐브위성과 유사하게 1U (10 cm× 10 cm× 10 cm) 모듈을 기준으로 로버의 크기를 확장 및 축소하며 개발이 가능한 큐브로버(CubeRover)에서도 사용이 가능하도록 저전력 임베디드(embedded) PC에서 주로 사용되는 코텍스(Cortex) 칩셋(chipset)을 기반으로 한 Printed Circuit Board (PCB) 기판을 제작하였다. 이후 이를 통해 미끄러짐을 추정하고 코텍스 칩셋 종류에 따른 전력 소비를 정량적으로 비교한 결과를 제시하고자 한다(Koo and Kim, 2023). 또한 본 연구에서 사용되는 카메라 비전 기반의 미끄러짐 추정 과정은 탐사로버의 자율주행을 염두한 기술로써 초당 프레임(frames per second, FPS) 15~30 이상의 실시간 성능이 중요한 기준이 된다(Kim, 2021).
기존 탐사로버의 카메라 비전 기반의 주행 의사결정 사례에서는 scale-invariant feature transform (SIFT), 유전 알고리즘 등을 사용하기 때문에 실시간성이 고려되어야 하는 자율주행 기술에는 적합하지 않다(Zhang et al., 2021; 2022). 따라서 본 연구에서는 실제 자율주행 기술 중 인지 영역에서 사용되는 허프 변환(hough transformation), 윤곽 추적(contour tracing)을 사용하여 정확도를 포함해 실시간 성능 및 소비되는 전력량을 비교 분석함으로써 추후 탐사로버의 자율 주행에 적합한 최적의 저전력 칩셋과 알고리즘을 선정하고자 한다(Zeng et al., 2022; Singh and Nongmeikapam, 2022).
본 연구에서는 Fig. 1과 같이 탐사로버의 주행으로 인해 발생되는 별 모션 블러링 현상을 활용하여 미끄러짐을 추정하고자 한다. 별 모션 블러링 현상은 Fig. 1에서 (a) 상태와 같이 탐사로버가 정지한 상태에서 별 이미지를 촬영한 결과물과 달리, 정지상태가 아닌 (b)와 같은 탐사로버의 주행으로 인한 이동체의 동적 상태에서 카메라나 광학센서가 별을 촬영할 때, 상대적인 움직임 때문에 별들이 프레임을 가로질러 이동하는 것처럼 보이는 현상이다. 카메라 노출 시간이 길어지거나 탐사로버가 빠르게 움직일 경우 모션 블러링 현상은 강해지며, 이러한 모션 블러링 현상을 감지함으로써 탐사로버의 미끄러짐이나 이동속도를 블러링의 길이, 방향 또는 변화량 등을 측정하여 추정할 수 있다.
본 논문에서는 이러한 별 모션 블러링 현상을 활용하여 달 탐사로버인 큐브로버가 고운 모래지형과 같은 위험지형에 진입하기 전 미끄러짐 현상을 감지하고 추정하는 방법을 제안하고자 한다. 이를 위해 이동 중 발생한 별 모션 블러링의 방향을 정량적으로 추정할 수 있는 알고리즘을 개발하였으며, 이러한 접근 방식은 향후 탐사로버의 안전한 주행경로 계획과 관련된 의사결정과 위험지형에서의 탐사로버의 생존성을 향상시키는데 기여할 것으로 기대된다.
탐사로버의 미끄러짐을 판단 및 추정하기 위해 별 모션 블러링 현상을 인지하는 과정에서 블러링으로 인해 이미지 상의 별 밝기가 약해져 해당 연구에서는 Fig. 1과 같이 일반적인 이진화 처리를 사용한 방식으로는 엣지(edge) 검출이 원활히 이루어지지 않는 문제가 발생한다. 따라서 본 연구에서는 미끄러짐 판단을 위한 추론 계산을 수행하기 전, 모션 블러링이 적용된 별 이미지를 효과적으로 전처리하여 엣지 검출 성능을 향상시키기 위해 Contrast Limited Adaptive Histogram Equalization (CLAHE) 기법을 적용하였다(Zuiderveld, 1994).
CLAHE는 이미지의 지역적 대비를 조절하여 흐려진 별 이미지의 대비를 강화함으로써 엣지 검출을 용이하게 한다. CLAHE의 전처리 과정은 크게 지역 블록 분할(dividing into local blocks), 대비 제한(contrast limiting), 보간(interpolation) 세 절차로 구성된다. 먼저, 지역 블록 분할 단계에서는 이미지를 여러 작은 블록으로 나누어 각 블록 내에서 히스토그램(histogram)을 계산하여 다양한 영역의 지역적 대비를 조정한다. 이후, 대비 제한 단계에서는 히스토그램 증폭을 특정 값 이하로 제한하여 과도한 대비를 방지하며, 높은 대비 값은 클리핑(clipping)되어 다른 값들로 분산된다. 이를 통해 과도한 밝기나 어두움을 최소화할 수 있다. 마지막으로 보간 단계에서는 블록 경계를 자연스럽게 이어 부드럽게 연결된 최종 이미지를 생성한다.
본 논문에서는 별 모션 블러링 현상을 활용하여 탐사로버의 위험 지형 진입을 방지하기 위한 인지-판단 알고리즘을 개발하고자 하였다. 저조도 환경에서 발생하는 모션 블러링으로 인해 이미지의 엣지 검출이 어려운 문제를 해결하기 위해, CLAHE 기법으로 이미지를 전처리하였다. 이후 검출된 에지를 바탕으로 허프 변환과 윤관 추적 기법을 적용하여 블러링 방향의 각도를 계산하였으며, 이를 참 값(true value)과 비교하여 미끄러짐 이상치 탐지에 적합한 최적의 알고리즘으로 선정하고자 한다. 허프 변환과 윤곽 추적을 사용하여 별 모션 블러링의 방향과 관련된 각도를 계산하는 절차는 Fig. 3과 같다.
Fig. 3과 같이 별 모션 블러링 현상에서의 블러링 방향과 관련된 각도를 추출하기 위해 허프변환과 윤곽 추적 기법을 사용하였다. 허프변환은 이미지에서 직선 형태의 엣지를 검출하는데 유용한 방법으로 이동체의 동적 상태에서 촬영된 별 이미지에서 별 블러링 궤적인 직선 형태로 나타나는 상황에서 그 각도를 효과적으로 계산할 수 있다. CLAHE를 통해 대비를 강화한 후, 가우시안 블러링(Gausian blurring)을 사용하여 이미지를 부드럽게 하였다. 이후, 케니 엣지 검출(cany edge detection)을 사용하여 엣지를 검출하고 특히 직선의 불연속적인 부분도 효과적으로 연결하여 검출할 수 있는 확률적 허프변환(probalilstic Hough transformation)을 사용하여 별 모션 블러링으로 인해 중간마다 끊어진 궤적을 포함한 직선을 추출, 검출된 직선의 시작점과 끝점을 이용하여 각도를 계산해 블러링 방향을 추정하였다.
윤곽 추적은 이미지에서 물체의 윤곽선을 추적하는 방법으로, 별 모션 블러링에 의해 생성된 궤적의 가장 먼 두 점을 연결하는 직선을 찾는데 효과적이라고 할 수 있다. 이미지 전처리 단계는 허프변환과 동일하게 진행되었으며 케니 엣지 검출을 통해 검출된 엣지에 대해 이미지의 각 궤적의 외각을 정의하여 각 궤적의 윤곽선을 탐색한 후, 각 윤곽선에서 x축, y축에서의 최대 최소값을 갖는 가장 멀리 떨어진 두 점을 찾고 연결하여 블러링 각도를 계산하였다.
Fig. 3의 슈도코드(Pseudocode)와 같이 허프변환을 통해 검출된 직선의 시작점인 x_1, y_1과 끝점인 x_2, y_2를 이용하여 각도를 계산한 결과와 윤관 추적을 통해 가장 가장 멀리 떨어진 두 점을 찾기 위해 x, y축에서 최소값을 갖는 x_start, y_start와 최대값을 갖는 x_end, y_end를 이용하여 각도를 계산한 결과는 Fig. 4와 같다.
본 논문에서는 이러한 별 모션 블러링 방향과 관련된 각도를 계산하는 과정에서 사용된 두 개의 허프변환과 윤관 추적 알고리즘과 관련하여 탐사로버의 자율주행을 상정하여 실시간 성능과 관련이 있는 시간 복잡도(time complexity)가 낮은 최적화된 알고리즘을 선정 하는 과정을 슈도코드를 기반으로 수행하고자 한다.
먼저 허프변환의 경우, 엣지 검출 단계에서 이미지의 총 픽셀수 n에 비례하는 시간 복잡도인 O(n)을 갖는다. 이후, 엣지 픽셀마다 가능한 모든 직선의 매개변수를 계산하여 히스토그램에 누적하는 과정에서 선의 매개변수(ρ,θ)를 기반으로 2차원 공간을 탐색하게 된다. 이때 시간 복잡도는 일반적으로 O(n·d)이며, 여기서 d는 이미지의 해상도 또는 선 매개변수 공간의 세분화 수준에 따라서 달라지게 된다. 특히, 모든 엣지 픽셀을 탐색하고 직선을 찾는 과정에서 O(n3)의 높은 시간 복잡도가 발생하게 된다. 또한, 검출된 직선의 시작점과 끝점을 이용하여 각도를 계산하고 리스트에 저장하는 작업은 각 직선당 O(1)의 시간 복잡도를 가지며, 직선의 수가 k 일 때 역시 O(n3)에 비례한다.
하지만 윤곽 추적 알고리즘은 상대적으로 낮은 시간 복잡도인 O(n2)를 갖는다. 엣지 검출 단계는 허프 변환과 마찬가지로 O(n)의 시간 복잡도를 가지지만 이후 이미지의 엣지 픽셀을 그룹화하여 윤곽을 형성하는 과정에서 O(n)의 시간 복잡도, 각 윤곽 내에서 가장 먼 두 점을 찾는 작업은 개별 윤곽을 구성하는 엣지 픽셀 수 m에 대해 O(n2)의 시간 복잡도를 갖는다. 따라서 윤곽 추적 알고리즘은 허프 변환보다 시간 복잡도가 낮아 이론적으로 별 모션 블러링 각도 추정에서 실시간 성능이 중요한 자율주행 환경에 더 적합한 알고리즘 이라고 할 수 있다.
별 모션 블러링 현상에서 블러링 각도를 추정하기 위해 허프 변환과 윤곽 추적을 활용한 미끄러짐 판단 알고리즘의 정확도와 실시간 성능을 비교 분석하였다. 이를 위해 시뮬레이터 상의 별 이미지 데이터와 Stanford University의 CS448A 강좌에서 제공한 실제 천체 촬영 이미지를 사용하여 총 19,872장의 별 모션 블러링 데이터셋을 구축하였으며, 이를 미끄러짐 판단 알고리즘의 검증 데이터셋으로 활용하여 정확도와 실시간 성능을 확인하였다(Packard and Stanek, 2024).
Fig. 5와 Table 1, 2와 같이 허프 변환의 전체 구간에서 평균 절대 오차는 8.51 degrees이며, 윤곽 추적의 경우 5.87 degrees로 약 31% 높은 정확도를 보여주었다. Fig. 5에서 파란색 점선으로 표시된Actual Blur Angle은 데이터셋의 참 값으로 허프 변환과 윤곽 추적 두 방법 모두 60–100 degrees 구간에서 참 값에 근접한 값을 보여주었다. 특히 허프 변환의 경우 극단 구간이 0–20 degrees, 140 degrees 이상의 구간에서 실제 각도를 과소평가하는 경향이 있어 오차가 커지는 결과를 확인하였다. 하지만 윤곽 추적 기법은 허프 변환보다 오차가 적고 분포가 더 균일함을 확인할 수 있었다.
Table 1 Angular error metrics for hough transformation technique (Unit: degree)
Actual Blur | Angle Average Error (Estimated) | Error Range (Estimated) |
---|---|---|
0–20 degrees | 12.5 degrees | 5–20 degrees |
60–100 degrees | 4 degrees | 0–8 degrees |
20–100 degrees (Overall Avg. Error) | 8.51 degrees | 0–20 degrees |
140 degrees and above | 20 degrees | 10–30 degrees |
이러한 결과를 통해 윤곽 추적 기법을 활용한 판단 알고리즘 기법이 허프 변환을 활용한 판단 알고리즘 기법에 비해 전 구간에서 더 낮은 오차를 보이며, 특히 0–20 degrees 및 140 degrees 의 극단 구간에서도 더 강건한 성능을 나타냈음을 확인할 수 있었다. 또한 허프 변환이 극단 구간에서 오차가 크게 발생하는 것과 관련하여 윤곽 추적 기법과 달리 허프 변환만의 기술적인 원인과 알고리즘적인 특성 때문일 것으로 아래와 같이 분석할 수 있었다.
첫 번째로 허프 변환은 누적 히스토그램을 사용하여 직선을 검출하게 되는데, 히스토그램의 분해능(resolution)이 제한되어 있다면 각도 값이 특정 간격으로 양자화되어 극단 구간에 대해 양자화 오차가 커질 가능성이 존재한다. 두 번째로 허프 변환은 대비가 강한 엣지를 우선적으로 직선으로 검출하게 되는데, 직선만을 모델링하기 때문에 블러링이 된 선이 직선이 아니라 곡선형이거나 비선형적일 경우 정확한 각도를 검출하지 못할 수 있는 가능성이 존재한다. 실제로 사용된 데이터셋의 경우, 천체 촬영 이미지를 활용한 데이터도 존재하기 때문에 이미지에서 윤곽선을 기반으로 한 윤곽 추적 기법이 허프 변환보다 전체적으로 낮은 오차를 갖는 이유라고 설명할 수 있다.
본 연구에서는 Fig. 6과 같이 코텍스 칩셋을 사용하는 카메라 비전 기반 PCB를 제작하여 관성 측정 장치의 사용을 제외하고 프로세스의 종류에 따른 FPS 성능을 측정하고 슈도코드를 기반으로 한 시간 복잡도의 이론적 결과와 비교함으로써 윤곽 추적을 활용한 판단 알고리즘의 실시간 성능 우위를 검증하고자 한다. 따라서 다양한 코텍스 칩셋과 RandomAccessMemory (RAM)를 활용하여 허프 변환과 윤곽 추적 알고리즘의 FPS 성능을 각각 평가하였다. 이를 통해 각 알고리즘의 FPS 성능을 하드웨어 사양에 따라 분석할 수 있었으며, 본 연구에서는 이론적 시간 복잡도와 실제 성능 간의 차이를 규명하여 실제 환경에서 윤곽 추적 알고리즘이 더 효율적인지 확인하고자 하였다.
그 결과, Table 3, 4와 같이 Broadcom BCM2711과 ARM Cortex-A72, Quad-core 1.5 GHz, 1 GB RAM을 갖는 PCB 보드에서 윤곽 추적 기법을 사용했을 때 가장 높은 FPS 성능인 25.14 FPS 성능으로 측정되었으며, BroadcomBCM2837B0와ARMCortex-A53, Quad-core 1.2 GHz, 1 GB RAM을 갖는 PCB 보드에서 허프 변환 기법을 사용했을 때 가장 낮은 7.56 FPS 성능으로 측정되었다.
Table 3 Comparative FPS performance metrics for Hough transformation
SoC | CPU Core | RAM | FPS |
---|---|---|---|
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 12.01 |
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 12.57 |
Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 7.56 |
Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 14.05 |
SoC: System on Chip.
Table 3과 4의 결과를 바탕으로 윤곽 추적을 활용하는 미끄러짐 판단 알고리즘의 성능이 가장 높은 보드는 Broadcom BCM2711과 ARM Cortex-A72, Quad-core 1.5 GHz, 1 GB RAM을 갖는 보드임을 확인할 수 있었다. 하지만 해당 PCB 보드는 실제 전력자원이 제한적인 환경에서 주행하는 초소형 달 탐사로버인 큐브로버에 장착되는 것을 상정하였기 때문에, 실시간성 성능 외에도 동시에 더 적은 소비전력을 기록하는 보드를 확인해야한다. 본 논문에서는 Table 5와 같이 미끄러짐 판단 알고리즘 중 가장 높은 성능을 보여준 윤곽 추적 기법과 각 코텍스 칩셋 및 RAM조합 등에 따른 전력 소비를 측정하였다.
Table 5 Comparative power consumption (mAh) metrics for contour tracing
SoC | CPU Core | RAM | mAh |
---|---|---|---|
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 263.42 |
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 264.84 |
Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 313.82 |
Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 670.68 |
그 결과, Broadcom BCM2837와 ARM Cortex-A53, Quad-core 1.2 GHz, 512 GB RAM을 갖는 보드에서 가장 낮은 전력 소비를 기록한 것을 확인할 수 있었으며, Broadcom BCM2711과 ARMCortex-A72, Quad-core 1.5 GHz, 1 GB RAM을 갖는 보드에서 가장 높은 전력 소비를 기록한 것을 확인할 수 있었다.
본 논문에서는 Table 6과 같이 본 연구의 최종적인 실험결과로 하여금 최적의 미끄러짐 판단 알고리즘과 해당 알고리즘이 운용될 저전력 PCB 보드를 선정하고자 한다. 최적의 미끄러짐 판단 알고리즘은 윤곽 추적기법으로, 평균 절대 오차가 5.87 degrees로 가장 작음과 동시에 슈도코드의 알고리즘을 기반으로 계산한 이론적 시간복잡도와 실제 모든 PCB 모델들에서 측정된 FPS 성능에서 가장 높은 실시간 성 성능을 보여주었다.
Table 6 Performance and power consumption comparison of hough transformation and contour tracing on custom-designed PCB boards
Technique | Average Error | Time Complexity | FPS | SoC | CPU Core | RAM | mAh |
---|---|---|---|---|---|---|---|
Hough Transformation | 8.51 | O (n3) | 12.01 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 263.45 |
12.57 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 264.74 | |||
7.56 | Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 313.32 | |||
14.05 | Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 670.28 | |||
Contour Tracing | 5.87 | O (n2) | 15.40 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 263.42 |
19.12 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 264.84 | |||
10.00 | Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 313.82 | |||
25.14 | Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 670.68 |
해당 실험결과를 바탕으로, 저전력 PCB 모델의 선정과 관련하여 향후 자율주행이 가능한 탐사로버의 개발에서 사용될 저전력 PCB 보드는 Table 6과 같이 실시간성 성능 기준인 15FPS를 기본적으로 초과함과 동시에 가장 낮은 전력 소비를 보여줘야 하는 기준을 따른다. 그 결과 본 연구에서는 Broadcom BCM2837과 ARM Cortex-A53, Quad-core 1.2 GHz, 512GB RAM을 갖는 보드와 BroadcomBCM2837과 ARM Cortex-A53, Quad-core 1.2 GHz, 1GB RAM을 갖는 보드를 최종 선정하였다.
본 논문에서는 초소형 탐사로버인 큐브로버의 오프로드 자율주행 환경에서 미끄러짐을 유발할 수 있는 위험 지형에서의 안전한 주행경로를 확보하기 위해 별 모션 블러링 현상을 활용한 미끄러짐 인지-판단 방법을 제안하였다. 이를 위해 본 연구에서는 저전력 코텍스 기반의 PCB 보드를 제작하여 카메라 비전 기법을 활용한 미끄러짐 판단 알고리즘을 통해, 실시간으로 탐사로버의 미끄러짐 추정을 수 행하였다. 미끄러짐 판단 알고리즘으로는, 실제 자율주행 알고리즘에서 많이 쓰이는 허프 변환과 윤곽 추적 알고리즘을 사용하여 각 알고리즘의 정확도와 실시간 성능을 비교 분석하였다.
실험 결과, 윤곽 추적 기법이 허프 변환보다 낮은 평균 절대 오차를 보이며 전 구간에서 더 높은 정확도를 나타내었고, 특히 허프 변환 기법을 활용한 미끄러짐 판단 알고리즘이 취약했던 극단 구간인 0–20 degrees, 140 degrees and above에서 비교적 우수한 성능을 보여줌으로써 위험 지형 인지-판단에 보다 효과적인 알고리즘임을 확인할 수 있었다. 또한 다양한 코텍스 칩셋과 프로세스, RAM을 조합하 여 활용한 각 PCB 보드에 대해 FPS 성능과 전력 소비를 분석한 결과, 윤곽선 추적 기법을 사용하는 실시간 성능에서도 자율주행 환경에 적합한 알고리즘임을 확인할 수 있었다.
본 연구의 주요한 기여점은, 별 모션 블러링을 이용한 탐사로버의 미끄러짐 판단 알고리즘을 개발하고, 이를 저전력 임베디드 환경에서 최적화함으로써 실시간 자율주행 성능을 확보할 수 있는 가능성을 제시한 것이다. 이러한 접근 방식은 향후 개발될 큐브로버와 같은 초소형 탐사로버의 위험 지형 회피 시스템에 활용될 수 있으며, 탐사로버의 생존성 및 안정성, 미션의 효율성 등을 향상시키는 데 기여될 것으로 기대된다.
다만, 본 연구에서는 제한된 종류의 코텍스 모델과 프로세서를 사용하여 전력 소비와 FPS 성능을 비교하였으므로, 향후 연구에서는 초소형 위성의 On Board Computer (OBC)에서 자주 사용하는 자일링스(Xilinx)의 Field-Programmable Gate Array (FPGA)와 같은 다양한 임베디드 시스템과 개선된 알고리즘을 적용하여 더욱 포괄적인 성능 검증이 필요할 것으로 보인다. 추가적으로 향후 고운 모래가 깔려 있는 주행실험장 환경에서의 실제 검증을 통해 탐사로버의 미끄러짐 판단 알고리즘을 제작된 탐사로버의 자율주행 시스템에 통합한 후 관성 측정 장치의 센서 값과 휠 오도메트리 값을 비교군으로 하여 별 모션 블러링 기반의 미끄러짐 관련 이상탐지(anomaly detection) 연구를 진행할 예정이다.
Table 2 Angular error metrics for contour tracing technique
Actual Blur | Angle Average Error (Estimated) | Error Range (Estimated) |
---|---|---|
0–20 degrees | 7.5 degrees | 3–12 degrees |
60–100 degrees | 2.5 degrees | 0–5 degrees |
20–100 degrees (Overall Avg. Error) | 5.87 degrees | 0–12 degrees |
140 degrees and above | 10 degrees | 5–15 degrees |
Table 4 Comparative FPS performance metrics for contour tracing
SoC | CPU Core | RAM | FPS |
---|---|---|---|
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 15.40 |
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 19.12 |
Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 10.00 |
Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 25.14 |
본 결과물은 농림축산식품부의 재원으로 농림식품기술기획평가원의 고부가가치식품기술개발사업의 지원을 받아 연구되었음(No. 1545027880).
No potential conflict of interest relevant to this article was reported.
Korean J. Remote Sens. 2024; 40(6): 965-973
Published online December 31, 2024 https://doi.org/10.7780/kjrs.2024.40.6.1.8
Copyright © Korean Society of Remote Sensing.
구건우1, 김재광2,3, 구아영4, 윤동호5*
1성균관대학교 인공지능융합학과 석사과정생
2성균관대학교 인공지능융합학과 부교수
3성균관대학교 소셜이노베이션융합전공 부교수
4경상국립대학교 항공우주및소프트웨어공학부 학부생
5한국생산기술연구원 목적기반모빌리티그룹 수석연구원
Keon-Woo Koo1, Jaekwang Kim2,3, A-Yeong Koo4, Dongho Yun5*
1Master Student, Department of Applied Artificial Intelligence, Sungkyunkwan University, Seoul, Republic of Korea
2Associate Professor, Department of Applied Artificial Intelligence, Sungkyunkwan University, Seoul, Republic of Korea
3Associate Professor, Convergence Program for Social Innovation, Sungkyunkwan University, Seoul, Republic of Korea
4Undergraduate Student, School of Aerospace and Software Engineering, Gyeongsang National University, Jinju, Republic of Korea
5Chief Researcher, Purpose Built Mobility Group, Korea Institute of Industrial Technology, Gwangju, Republic of Korea
Correspondence to:Dongho Yun
E-mail: lipo123@kitech.re.kr
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License (https://creativecommons.org/licenses/by-nc/4.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.
This study proposes a camera-vision-based method for slip perception and decision through image preprocessing utilizing star motion blurring phenomena to enable safe navigation for exploration rovers on hazardous terrains, such as soft sand, which may induce slippage. Aiming for real-time performance in low-power embedded environments, we developed a Cortex-based printed circuit board. Through evaluations on validation datasets, the slip detection algorithm showed that the contour tracing technique achieved 31% higher accuracy compared to the Hough transformation. In addition, frames per second performance and power consumption comparisons confirmed that the slip detection algorithm using the contour tracing technique is more suitable for autonomous driving environments. This research presents an optimal algorithm and hardware configuration for real-time hazard detection on low-power embedded systems, particularly for CubeRover applications. We expect that these findings will contribute to the development and validation of CubeRover-based exploration rovers in autonomous navigation scenarios.
Keywords: Computer vision, Hough transformation, Contour tracing, Low power embedded PC, Cuberover
대한민국의 달 탐사로버(Rover) 계획은 국가 우주개발 전략의 핵심으로, 2032년까지 달 탐사로버를 달에 착륙시키는 것을 목표로 하고 있다(Choi, 2023). 달 탐사로버의 필요성은 단순한 탐사활동을 넘어 화성 또는 기타 심우주 탐사 역량의 기반 구축과 자원 활용 등의 장기적 관점에서 중요한 의미를 갖는다. 특히, 무인 탐사로버가 인간이 접근하기 어려운 극한 환경에서도 임무 수행을 가능하게 하며, 이러한 특징으로 현재는 미국을 제외한 인도, 미국, 일본 등과 같은 국가들에서도 적극적으로 달 탐사로버의 개발을 시도하고 있다(Koo and Kim, 2023).
탐사로버들에게 위험한 지형, 특히 주행 중 미끄러짐을 유발할 수 있는 부드러운 모래와 같은 지형은 탐사로버의 주행 의사결정에 큰 영향을 준다(Wang et al., 2017). 이러한 위험 요소는 탐사로버의 이동경로를 제한하고 최악의 경우 미션 실패와 같은 부정적인 영향을 미칠 수 있다(Kang and Kong, 1992). 따라서 탐사로버가 이러한 위험 지형에서 주행함에 있어 생존성을 확보하기 위해 위험 지형 극복 또는 회피와 관련된 연구가 진행되어야 할 필요성이 대두되고 있다(Kim, 2017).
위험 지형 극복의 경우, 주로 제어를 통해 차륜의 형태를 변형하거나 차륜 바퀴의 크기를 키우면서 지형에 접촉되는 차륜 바퀴의 면적을 증가시킨 후 주행하는 방법을 사용하며, 경우에 따라서는 4족 보행 로봇과 같은 기술을 활용하여 위험 지형을 안전하게 통과하는 것을 목표로 한다(Lee et al., 2021; Park, 2023).
탐사로버의 위험 지형 회피의 경우, 위험 지형에 진입하는 것을 사전에 방지하는 것을 목표로 하며 주로 센서 기반의 인지 및 판단 기술을 사용한다. 대표적으로 카메라 비전(camera vision), 관성 측정 장치(InertialMeasurementUnit, IMU), 휠 오도메트리(wheel odometry)를 활용하여 미끄러짐과 관련된 이상 징후를 감지하거나 Global Positioning System (GPS)가 없는 환경에서 자신의 위치를 추정함으로써 위험 지형으로의 진입을 막아 탐사로버의 생존성을 확보하게 된다. 이 때 관성 측정 장치 또는 휠 오도메트리 단일 값 만으로 미끄러짐을 인지 및 판단하는 과정에서는 오차가 누적될 수 있어 보통은 두 개 이상의 기술을 같이 사용하여 오차를 보간해 탐사로버의 개선된 현재 위치를 계산할 수 있게 된다(Reina et al., 2010; Kang et al., 2019).
본 연구에서는 초소형 인공위성인 큐브위성과 유사하게 1U (10 cm× 10 cm× 10 cm) 모듈을 기준으로 로버의 크기를 확장 및 축소하며 개발이 가능한 큐브로버(CubeRover)에서도 사용이 가능하도록 저전력 임베디드(embedded) PC에서 주로 사용되는 코텍스(Cortex) 칩셋(chipset)을 기반으로 한 Printed Circuit Board (PCB) 기판을 제작하였다. 이후 이를 통해 미끄러짐을 추정하고 코텍스 칩셋 종류에 따른 전력 소비를 정량적으로 비교한 결과를 제시하고자 한다(Koo and Kim, 2023). 또한 본 연구에서 사용되는 카메라 비전 기반의 미끄러짐 추정 과정은 탐사로버의 자율주행을 염두한 기술로써 초당 프레임(frames per second, FPS) 15~30 이상의 실시간 성능이 중요한 기준이 된다(Kim, 2021).
기존 탐사로버의 카메라 비전 기반의 주행 의사결정 사례에서는 scale-invariant feature transform (SIFT), 유전 알고리즘 등을 사용하기 때문에 실시간성이 고려되어야 하는 자율주행 기술에는 적합하지 않다(Zhang et al., 2021; 2022). 따라서 본 연구에서는 실제 자율주행 기술 중 인지 영역에서 사용되는 허프 변환(hough transformation), 윤곽 추적(contour tracing)을 사용하여 정확도를 포함해 실시간 성능 및 소비되는 전력량을 비교 분석함으로써 추후 탐사로버의 자율 주행에 적합한 최적의 저전력 칩셋과 알고리즘을 선정하고자 한다(Zeng et al., 2022; Singh and Nongmeikapam, 2022).
본 연구에서는 Fig. 1과 같이 탐사로버의 주행으로 인해 발생되는 별 모션 블러링 현상을 활용하여 미끄러짐을 추정하고자 한다. 별 모션 블러링 현상은 Fig. 1에서 (a) 상태와 같이 탐사로버가 정지한 상태에서 별 이미지를 촬영한 결과물과 달리, 정지상태가 아닌 (b)와 같은 탐사로버의 주행으로 인한 이동체의 동적 상태에서 카메라나 광학센서가 별을 촬영할 때, 상대적인 움직임 때문에 별들이 프레임을 가로질러 이동하는 것처럼 보이는 현상이다. 카메라 노출 시간이 길어지거나 탐사로버가 빠르게 움직일 경우 모션 블러링 현상은 강해지며, 이러한 모션 블러링 현상을 감지함으로써 탐사로버의 미끄러짐이나 이동속도를 블러링의 길이, 방향 또는 변화량 등을 측정하여 추정할 수 있다.
본 논문에서는 이러한 별 모션 블러링 현상을 활용하여 달 탐사로버인 큐브로버가 고운 모래지형과 같은 위험지형에 진입하기 전 미끄러짐 현상을 감지하고 추정하는 방법을 제안하고자 한다. 이를 위해 이동 중 발생한 별 모션 블러링의 방향을 정량적으로 추정할 수 있는 알고리즘을 개발하였으며, 이러한 접근 방식은 향후 탐사로버의 안전한 주행경로 계획과 관련된 의사결정과 위험지형에서의 탐사로버의 생존성을 향상시키는데 기여할 것으로 기대된다.
탐사로버의 미끄러짐을 판단 및 추정하기 위해 별 모션 블러링 현상을 인지하는 과정에서 블러링으로 인해 이미지 상의 별 밝기가 약해져 해당 연구에서는 Fig. 1과 같이 일반적인 이진화 처리를 사용한 방식으로는 엣지(edge) 검출이 원활히 이루어지지 않는 문제가 발생한다. 따라서 본 연구에서는 미끄러짐 판단을 위한 추론 계산을 수행하기 전, 모션 블러링이 적용된 별 이미지를 효과적으로 전처리하여 엣지 검출 성능을 향상시키기 위해 Contrast Limited Adaptive Histogram Equalization (CLAHE) 기법을 적용하였다(Zuiderveld, 1994).
CLAHE는 이미지의 지역적 대비를 조절하여 흐려진 별 이미지의 대비를 강화함으로써 엣지 검출을 용이하게 한다. CLAHE의 전처리 과정은 크게 지역 블록 분할(dividing into local blocks), 대비 제한(contrast limiting), 보간(interpolation) 세 절차로 구성된다. 먼저, 지역 블록 분할 단계에서는 이미지를 여러 작은 블록으로 나누어 각 블록 내에서 히스토그램(histogram)을 계산하여 다양한 영역의 지역적 대비를 조정한다. 이후, 대비 제한 단계에서는 히스토그램 증폭을 특정 값 이하로 제한하여 과도한 대비를 방지하며, 높은 대비 값은 클리핑(clipping)되어 다른 값들로 분산된다. 이를 통해 과도한 밝기나 어두움을 최소화할 수 있다. 마지막으로 보간 단계에서는 블록 경계를 자연스럽게 이어 부드럽게 연결된 최종 이미지를 생성한다.
본 논문에서는 별 모션 블러링 현상을 활용하여 탐사로버의 위험 지형 진입을 방지하기 위한 인지-판단 알고리즘을 개발하고자 하였다. 저조도 환경에서 발생하는 모션 블러링으로 인해 이미지의 엣지 검출이 어려운 문제를 해결하기 위해, CLAHE 기법으로 이미지를 전처리하였다. 이후 검출된 에지를 바탕으로 허프 변환과 윤관 추적 기법을 적용하여 블러링 방향의 각도를 계산하였으며, 이를 참 값(true value)과 비교하여 미끄러짐 이상치 탐지에 적합한 최적의 알고리즘으로 선정하고자 한다. 허프 변환과 윤곽 추적을 사용하여 별 모션 블러링의 방향과 관련된 각도를 계산하는 절차는 Fig. 3과 같다.
Fig. 3과 같이 별 모션 블러링 현상에서의 블러링 방향과 관련된 각도를 추출하기 위해 허프변환과 윤곽 추적 기법을 사용하였다. 허프변환은 이미지에서 직선 형태의 엣지를 검출하는데 유용한 방법으로 이동체의 동적 상태에서 촬영된 별 이미지에서 별 블러링 궤적인 직선 형태로 나타나는 상황에서 그 각도를 효과적으로 계산할 수 있다. CLAHE를 통해 대비를 강화한 후, 가우시안 블러링(Gausian blurring)을 사용하여 이미지를 부드럽게 하였다. 이후, 케니 엣지 검출(cany edge detection)을 사용하여 엣지를 검출하고 특히 직선의 불연속적인 부분도 효과적으로 연결하여 검출할 수 있는 확률적 허프변환(probalilstic Hough transformation)을 사용하여 별 모션 블러링으로 인해 중간마다 끊어진 궤적을 포함한 직선을 추출, 검출된 직선의 시작점과 끝점을 이용하여 각도를 계산해 블러링 방향을 추정하였다.
윤곽 추적은 이미지에서 물체의 윤곽선을 추적하는 방법으로, 별 모션 블러링에 의해 생성된 궤적의 가장 먼 두 점을 연결하는 직선을 찾는데 효과적이라고 할 수 있다. 이미지 전처리 단계는 허프변환과 동일하게 진행되었으며 케니 엣지 검출을 통해 검출된 엣지에 대해 이미지의 각 궤적의 외각을 정의하여 각 궤적의 윤곽선을 탐색한 후, 각 윤곽선에서 x축, y축에서의 최대 최소값을 갖는 가장 멀리 떨어진 두 점을 찾고 연결하여 블러링 각도를 계산하였다.
Fig. 3의 슈도코드(Pseudocode)와 같이 허프변환을 통해 검출된 직선의 시작점인 x_1, y_1과 끝점인 x_2, y_2를 이용하여 각도를 계산한 결과와 윤관 추적을 통해 가장 가장 멀리 떨어진 두 점을 찾기 위해 x, y축에서 최소값을 갖는 x_start, y_start와 최대값을 갖는 x_end, y_end를 이용하여 각도를 계산한 결과는 Fig. 4와 같다.
본 논문에서는 이러한 별 모션 블러링 방향과 관련된 각도를 계산하는 과정에서 사용된 두 개의 허프변환과 윤관 추적 알고리즘과 관련하여 탐사로버의 자율주행을 상정하여 실시간 성능과 관련이 있는 시간 복잡도(time complexity)가 낮은 최적화된 알고리즘을 선정 하는 과정을 슈도코드를 기반으로 수행하고자 한다.
먼저 허프변환의 경우, 엣지 검출 단계에서 이미지의 총 픽셀수 n에 비례하는 시간 복잡도인 O(n)을 갖는다. 이후, 엣지 픽셀마다 가능한 모든 직선의 매개변수를 계산하여 히스토그램에 누적하는 과정에서 선의 매개변수(ρ,θ)를 기반으로 2차원 공간을 탐색하게 된다. 이때 시간 복잡도는 일반적으로 O(n·d)이며, 여기서 d는 이미지의 해상도 또는 선 매개변수 공간의 세분화 수준에 따라서 달라지게 된다. 특히, 모든 엣지 픽셀을 탐색하고 직선을 찾는 과정에서 O(n3)의 높은 시간 복잡도가 발생하게 된다. 또한, 검출된 직선의 시작점과 끝점을 이용하여 각도를 계산하고 리스트에 저장하는 작업은 각 직선당 O(1)의 시간 복잡도를 가지며, 직선의 수가 k 일 때 역시 O(n3)에 비례한다.
하지만 윤곽 추적 알고리즘은 상대적으로 낮은 시간 복잡도인 O(n2)를 갖는다. 엣지 검출 단계는 허프 변환과 마찬가지로 O(n)의 시간 복잡도를 가지지만 이후 이미지의 엣지 픽셀을 그룹화하여 윤곽을 형성하는 과정에서 O(n)의 시간 복잡도, 각 윤곽 내에서 가장 먼 두 점을 찾는 작업은 개별 윤곽을 구성하는 엣지 픽셀 수 m에 대해 O(n2)의 시간 복잡도를 갖는다. 따라서 윤곽 추적 알고리즘은 허프 변환보다 시간 복잡도가 낮아 이론적으로 별 모션 블러링 각도 추정에서 실시간 성능이 중요한 자율주행 환경에 더 적합한 알고리즘 이라고 할 수 있다.
별 모션 블러링 현상에서 블러링 각도를 추정하기 위해 허프 변환과 윤곽 추적을 활용한 미끄러짐 판단 알고리즘의 정확도와 실시간 성능을 비교 분석하였다. 이를 위해 시뮬레이터 상의 별 이미지 데이터와 Stanford University의 CS448A 강좌에서 제공한 실제 천체 촬영 이미지를 사용하여 총 19,872장의 별 모션 블러링 데이터셋을 구축하였으며, 이를 미끄러짐 판단 알고리즘의 검증 데이터셋으로 활용하여 정확도와 실시간 성능을 확인하였다(Packard and Stanek, 2024).
Fig. 5와 Table 1, 2와 같이 허프 변환의 전체 구간에서 평균 절대 오차는 8.51 degrees이며, 윤곽 추적의 경우 5.87 degrees로 약 31% 높은 정확도를 보여주었다. Fig. 5에서 파란색 점선으로 표시된Actual Blur Angle은 데이터셋의 참 값으로 허프 변환과 윤곽 추적 두 방법 모두 60–100 degrees 구간에서 참 값에 근접한 값을 보여주었다. 특히 허프 변환의 경우 극단 구간이 0–20 degrees, 140 degrees 이상의 구간에서 실제 각도를 과소평가하는 경향이 있어 오차가 커지는 결과를 확인하였다. 하지만 윤곽 추적 기법은 허프 변환보다 오차가 적고 분포가 더 균일함을 확인할 수 있었다.
Table 1 . Angular error metrics for hough transformation technique (Unit: degree).
Actual Blur | Angle Average Error (Estimated) | Error Range (Estimated) |
---|---|---|
0–20 degrees | 12.5 degrees | 5–20 degrees |
60–100 degrees | 4 degrees | 0–8 degrees |
20–100 degrees (Overall Avg. Error) | 8.51 degrees | 0–20 degrees |
140 degrees and above | 20 degrees | 10–30 degrees |
이러한 결과를 통해 윤곽 추적 기법을 활용한 판단 알고리즘 기법이 허프 변환을 활용한 판단 알고리즘 기법에 비해 전 구간에서 더 낮은 오차를 보이며, 특히 0–20 degrees 및 140 degrees 의 극단 구간에서도 더 강건한 성능을 나타냈음을 확인할 수 있었다. 또한 허프 변환이 극단 구간에서 오차가 크게 발생하는 것과 관련하여 윤곽 추적 기법과 달리 허프 변환만의 기술적인 원인과 알고리즘적인 특성 때문일 것으로 아래와 같이 분석할 수 있었다.
첫 번째로 허프 변환은 누적 히스토그램을 사용하여 직선을 검출하게 되는데, 히스토그램의 분해능(resolution)이 제한되어 있다면 각도 값이 특정 간격으로 양자화되어 극단 구간에 대해 양자화 오차가 커질 가능성이 존재한다. 두 번째로 허프 변환은 대비가 강한 엣지를 우선적으로 직선으로 검출하게 되는데, 직선만을 모델링하기 때문에 블러링이 된 선이 직선이 아니라 곡선형이거나 비선형적일 경우 정확한 각도를 검출하지 못할 수 있는 가능성이 존재한다. 실제로 사용된 데이터셋의 경우, 천체 촬영 이미지를 활용한 데이터도 존재하기 때문에 이미지에서 윤곽선을 기반으로 한 윤곽 추적 기법이 허프 변환보다 전체적으로 낮은 오차를 갖는 이유라고 설명할 수 있다.
본 연구에서는 Fig. 6과 같이 코텍스 칩셋을 사용하는 카메라 비전 기반 PCB를 제작하여 관성 측정 장치의 사용을 제외하고 프로세스의 종류에 따른 FPS 성능을 측정하고 슈도코드를 기반으로 한 시간 복잡도의 이론적 결과와 비교함으로써 윤곽 추적을 활용한 판단 알고리즘의 실시간 성능 우위를 검증하고자 한다. 따라서 다양한 코텍스 칩셋과 RandomAccessMemory (RAM)를 활용하여 허프 변환과 윤곽 추적 알고리즘의 FPS 성능을 각각 평가하였다. 이를 통해 각 알고리즘의 FPS 성능을 하드웨어 사양에 따라 분석할 수 있었으며, 본 연구에서는 이론적 시간 복잡도와 실제 성능 간의 차이를 규명하여 실제 환경에서 윤곽 추적 알고리즘이 더 효율적인지 확인하고자 하였다.
그 결과, Table 3, 4와 같이 Broadcom BCM2711과 ARM Cortex-A72, Quad-core 1.5 GHz, 1 GB RAM을 갖는 PCB 보드에서 윤곽 추적 기법을 사용했을 때 가장 높은 FPS 성능인 25.14 FPS 성능으로 측정되었으며, BroadcomBCM2837B0와ARMCortex-A53, Quad-core 1.2 GHz, 1 GB RAM을 갖는 PCB 보드에서 허프 변환 기법을 사용했을 때 가장 낮은 7.56 FPS 성능으로 측정되었다.
Table 3 . Comparative FPS performance metrics for Hough transformation.
SoC | CPU Core | RAM | FPS |
---|---|---|---|
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 12.01 |
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 12.57 |
Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 7.56 |
Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 14.05 |
SoC: System on Chip..
Table 3과 4의 결과를 바탕으로 윤곽 추적을 활용하는 미끄러짐 판단 알고리즘의 성능이 가장 높은 보드는 Broadcom BCM2711과 ARM Cortex-A72, Quad-core 1.5 GHz, 1 GB RAM을 갖는 보드임을 확인할 수 있었다. 하지만 해당 PCB 보드는 실제 전력자원이 제한적인 환경에서 주행하는 초소형 달 탐사로버인 큐브로버에 장착되는 것을 상정하였기 때문에, 실시간성 성능 외에도 동시에 더 적은 소비전력을 기록하는 보드를 확인해야한다. 본 논문에서는 Table 5와 같이 미끄러짐 판단 알고리즘 중 가장 높은 성능을 보여준 윤곽 추적 기법과 각 코텍스 칩셋 및 RAM조합 등에 따른 전력 소비를 측정하였다.
Table 5 . Comparative power consumption (mAh) metrics for contour tracing.
SoC | CPU Core | RAM | mAh |
---|---|---|---|
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 263.42 |
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 264.84 |
Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 313.82 |
Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 670.68 |
그 결과, Broadcom BCM2837와 ARM Cortex-A53, Quad-core 1.2 GHz, 512 GB RAM을 갖는 보드에서 가장 낮은 전력 소비를 기록한 것을 확인할 수 있었으며, Broadcom BCM2711과 ARMCortex-A72, Quad-core 1.5 GHz, 1 GB RAM을 갖는 보드에서 가장 높은 전력 소비를 기록한 것을 확인할 수 있었다.
본 논문에서는 Table 6과 같이 본 연구의 최종적인 실험결과로 하여금 최적의 미끄러짐 판단 알고리즘과 해당 알고리즘이 운용될 저전력 PCB 보드를 선정하고자 한다. 최적의 미끄러짐 판단 알고리즘은 윤곽 추적기법으로, 평균 절대 오차가 5.87 degrees로 가장 작음과 동시에 슈도코드의 알고리즘을 기반으로 계산한 이론적 시간복잡도와 실제 모든 PCB 모델들에서 측정된 FPS 성능에서 가장 높은 실시간 성 성능을 보여주었다.
Table 6 . Performance and power consumption comparison of hough transformation and contour tracing on custom-designed PCB boards.
Technique | Average Error | Time Complexity | FPS | SoC | CPU Core | RAM | mAh |
---|---|---|---|---|---|---|---|
Hough Transformation | 8.51 | O (n3) | 12.01 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 263.45 |
12.57 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 264.74 | |||
7.56 | Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 313.32 | |||
14.05 | Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 670.28 | |||
Contour Tracing | 5.87 | O (n2) | 15.40 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 263.42 |
19.12 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 264.84 | |||
10.00 | Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 313.82 | |||
25.14 | Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 670.68 |
해당 실험결과를 바탕으로, 저전력 PCB 모델의 선정과 관련하여 향후 자율주행이 가능한 탐사로버의 개발에서 사용될 저전력 PCB 보드는 Table 6과 같이 실시간성 성능 기준인 15FPS를 기본적으로 초과함과 동시에 가장 낮은 전력 소비를 보여줘야 하는 기준을 따른다. 그 결과 본 연구에서는 Broadcom BCM2837과 ARM Cortex-A53, Quad-core 1.2 GHz, 512GB RAM을 갖는 보드와 BroadcomBCM2837과 ARM Cortex-A53, Quad-core 1.2 GHz, 1GB RAM을 갖는 보드를 최종 선정하였다.
본 논문에서는 초소형 탐사로버인 큐브로버의 오프로드 자율주행 환경에서 미끄러짐을 유발할 수 있는 위험 지형에서의 안전한 주행경로를 확보하기 위해 별 모션 블러링 현상을 활용한 미끄러짐 인지-판단 방법을 제안하였다. 이를 위해 본 연구에서는 저전력 코텍스 기반의 PCB 보드를 제작하여 카메라 비전 기법을 활용한 미끄러짐 판단 알고리즘을 통해, 실시간으로 탐사로버의 미끄러짐 추정을 수 행하였다. 미끄러짐 판단 알고리즘으로는, 실제 자율주행 알고리즘에서 많이 쓰이는 허프 변환과 윤곽 추적 알고리즘을 사용하여 각 알고리즘의 정확도와 실시간 성능을 비교 분석하였다.
실험 결과, 윤곽 추적 기법이 허프 변환보다 낮은 평균 절대 오차를 보이며 전 구간에서 더 높은 정확도를 나타내었고, 특히 허프 변환 기법을 활용한 미끄러짐 판단 알고리즘이 취약했던 극단 구간인 0–20 degrees, 140 degrees and above에서 비교적 우수한 성능을 보여줌으로써 위험 지형 인지-판단에 보다 효과적인 알고리즘임을 확인할 수 있었다. 또한 다양한 코텍스 칩셋과 프로세스, RAM을 조합하 여 활용한 각 PCB 보드에 대해 FPS 성능과 전력 소비를 분석한 결과, 윤곽선 추적 기법을 사용하는 실시간 성능에서도 자율주행 환경에 적합한 알고리즘임을 확인할 수 있었다.
본 연구의 주요한 기여점은, 별 모션 블러링을 이용한 탐사로버의 미끄러짐 판단 알고리즘을 개발하고, 이를 저전력 임베디드 환경에서 최적화함으로써 실시간 자율주행 성능을 확보할 수 있는 가능성을 제시한 것이다. 이러한 접근 방식은 향후 개발될 큐브로버와 같은 초소형 탐사로버의 위험 지형 회피 시스템에 활용될 수 있으며, 탐사로버의 생존성 및 안정성, 미션의 효율성 등을 향상시키는 데 기여될 것으로 기대된다.
다만, 본 연구에서는 제한된 종류의 코텍스 모델과 프로세서를 사용하여 전력 소비와 FPS 성능을 비교하였으므로, 향후 연구에서는 초소형 위성의 On Board Computer (OBC)에서 자주 사용하는 자일링스(Xilinx)의 Field-Programmable Gate Array (FPGA)와 같은 다양한 임베디드 시스템과 개선된 알고리즘을 적용하여 더욱 포괄적인 성능 검증이 필요할 것으로 보인다. 추가적으로 향후 고운 모래가 깔려 있는 주행실험장 환경에서의 실제 검증을 통해 탐사로버의 미끄러짐 판단 알고리즘을 제작된 탐사로버의 자율주행 시스템에 통합한 후 관성 측정 장치의 센서 값과 휠 오도메트리 값을 비교군으로 하여 별 모션 블러링 기반의 미끄러짐 관련 이상탐지(anomaly detection) 연구를 진행할 예정이다.
Table 2 . Angular error metrics for contour tracing technique.
Actual Blur | Angle Average Error (Estimated) | Error Range (Estimated) |
---|---|---|
0–20 degrees | 7.5 degrees | 3–12 degrees |
60–100 degrees | 2.5 degrees | 0–5 degrees |
20–100 degrees (Overall Avg. Error) | 5.87 degrees | 0–12 degrees |
140 degrees and above | 10 degrees | 5–15 degrees |
Table 4 . Comparative FPS performance metrics for contour tracing.
SoC | CPU Core | RAM | FPS |
---|---|---|---|
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 15.40 |
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 19.12 |
Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 10.00 |
Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 25.14 |
본 결과물은 농림축산식품부의 재원으로 농림식품기술기획평가원의 고부가가치식품기술개발사업의 지원을 받아 연구되었음(No. 1545027880).
No potential conflict of interest relevant to this article was reported.
Table 1 . Angular error metrics for hough transformation technique (Unit: degree).
Actual Blur | Angle Average Error (Estimated) | Error Range (Estimated) |
---|---|---|
0–20 degrees | 12.5 degrees | 5–20 degrees |
60–100 degrees | 4 degrees | 0–8 degrees |
20–100 degrees (Overall Avg. Error) | 8.51 degrees | 0–20 degrees |
140 degrees and above | 20 degrees | 10–30 degrees |
Table 2 . Angular error metrics for contour tracing technique.
Actual Blur | Angle Average Error (Estimated) | Error Range (Estimated) |
---|---|---|
0–20 degrees | 7.5 degrees | 3–12 degrees |
60–100 degrees | 2.5 degrees | 0–5 degrees |
20–100 degrees (Overall Avg. Error) | 5.87 degrees | 0–12 degrees |
140 degrees and above | 10 degrees | 5–15 degrees |
Table 3 . Comparative FPS performance metrics for Hough transformation.
SoC | CPU Core | RAM | FPS |
---|---|---|---|
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 12.01 |
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 12.57 |
Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 7.56 |
Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 14.05 |
SoC: System on Chip..
Table 4 . Comparative FPS performance metrics for contour tracing.
SoC | CPU Core | RAM | FPS |
---|---|---|---|
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 15.40 |
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 19.12 |
Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 10.00 |
Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 25.14 |
Table 5 . Comparative power consumption (mAh) metrics for contour tracing.
SoC | CPU Core | RAM | mAh |
---|---|---|---|
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 263.42 |
Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 264.84 |
Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 313.82 |
Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 670.68 |
Table 6 . Performance and power consumption comparison of hough transformation and contour tracing on custom-designed PCB boards.
Technique | Average Error | Time Complexity | FPS | SoC | CPU Core | RAM | mAh |
---|---|---|---|---|---|---|---|
Hough Transformation | 8.51 | O (n3) | 12.01 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 263.45 |
12.57 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 264.74 | |||
7.56 | Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 313.32 | |||
14.05 | Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 670.28 | |||
Contour Tracing | 5.87 | O (n2) | 15.40 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 512 MB | 263.42 |
19.12 | Broadcom BCM2837 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 264.84 | |||
10.00 | Broadcom BCM2837B0 | ARM Cortex-A53, Quad-core 1.2 GHz | 1 GB | 313.82 | |||
25.14 | Broadcom BCM2711 | ARM Cortex-A72, Quad-core 1.5 GHz | 1 GB | 670.68 |
Rogelio Ruzcko Tobias, Sejeong Bae, Hwanhee Cho, Jungho Im
Korean J. Remote Sens. 2024; 40(6): 1505-1521