건축학 박사가 바라본 공간 정보 시각화, VWL 김승범 소장님을 만나다 2탄

도시 데이터를 분석하고 시각화합니다. by.김승범

대용량 공간 데이터 시각화 고수, VWL 대표 김승범 소장님을 만나다. 2탄 | 기술 노하우 Q&A

 

SPH의 Biviz팀은 비즈니스 현장에 의사결정을 돕는 대시보드 개발을 하고 있습니다. 이번 VWL 김승범 소장님과의 만남에서 데이터 분석과 시각화에 대한 질의응답 시간을 가졌습니다. 데이터 분석, 시각화 영역 후배인 Biviz팀을 위해 노하우 전수를 해주셨습니다. 소장님과 나눈 많은 이야기, 저희 Biviz팀에겐 정말 소중한 시간이었습니다. 여러분도 이번 포스팅을 읽으시면 김승범 소장님의 가치관과 신념을 알게 되실 것입니다. 대용량 공간 데이터 시각화 고수, 김승범 소장님과의 만남 그 2탄, 지금 시작합니다! 

 

 

시각화 분석 작업을 할 때, low level부터 직접 코딩하여 모델링 하시는데, 쉽지 않으실 거라는 생각이 드는데, 그럼에도 불구하고 고집하시는 이유가 있으신가요?

‘Don’t reinvent the wheel’라는 말을 아시나요? 직역하면 바퀴를 다시 만들지 말라는 뜻인데, 속뜻은 이미 존재하는 것을 만들기 위해 쓸데없이 시간을 낭비한다는 말입니다. 어떻게 보면 low level부터 직접 코딩하는 행위를 쓸데없는 시간을 낭비하는 행위라고 보실 수도 있어요. 네트워크 길 찾기나 물체 교차 검증 등 기본적인 수학에 관련된 내용이 많습니다. 이미 누군가 아주 빠르게 실행되는 코드를 짜 놓은 경우가 많고, 범용적이고 오류가 검증된 라이브러리로 되어 있을 가능성이 높습니다. 대부분 이런 라이브러리를 사용해서 자신의 코드를 완성합니다.

그런데 시각화 작업을 하다 보면 종종 기존 라이브러리를 이용해서 그리기 어렵거나, 기존 라이브러리와 맞추기 위해 코드를 많이 수정해야 할 경우도 발생합니다. 꼭 필요한 작업이고 그리 복잡하지는 않은데, 마침 나와 있는 딱 맞는 기성품이 없어서 작업에 어려움을 겪는 경우입니다.  

이런 경우, low level부터 직접 코딩하는 습관을 두면, 라이브러리를 익히거나, 데이터를 가공하는 시간을 없애고 즉각적으로 다양하게 만들어서 변형할 수 있다는 장점이 있습니다. 물론 명백한 단점은 그럼에도 불구하고 사실 시간이 더 많이 들어간다는 점입니다.

이전 포스팅에서도 말씀드렸지만, 저는 Computational Geometry라 부르는 기본적인 공간 연산에 관심이 많아요. 이런 기본기를 C언어로 구현하면서 직접 만들다 보면 어떤 함수가 빠른 건지, 느린 건지 판단이 되기도 합니다. C언어로 해보니까 빠른데 파이썬은 왜 이렇게 느릴까? 아.. 루프 자체가 많이 느린 거구나, 혹은 다양한 입력에 대응하도록 검증하는 절차가 많아서 느린 거구나, 이런 걸 깨닫게 되는 거죠. openGL은 low level API이기 때문에 거의 모든 걸 직접 작업해서 갖춰야 해요. 작업은 매우 오래 걸리지만 이렇게 기본기부터 익혀 나가면서 여러 가지 함수를 직접 구현하는 방식으로 작업해 보면 확실한 장점이 있기는 합니다. 논리적으로 설명할 수 있는 것이면 시간이 좀 걸리더라도 코드로 구현해 낼 수 있다는 점이죠. 설명이 좀 길긴 했는데 결국 모두 ‘기본기’에 대한 이야기입니다. 

 

 

지금까지 하셨던 작업 중 가장 기억에 남는 작업은? 

가장 손이 많이 갔던 NVIDIA의 Mesh Shaders라는 복잡한 오브젝트를 빠르게 디스플레이 할 수 있는 기술을 사용했던 작업이 기억나네요. 

<이미지를 클릭하시면 유튜브로 이동합니다.>

 시각화에 사용할 배경이었던 서울시 건물들을 높이를 표현하여 단순한 형태로 화면 안에 옮겨 그리는 작업을 하다가 ‘전국의 모든 건물을 올릴 수 있을까?’라는 호기심이 생겼습니다. 우리나라 모든 건물을 3차원으로 그려보니 3fps가 나오더라고요. fps는 초당 프레임으로, 높은 숫자일수록 자연스러워져, 3fps면 zoom, pan을 할 때 답답할 정도로 느린 수준입니다.

<이미지를 클릭하시면 유튜브로 이동합니다.>

 복잡하거나 많은 데이터를 빠르게 그릴 수 있는 Mesh Shaders를 알게 되고 일단 시도해 봤습니다. Mesh Shader는 라이브러리라기보다는 어떤 작업을 할 수 있는 일종의 절차에 대한 표준입니다. 그 표준에 대한 해석을 드라이버 수준에서 컴파일 할 수 있도록 지원해 주는 것이라 할 수 있습니다.   즉, Nvidia에서는 이러한 틀만 제공하고, 최적화에 대한 나머지 세세한 부분은 언제나 그렇듯 모두 직접 구현해야 되는 거죠.. 작업 기간도 2~3달이나 소요됐어요. 꽤 긴 시간이었지만,  결과적으로 30~60fps으로 그릴 수 있었어요. 작업이 까다로웠던 만큼 장점이 분명히 있습니다. 실시간으로 답답하지 않게 볼 수 있고, 전국의 산, 강, 건물 그리고 도로까지 빠른 속도로 훑어볼 수 있게 됐어요. 영상의 1분 32초부터 건물이 들어서는 장면을 볼 수 있는데 눈여겨보면 신도시가 생겨나는 장면을 볼 수 있습니다. (자세한 내용이 궁금하신 분들은 <여기>를 클릭하세요!)

 

 

<이미지를 클릭하시면 김승범 소장님 Github로 이동합니다.>

Github에 행정동 경계, 따릉이 대여소 위치, 선거 결과, 인구 분포, 부동산 실거래가 등 데이터를 가공하여 업로드하시는 이유는 무엇인가요?

공간 정보 시각화를 하다 보니, ‘행정동’을 기준으로 많은 데이터가 제공되더라고요. 선거 지도 시각화를 하려고 보니 선거 전, 최신 업데이트된 행정동 경계 폴리곤이 필요했는데, 이때 두 가지 문제가 있었어요. 행정 구역이 1년 내내 계속 변하는 것과 이 폴리곤을 단순화 시키는 건데요. 나라에서 1년에 한두 번 공개하는 데이터는 변화를 따라가기가 어렵고, 소위 ‘토폴로지’라고 하는 폴리곤의 경계선도 겹치는 것들이 많습니다.

먼저 행정구역 변동 정보는 별도로 기록해 계속 수정하고 있어요. 그리고, 행정동 경계 폴리곤은 인접한 폴리곤끼리 겹치지 않고 잘 맞닿아져 있어야 하는데, 이 작업은 제가 데이터 정제를 해서 업로드하고 있습니다.‘남들도 똑같이 작업할 텐데 내가 고생해서 다른 사람들이 덜 고생하면 됐지’ 생각하여 업로드하였습니다. 또, 누가 틀린 부분을 지적해 주면 저도 고칠 수 있잖아요! 

 Github는 저에게 있어 작업을 남들과 공유할 수 있는 최소한의 공간인 것 같아요. 그래서 애정을 갖고 홈페이지를 계속 관리하고 있습니다. (>김승범 소장님 Github로 이동)

 

 

시각화 분석 과정에서 더 많은 상호작용이 이루어지는 대시보드에 대한 개발 계획이 있으신가요? 그리고 대시보드는 앞으로 어떤 방향으로 발전하게 될까요?

저도 대시보드를 하고 싶지만, 대시보드는 더 잘하는 다른 분들에게 맡기고 현재 하고 있는 작업에 집중하고 싶습니다. 2년 전에 ‘데이터 시각화의 새로운 방향 10가지’라는 글을 읽었는데 대시보드의 종말이라고 써놓은 것을 보았어요. 

사람들이 빅데이터에 열광하며 데이터를 모두 보여달라고 요구하면서 대시보드의 인기가 생긴 것 같은데요. 그렇게 매년 동일하게 반복되다 보니 종말이라는 이야기가 나온 거 같아요. 물론 대시보드가 쓸데없다는 건 아닐 겁니다. 그래서 데이터를 차트로 그저 늘어놓는 작업을 넘어서, 기회를 찾는 사람들은 있어요. 데이터 인사이트가 필요한 기업에게 보고 싶어 하는 지표나 인사이트들을 가공해서 보여주는 니즈는 꾸준히 있고요. 1차 정보보다는, 메타 정보가 가미된 2차 정보 더 나아가 통계분석, AI 머신러닝이 결합된 정보로 발전하고 있는 거 같아요.

 

 

현재 어떤 기술을 관심 있게 보시나요?

실시간 시각화를 지향하기 때문에 게임엔진을 활용하는 시각화 기술들과 이동 궤적의 Map Matching(파편화된 궤적들을 기존 네트워크에 매칭)에 관심이 있습니다. 개발 툴로는 WebGPU를 모니터링 중이고, 희망 사항은 차세대 OpenGL격인 Vulkan으로 넘어가야 한다는 생각을 하고 있습니다. 개인적으로 제가 한 작업들 간에 서로 소통하지 못한다는 아쉬움이 있어 고민하고 있습니다. WebGL은 웹 그래픽 API인데 낮은 버전의 OpenGL을 지원해 기능이 제한적입니다. WebGL을 대체하는 차세대 API인 WebGPU를 모니터링하고 있는데 아직 표준이 꾸준히 개발 중인 것 같고, 일반적인 크롬에서도 돌아가지 않습니다. 더 많은 브라우저에서 지원이 될 때쯤이면 시도해 볼 것 같아요. 물론 웹에서 작업을 하려면, 대량의 데이터를 실시간으로 스트리밍 하는 기술도 엮여 있다는 생각이 듭니다.

 

 

미래에 기술적 제약사항이 없다면 시각화는 어떤 방향으로 나아갈까요? 시각화 분야의 미래는 어떻게 생각하시는지 궁금합니다.

제가 느끼는 것만 소박하게 말씀드리면 10~15년 전만 해도 사람들이 무거운 DSLR 카메라를 들고 다녔잖아요. 그러다 휴대폰 카메라 기술이 성숙되면서 DSLR 카메라 사용이 많이 줄어들었죠. 그런 것처럼 지금은 모든 사람들이 파이썬 언어를 배워야 될 것처럼 말을 하는데, 휴대폰 카메라가 보편화되는 것처럼 그런 시점이 올 것 같아요. 간단한 시각화의 경우,  지금은 한 땀 한 땀 그려야 하지만,  근미래에는 직접 코딩하지 않더라도 누군가 만든 편리한 범용적 라이브러리를 이용하거나, AI의 도움으로 간편하게 하게 될 수 있을 것 같습니다. 

 기술적 제약이 아무리 적어지더라도 한 사람이 배우고 해낼 수 있는 범위는 있는 것 같아요. 그런 것 때문에 누군가는 본인이 겪은 시행착오를 책으로 만들어내죠. 다음에 배우는 사람들은 짧은 시간 안에 습득해 내고… 그게 기술의 발전, 나아가 인류의 발전이라고 생각합니다. 시각화가 ‘어떤 방향’으로 나아갈까 보다 우리가 ‘어떤 일’을 해야 될지가 중요한 거 같아요. 

 

 


 

 

김승범 소장님과 같이 주인의식을 갖고 콘텐츠를 생산하시는 분들 덕분에 인터넷이 정보의 바다가 되어간다는 생각이 들었습니다. 저희 Biviz팀도 프로젝트를 하며 알게 되는 많은 정보를 SPH 홈페이지 블로그를 통해 전달 드릴 예정이오니 항상 애정 어린 시선으로 구독해 주시면 감사드리겠습니다. 3시간가량 진행되었지만 아직도 못다 한 얘기가 많아 아쉬움이 많았던 미팅이었습니다. 다시 한번 귀한 시간 내주신 VWL 김승범 소장님께 감사드립니다. 대용량 데이터 시각화에 대해 궁금하신 분이라면 <여기>를 클릭하세요! 김승범 소장님의 깊은 노하우를 볼 수 있습니다.

 

감사합니다.

 

인터뷰 정리 : Biviz팀 이건우 전임 연구원

 

 

SPH는 Google Maps, SuperMap, Maxar Technologies 등 다양한 케이스에 존재하는 다양한 제품군을 보유하고 있는 고객의 사례에 꼭 맞는  무료 세미나 및 인적 컨설팅을 제공하고 있습니다. 각 케이스에 더욱 자세한 이야기를 나누고 싶으시다면, 여기에서 문의 주시길 바라며,  SPH에서 발행하는 GIS / 로케이션인텔리전스 관련 최신 소식을 받아보고 싶으신 분들은 페이스북 페이지 또는 뉴스레터를 구독해주시길 바랍니다. 감사합니다.