합성 데이터로 컴퓨터 비전 성능 개선

비용을 절감하고 컴퓨터 비전 훈련 속도를 95% 높인 Neural Pocket

Neural Pocket: Unity Computer Vision 활용 사례

프로덕션 수준의 높은 품질로 컴퓨터 비전 모델을 훈련하는 것은 결코 쉬운 일이 아니며 실제 데이터를 수집하고 힘들게 주석을 남기는 작업을 거쳐야 했고, 이는 시간과 리소스가 많이 들어가는 프로세스였습니다. Neural Pocket에서는 Unity Computer Vision을 사용해 생성된 합성 데이터를 활용하여 컴퓨터 비전 작업과 관련된 이러한 문제를 극복하고 있습니다.

  • 도전 과제

    컴퓨터 비전 모델 훈련에 적합한 완벽한 주석으로 데이터를 빠르게 대량 생성

  • 제품

    Unity Pro, Unity Computer Vision Perception 패키지

  • 팀원

    11명(시뮬레이션 엔지니어 1명, AI 엔지니어 10명)

  • 위치

    일본 도쿄

더 빠르고 효과적이며 저렴한 컴퓨터 비전 훈련

도쿄에 본사를 둔 Neural Pocket은 일본과 세계 여러 국가의 대기업 및 정부 기관을 위한 포괄적인 스마트 시티 AI 솔루션을 제공합니다. Neural Pocket 팀은 Unity의 실시간 3D 개발 플랫폼과 Unity Computer Vision Perception 패키지를 활용해 컴퓨터 비전 모델을 더 적은 비용으로 보다 빠르고 효과적으로 훈련시키고 있습니다.

결과

  • 컴퓨터 비전 모델 훈련 사이클 95% 감소(평균적으로 최대 6개월에서 1주로 감소)
  • 데이터 수집, 주석, 훈련 비용 95% 감소
  • 컴퓨터 비전 모델 성능 개선
  • 다수의 프로젝트를 수행하고 매출을 높이기 위한 역량 향상
인포그래픽

매 적은 시간과 비용으로 결과 도출

반복 작업이 필요한 컴퓨터 비전 모델 훈련의 특성에 실제 데이터를 수집하고 주석을 작성하는 어려움이 더해져 많은 비용과 시간이 소모될 수 있습니다. Neural Pocket의 경우 실제 데이터에 대한 모델 훈련에 일반적으로 매우 많은 반복 작업이 필요할 뿐 아니라, 최대 30회의 훈련 사이클이 필요한 경우도 많습니다. 

각 사이클에는 실제 데이터 캡처(예: 동영상, 사진, 드론 캡처), 주석 작성(주석 팀이 직접 레이블 지정), 훈련과 평가 과정이 필요하며, 평균적으로 사이클당 약 1주가 걸립니다. 30회에 이르는 사이클이 필요한 프로젝트의 경우, 비용이 15만 달러까지 증가할 수 있으며 정식으로 제작에 사용 가능한 모델을 배포하려면 6개월이 소요될 수도 있습니다.

Neural Pocket 팀은 Unity와 Unity Computer Vision Perception 패키지를 활용하여 컴퓨터 비전 모델을 훈련하는 데 필요한 반복 작업 횟수와 관련 비용을 크게 줄이는 동시에 전반적인 모델 성능을 개선했습니다. 팀은 Unity 툴을 사용하여 실제 데이터와 시뮬레이션된 데이터의 조합에서 컴퓨터 비전 모델 훈련 반복 작업을 위해 자동으로 레이블이 지정되고 주석이 추가된 합성 이미지를 생성합니다.

Unity Computer Vision Perception 패키지로 생성된 합성 데이터를 사용하고 실제 데이터 훈련을 1사이클만 진행하면 1주만에 성능이 더 우수한 모델을 만들 수 있으므로, 시간과 비용 모두 평균적으로 약 95% 절감할 수 있습니다.

Neural Pocket 팀이 두 가지 보안 관련 프로젝트에 Unity Computer Vision Perception 패키지를 각각 어떤 방식으로 활용했는지 살펴보겠습니다.

프로젝트 1: 무기 오브젝트 감지

이 프로젝트의 경우 Neural Pocket의 한 협력사에서 자사의 지사 중 하나에 더 안전한 환경을 구축하려 했습니다. 해당 회사에서는 스마트 보안 카메라 시스템이 위험한 오브젝트를 올바르게 감지하는 컴퓨터 비전 모델을 개발하고자 Neural Pocket과 협력 관계를 맺었습니다. 

컴퓨터 비전 훈련을 위한 실제 데이터를 수집하기 위해 Neural Pocket에서는 동영상 촬영을 진행하며 칼, 야구 배트, 총과 같은 무기를 들고 있는 참가자를 감지하기 쉬운 방향 및 어려운 방향에서 촬영했습니다. 그런 다음 Neural Pocket은 동영상에서 약 1,000장의 이미지를 생성하고 내부 주석 팀이 참여하여 각 이미지에 레이블을 직접 지정하여 무기를 식별했습니다.

이 데이터를 초기 훈련 사이클에 활용한 이후 칼에 대한 감지율은 27%, 야구 배트와 총에 대한 감지율은 80%를 기록했습니다.

성공적인 조합: 실제 데이터와 합성 데이터

성능을 높이기 위해 Neural Pocket은 컴퓨터 비전 훈련 및 확인을 위한 대규모 데이터 세트를 생성할 수 있도록 Unity Computer Vision Perception 패키지를 사용했습니다.

Neural Pocket의 시뮬레이션 총괄 로맹 앙제뉴는 "Unity Computer Vision Perception 패키지는 흐름과 구조를 체계적으로 유지할 수 있도록 해 주며, 모든 감지 프로젝트에서 재사용률이 높습니다"라고 말합니다. "시나리오, 무작위 생성기, 태그, 레이블, 스마트 카메라와 같은 커스터마이징 가능한 컴포넌트 세트를 사용하여 UI를 통해 매우 간단하고 유연하게 무작위화를 설정할 수 있었습니다."

Neural Pocket은 Unity 에셋 스토어와 다른 마켓플레이스에서 무기의 3D 모델을 가져오고 이를 Unity의 커스텀 오브젝트 감지용 컴퓨터 비전 툴에 간편하게 통합했습니다. 팀은 손에 무기를 들고 있는 이미지와 무기만 따로 있는 이미지를 렌더링하는 등 캡처된 프레임들 사이에 시뮬레이션의 다양한 측면을 무작위화했습니다.

Unity Computer Vision은 수천 개에서 수백만 개의 합성 이미지를 생성할 수 있는 확장 가능한 솔루션을 제공합니다. Neural Pocket은 5,100개의 시뮬레이션된 프레임을 생성했으며, 이는 실제 프레임 수보다 다섯 배 더 많습니다. 실제 데이터와 합성 데이터의 조합을 기반으로 모델을 훈련한 이후, 완성도 높은 품질의 결과를 얻을 수 있었습니다. 칼에 대한 감지율이 27%에서 87%로 증가했고, 야구 배트와 총에 대한 감지율은 80%에서 100%로 증가했습니다. 

기술 인큐베이션 팀 총괄 겸 시니어 엑스퍼트인 알렉스 대니얼스는 "즉각적으로 매우 뛰어난 결과를 얻을 수 있다는 데 매우 놀랐습니다"라고 말합니다. "파라미터를 쉽고 빠르게 변경하여 새롭게 개선된 데이터 세트를 생성할 수 있어서 실제 데이터 수집에 의존하지 않았기에 데이터 세트 생성 프로세스가 훨씬 간결해졌습니다."

프로젝트 2: 스마트폰 오브젝트 감지

다른 프로젝트에서 Neural Pocket의 한 협력사는 신용카드 번호와 같은 기밀 정보를 더 확실히 보호하기 위해 스마트폰으로 사진을 찍는 사람을 감지하도록 AI를 훈련시키려 했습니다.

Neural Pocket 팀은 위험한 오브젝트 감지 프로젝트에서 즉시 사용할 수 있는 Unity Computer Vision Perception 패키지를 사용했지만, 더 복잡한 이번 프로젝트를 위해 패키지의 확장성과 오픈 소스 코드 베이스를 활용했습니다. 

앙제뉴는 "Perception 패키지의 기본 구성을 사용하는 것만으로 컴퓨터 비전 성능 측면에서는 결과적으로 성능이 개선되어 충분하지만, 가능한 한 더 많은 도메인을 다루기 위해 기존 툴을 기반으로 더 많은 것을 구축할 수 있습니다"라고 말합니다.

Neural Pocket 팀은 스마트폰 인식과 관련되어 다음과 같은 기술 과제를 극복하기 위해 커스텀 무작위화를 만들었습니다.

  • 다양한 모델 - 시장을 대표하는 스마트폰의 사실적인 3D 모델을 생성하기 위해 다양한 기본 컴포넌트(예: 로고, 카메라)를 결합하는 논리적인 방법을 설계했습니다.
  • 무한에 가까울 정도로 많은 스마트폰 케이스 디자인 - Google Images API 이미지가 스마트폰 케이스에 매핑되도록 텍스처 매핑을 수행했습니다.
  • 스마트폰을 잡거나 손가락으로 일부를 가리는 다양한 방식 - 다양한 포즈와 피부 배리에이션으로 모듈식 손을 만들었습니다.
  • 스마트폰으로 혼동할 수 있는 많은 오브젝트 - 주석이 없는 트랙 오브젝트, 즉 스마트폰과 모양과 스타일이 비슷하지만 감지되면 안 되는 물체를 만들었습니다. 따라서 '손으로 들고 있는 직사각형 오브젝트라 해서 반드시 스마트폰인 것은 아니다'라는 개념을 도입해 1종 오류를 줄입니다.

시뮬레이션으로 다시 한 번 성능 개선

Neural Pocket은 20,540개의 실제 이미지를 캡처하고 27,478개의 합성 이미지를 생성했습니다. 실제 데이터만 사용했을 때 감지율은 89.8%였지만, 실제 데이터 세트와 시뮬레이션 데이터 세트를 같이 사용하니 감지율이 92.9%로 개선되었습니다.

대니얼스는 "스마트폰 감지가 여러 동영상 프레임에 걸쳐 실행되므로 감지율이 크게 개선되지 않은 것처럼 보일 수 있지만, 정적 이미지에서의 3% 증가는 전체 감지율에 있어 상당한 감지율 증가로 이어질 수 있습니다"라고 말합니다.

향후 계획

Unity를 통해 프로젝트 처리량을 크게 늘릴 수 있었기 때문에, Neural Pocket 팀은 이제 더 많은 작업을 진행하고 매출 가능성을 넓힐 수 있습니다. Neural Pocket은 더 다양한 프로젝트에 계속해서 Unity의 컴퓨터 비전 툴을 적용하고 있습니다. 이 블로그 게시글에서 더 많은 사례를 확인해 보세요. 

Neural Pocket은 앞으로 실제 데이터에 대한 의존도를 줄이고 합성 데이터의 활용도를 훈련 데이터의 최대 90%까지 높일 계획입니다. Unity의 컴퓨터 비전 기능에 대한 회사의 신뢰가 이러한 변화를 주도하는 핵심 요소입니다.

앙제뉴는 "사용자의 필요에 맞는 적극적인 개발이 이루어지고 있기 때문에 Unity Computer Vision Perception 패키지는 계속해서 개선되어 인식 작업의 기준이 되고 Neural Pocket에서 진행하는 인식 프로젝트의 시작점이 되리라 생각합니다"라고 말합니다.

Romain Angénieux, Head of Simulation, Neural Pocket

"Unity의 컴퓨터 비전 툴을 사용하면 더욱 빠르게 비용 효율적으로 작업할 수 있습니다. 결과적으로 컴퓨터 비전 모델을 평소보다 적은 시간과 비용으로 훈련하고 개발할 수 있습니다."

Romain Angénieux, Head of Simulation, Neural Pocket
Alex Daniels, Senior Expert and Head of the Technology Incubation Team, Neural Pocket

"Unity Computer Vision이 제공하는 데이터 배리에이션이 증가함에 따라 실제 데이터 수집의 필요성이 줄어들고 있습니다. 컴퓨터 비전 모델의 성능 역시 개선되었으며, 결과적으로 더 높은 품질의 제품을 만들 수 있습니다."

Alex Daniels, Senior Expert and Head of the Technology Incubation Team, Neural Pocket

Unity Computer Vision 시작하기

유니티의 전문가 팀이 컴퓨터 비전 모델의 요구 사항에 딱 맞는 합성 데이터 생성에 어떤 도움을 줄 수 있는지 궁금하다면 직접 확인해 보세요.

Unity에서는 최적의 웹사이트 경험을 제공하기 위해 쿠키를 사용합니다. 자세한 내용은 쿠키 정책 페이지를 참조하세요.

확인