본 포스트는 위 동영상을 글로 요약한 버전입니다. 그리고 이 영상은 제 Youtube에 있는 강의입니다.
개발자들은 왜 비즈니스 마인드를 가져야 할까
여러분들이 생각하시는 좋은 장인은 어떤 모습인가요? 일에 몰두하는 사람, 꼼꼼한 사람, 섬세한 사람 등이 있지만 결국 고객이 원하는 제품을 만들어내는 사람이 아닐까요?
우리가 일하고 있는 IT산업을 빗대어 생각해보면 제품을 만들어낸다는 것이 실물에서 소프트웨어로 변화했다는 것입니다. 그렇다면 프로그래밍만을 잘하는 사람이 좋은 장인일까요? 그렇지 않겠죠? 저희는 고객에게 받은 투자보다 더 높은 가치의 돈을 만들어내야 하는 개발자입니다. 그렇기 때문에 단순히 프로그래밍만을 잘 하는 사람이 아니라, 프로그래밍을 바탕으로 돈을 잘 만들어낼 수 있는 사람이어야 합니다.
돈은 그럼 어떻게 잘 만들어낼까요? 당연히 저희에게 돈을 주는 고객이 원하는 프로그램을 개발 해야겠죠? 단지 제품의 퀄리티만 신경 쓰는 것이 아니라 고객만족에 신경 써야 한다는 겁니다.
따라서 개발자들도 해당 산업을 이해하고, 비즈니스 이슈들도 함께 볼 수 있는 넓은 시야를 가져야 합니다.
머신 비전과 자율 주행 산업의 이해
# 4차 산업 #자동화
머신 비전과 자율 주행은 왜 4차 산업이라고 불리는 걸까요? 그 해답은 ‘자동화’에 있습니다. 뭘 어떻게 자동화 한다는 걸까요? 한번 각각의 산업의 흐름을 살펴보죠. 먼저 머신비전에서는 제품을 보고 제품 표면에 불량이 있는지 없는지 사람이 생각해서 불량품을 분류 합니다. 자율주행도 비슷합니다. 도로와 주변 환경을 눈으로 살피고 그 결과를 토대로 어떻게 행동할지 생각하고 그 생각을 토대로 각종 컴포넌트들을 제어 합니다.
두 산업의 흐름이 비슷하죠? 크게 3개로 분류할 수 있는데, 각각에 대해 이름을 붙여보면 다음과 같이 센싱, 인지, 의사결정으로 부를 수 있는데요. 각각의 단계들은 연관도가 매우 높아서 어느 한 곳도 대충해선 안됩니다.
센싱과 관련된 하드웨어와 소프트웨어들
자, 그럼 센싱에 필요한 것들에 대해 살펴보겠습니다. 센싱은 앞에서 설명 드렸던 머신 비전에서 제품을 보거나 자율 주행에서 주변 환경을 눈으로 살피는 과정이라고 말씀 드렸죠? 저희의 눈과 비슷한데요. 그렇기 때문에 하드웨어가 그 역할을 담당하고 있습니다.
머신 비전 산업에서는 기본적으로 제품에 조명을 비춰서 촬영하면 이미지에서 정반사된 부분은 흰색, 난반사된 부분은 검은색으로 음영이 지는데, 이것을 통해 불량을 검사합니다. 쉽게 말해 굴곡의 그림자를 불량으로 판단 하는거죠.
자율 주행차에도 마찬가지로 카메라가 있고, 레이저 신호를 이용하여 주변의 사물을 인식하는 Lidar, 전자파를 발사해 반사돼 돌아오는 신호를 기반으로 주변 사물과의 거리, 속도, 방향 등의 정보를 추출하는 Radar가 있습니다. 이러한 센서들을 장착한 자율 주행차의 외관은 다음과 같습니다. 잘 보시면 라이다가 상단에 톡 튀어나와 있어서 보기 흉하죠? 최근에는 이것을 보이지 않게 감춰서 설치하는 것이 트렌드라고 합니다.
인지와 관련된 하드웨어와 소프트웨어들
인지는 센싱 단계로부터 나온 결과를 토대로 어떻게 행동할지 생각하고 고민하는 단계이기 때문에 저희의 뇌와 연관이 있습니다. 그렇기 때문에 소프트웨어가 직접적인 연관이 있죠.
머신 비전에서는 사람이 직접 알고리즘을 짜서 이미지에서 불량만 추출하는 방식이 있구요. 이것을 rule-based 알고리즘이라고 부릅니다. 이미지는 숫자로 이루어진 수많은 픽셀들로 쪼갤 수 있는데, 이 픽셀값을 통해 일종의 rule을 만들어 필터링 하는 것입니다. 그리고 AI를 활용한 방법이 있습니다. 보통 머신 비전 관련 회사들은 먼저 rule-based로 추출한 이미지를 AI에 학습시켜 활용하는 방식을 택하고 있습니다.
자율주행은 센서들이 다양하기 때문에 어떤 센서를 사용하느냐에 따라 적용되는 알고리즘들이 다른데요. 우선 첫번째로 Slam이라는 기술입니다. Simultaneous Localizaion And Mapping의 약자인데 이름에서도 알 수 있듯이 Simultaneous : 동시의 Localizaion : 위치측정 Mapping : 지도화 로써 주변 환경에 대한 지도를 만들면서 동시에 작성된 지도안에서 자신의 현재 위치를 인지하는 기술입니다. 이 기술은 lidar로부터 얻은 3D data와 카메라로 얻은 2D이미지가 사용됩니다.
그 다음으로는 두 개의 카메라를 이용한 스테레오 비전 기술인데요. 사람의 눈은 좌/우로 받아들여지는 영상 차이를 통해 원근감을 느낄 수 있는데, 마찬가지로 여기에서도 두 대의 카메라를 설치해서 좌/우 영상의 시차를 계산해 3차원 거리 정보를 획득하는 방식입니다. 마지막으로 객체 인식에는 딥러닝이 사용되고 있습니다.
의사 결정과 관련된 하드웨어와 소프트웨어들
이제 자동화의 마지막 단계인 의사결정 단계입니다. 머신비전에서는 앞 단계에서 feature의 size, 위치 등의 정보를 추출할 수 있는데요. 이것을 고객사로부터 받은 불량 기준서와 비교해서 불량의 유형을 구별하고 해당 불량에 맞는 기준과 비교해서 불량인지 아닌지 판단하면 됩니다.
자율 주행은 사람의 목숨이 달려있기 때문에 잘못된 판단을 내릴 경우, 엄청난 대가를 치르게 되는데요. 그렇기 때문에 매우 다양한 문제 처리법이 있습니다. 이것을 바탕으로 자율 주행법에 어긋나지 않는 선에서 처리를 하고 마침내 자동차를 통제, 제어하게 되는 겁니다.
기업과 제품
국내에서 비전 검사에 특화된 머신 비전 플랫폼을 제공하고 있는 기업은 수아랩과 라온피플이 있습니다. 수아랩은 2019년 창업 6년만에 미국의 3D 레이저 프로파일러로 유명한 업체인 코그넥스에 2800억에 인수되었는데요. 그럴 수 있었던 이유는 AI를 몰라도 누구나 모델링을 할 수 있는 플랫폼을 개발해서 빠르게 자리 잡은 덕분이라고 생각합니다.
라온 피플은 Fast follower라고 할 수 있는데, 원래 머신비전 관련 부품 제조업체였습니다. 그런데 장비 뿐만 아니라 AI 소프트웨어의 개발로 빠르게 성장하여 2019년에 상장까지 한 회사입니다.
해외에서는 AI업계에서 아주 유명한 앤드류 옹 교수님이 설립한 Landing AI라는 회사가 있습니다. AI를 아주 잘 아시는 분이 제조업 소프트웨어 영역도 진출하신다고 하니 이쪽이 돈이 많이 되나? 싶기도 하고 … 좀 무섭습니다.
자율 주행에서는 국내 기업인 현대차가 있고 해외엔 테슬라, 애플이 있습니다. 현대차는 그동안 자율주행쪽에서 두각을 나타내지 못했는데 최근 애플과의 협력소식이 들려오면서 이번이 입지를 다질 수 있는 기회가 아닐까 생각합니다.
테슬라는 워낙 하드웨어쪽으로 탄탄하고, 자율 주행 기술도 Lidar를 사용하지 않고 카메라 만으로 높은 성능을 나타내고 있어서 AI를 활용한 소프트웨어 기술도 자동차 업계에서 탑 수준이 아닐까 생각합니다.
애플은 2024년 애플카 출시를 목표로 2014년부터 ‘프로젝트 타이탄’이라는 전기차 로드맵을 준비하고 있었는데, 자동차 산업이 워낙 진입 장벽이 높은 산업이기도 하고 자체적으로 생산공장을 갖고 있지 않기 때문에 세계 7국에 완성차 공장을 갖고 있는 현대차에 협력을 제안한 게 아닐까 생각합니다.
장애물과 한계
이러한 기업들도 아직 넘지 못한 장애물이 있습니다. 두 산업의 장애물도 다른듯 비슷한데요. 바로 답답하다는 것입니다. 뭐가 그렇게 답답할까요? 라벨링 노가다가 힘들어서? 학습이 오래걸려서?
머신 비전에서 답답함을 느끼는 이유는 성능이 안 나오는 데 이유를 모르겠다는 겁니다. 이건 어떤 AI 개발자던지 다 느낄 수 있는 부분이긴 하지만, 머신 비전 산업에서는 AI를 잘 모르는 엔지니어들이 직접 라벨링도 하고 학습을 시키는데, 수아킷 같은 플랫폼에 모든 걸 믿고 맡깁니다. 그런데 성능이 안 좋을 경우 할 수 있는게 별로 없습니다. 그리고 dataset또한 인터넷에 있는 공개된 dataset이 아닌 검사 장비에서 얻은 이미지들을 사용하기 때문에 그 수도 현저히 적고 퀄리티가 낮아질 수 밖에 없습니다. 이 경우, 어떤 이미지를 더 얻어야 하는지 분석하는 데 시간을 많이 소비하게 됩니다.
자율 주행쪽은 위험 부담이 크다는 문제가 있죠. 자동차는 한번의 오류도 발생하면 심각한 문제가 될 수 있잖아요? 그렇기 때문에 결과물에 대한 원인을 명확하게 알아내야 합니다. 이 두가지 산업에서 느끼는 답답함을 해결해 줄 기술은 뭐가 있을까요? 바로 Explainable ai입니다. 머신 러닝이 블랙박스로써 복잡한 수식으로 된 알고리즘을 이해하지 않아도 된다는 장점이 있지만, 어떤 과정을 통해서 이런 결과를 도출해 냈는지 모른다는 단점이 있습니다. 그렇기 때문에 이런 것까지 해결해주면 정말 좋겠죠?
So what?
# 노오력? # 공통 문제
처음엔 비즈니스 마인드를 가져야 한다고 얘기하더니, AI나 소프트웨어 얘기는 안하고 관심도 없는 제조업쪽 얘기를 하고 있냐… 그래서 어쩌라는 거냐? 라고 생각하실 수도 있을 것 같아서, 이제 제가 발표해드렸던 내용을 정리를 하자면, 머신 비전과 자율 주행은 자동화의 흐름과 구조도 비슷하고 현재 겪고 있는 어려움도 비슷합니다. 이처럼 서로 연관이 없어보이지만 같은 어려움을 겪고 있는 다른 산업들도 많을 것이라고 생각합니다.
그렇기 때문에 노오력을 하면… 아니.. 특정 산업을 타겟팅하지 않아도 AI 관련 산업에서 겪고 있는 공통 문제가 뭐가 있을까를 한번 분석해보고 그것을 해결해준다면, 고객이 원하는 제품을 만드는 좋은 장인이 될 수 있다는 말씀을 드리고 싶었던 겁니다.
기업 소개
자신만의 기술력으로 성장하고 있는 한 기업의 사례를 통해 저희가 나아가야할 방향에 대한 의견을 제시하고 마치겠습니다.
서울 로보틱스라는 기업을 소개해드릴건데요. 이 기업은 라이다 전문 소프트웨어 개발을 하고 있고 직원수 20명 미만의 스타트업입니다. 라이다 제조분야 세계 1위 벨로다인과 협력관계에 있고요. 하드웨어는 벨로다인, 소프트웨어는 이 업체가 담당하여 시너지를 내고 있습니다.
BMW와도 파트너쉽을 맺고 있는데요. 처음에 BMW가 계약 당시 이런 질문을 했다고 합니다. “너넨 왜 라이다만 하냐?” 그랬더니 이 회사 대표가 “라이다만 잘해도 비즈니스를 할 수 있고 라이다 소프트웨어만 잘하는 회사가 없다”라고 대답했더니 그 말을 듣고 BMW가 계약을 하자고 했답니다. 좀 오글거리죠?..믿으셔도 되고 안 믿으셔도 될 것 같습니다…
어쨌든 어떤 산업에서건, 두각을 나타내고 싶다면 산업 분석이 필요하고 우리가 뭘 잘 할 수 있는지, 우리만 할 수 있는 게 뭔지를 분석해서 뭐든지 한가지라도 남들보다 뛰어나면 된다고 생각합니다. 물론 한가지만 파자는 게 아니구요. 여러가지 잘할 수 있으면 제일 좋죠. 그런데 남들보다 뛰어난 게 한가지 이상은 있어야 한다는 것입니다. 그게 뭔지는 개발자 모두가 고민해봐야겠죠.