뒤로가기back

Mobile AR in Unity Part 1: AR

2019.07.05 by Gaudio Lab

Mobile AR in Unity Part 1: AR

소개

최근 유니티로 AR 앱 개발을 마음 먹은 개발자라면 여러가지 개념들이 혼비한 상황 속에서 어떻게 시작해야 할 지 막막할 것 같아요. 왜냐하면 제가 그랬거든요. 특히 ARFoundation, ARCore, ARKit, AR Session, SceneKit, Point Cloud, Plane Detection 등 생소한 개념들을 모르는 상태라면, 더 당황스러울 거에요. 새로 나온 개념들은 자료가 부족하고, 이미 있는 기능들은 단위별로는 잘 설명해 두었지만, 큰 그림에서 서로 어떻게 엮여 있는지는 설명한 자료가 없어서 혼란스러울 거에요.

이러한 순서로 글을 적어보려고 합니다.

      1. 복잡한 개념들을 정리하고, 
      2. 머리 속에 넣어 두어야 하는 개념모형을 간단히 설명해 주면서, 
      3. 더 나아가 유니티에서 어떻게 AR을 구현할 수 있는지 설명


다들 제가 겪었던 삽질을 반복하지 마세요. 😇

 

AR

 

AR은 Digital Virtual World와 Real World를 연결한 World 라고 이해하시면 됩니다.

좀더 기억하기 쉽게 정리하면, AR World = Digital Virtual World + Real World

AR기술의 범위는 꽤나 넓어서 다양한 응용분야가 있어요. 예로 들어, 어떤 스토어에 들어가는 순간 모바일 디바이스에서 GPS를 통해 위치를 검색해서 그 스토어에 들어간 것임을 확인하고 관련된 정보를 띄어주는 것 또한 현실과 디지털세계를 연결한 AR응용사례라고 볼 수 있겠죠.

 

Mobile AR: SLAM

 

그런데, 이 포스팅에서 집중하는 AR 응용 분야는 Mobile AR로 아래와 같이 크게 두 가지 핵심기술을 기반으로 하고 있어요.

 

    • 현실세계에서의 디바이스 현재 위치를 추적하는 것 > Visual Inertial Odometry
    • 현실사물을 인식하는 것 > Image Feature Analysis (Plane Detection, Object Detection 등등)

 

이렇게 VIO를 통해서 위치추정을 수행함과 동시에 사물 스캔을 통해서 가상의 맵을 그려내는 기술을 SLAM(Simultaneous localization and mapping)이라고 한다네요.

그러면 이제 이 2가지 핵심기술에 대한 개념을 정리해 볼게요.

 

Visual Inertial Odometry

Visual Inertial Odometry는 직역하면 시각적 관성 거리계로, Visual Odometry와 관성측정장치인 Inertial Measurement Unit(이하 IMU)의 합성어에요.

 

     Visual Inertial Odometry = IMU + Visual Odometry 

 

각각의 기술 개념을 정리하면 아래와 같아요.

 

  • IMU

IMU는 accelerometer와 gyro의 조합을 통해서 대상이 받고 있는 힘과 가속 등을 체크하는 전자기기에요. IMU를 통해 현재 디바이스의 Motion 정보를 얻어낼 수 있죠.

그런데 IMU만 이용할 경우에는 갑작스런 움직임을 정확히 반영하지 못하는 기술적 한계점이 있었고, 그 한계를 보완하기 위해 소프트웨어적으로 이미지를 분석하고 이에 기반해 디바이스의 위치를 좀 더 정확하게 보정해 주는 Computer Vision 기술이 들어가는 것이에요. 그리고 그것이 바로 Visual Odometry입니다.

 

  • Visual Odometry

“Visual Odometry는 카메라 이미지를 분석해서 디바이스의 Pose(=Position & Rotation)을 정의하는 프로세스를 말하는데, 로보틱스와 컴퓨터 비젼에서 다루고 있는 분야” (출처: wikipedia)

 

즉, VIO의 개념을 정리하면,
디바이스의 모션 센서 그리고 카메라 이미지를 분석을 통해 디바이스의 현재 위치와 회전값을 측정하는 기술이에요. 이 기술을 통해 카메라가 현실 세계의 origin(0, 0, 0)을 기준으로 어디에 위치해 있는지 그리고 어떤 곳을 바라바고 있는지를 디지털 3D 세계에 표현할 수 있게 되는 거에요.

그렇다면 카메라의 위치정보 말고 ‘평면감지‘, ‘오브젝트 감지’ 등의 정보는 어떻게 얻을까요?
이를 위해서 Image Feature Analysis기술이 들어갑니다.

 

Image Feature Analysis

AR에서 2D카메라 이미지를 분석해서 현실의 3D 사물을 인지하는 방법은 우리가 두 눈을 이용해서 공간감을 인지하는 방법과 다르지 않다고 합니다. 어떤 책상의 한 점을 북쪽에서 봤다고 하면, 약 10cm 정도 옆으로 가서 봐도 그 점이 보인다면, 그 점은 특징점이고 이미지 간 같은 두 특징점의 삼각법을 통해 거리를 분석해 냅니다.

 

여기서 특징점이라는 말은 Interesting Point라고 생각해도 무방합니다. 도메인의 목적에 따라 특징을 정의하는 방식이 다른 굉장히 추상적인 개념이에요. Mobile AR 도메인에서 특징점(흥미를 갖고 있는 점)은 다른 각도에서도 발견되는 같은 점들입니다.
(참고로, 이 특징을 feature라고 하고, 이 점들이 모인 집합을 point cloud라고 합니다.)

 
 

Mobile AR 시스템 개념모형

이태까지 이해한 내용과 ARKit에 대해서 애플이 2018년 WWDC에서 발표한 자료를 종합해 보면 전체적으로 Mobile AR 시스템이 어떻게 동작하는지 개념모형을 머리 속에 그려볼 수 있어요.

 

개념모형

      1. ARSession을 요청한다.
      2. 카메라 하드웨어를 켠다.
      3. IMU 하드웨어를 켠다.
      4. Camera와 Motion Sensor는 ARFrame마다 값을 업데이트한다.
      5. AR Session이 열린다.
        (Session이 열린 순간의 카메라 위치를 원점으로 가상 월드 좌표계가 형성된다.)
      6. 그 좌표계에서 VIO를 통해, 현재 카메라의 위치와 회전값을 업데이트한다.
      7. 카메라 이미지를 분석해서, 물체를 감지한다.
      8. (등록된 사물이 아니면) 새로운 앵커를 만들어서 사물을 위치시킨다.
      9. (이미 등록된 사물이면) 업데이트 또는 병합한다.
      10. 7에서 9 과정을 반복한다.
 
 
 

참고자료

Understanding ARKit Tracking and Detection – WWDC 2018 – Videos – Apple Developer https://developer.apple.com/videos/play/wwdc2018/610/

Technology – ApproachableAR – Medium

Interest point detection – Wikipedia https://en.wikipedia.org/wiki/Interest_point_detection

Feature detection (computer vision) – Wikipedia https://en.wikipedia.org/wiki/Feature_detection_(computer_vision)

Introduction To Feature Detection And Matching – Software Incubator – Medium https://medium.com/software-incubator/introduction-to-feature-detection-and-matching-65e27179885d

 
 

Gaudio Lab 은…

가우디오랩(주)은 VR/AR, 스트리밍 미디어, 모바일, 홈 등 소리가 있는 어디에서나 사람들에게 훌륭한 소리 경험을 제공하는 일을 합니다. 가상세계를  더욱 현실처럼 만드는 소리, 현실을 넘어 초현실적인 소리를 만드는 혁신적인 기술들로 전세계를 누비며 활약하는 국가대표 오디오 공학집단입니다. “올해의 최고 VR 혁신 기업상 수상(VR Awards, 런던, 2017)“, “ISO/IEC MPEG-H 3D Audio 국제표준 채택 (2013,2018)“으로 혁신성을 인정받은 6인의 음향공학박사와 오디오 Geek들은 실리콘밸리와 서울에 있습니다. The Science of Sound.

 
 
 
pre-image
라우드니스 101

LOUDNESS 101   1. Loudness란 ?   Loudness란 인간 청각의 지각 정도에 의해 느끼는 소리의 크기를 뜻합니다. 내가 지금 듣고있는 노래의 크기를 주변 사람에게 알려준다고 가정해봅시다! 일단 소리가 크다면 Loudness가 크다고 할 수 있고, 소리가 작다면 Loudness가 작다고 할 수 있습니다. 하지만 주변 사람에게 소리의 크기를 알려준다고 했을때, Loudness에 대한 인지정도가 나와 같으리라는 보장은 없습니다. 주변 사람의 수가 많아질수록 그 보장성은 줄어들기까지 합니다. 이럴 경우 가장 효율적인 방법은 숫자가 도입된 객관적인 지표(단위)를 통해 전달하는 것입니다. 많은 분야에서 필요로했는지, Loudness 단위에 대한 연구는 활발하게 이루어져왔습니다. 그중에서도 브로드캐스팅, 스트리밍과 같은 시장에서 통용되고 실용성높은 단위를 소개하고자합니다. 소개하고자 하는 단위는 LKFS(Loudness K-Weighted relative to Full Scale)이며, LUFS(Loudness Unit relative to Full Scale)로도 불립니다. 이 단위와 관련된 파라미터들은는 ITU-R(International Telecommunication Union – Radiocommunication), EBU-R(European Broadcasting Union)에 의해 고안되었습니다.   2. Loudness 핵심 요소           위의 figure 1.는 Loudness를 측정하는 유틸리티의 인터페이스입니다. 관찰력이 좋다면 두 유틸리티에서 공통적으로 쓰이는 파라미터는 Integrated, Short-Term, Momentary loudness, true peak 그리고 Loudness Range가 있는 것을 확인 할 수 있습니다. (다른 Loudness 측정기를 보시더라도 유사한 파라미터가 쓰일 것입니다) 이번 챕터에서는 각 파라미터가 의미하는 바에 대해서 살펴보도록 하겠습니다.   2-1. 핵심 키워드   LKFS(LUFS) Loudness의 단위 중 하나이며, 인간의 청각 특성에 부합하게 설계된 K-weighting filter를 거친 입력 신호에 대한 크기입니다. K-weighting filter는 인간이 비교적 잘 듣는 주파수영역의 신호를 증가시키고, 비교적 잘 들리지 않는 주파수 영역의 신호를 감소시키는 필터로 이해하시면됩니다. Loudness의 종류에는 측정하는 길이에 따라 Momentary, Short-term, Integrated Loudness로 나뉩니다. Momentary Loudness는 0.4초, Short-term Loudness은 3초, Integrated Loudness는 전체 구간에 대한 소리 크기입니다.   LU(Loudness units) LKFS가 측정되는 자체의 값이라면 LU는 상대적인 측정량입니다. 즉, 기준 레벨 대비하여 얼만큼 차이가 나는지, 혹은 Loudness의 범위를 의미할때 쓰입니다. 예를 들어, 컨텐츠 A가 -12LKFS이고 컨텐츠  B가 -20LKFS이면 A 컨텐츠는 B 컨텐츠보다 +8LU 만큼의 Loudness를 가지고있다로 표현 가능합니다.   Momentary Loudness K-weighting filter를 거친 신호의 0.4초 분량에 해당하는 소리크기이며, 75% 오버랩(0.1초)을 하여 측정합니다. 순간순간의 소리크기로 이해하면 됩니다.     위 그림과 같이 측정한 결과를 히스토그램화 하여 누적하면 아래 그림과 같습니다.     Momentary Loudness의 히스토그램은 추후 Integrated Loudness를 계산할때 활용됩니다.   Short-term Loudness K-weighting filter를 거친 신호의 3초 분량에 해당하는 소리크기이며, EBU에서는  최소 0.1s 간격으로 갱신 할 것을 권장하고있습니다.   Short-term Loudness의 히스토그램은 추후 Loudness Range를 계산할때 활용됩니다.   Integrated Loudness 전체 구간에서 들리는 소리 크기의 평균이다. 컨텐츠 전반적인 소리 크기를 의미합니다. 구하는 방식은 다음과 같습니다. Step1) -70LKFS 이하의 momentary loudness 분포값들을 제거한 후, 나머지 분포값들의 평균을 구합니다.     Step2) step1에서 구한 평균보다 10LU만큼 작은게 relative threshold입니다.     step3) relative threshold보다 높은 분포값들의 평균이 integrated loudness입니다.       LRA(Loudness Range) 전체 구간에서의 Loudness의 범위입니다. 즉, 소리크기가 어느정도로  분포하고 있는지 알 수 있는 지표입니다. 구하는 방식은 다음과 같습니다. Step1)  -70LKFS 이하의 short-term loudness 분포값들을 제거한 후, 나머지 분포값들의 평균보다 20LU 작은 값(relative threshold)을 구합니다.     Step2) relative threshold를 넘는 분포값들 중 하위 10%와 상위 5%의 범위가 Loudness Range입니다.       True-peak 192kHz 샘플링 주파수로 변환하였을때의 피크값이며 단위는 dBTP입니다.  재생환경 중에서 충분히 높은 샘플링 주파수(192kHz)일때 열화를 방지하기 위한 값으로 이해하면 됩니다. 일반적으로 소비되는 음원의 샘플링 주파수는 44.1, 48kHz이기때문에 업샘플링을 하는게 일반적인데, 이때 기존의 sample peak 값보다 커질 수 있습니다. 업샘플링에 대한 예시입니다.     중축이 되는 업샘플링 기법 외에도 표현 범위를 넘어가는걸 방지하기 위한 attenuation, upsampling 이후에 유효한 신호들만 남기기위한 필터링, 데시벨 단위로 환산하기 위한 로그화 등이 진행됩니다. 아래 block diagram은 샘플링 주파수가 48kHz일때 true-peak를 구하는 일련의 과정입니다.     2-2. 라우드니스 감 익히기   3. 그 외   3-1. 왜 하필 LKFS(LUFS)인가요?Z   기존에는 RMS(Root-mean-square)를 활용하여 Loudness를 측정했지만 실제 인간의 청각 능력과는 매칭이 잘 안됐습니다. 이후 ITU, EBU에서 K-weighting 필터를 활용하여 인간의 청각 능력을 반영하고, 크기를 구하는 과정에서 보았듯이 소리크기를 느끼는데 있어 영향력이 없는 부분에 대한 열외처리를 하는 등 보다 정교한 방법으로 Loudness를 계산합니다. 다른 단위보다 정교하기때문에 대세로 자리잡지않았나 싶네요!   3-2. 각종 플랫폼의 Loudness 규제 및 권장 현황   (https://www.masteringthemix.com 발췌)   3-3. Loudness War에 관한 사견   Loudness와 관련된 이슈를 하나 말씀드리려합니다. 다들 아실수도 있는 ‘Loudness War’입니다. 제 마음대로 요약을 하면 컨텐츠 제작자가 “다른 창작물보다 나의 창작물의 소리를 더 크게 함으로써 청취자들로부터 하여금 더 주목받을 것이다. 보너스로 음질이 더 좋아진것처럼 청취자의 착각을 불러일으킬 것이다.“와 같은 마인드로 컨텐츠를 생산하는 것입니다. 혹은 “다른 창작물보다 나의 창작물의 소리를 더 키우진 않겠지만 차이가 크게 나지않도록 만들것이다.“와 같은 마인드도 될 수 있겠네요. 소리가 커지면 음질이 개선된다고 생각이 될지 모르겠지만, 실제로는 Dynamic이 좁아 표현력도 떨어지고, 클리핑 발생의 빈도가 높아져 음질 열화 확률은 더 높아집니다.  소리를 과하게 키우면 음원의 질 자체는 오히려 떨어진다는 것을 많은 소비자가 인지하여 소비의 패턴이 바뀌기를 희망합니다.   3-4. LKFS? LUFS?   Loudness의 단위를 최초 고안한것은 ITU에서하고 단위를 LKFS로 정의하였습니다. 이후 디스플레이 방식이나 Momentary, Short-term, Integrated Loudness, LRA 등의 용어와 디스플레이 방식 등을 정의 한것은 EBU에서 고안하면서 LUFS로 명칭을 변경하였지요. 따라서 북미권에서는 LKFS를 쓰고, 유럽권에서는 LUFS를 쓰는 경향을 보이네요. ((이 글은 상기 표준에서 내포한 철학을 필자 나름의 핵심 요소를 추린것이기에 보다 자세하고 깊은 내용을 원하시면 ITU-R BS.1770-4, EBU-R Tech 3341,3342를 정독하는 것을 권장합니다.))   Gaudio Lab 은… 가우디오랩(주)은 VR/AR, 스트리밍 미디어, 모바일, 홈 등 소리가 있는 어디에서나 사람들에게 훌륭한 소리 경험을 제공하는 일을 합니다. 가상세계를  더욱 현실처럼 만드는 소리, 현실을 넘어 초현실적인 소리를 만드는 혁신적인 기술들로 전세계를 누비며 활약하는 국가대표 오디오 공학집단입니다. “올해의 최고 VR 혁신 기업상 수상(VR Awards, 런던, 2017)“, “ISO/IEC MPEG-H 3D Audio 국제표준 채택 (2013, 2018)“으로 혁신성을 인정받은 6인의 음향공학박사와 오디오 Geek들은 실리콘밸리와 서울에 있습니다. The Science of Sound.      

2019.05.08
after-image
How many images are in an auditory scene? | 논문 읽어주는 제임스

  논문 읽어주는 제임스   Paper Review – How many images are in an auditory scene?   Xuan Zhong and William A. Yost J. Acoust. Soc. Am., April 2017 첫번째 글은 JASA 에 게재된 2017년 논문 중 “How many images are in an auditory scene?“이란 제목의 논문입니다. 논문 저자 중 제 2 저자인 W. A. Yost는 60년대부터 꾸준히 논문을 쓰고 계신데, 궁금해서 찾아보니 44년생이시더군요. 올해 75세. 연구교수라는 직함으로 여전히 Arizona State University에 재직 중이십니다. 연세가 드셔서도 꾸준히 연구하시는 모습, 본받을 만 한 것 같습니다.   “Abstract” 시작 부분에서 이 논문이 무엇을 하고 싶은 건지를 명확히 하고 있습니다. “If an auditory scene consists of many spatially separated sound sources, how many sound sources can be processed by the auditory system?” 이라고 시작을 합니다. 즉, 음원이 공간에 퍼져있을 때 과연 auditory system 에서는 몇 개의 음원에 대해서 처리할 수 있을까? 즉 사람은 동시에 몇 개의 음원까지 분리해서 인지할 수 있는가? 에 대한 질문입니다. 사실 사람의 localization 능력에 대한 실험과 연구는 꽤 오래전부터 해 왔고 그 결과들이 실제 많은 연구와 제품에 반영되고 있습니다. 그런데, 기존의 연구들에서는 단일 음원에 대한 localization 능력에 좀 더 집중했다면, 최근의 localization 연구는 복수의 음원에 대한 localization 능력을 연구하는데 집중이 되어 있는 듯 합니다. 이 논문에서는 총 4개의 실험을 통해서 위 질문에 대한 답을 내리려고 합니다. 실험 시작 전에 실험 세팅 및 그 외 환경을 간단히 정리하고 갑시다.   General Methods   A. Instrumentation   15’ X 12’ X 10’ (L X W X H)인 reflection-reduced room12개 스피커를 청취자 귀 높이에 30도 간격으로 설치청취자의 Head-rotation은 가능하나, 그 외의 움직임은 하지 않도록 지시   B. Speech materials   – 총 12명 (여자 6명, 남자 6명)의 Voice 녹음: American English Talkers– 한 단어 발음을 녹음하는데, 각 단어는 24개의 국가명– 녹음한 후에 level normalize하고, 시작 지점은 onset detection을 통해 time-aligned 된 형태로 가공함.– 각 talker 별로 10개의 단어를 무작위로 선택하고 (randomly selected), 각 talker는 개별 스피커에서만 소리가 남. 예를 들어 여자 1번 talker는 항상 1번 스피커에서만 소리가 나고, 남자 1번 talker는 2번 스피커에서만 소리가 나는 방식.   C. Subjects   – 8명의 정상 청력의 지원자. 그럼 첫번째 실험을 살펴봅시다. 첫번째 실험은 Locating Multiple Speech Sources 라는 이름의 실험입니다. 각 trial 마다 1개에서 8개까지의 스피커에서 소리가 나는데, 몇 개의 스피커에서 소리가 나는지는 random 하게 결정됩니다. 그리고 이 소리가 어디서 나는지도 random하게 결정되죠. 똑같이 4개의 스피커에서 소리가 나더라도 trial 마다 소리가 나는 스피커는 달라집니다. 청취자들은 1) 몇 개의 스피커에서 소리가 나고 있는지? 그리고 2) 어느 스피커에서 소리가 났는지를 맞추는 게 목적이 되겠네요.   실제 실험 전에 준비 단계에서 음원의 개수가 1개에서 8개까지로 구성된 예비 실험을 진행합니다. 이 예비 실험은 실험 방법과 세팅에 익숙해 질 수 있도록 하는 것이 목적인데, 이 때는 피실험자의 응답이 맞았는지 틀렸는지를 알려줍니다. 그 후 본 실험에 들어가게 되는데, 당연히 본 실험에서는 피실험자의 응답이 맞았는지에 대한 피드백은 주지 않습니다. 이런 응답도 피실험자에게 bias를 줄 수 있기 때문에, 실제 실험에서는 이런 부분들도 철저히 통제합니다.   그럼 결과는 어떠할까요? 질문이 그랬으니까 당연히 분석도1) 소리가 난 총스피커의 개수를 정확히 맞추었는지?2) 소리가 난 스피커의 위치를 정확히 인지했는지? 를 분석합니다. 일단 그래프를 한번 보죠.   위 그래프에서 왼쪽 그래프는 8명의 피실험자의 응답을 나타낸 것이고, 오른쪽 그래프는 평균값과 표준 편차를 그린 값입니다. 동시에 소리가 난 스피커의 개수가 많아져도 피실험자가 응답한 수는 4~5개에서 더 늘어나질 않습니다.  표준편차를 기준으로 봤을 때는 피실험자의 응답은 4개에서 멈춰진 것처럼 보입니다. 일단 이 결과에서는 동시 인지 가능한 음원의 개수는 4개 정도라고 보는게 맞겠네요. 그럼 음원의 위치는 얼마나 정확히 맞추었을까요?   위 그래프는 절대수가 아니라 Hits ( = Correct answers)의 비율을 나타낸 것입니다. 이 실험에서 이 비율은 맞게 대답한 개수를 실제 음원 개수로 나눈 거라고 합니다. 예를 들어 전체 5개의 스피커에서 소리가 났으며, 피실험자가 총 3개의 스피커에서 소리가 났다고 응답했고, 그 3개 중 2개에 대해서 정확한 위치를 말했다면 이 때 정확한 위치를 인지한 경우의 비율은 0.4가 되는 거죠.   일단 그래프에서 전체 소리가 난 음원의 개수가 5개가 될 때까지 이 비율은 급격하게 감소합니다. 동시 발생 음원의 개수가 4개인 경우에 위치를 정확하게 맞춘 경우는 60% 정도 밖에 되지 않네요. 그 이후로도 이 비율은 계속 감소하지만, 감소의 기울기가 좀 더 완만해 졌습니다. 일단 여기까지도 꽤 재밌는 결과가 나왔는데, 저자들은 좀 더 정확한 분석을 하고 싶었나 봅니다. 그래서 아래와 같은 표를 만들었네요. (고등학교 때 배운 확률/통계의 지식을 최대한 활용해 봅시다.)   첫번째 열은 동시에 소리가 난 음원의 개수입니다. 두번째 열은 동시에 소리가 난 스피커의 조합의 경우를 나타낸 것인데, 만약 N=2일 때 12개의 스피커에서 2개의 스피커로 소리를 낼 수 있는 경우의 수를 찾은 겁니다. 12개에서 N개의 스피커를 무작위로 뽑을 때 만들어 질 수 있는 조합의 개수가 되겠네요. 세번째 열은 해당 경우에 실제 피실험자가 응답한 총 음원의 개수를 (Fig.2의 오른쪽 그래프의 평균값, n)를 반올림한 값입니다. 네번째 열은 Fig.3의 오른쪽 그림에서 평균값을 표시한 값입니다. 근데, 이 비율을 좀 다르게 표시할 수도 있는데요. 비율을 계산할 때 N으로 나눌수도 있지만, 실제 응답한 개수인 n으로 나눌 수도 있겠지요. 그 값이 다섯번째 열에 계산된 값입니다. 이 다섯번째 컬럼이 결국은 n이라고 응답했을 때 n_hit는 몇개인가를 나타낸 것이겠네요. 여섯번째 컬럼은 사용자가 응답한 개수 중에서 위치까지 정확하게 맞춘 비율 (n_hits/n) 입니다. 이 결과가 좀 재밌는게, 처음에는 값이 감소하는 듯 하다가 다시 증가하는 추세를 보입니다. 일곱번째 컬럼은 N 개의 소리가 났고, 사용자가 n 개라고 답했을 때 모두 정확히 맞게 응답할 경우의 수입니다. (N C n 이런 방식이 우리한테는 좀 더 편한거 같기도 합니다.) 마지막 열은 피실험자가 응답한 개수에 대해서 모두 위치를 정확히 판별할 확률을 나타낸 것인데, 전체적으로 낮긴 하지만 N이나 n에 따라 최대 30배 넘는 차이를 보입니다. 일반적으로 이런 류의 실험에서는 사용자의 응답이 실제 정확히 인지해서 답을 한 건지, 아니면 추측에 의해서 답을 한 건지를 명쾌하게 풀어내야 하는데, 이런 변동값 때문에 위 표에 제시한 값들 만으로는 이런 부분을 명확히 하기 힘들다고 판단했습니다. 그래서 두번째 실험을 진행하게 되네요.   두번째 실험의 이름은 “Locating An Added Speech Source” 입니다. 이 두번째 실험은 첫번째 실험의 확장판이라고 보시면 되는데, 제목에서도 알 수 있듯이 추가된 음원의 위치를 찾아내는 실험입니다. 확장판이긴 하지만 실험이 조금 변경 되었으니 변경된 실험 세팅을 좀 살펴보고 갑시다.   이 실험에서는 총 연속된 세번의 소리를 듣게 됩니다. 첫번째와 세번째 interval 에서는 여러 개의 스피커에서 소리가 나지만 소리가 나는 위치는 동일합니다. 두번째 interval에서는 이 위치 외에 다른 하나의 스피커에서 추가로 소리가 납니다. 예를 들어 첫번째와 세번째 interval에서 4개의 스피커에(e.g. 1, 4, 8, 12번 스피커)서 소리가 났다면 두번째 interval에서는 그 4개의 스피커외에 추가로 1개의 스피커까지 해서 총 5개의 스피커(e.g. 1, 4, 8, 12번 스피커 + 6번 스피커)에서 소리가 납니다. 이 때 과연 청취자들은 6번 스피커에서 추가된 소리가 있는지를 알아보는 겁니다. 각 interval 사이에는 400ms 의 묵음구간이 있고, 두번째와 세번째 interval 의 음량 차이는 2dB 내외입니다. 두번째 interval에서 어느 스피커가 더해질지는 역시 무작위로 결정됩니다. 이 실험 역시 예비 실험 과정을 거쳐서 피실험자들이 실험 과정과 세팅에 익숙해 질 수 있는 과정을 거쳤습니다.   그럼 과연 결과는 어떨까요?   일단 이 두번째 실험에서는 피실험자들이 두번째 interval에서 추가되는 소리가 있다는 걸 이미 알고 있습니다. 그래서 뭐든 하나는 선택하겠죠. 그럼 이 때 중요한 것은 정확히 그 위치를 인지했는지를 판단하는 것이겠네요. 우선 결과를 정리한 그래프를 한번 보죠.   일단 여기서 RMS 값은 실제 추가된 소리의 위치와 피실험자가 응답한 소리의 위치의 Room-Mean-Square 값입니다. 단 주의할 건, 이 때 에러에 해당하는 값은 각도차이 중 작은 값을 사용하는 거죠. 예를 들어 1번 스피커에 추가된 소리가 재생되었는데, 피실험자가 12번이라고 응답했으면 각도 차이는 330도가 아니라 30도입니다. 그리고 전체 경우에 대한 평균값을 Chance level, 즉 이 값보다 크면 추측해서 응답한 거라고 정의했습니다. 그래프에서 보듯이 첫번째-세번째 interval에서 제시된 소리의 개수가 많을수록 RMS 값도 증가하는 것을 확인할 수 있습니다. 특히 제시된 음원의 개수가 4개보다 클 때부터는 표준편차값도 chance level을 드나들기 시작하고 8개가 동시에 제시된 경우에는 피실험자들의 반응은 명백히 추측에 기반함을 확인할 수 있습니다. 재밌는 것 사실 중에 하나는 응답 중에는 첫번째-세번째 interval에 제시된 스피커의 위치를 가리키는 경우도 가끔 있었다고 하네요.   사실 세번째 실험은 첫번째 실험과 동일합니다. 다만 제시되는 신호가 사람의 음성이 아니라 순음 (pure tone)이라는 차이가 있네요. 제시되는 순음들의 주파수는 모두 서로소인 관계입니다. 즉, 어떠한 소리도 다른 소리의 배음 (harmonics) 이 아닌 신호들입니다. 사용된 신호의 주파수는 313 Hz, 419 Hz, 541 Hz, 733 Hz, 863 Hz, 1019 Hz, 1277 Hz, 1511 Hz, 1993 Hz, 2633 Hz, 3457 Hz, 5051 Hz 입니다. 실험 방법은 실험 1과 같으니 바로 결과를 알아보는 걸로 넘어가죠.   한 눈에 봐도 실험 3의 결과는 실험 1의 결과 유사한 패턴을 갖고있긴 하지만, 응답한 음원의 개수나 hits의 비율은 좀 더 낮은 경향이 있습니다. 다만 편차는 훨씬 균일하고 안정된 패턴이 있습니다. 피실험자가 응답한 개수는 최대 4개이고, 위치의 정확도도 4개 이후로는 큰 변화없이 일정해지는 경향이 있습니다. 다만 하나 주목할 것은 pure tone을 사용한 경우, 제시된 음원의 개수가 1개라고 하더라도 위치를 정확히 맞춘 경우는 평균 70% 정도 밖에 되지 않네요. 실험 1에서 음성 신호로 실험했을 때는 그래도 거의 100%에 가까운 정확도를 가졌었죠. 여기서 의문이 하나 발생합니다. 사람은 두 명이 동일한 위치에 있다고 하더라도 fundamental frequency (F0) 정보를 이용해서 이 두 명의 음성을 분해할 수 있다고 알려져 있습니다. 그런데, 세번째 실험에서 F0가 다른 두개의 신호를 분해하는 성능이 70%까지 떨어졌네요. 그래서 마지막 네번째 실험을 수행합니다. 네번째 실험은 소리를 분해해 내는 사람의 능력의 한계가 어떤 부분이 청각의 인지적 한계 때문인지, 그리고 어떤 부분이 공간 처리 때문인지를 밝혀보고자 하는 의도입니다.   마지막 실험은 실험 1과 실험 3과 유사한 듯 다릅니다. 일단 최대 5개의 스피커만 사용하게 되구요. 조건이 Non-spatial condition과 Spatial condition으로 구분됩니다. Non-spatial condition은 재생되는 소리가 1개이든 5개이든 모두 더해서 1개의 스피커에서 소리가 납니다. Spatial condition에서는 앞 선 실험들과 마찬가지로 각각의 소리가 다른 스피커에서 나게 되는 것이죠. 오해의 여지가 있을 수 있는데, 앞에서 말한 최대 5개의 스피커만 사용한다는 것은 동시에 운용되는 스피커가 5개란 의미입니다. 12개의 스피커 어느 곳에서든 소리는 날 수 있습니다. 피실험자들은 인지할 수 있는 소리가 몇 개인지를 답하면 됩니다. 이게 오묘하게 다른 의미를 가지는데, 몇 개의 음원이 있는지를 답하는 것이 아니라 얼마나 많은 소리를 인지했는지를 답하는 거에요. 재생되는 소리는 실험 1에서 사용된 음성일 수도 있고 실험 3에서 사용된 pure tone 일 수도 있습니다. 물론 음성이 제시될 때는 다른 소리들도 모두 음성, pure tone이 재생될 때는 다른 소리들도 모두 pure tone입니다.   마지막 실험에 참여한 피실험자는 총 6명 (여성 4명, 남성 2명)이고, 정상 청력입니다. 이전 실험 1,2,3에는 참여한 적 없고, 이 실험에만 참여한 완전히 새로운 피실험자들입니다.   그럼 결과를 한번 보죠.   일단 그림의 왼쪽 그래프는 음성 신호를 대상으로 한 결과입니다. 점선은 이상적으로 답했을 때 (3개 음원이 제시되었을 때 3개가 들렸다라고 응답한 경우)이고, 실선+solid circle은 spatial condition, 점선+solid trinagle은 non-spatial condition 의 결과를 나타내고 있습니다. 두 경우 모두 제시된 음원의 개수가 많아질 수록 검출한 소리의 개수는 줄어드는 패턴을 보이지만, spatial condition의 경우 분해를 좀 더 잘 하고 있는 양상을 보입니다. non-spatial condition의 경우 5개의 음원을 재생했다고 해도 3개 정도밖에 들리지 않았다고 응답을 했네요. 이 결과로부터 음원의 공간적 분포 (spatial distribution) 이 소리를 분해해서 개별 음원으로 인지하는데 도움을 준다는 사실을 알 수 있습니다.   그림의 오른쪽 그래프는 pure tone을 사용한 실험의 결과인데, 음성보다 분해 성능의 한계가 훨씬 명확해 보입니다. spatial condition의 경우에도 아주 살짝 좋은 분해 성능을 보여주긴 하지만 표준편차가 겹치면서 의미있는 차이라고 보기 힘든 결과가 나왔구요. 동시에 5개의 음원을 재생했을 때도 2개 남짓한 소리만 들렸다고 응답했습니다.   위 결과로 보면 음원의 공간적 배치는 음원의 개수를 인지하는데 도움을 준다는 사실을 확인할 수 있습니다. 또한 동일한 위치에서 복수개의 소리가 나는 경우에 사람들은 한개보다 많은 개수의 소리를 인지한다는 사실을 확인할 수 있습니다. 다만 공간 처리 능력외에 다른 요소들이 이 인지 과정에 관여하는 것도 사실이겠네요. 이러한 요소들에는 피치 (pitch), 음색 (timbre), 음성 특징 (e.g. temporal modulation) 등이 관여할 것입니다.   Discussion   결과 나왔으면 됐지, 뭔 discussion 이냐? 라고 생각하실 수도 있겠습니다만, 사실 논문의 핵심은 이 discussion에 있습니다. 결과를 바탕으로 결과를 해석할 수 있는 논거들을 생각해 보는 과정이거든요. (물론 제 discussion은 아니고 저자의 discussion 입니다.)   A. Perceptual limits of auditory scene analysis   앞의 실험 결과들을 봤을 때 음원들이 각각 다른 위치를 가지고 있다면 4개정도의 음성, 또는 3개 정도의 tonal 신호는 구분해 낼 수 있다는 걸 확인을 했습니다.   음성 신호의 경우 1-3개의 음원에 대해서는 피실험자들은 전체 개수를 비교적 정확히 찾아냈습니다. 그보다 많아지는 경우 (4개 이상인 경우), 찾아낸 음원의 개수는 4개 정도에서 멈춰 더 이상 늘어나질 않았네요.   실험 2의 경우도 일치하는 결과를 보였는데, 음원의 개수가 많아질수록 추가된 음원의 위치에 대한 에러는 증가했고, 이 경우에 rms값은chance level 수준이거나 그 이상이었다는 것도 확인할 수 있었습니다. 실험 2에서 눈여겨볼만한 것은 4개 이상의 음원이 존재할 때 음원의 처리과정은 거의 변하지 않는다는 것입니다. 이런 결과는 결국 한 group의 음원 중에서 개별 음원에 대한 localization error를 반영한다고 볼 수 있겠죠. 이와 관련된 연구들이 몇 가지 더 있었습니다만, 여기서는 사실만 확인하고 넘어가죠.   실험 3은 tonal 신호에 대한 결과였는데, 결과의 패턴은 유사하나 음성 신호와 비교했을 때 분해 능력이 안 좋게 나왔습니다. 이런 결과로 봤을 때 넓은 대역폭을 갖는 신호에 대한 인지 능력이 더 좋다고 볼 수도 있겠습니다. 마지막 실험에서는 음원의 공간적 배치가 음원의 인지/분해에 영향을 준다는 사실을 확인할 수 있었네요.   유사한 연구들의 결과들과 종합해 봤을 때 정확히 확인할 수 있는 음원의 개수는 3~4개 정도인 것으로 결론이 납니다. 이보다 더 많아지면 인지할 수 있는 음원의 개수도 늘어나지 않을 뿐더러 localization error도 커지죠. 이런 결과는 여러 형태의 실험에서 동일하게 나타납니다. 음원의 특성에 따라 다소 차이는 보일지라도 결과의 전체적인 경향은 변함이 없습니다. 소소한 결론을 내려보자면 정확히 분해해서 정위시킬 수 있는 음원의 개수는 3-4개 정도에 한정이 된다는 것이고, 이러한 한계는 auditory scene이나 cocktail party 맥락에서 음원의 분해를 연구하는데 중요한 결과라고 볼 수 있겠습니다.   B. Implications for 3D audio rendering techniques   다소 부수적인 논의이긴 합니다만 실험에서 검증된 결과들은 3D Audio rendering 등에 사용될 수 있을 겁니다. 여러 개의 오브젝트를 렌더링하는 시스템에서는 인지 가능한 정도의 중요 오브젝트를 주로 렌더링 하거나 하는 전략을 잡을 수도 있을 겁니다. 또한 Audio compression에도 적용될 수 있겠네요. (다만 Audio compression에 적용할 때는 redundancy를 확보하는게 관건이 될 수는 있을 것 같다는 개인적인 생각이 있습니다.) 그 외에 machine perception algorithm 등에도 활용될 수 있겠네요.   개인적으로 이 논문이 잘 세운 실험들로 밝히고자 하는 문제들을 간결하지만 정확하게 해석하고 풀어낸 논문이 아닐까 싶습니다. 소소하게 넘어갈 수 있는 문제를 잘 정의하고 그에 대한 해결책을 찾는 방법들은 논문의 내용 외에 또 하나의 배울점이 아닐까 싶습니다.   Gaudio Lab 은… 가우디오랩(주)은 VR/AR, 스트리밍 미디어, 모바일, 홈 등 소리가 있는 어디에서나 사람들에게 훌륭한 소리 경험을 제공하는 일을 합니다. 가상세계를  더욱 현실처럼 만드는 소리, 현실을 넘어 초현실적인 소리를 만드는 혁신적인 기술들로 전세계를 누비며 활약하는 국가대표 오디오 공학집단입니다. “올해의 최고 VR 혁신 기업상 수상(VR Awards, 런던, 2017)“, “ISO/IEC MPEG-H 3D Audio 국제표준 채택 (2013,2018)“으로 혁신성을 인정받은 6인의 음향공학박사와 오디오 Geek들은 실리콘밸리와 서울에 있습니다. The Science of Sound.

2019.07.09