Janghoo Lee
resume 참고
zetteljang@gmail.com
RESUME
특히 기억에 남는 일
네이버
연구개발인턴 / 네이버 클라우드
23.01~22.06
작성중
자율주행 공유킥보드 만들기
로보틱스 엔지니어
100만 회원 공유킥보드서비스 스타트업 ‘디어코퍼레이션’
20.07~22.04
요약:
공유형 전동킥보드를 위한 자율주행기술을 개발했습니다.
문제:
공유킥보드는 사회적으로 부정적인 영향을 많이 미쳤습니다. 디어팀은 불법주차 문제, 수요공급 불균형 문제 등의 문제를 가장 똑똑하게 해결하는 방법은 자율주행이라고 생각했습니다. 더 궁금하면 글 “공유 킥보드 회사에서 자율주행을 개발하고 자빠진 이유” 을 살펴보세요.
성과:
사람 도움 없이 약 1km 를 주행할 수 있도록 만들었습니다. Jetson Xaiver AGX이라는 컴퓨터에 ROS를 올리고, 저는 Perception 시스템을 맡아 구성했습니다. 기술적으로는 정밀지도 기반의 주행이 아니라 실시간 영상처리 기반의 주행으로 방향성을 잡았는데, 자율주행차와 달리 플릿의 수가 적고, 성수동 골목같은 라스트 마일 특성상 가림(occlusion)이 많고 공사현장 등 지도변화가 빈번하기 때문입니다.
프로젝트 중, 단순히 자율주행을 만들어 문제를 해결하고자 하는 팀 문제정의와 방향성의 한계를 지적했습니다.
잘 생각해 보면, 꼭 앞서 언급한 공유킥보드 시장의 문제들을 자율주행 기술로 풀어야 할 필요가 없습니다. 원격제어 기술만으로도 충분히 해결할 수 있습니다. 하지만 원격제어 기술을 성공적으로 개발하더라도 이미 배치된 킥보드에는 기술을 적용하기 어렵기 때문에, 비즈니스 가치가 만들어지는 순간은 원격제어 기능이 탑재된 새로운 킥보드들이 배치되고서부터입니다.
이들이 만드는 가치가 얼마나 큰지 정량적으로 가늠할 수 있는 모델을 제안하고, 우리가 직접 기술을 개발하여 잠재적으로 만들 수 있는 가치가 초기 손실을 회복하는 데 얼마의 시간이 걸릴지 가늠할 수 있는 추상적인 틀을 제공했습니다. 만약 개발을 할 것이라면, 원격제어 기술을 탑재한 킥보드가 도시를 배회하며 수집하는 데이터로 무엇을 해야 하는지 제시했습니다.
배움:
기술적으로는 TensorFlow 모델의 TPU 훈련, MLOps 의 필요성, Autonomy 2.0 에 대해 생각해볼 수 있는 기회였습니다. 2D비전과 머신러닝 운영의 한계를 경험, 시간축을 결합하거나 공간을 생성하는 일, MLOps에 대해 관심갖는 계기가 되었습니다.
기술을 이용한 문제해결 역량뿐 아니라, 올바르게 문제를 정의하고 타당성을 따져 보는 작업의 중요성에 대해서 뼈에 새길 수 있는 시간이었습니다.
칵테일로 소주를 이기려다 배운 지혜
Co-Founder, PO
스타트업 ‘헬로콕’
20.05~21.11
헬로콕이란:
헬로콕은 소주 대신 맛있는 술(예를 들어 칵테일)을 먹는 문화를 전파하는 것을 비전으로 한 스타트업입니다. 어디서든 칵테일을 말아먹을 수 있는 키트를 판매했습니다.
요약:
팀의 문화를 만들고, 아이템을 기획하고, 돈을 받고 파는 제품이 만들어져 실제로 판매되기까지 전 과정을 실습할 수 있었습니다.
문제:
우리는 모두 ‘일을 한다' 는 것이 무엇인지 몰랐습니다. 우리가 일한다고 생각하는 시간의 대부분은 아무것도 하지 않는 시간이었습니다. 그리고 무지의 문제가 있었습니다. 칵테일은 물론 영업, 판매, F&B 법과 분위기까지 아무것도 몰랐기 때문입니다.
위 두 문제가 결합되어 ‘무언가를 열심히 하긴 하지만 칵테일 키트가 팔리지 않는 현상’으로 나타났습니다. 하지만 우리는 꽤 오랫동안 그 문제의 원인을 통쾌히 진단하지 못했습니다.
성과:
100만원의 시드로 3개월간 50만의 홍보컨텐츠 노출, 400개의 칵테일 키트판매를 이끌어냈습니다. 형편없던 전환율이 조금씩 높아질 때, 수십개의 키트를 벌크로 주문하며 익일 도착을 부탁했던 고객을 위해 쏘카에 키트를 가득 싣고 인천에 새벽배송을 떠날 때의 설렘이 아직 생생합니다.
팀은 창고로 사용하던 공간을 오프라인 칵테일키트 체험 장소로 만들었습니다. 데이트 코스앱 1위 데이트팝에서 조회수 대비 찜하기비율로 전국 수천개 매장 중 다섯 손가락 안에 들었다는 점, 그리고 오프라인 칵테일바 예약요청 90건을 받아 보았다는 점들은 덤으로 자랑하고 싶습니다.
예비창업패키지(6천만원 지원), 실전창업교육(500만원 지원), 캠퍼스타운 창업지원프로그램(600만원 지원) 등을 수료했습니다.
번외로, 칵테일을 다루는데 조주기능 자격도 없는건 팀 정체성상 허락을 못 하지 않겠습니까. 컴퓨터공학과와 산업공학과로 이루어진 팀원들이 열심히 공부해서 1차 필기시험에도 합격했습니다. 2차 실기 시험도 보러 가야 하는데, 모두가 미루다가 1차 합격이 전부 말소된 것은 안비밀입니다.
배움:
첫번째와 두번째 문제가 한번에 해결되는 순간이 있었습니다. 프로젝트에 진전이 없는 이유가 잘못 정의된 문제를 방치했기 때문이었다는 점을 깨달았을 때였습니다. 우리는 ‘잠재고객들이 우리 제품을 구매하지 않는다’ 를 불평하듯 하고 있었습니다. 하지만 이것은 잘못된 문제정의문이었습니다.
우리는 평소 문제해결을 잘 해야 한다고만 교육받습니다. 하지만 문제를 잘못 정의하고 문제를 풀면, 풀어도 전혀 쓸모없는 문제가 풀려 버립니다. 판매부진을 극복하는 가장 큰 매출 변화를 가져왔던 순간은 ‘충분히 많은 잠재고객들에게 우리 제품을 보여주지 못했다’ 로 문제를 다시 정의하는 순간이었습니다. 마케팅에서 너무나도 기본적인 ‘노출’ 에 문제가 있었던 것입니다. 매출이 상승한 것은 상품 노출 문제를 잘 풀었기 때문이기도 하지만, 이 단계에 문제가 있다고 올바르게 정의한 것이 더 크게 기여하지 않았을까 생각합니다.
문제를 어떻게 풀지 고민하는 단계 이전에, 문제를 올바르게 정의해야만 하는 압박감 속에서야 비로소 진짜 공부가 이루어진다는 것을 느꼈습니다. 올바르게 문제를 정의해보려는 과정에서 사람은 미친듯이 배우려고 하는 것 같습니다.
우리 팀에는 ‘팀원 간 소통’이라는 모호한 문제가 있었습니다. 왜 이런 문제가 발생할까, 정확히 정의하려고 할 때 《규칙 없음》이나 《OKR》같은 경영서로부터 많은 것을 얻을 수 있었습니다.
마찬가지로 우리 팀에 실재했던 ‘충분히 많은 고객에게 제품을 효과적으로 보여주지 못했다’는 모호한 문제를 조금 더 구체적으로 정의하려고 할 때 세일즈 퍼널이라는 개념을 주의깊게 들여다보고 배울 수 있었습니다.
감사:
헬로콕의 제품
매장 겸 창고 앞에서 고객에게 발송되기 위해 쌓인 칵테일 키트
단체
이렇게 누추한 곳에 세운 인공지능 동아리
동아리 창립
19.01~
요약:
세종대학교 중앙인공지능 학술동아리 ‘Sejong AI’를 설립하고 교내에서 가장 큰 규모의 학술동아리로 성장시켰습니다.
문제:
2018년 당시 세종대학교는 학생이 AI를 배우기 척박한 환경이었습니다. 4학년 선배에게 “형 저 AI를 배우고 싶어요” 라고 털어놀았을 때, “그런 건 SKY애들이 하게 둬. 우리는 우리가 더 잘할 수 있는 일을 해야 해. 우리는 거기서 경쟁해서 이길 수 없을 가능성이 높아.”라는 이야기를 듣곤 했습니다.
반골 기질이 가득했던 저는 사람 가득한 지하철에서 ‘모두의 딥러닝' 을 보며 혼자서 공부를 시작했습니다. 이런 시간을 후배에게 물려주고 싶지 않았고 용기를 주고 싶었습니다.
책《탤런트 코드》에는 박세리 선수 우승 이후 세계 골프대회 결승에 한국인 선수가 쏟아지는 현상을 일컬어 ‘점화’라고 이름붙였습니다. 모든 분들께 이 동아리가 좋은 점화의 계기로 작용하기를 바랍니다.
성과:
2025년 1월 기준, 졸업자 포함 300명의 사람들이 자유롭게 대화할 수 있는 대화방이 있으며, 30명 이상이 활발히 활동하고 있습니다.
배움:
학부생 2학년이 뭘 안다고 AI 동아리를 만들까요. 지금 생각해보면 아무것도 모른 채 동아리를 만들겠다고 까불었던 제 자신이 부끄럽곤 합니다. 동아리를 만들고 사람들을 모아두는 것은 생각보다 리소스가 많이 드는 일이란 것을 뒤늦게 깨닫고 다 내려놓고 던져 버리고 싶었던 순간도 많았습니다.
하지만 내가 부족하다는 이유로 문제를 개선하려고 하지 않았다면 아무것도 달라지지 않았을 뿐 아니라 리더, 단체, 존속하는 시스템의 역할에 대해서 고민해볼 기회도 없지 않았을까 싶어 ‘그래도 잘 했다’하는 생각이 듭니다. 자리가 사람을 만든다고, 사람들 앞에서 떳떳하고 싶어서 열심히 공부를 하게 된다는 부수효과도 누렸습니다.
이 글을 혹시나 읽고 계실 우리 동아리 후배님들 모두 반갑습니다. 운영진들께는 언제나 감사드립니다.
개발행사를 1학년 턱밑에 들이미는 커뮤니티
커뮤니티 창립
19.03~Now
요약:
세종대학교에서 SW 관련 정보가 가장 잘 흐르는 커뮤니티를 만들었습니다.
문제:
저는 우물 안 개구리가 되는 것에 대한 막연한 불안이 있었습니다. 요즘은 FOMO 증후군이라고 많이 부르는 듯 합니다. 이 강박에서 벗어나는 데 다양한 개발자 컨퍼런스, 전시회, 강연 등 행사들이 많은 도움이 되었습니다.
하지만 이들 정보들은 저학년 학부생 입장에서 너무 멀리 존재하는 것처럼 느껴졌습니다. 고등학교 공부만 하다가 대학교에 들어왔고, 뭔가 배우고는 싶은데 이런 정보는 어디에서 얻어야 하나요? 나뿐아니라 학교의 다른 친구들도 많은 기회를 놓치고 있을 것이라는 생각을 하게 되었습니다.
해결과 성과:
이런 문제를 해결하고자 하는 시도는 많았습니다. ‘공모전 모아두는 홈페이지’는 툭하면 나오는 해커톤 주제였습니다.
하지만 아무리 양질의 정보가 어디엔가 잘 정리되어 쌓여 있어도 정보가 내 근처에 주기적으로 도착하지 못하면, 내가 실제로 갈 수 있는 행사라는 생각이 들지 않으면 잘 정리된 정보라는 것은 의미가 없다고 생각했습니다.
대학생이 스마트폰으로 가장 많이 이용하는 플랫폼은 카카오톡입니다. 오픈 채팅을 만들고 신입생이 들어오는 시기 매년 교내 커뮤니티에 홍보하니 금방 사람들이 모이기 시작했습니다. 몇몇 선배들도 기꺼이 공유에 발벗고 나섰고, 저학년에 들어온 사람들이 다시 고학년이 되어 후배들을 돕는 구조가 만들어졌습니다.
초기 사람들을 묶어두기 위해서는 제가 행사들을 더 많이 찾아다녀야 했습니다. 그렇게 내가 먼저 애써 정보를 공유하니, 큰 홍보를 하지 않았음에도 사람들이 조금씩 몰렸습니다. 22년 3월 기준 500명 가량의 사람들이 이제 서로 먼저 정보를 공유하여 세종대학교 학생 전체가 우물 안 개구리에서 한발 벗어나게 되었습니다.
배움:
커뮤니티 성공의 기저에는 문제정의가 있었습니다. ‘정보가 없다' 가 아니라, ‘정보가 나를 깨우지 않는다' 로 문제를 정의한 덕분입니다.
문제를 정면으로 해결하는 솔루션 중, 나 자신이 타인의 문제해결을 돕는 제품이 직접 되어보는 일인 ’컨시어지 MVP’는 꽤나 강력하다는 것을 느꼈습니다.
한편, 카카오톡 지식관리체계에는 분명 한계가 존재합니다. 카카오톡을 통해 버려지는 지식들을 어떻게 잘 저장할 수 있을까에 대한 고민을 하게 되는 계기가 되었습니다.
출판
나름 전문서 『MLOps 실전 가이드』 번역
요약:
오라일리 IT 전문서 『MLOps 실전 가이드』(원제: Practical MLOps)를 번역했습니다.
문제:
난이도가 참 모호한 책이었습니다. 초급자들에게는 불친절하고 중상급자들에게는 너무 깊이가 얕게 느껴질 수 있는 책이었습니다. 원문의 응집성이 많이 떨어지는 것을 느낄 수 있었습니다. 아마존의 책 리뷰에는 해당 내용이 여실히 나타나 있습니다.
해결:
응집성이 부족하거나 설명이 부족해 기술의 효용을 잘 설명하지 못하는 글을 한국 독자를 위해 크게 수정하고 역자 노트를 추가했습니다. 자칫 번역자의 DRI를 초과하는 행위로 여겨질 수 있음에도 편집자님과 공동역자님들께서 “결국 번역서는 한국 독자들이 읽는 것”이라며 이러한 생각을 지지해 주셨습니다.
저자의 글을 번역한다는 마음가짐이 아니라, 한국 독자가 이해하지 못하면 온전히 내 책임이라는 모토 하에 모르는 부분은 빠르게 습득하여 채워넣고, 책임감 있는 글을 쓰기 위해 노력했습니다.
주석
역자노트
성과:
한 리뷰어분께서 ‘번역을 예술 작업하듯 해 주셨다’라는 후기를 남겨 주기도 하셨습니다. 그렇게 느껴주는 분이 계신다니 보람차고 뿌듯합니다. 책은 yes24/교보/네이버 주간베스트셀러, 일부 서점에서 IT섹션 TOP100에 선정되었습니다.
배움:
책 출판이라는 프로세스를 경험한 것 자체가 큰 배움이었습니다. 어떻게 돌아가는지를 알 수 있는 계기가 되었습니다.
하지만 책 출판에 대한 이해도가 높지 않은 채로 높은 수준을 추구하다 보니 시간이 많이 지연되었던 것은 분명 큰 패착입니다. 다음 참여 시에는 충분히 높은 품질을 유지하면서도 기한 내에 완료하는 책을 만들 수 있을 것이라고 생각합니다.
참고: 소스코드 저장소
프로젝트
설거지 돕고 물절약 돕는 MLOps 싱크대
2023.08~2024.07
작성중
엎드려뻗친 친구 피규어로 만들어버리기
요약:
NeRF 기술을 이용해 정적 피사체를 촬영한 RGB 이미지가 3D 프린팅 결과물로 만들어지도록 팀을 이끌었습니다.
배경:
자율주행 문제를 풀 때, 3D 공간에서 RGB 카메라로부터 취득된 데이터를 레이블링하면 효율적일 수 있겠다고 생각했습니다.
문제:
NeRF 의 I/O 가 무엇이고, NeRF 결과물과 3D 프린트 혹은 3D 오브젝트 사이의 관계, NeRF 에 얼마나 많은 데이터가 요구되는지 등을 모르는 상황이었습니다.
해결:
우리가 모르는 것이 무엇인지 정확히 문제를 정의했습니다. 문제를 데이터 측면, 모델 측면, 파이프라인 측면으로 나누어 보았습니다. 작업을 칸반으로 나누어 효과적으로 협업할 수 있도록 팀을 주도했습니다. 실험 관리 도구의 필요성을 제시하고, wandb 를 통해 300개가 넘는 실험을 모두 모아 관리했습니다.
배움:
피사체를 직접적으로 가리지 않더라도 일부 프레임에 팔이 딸려 나오는 등, 작은 노이즈도 NeRF 결과물에 중대한 영향을 미칠만큼, 데이터가 중요하다는 점을 알게 되었습니다. 각각의 파라미터가 하는 역할을 알기 위해 소스코드를 많이 들여다보았는데, Ray와 같은 개념이 TensorFlow에서 어떻게 표현될 수 있는지를 알 수 있었습니다.
성과:
RGB 카메라 이미지 세트만을 이용해 3D 프린트 출력물을 얻어내는 데 성공했습니다. 이 결과물을 ‘데이터야놀자 2022’ 행사에서 발표했습니다. 책임감 있게 문서를 만들어 사람들이 따라해볼 수 있도록 만들자고 주도했고, 최근까지도 메일로 지원문의가 들어오는 등 저희가 만든 튜토리얼을 따라해 보는 사람들이 있습니다. 과거에 작성해 두었던 문서를 따라가며 문의에 대응하고 있습니다. 대중에게 공개될 문서를 잘 작성하지 않거나 소스코드를 책임감 있게 작성하지 않으면 이후에 지원이 어렵겠다고 느꼈습니다.
OCR 오픈소스에 좋은 기능 추가
2022.11
요약:
문제:
mmocr은 객체 탐지 라이브러리 mmdetection을 유지관리하는 것으로 유명한 open-mmlab의 딥러닝 기반 OCR 라이브러리입니다. 한글이 포함된 이미지의 OCR결과물을 시각화하기 위해서는 한글을 지원하는 글꼴을 사용해야 하는데, 기본 서체를 적용하는 경우 한글이 모조리 깨져 버린다는 문제가 있었습니다. mmocr 사용을 시도하는 한글 사용자의 경우 이리저리 해결책을 찾다가 그냥 포기해 버릴 가능성이 매우 높은 상황이었습니다.
해결:
변인을 통제한 다양한 실험을 통해 한글 깨짐 현상이 글꼴 문제임을 확인했습니다. 라이브러리를 분해해서 글꼴을 받을 수 있는 부분을 파악한 뒤, 사용자와 상호작용하는 가장 높은 추상화 수준의 파일에서 글꼴을 제어할 수 있도록 연결했습니다. 기술적인 이야기는 MMOCR 프레임워크에서 한글 사용하기 에서 확인할 수 있습니다.
성과:
케라스 영어 예제 한글 번역하기
2021.09
요약:
대조학습(Contrastive Learning) 관련 Keras 공식 예제를 한글번역했습니다.
문제:
케라스의 공식 예제들은 제가 딥러닝을 처음 공부할 때 많은 도움이 되었습니다. 처음에는 MNIST 수준의 예제밖에 없었지만, 다양한 분야의 예제들이 빠른 속도로 추가되었습니다. 이에 비해 번역 속도는 예제의 출시속도를 따라가지 못했습니다. 번역 작업을 위해 사람들이 모였습니다. 하지만 번역 후보 노트북 목록에 있는 많은 주제들 중에서 대조학습을 번역하시려는 분들은 많이 없었습니다. 어려운 주제라고 해서 영어로 공부해야만 할 필요는 없습니다. “커뮤니티 / 설립 / 세종대학교 인공지능 중앙동아리 ‘SAI’” 같은 경험이 시사하는 것처럼, 후배들에게 도움을 주고 싶은 마음이 컸습니다.
해결:
대조학습은 저도 익숙하지 않은 분야였습니다. 하지만 자율주행 공유킥보드 만들기에서 데이터가 없는 문제를 지속적으로 겪으며 대조학습이 미래에 이 문제를 경감시켜줄 수 있는지 확인해보고 싶은 마음 겸사겸사 대조학습 예제 번역을 나서게 되었습니다. 예제 3개에 원어보다 훨씬 더 충분한 설명을 덧붙여 한글번역했습니다. 비록 아직 반영되지는 않았으나 다른 튜토리얼을 번역한 동료에게 설명이 이해하는 데 도움이 많이 된다는 피드백을 받을 수 있었습니다.
좌: 번역과 추가적인 설명이 첨가된 노트북, 우: 원본 노트북
참고: 노트북 원본
참고: 노트북 번역본
운좋게 텐서플로 실수 발견
오픈소스 기여
2021.06
요약:
문제:
프레임워크 TensorFlow 에는 ONNX 없이 내장 API 콜 한번만으로도 딥러닝 모델을 최적화할 수 있는 기능이 포함되어 있습니다. 이 기능은 TensorRT 기반으로 동작하기 때문에, TF-TRT 라고 부릅니다. 분명히 명세대로 TF-TRT API 를 호출했으나, 원하는 동작이 일어나지 않아 시간이 많이 허비되었습니다. 혹시나 하는 마음에 마지막으로 소스를 들추어보았을 때, 코드에 사소한 문제가 있다는 사실을 발견했습니다.
해결:
자율주행 공유킥보드 만들기의 비전 시스템을 만들 때, TensorFlow 를 메인 프레임워크로 채택한 이유는 pytorch 에 비해 엣지 디바이스까지 신경써 주는 API 들이 다수 존재하기 때문이었습니다. 문제가 발견된 부분은 선현 개발자의 작은 실수입니다. 하지만 이 API 를 사용하는 사람들은 전세계에 수십명, 수백명일 것입니다. 이 문제에 봉착한 그들의 소중한 리소스가 낭비되고 있을지도 모른다는 생각이 들었습니다. 비록 부실한 코드일지라도, 내 힘으로 문제해결에 기여하여 오픈소스 정신에 첫 기여를 해보고 싶다는 생각이 들었습니다.
성과:
배움:
정말 간단한 버그를 고쳐내는 일임에도, 코드를 클린하게 작성하는 것은 매우 어려웠습니다. 더구나 프로젝트는 무려 세계 최고의 오픈소스였습니다. 어떻게 짜더라도 전체 코드와 잘 어우러지는 것 같지 않았습니다. 내가 python 을 자유자재로 다루고 있지 못하다는 사실을 객관적으로 인지했습니다. 성찰은 더 멋진 python 코드를 작성하는 일에 대한 공부로 이어졌습니다.
헬멧 안쓰면 잔소리 하는 킥보드 만들기
20.07~20.09
요약:
퍼스널모빌리티 탑승자의 헬멧 착용을 확인하는 엣지 디바이스 프로토타입을 만들었습니다.
제작에 이어 데모비디오 촬영, 튜토리얼 작성, 제품 발표까지, 쉽게 경시되곤 하는 뒷 단계까지 잘 마무리했기에 더 의미깊습니다.
배움:
결과물이 완벽하지 못하더라도 프로토타입 결과물 시연, 데모 비디오, 소스코드 공개, 발표 등 제품을 만드는 것 이상으로 해야 할 일들이 있으며 이것들을 정확히 마무리하는 일까지 마치는 것이 프로젝트를 잘 마무리하는 것임을 배웠습니다.
저는 과거의 에지 포팅 경험을 팀원들에게 조금이라도 더 잘 전달하기 위해 공을 들였습니다. 개인 소유 킥보드도 프로젝트를 위해 기증했습니다. 한 팀원은 프로젝트 목표에 맞게 카메라와 컴퓨팅 장치들을 킥보드에 잘 고정해줄 수 있는 거치대를 만들기 위해 3D 모델링에 힘썼고, 또다른 팀원은 기술을 잘 모름에도 불구하고 힘써 기술을 습득하여 데모를 기획하고 발표를 준비하는 등 본인의 경험을 바탕으로 할 수 있는 부분에 기여했습디다. 그 어떤 사람이나 부품이 빠졌더라도 마무리가 되지 않았을 것이라는 점에서 팀워크를 배울 수 있었습니다.
킥보드용 사람 탐지 AI, 그런데 창의적인 학습법
20.05~20.11
요약:
자전거도로에서 이용할 수 있는 PM ADAS(도로경계검출 및 자동가감속)을 만들기 위해 엣지 딥러닝 시스템을 구성해 보았습니다.
문제:
라즈베리파이라는 하드웨어는 딥러닝 추론 연산을 수행하기에 부족하다는 한계가 있습니다.
한편, 모델을 학습시키기도 어려웠습니다. 차도에서 촬영된 보행자 검출용 학습 데이터셋은 많이 공개되어 있지만, 자전거 탑승자 혹은 킥보드 탑승자를 검출하기 위한 학습 데이터는 존재하지 않았기 때문입니다. 개인형이동장치는 자전거도로를 이용하기 때문에, 주요장애물인 자전거 탑승자 혹은 킥보드 탑승자를 검출할 수 있어야 합니다.
해결:
컴퓨팅 리소스 문제를 해결하기 위해 Google CORAL Edge TPU 를 사용해 딥러닝모델을 실행했습니다. 당시에는 CORAL 한글자료가 풍부하지 않아 공식 메뉴얼을 전부 읽으며 시스템을 구성해야만 했습니다.
객체 검출 데이터가 없다는 문제를 해결하기 위해서는 Class Activatioin Map (CVPR2016, 일명 CAM)에서 제안한 Localization 아이디어를 이용했습니다. 구글에서 ‘pedestrian' 과 ‘byciclist' 의 이미지검색 결과들을 모두 모아 분류모델을 학습시킨 뒤 CAM으로부터 localization 힌트를 얻도록 만들었습니다. 이를 통해 객체 검출 데이터문제를 부분적으로 극복했습니다.
배움:
CAM 을 통해 localization 힌트를 얻을 수 있도록 학습시킬 수 있는 데이터를 얻는 과정이 정말 쉬울 줄 알았지만 전혀 아니었습니다. 구글 검색으로부터 얻은 ‘pedestrian’ 과 ‘byciclist’ 이미지 데이터에는 불필요한 결과가 많이 포함되어 있었습니다. 결국 CAM 을 쓰더라도, 사람의 손을 거쳐서 적절한 데이터를 골라내는 과정이 수반되어야만 했습니다.
심지어 골라낸 이미지들도 카메라 각도와 조명상태 등 편향이 매우 커서 모델이 학습할 수 있는 적절한 데이터 세트를 구성하는 데 많은 시간을 들여야 했습니다. 많은 시간을 들였음에도 클래스별로 각각 수십장의 사진을 얻어내는 데 그쳤습니다.
이런 실세계 데이터 수집과 관련된 문제에 대한 관심은 자율주행 공유킥보드 만들기라는 경험을 통해, 주어진 문제에 MLOps의 지속적 학습 개념을 적용하는 것(설거지 돕고 물절약 돕는 MLOps 싱크대), 3D Reconstruction에 대한 관심으로 이어졌습니다(엎드려뻗친 친구 피규어로 만들어버리기).
최종발표자료 발췌
최종 발표자료 발췌
Class Activation Map 발표자료 발췌
학교 라운지에 자리 있는지 알려주기
요약:
선착순 착석 기반의 공용 사용공간 ‘라운지’에 분석용 카메라를 부착하여, 실시간 잉여 좌석 및 혼잡도를 스마트폰 앱으로 스트리밍하고 시간대별 수요를 예측 및 분석해서 시각화해주는 어플리케이션 아이디어를 제작하고 데모를 만들었습니다.
문제와 해결 아이디어:
라운지에 자리가 없어서 발걸음을 돌리는 학생들이 많았습니다. YOLOv3 기반의 객체 탐지 모델로 사람 및 가방을 탐지하여 좌석이 점유되었는지 아닌지를 파악하도록 했습니다.
과거 유저들의 사용 기록 및 현재 라운지의 상황을 반영하여, 미래의 라운지 혼잡도를 예측하도록 만들었습니다.
배움:
당시 저는 아는 것이 없었던 것 같습니다. 모든 기술이 생소했습니다. 저는 아이디어 기획과 이용량예측 부분을 담당했는데, 분석 방법도 지금 다시 생각해볼 때 터무니없었고 애플리케이션을 만들 줄도 몰랐습니다.
다만 기술에 매몰되지 않고, 내가 배운 기술이 어떤 가치를 만들 수 있는가를 고민하는 것이 매우 중요하다는 사실 또한 배울 수 있었습니다.
가령 “YOLO 모델 그걸로 가방도 찾을 수 있어요?” 라던가, “가방들을 서로 구분할 수 있어요?”, “가방이 똑같다는 것은 어떻게 알 수 있어요?” 라는 질문들을 많이 했던 기억이 납니다. 적극적인 아이디어 탐색과 배우고자 하는 의지가 그 기술을 잘 알고 있었던 팀원들의 지식과 시너지가 나서 팀이 좋은 결과를 얻은 것 같습니다. 저보다 많은 것을 알고 함께했던 팀원들께 감사드립니다.
참고: 기사
그 외
교육
교육
Search
활동
대외활동
Search
포상
수상, 장학, 지원
Search
Page Update Log
DB