제퍼넷 로고

소규모 데이터 세트 기반 개체 감지

시간

로그에서 개체 감지
일러스트 : © IoT For All

머신 러닝 프로젝트를 시작하는 것은 "데이터가 얼마나 충분한가요?"라는 질문으로 시작하는 경우가 많습니다. 대답은 프로덕션 데이터의 다양성, 오픈 소스 데이터 세트의 가용성 및 시스템의 예상 성능과 같은 여러 요인에 따라 다릅니다. 목록은 꽤 오랫동안 계속될 수 있습니다. 이 기사에서 우리는 기계가 많은 양의 데이터에서만 학습한다는 대중적인 신화를 폭로하고 작은 데이터 세트로 ML을 적용하는 사용 사례를 공유하고자 합니다. 

빠른 채택으로 깊은 학습 컴퓨터 비전에는 기계의 도움으로 해결해야 하는 다양한 작업이 증가하고 있습니다. 실제 세계에서 이러한 작은 데이터 세트 기계 학습 응용 프로그램을 이해하기 위해 객체 감지 작업에 집중합시다..

객체 감지란 무엇입니까? 

물체 감지는 사진이나 비디오에서 물체를 식별하고 찾는 것을 다루는 컴퓨터 비전의 한 분야입니다. 물체 감지의 목표는 기계 학습의 도움으로 디지털 이미지 또는 비디오에서 특정 특성을 가진 물체를 찾는 것입니다. 종종 물체 감지는 항목 인식을 위한 예비 단계입니다. 먼저 물체를 식별해야 하며, 그런 다음에만 인식 모델을 적용하여 특정 요소를 식별할 수 있습니다. 

객체 감지 비즈니스 사용 사례 

물체 감지는 육안 검사, 창고 자동화, 재고 관리, 보안 등과 같은 작업을 위한 AI 기반 솔루션의 핵심 작업입니다. 다음은 산업 전반에 걸쳐 성공적으로 구현된 몇 가지 객체 감지 사용 사례입니다.

제조

품질 보증 및 재고 관리에서 분류 및 조립에 이르기까지 물체 감지는 많은 제조 프로세스의 자동화에서 중요한 역할을 합니다. 기계 학습 알고리즘을 통해 시스템은 결함을 신속하게 감지하거나 자동으로 개체를 계산하고 찾을 수 있습니다. 이러한 알고리즘을 사용하면 인적 오류와 이러한 개체를 확인하고 정렬하는 데 소요되는 시간을 최소화하여 인벤토리 정확도를 향상시킬 수 있습니다.

자동차 서비스

머신 러닝은 다음에서 사용됩니다. 자가 운전 자동차, 보행자 감지 및 도시의 교통 흐름 최적화. 물체 감지는 운전자 바로 옆에 있는 차량과 장애물을 감지하는 데 사용됩니다. 운송에서 물체 인식은 차량을 감지하고 계산하는 데 사용됩니다. 또한 교통 분석에도 사용되며 고속도로나 교차로에서 정지한 차량을 감지하는 데 도움이 됩니다.

소매

물체 감지는 선반 이미지를 이상적인 상태와 분석 및 비교하여 SKU(Stock Keeping Units)를 감지하는 데 도움이 됩니다. 하드웨어에 통합된 컴퓨터 비전 기술은 소매점에서 대기 시간을 줄이고 고객이 제품과 상호 작용하는 방식을 추적하며 배송을 자동화하는 데 도움이 됩니다. 

의료

물체 감지는 CT 스캔, MRI 및 X선과 같은 의료 이미지를 연구하는 데 사용됩니다. 또한 고위험 환자를 식별하고 이상을 감지하며 외과적 지원을 제공하기 위해 암 검진에 사용됩니다. 원격 의료를 위한 의료 검사를 지원하기 위해 물체 감지 및 인식을 적용하는 것은 의료가 환자에게 제공되는 방식을 바꾸는 새로운 추세입니다. 

안전 및 감시

물체 감지의 응용 프로그램 중에는 사람 감지 및 얼굴 인식이 가능한 비디오 감시 시스템이 있습니다. 기계 학습 알고리즘을 사용하여 이러한 시스템은 생체 인증 및 원격 감시를 위해 설계되었습니다. 이 기술은 자살 예방에도 사용되었습니다.

물류 및 창고 자동화

개체 감지 모델은 제품의 결함 감지는 물론 재고 관리, 품질 관리 및 공급망 관리 자동화를 위해 제품을 시각적으로 검사할 수 있습니다. AI 기반 물류 솔루션은 바코드 감지 대신 객체 감지 모델을 사용하므로 수동 스캔을 대체합니다.  

물체 감지 시스템을 개발하는 방법: PoC 접근 방식

위에서 언급한 것과 같은 작업에 사용할 객체 감지 시스템을 개발하는 것은 다른 ML 프로젝트와 다르지 않습니다. 일반적으로 여러 차례의 실험에서 확인할 가설을 세우는 것으로 시작합니다.

이러한 가설은 소프트웨어 개발에서 개념 증명(PoC) 접근 방식의 일부입니다. 이 경우 전달은 최종 제품이 아니므로 기계 학습과 일치합니다. 연구를 수행하면 선택한 접근 방식을 사용할 수 있는지 또는 다른 방향을 선택하기 위해 추가 실험을 실행할 필요가 있는지 결정할 수 있는 결과를 얻을 수 있습니다.

질문이 "머신 러닝에 충분한 데이터 양"인 경우 가설은 "모델이 최적의 성능 수준에 도달하는 데 150개의 데이터 샘플이면 충분합니다"와 같은 초기 진술일 수 있습니다.

다음과 같은 경험이 풍부한 ML 실무자 앤드류 응 | (Google Brain의 공동 창립자이자 Baidu의 전 수석 과학자) 권하다 기계 학습 기능으로 시스템의 첫 번째 반복을 빠르게 구축한 다음 배포하고 반복합니다.

이 접근 방식을 통해 생산 팀의 데이터와 피드백으로 업그레이드할 수 있는 기능적이고 확장 가능한 프로토타입 시스템을 만들 수 있습니다. 이 솔루션은 처음부터 최종 시스템을 구축하려는 가능성과 비교할 때 훨씬 더 효율적입니다. 이러한 특성의 프로토타입이 반드시 많은 양의 데이터를 필요로 하는 것은 아닙니다. 

"얼마나 많은 데이터가 충분한지"라는 질문에 답하기 위해 머신 러닝 전문가가 필요한 데이터의 양을 정확히 예측할 수 없다는 것은 부인할 수 없는 사실입니다. 알아낼 수 있는 유일한 방법은 가설을 세우고 실제 조건에서 테스트하는 것입니다. 이것이 바로 다음 객체 감지 예제에서 수행한 작업입니다.

사례 연구: 물류에서 자동화된 항목 계산을 위한 작은 데이터 세트를 사용한 개체 감지

우리의 목표는 물류를 위한 물체를 감지할 수 있는 시스템을 만드는 것이었습니다. 생산에서 창고로 또는 창고에서 시설로 상품을 운송하려면 송장과 데이터베이스를 사용하여 실제 수량을 중간 제어하고 조정해야 하는 경우가 많습니다. 수동으로 수행하는 경우 이 작업에는 몇 시간의 인력 작업이 필요하며 손실, 손상 또는 부상의 위험이 높습니다. 

초기 가설은 주석이 달린 작은 데이터 세트가 물류 목적으로 다양한 품목을 자동으로 계산하는 문제를 해결하기에 충분할 것이라는 것이었습니다. 

많은 사람들이 취하는 문제에 대한 전통적인 접근 방식은 고전적인 컴퓨터 비전 기술을 사용하는 것입니다. 예를 들어, Sobel 필터 에지 감지 알고리즘과 Hough circle 변환 방법을 결합하여 둥근 물체를 감지하고 계산할 수 있습니다. 이 방법은 간단하고 비교적 안정적입니다. 그러나 원형 또는 타원형이 잘 정의된 물체를 생산하는 생산 라인과 같이 통제된 환경에 더 적합합니다.

우리가 선택한 사용 사례에서 기존 방법은 개체의 모양, 이미지 품질 및 조명 조건이 모두 크게 다를 수 있기 때문에 훨씬 덜 안정적입니다. 또한 이러한 고전적인 방법은 수집된 데이터에서 학습할 수 없습니다. 이로 인해 더 많은 데이터를 수집하여 시스템을 개선하기가 어렵습니다. 이 경우 가장 좋은 방법은 대신 신경망 기반 객체 감지기를 미세 조정하는 것입니다.

데이터 수집 및 라벨링 

작은 데이터 세트로 물체 감지 실험을 수행하기 위해 공개 소스를 통해 사용할 수 있는 여러 이미지를 수집하고 수동으로 주석을 달았습니다. 우리는 통나무 감지에 집중하기로 결정하고 주석이 달린 이미지를 다음과 같이 나누었습니다. 기차 과 확인 분할.

우리는 추가로 한 세트를 모았습니다. test 로그가 기차와 어떤 면에서 다를 수 있는 레이블이 없는 이미지 및 주어진 모델의 감지 기능에 대한 제한이 있는 위치를 확인하기 위한 검증 이미지(로그의 방향, 크기, 모양 또는 색상) 기차 설정할 수 있습니다.

객체 감지를 다루기 때문에 이미지 주석은 경계 상자로 표시됩니다. 이를 만들기 위해 오픈 소스 브라우저 기반 도구를 사용했습니다. VGG 이미지 주석기, 소규모 데이터 세트를 생성하기에 충분한 기능을 가지고 있습니다. 불행히도 도구는 자체 형식으로 주석을 생성한 다음 COCO 물체 감지 표준.

객체 감지에서 데이터의 양은 데이터 세트의 이미지 수뿐만 아니라 각 이미지의 개별 객체 인스턴스의 양에 의해 결정됩니다. 우리의 경우 이미지는 개체로 매우 조밀하게 채워졌습니다. 인스턴스 수는 이미지당 50-90개에 달했습니다.

Detectron2 객체 감지 

우리가 사용하기로 결정한 모델은 빠른 R-CNN 컴퓨터 비전 라이브러리의 Facebook 디텍트론2

Faster R-CNN이 객체 감지에 어떻게 작동하는지 자세히 살펴보겠습니다. 먼저 입력 이미지는 백본(이미지 분류 문제에 대해 사전 훈련된 심층 CNN 모델)을 통해 전달되고 특징 맵이라는 압축된 표현으로 변환됩니다. 그런 다음 기능 맵은 관심 개체를 포함할 가능성이 있는 기능 맵의 영역을 식별하는 RPN(Region Proposal Network)에 의해 처리됩니다.

다음으로, RoI pooling 연산을 사용하여 feature map에서 영역을 추출하고 bounding box offset head(각 영역에 대한 정확한 bounding box 좌표를 예측함)와 object classification head(영역 내 객체의 클래스를 예측함)로 처리합니다.

Faster R-CNN(Region-based Convolutional Neural Network)은 R-CNN 아키텍처의 세 번째 반복입니다. 

Faster R-CNN은 XNUMX단계 객체 감지 모델입니다. 여기에는 샘플 개체 제안을 위한 RPN 하위 네트워크가 포함됩니다. 그러나 이것이 객체 감지를 위한 작은 데이터 세트에 대한 유일한 솔루션은 아닙니다.

이 영역 제안 심사 단계 없이 관련 개체를 찾으려는 XNUMX단계 탐지기 모델도 있습니다. XNUMX단계 감지기는 아키텍처가 더 단순하고 일반적으로 XNUMX단계 모델에 비해 빠르지만 정확도가 떨어집니다. 예에는 다음이 포함됩니다. 욜로프4 과 욜로프5 아키텍처 – 이러한 제품군의 일부 더 가벼운 구성 모델은 최대 50-140FPS에서 실행되는 Faster R-CNN과 비교하여 최대 15-25FPS에 도달할 수 있습니다(감지 품질은 저하됨).

Faster R-CNN에 대한 원본 논문은 2016년에 출판되었으며 시간이 지남에 따라 아키텍처가 약간 개선되었으며 우리가 사용한 Detectron2 라이브러리에 반영되었습니다.

예를 들어 실험을 위해 선택한 모델 구성은 R50-FPN, CVPR 50에서 도입된 개념인 Feature Pyramid Network와 함께 백본 ResNet-2017을 사용합니다. 종이 이후 특징 추출을 위한 CNN 백본의 필수 요소가 되었습니다. 간단히 말해서, Feature Pyramid Networks에서 우리가 사용하는 것은 CNN에서 추출한 가장 깊은 특징 맵에 국한되지 않고 저수준 및 중간 수준의 특징 맵도 포함합니다. 이를 통해 가장 깊은 수준까지 압축하는 동안 손실될 수 있는 작은 물체 감지가 가능합니다.

결과

실험에서 다음 방법론을 사용했습니다. 

  1. 사전 훈련된 Faster R-CNN 인스턴스 가져오기 코코 2017 80개의 객체 클래스가 있는 데이터 세트.
  2. 320개의 신규 클래스에 대한 모델을 훈련하기 위해 경계 상자 회귀의 80개 단위 및 분류 헤드의 4개 단위를 각각 1개 및 1개의 단위로 교체합니다(경계 상자 회귀 헤드는 X, Y, W를 회귀하기 위해 각 클래스에 대해 4개의 단위를 갖습니다. , H는 경계 상자의 치수입니다. 여기서 X, Y는 bbox 중심의 중심 좌표이고 W, H는 너비와 높이입니다. 

몇 가지 예비 실행 후에 다음 교육 매개변수를 선택했습니다.

  • 모델 구성: R50-FPN
  • 학습 속도 : 0.000125
  • 배치 크기: 2
  • RoI 헤드의 배치 크기: 128
  • 최대 반복 횟수: 200

매개변수 세트를 사용하여 훈련의 가장 흥미로운 측면인 검증 세트에서 적절한 결과를 얻기 위해 얼마나 많은 훈련 인스턴스가 필요한지 조사하기 시작했습니다. 하나의 이미지에도 최대 1개의 인스턴스가 포함되어 있기 때문에 더 적은 수의 인스턴스를 테스트하기 위해 주석의 일부를 무작위로 제거해야 했습니다. 우리가 발견한 것은 90개의 인스턴스가 있는 검증 세트의 경우 98개의 훈련 인스턴스에서 10-1개의 테스트 인스턴스만 선택할 수 있었고 2개에서는 이미 약 25개를 얻었고 40개 이상에서는 모든 인스턴스를 예측할 수 있다는 것입니다.

훈련 인스턴스의 수를 75개에서 100개, 200개로 늘리면 동일한 최종 훈련 결과가 나왔습니다. 그러나 훈련 예제의 더 높은 다양성으로 인해 모델이 더 빨리 수렴되었습니다.

검증 세트의 이미지에 대해 237개의 인스턴스로 훈련된 모델의 예측은 아래 이미지에서 볼 수 있습니다. 몇 가지 오탐지가 있지만(빨간색 화살표로 표시됨) 신뢰도가 낮으므로 신뢰도 임계값을 ~80%로 설정하여 대부분 필터링할 수 있습니다. 

다음 단계에서는 레이블이 없는 테스트 이미지에서 훈련된 모델의 성능을 탐색했습니다. 예상대로 훈련 세트 분포와 유사한 이미지는 자신 있고 고품질의 예측을 제공했지만 로그가 있고 비정상적인 모양, 색상 또는 방향이 있는 이미지는 모델이 작업하기에 훨씬 더 어려웠습니다.

그러나 테스트 세트의 까다로운 이미지에서도 훈련 인스턴스의 수를 늘리면 긍정적인 효과가 관찰되었습니다. 아래 이미지에서 우리는 기차 이미지(1 기차 이미지 – 91개 인스턴스, 2-4개 이미지 – 127-237개 인스턴스)의 수가 증가함에 따라 모델이 추가 인스턴스(녹색 별표로 표시)를 선택하는 방법을 학습하는 방법을 보여줍니다. 

요약하자면, 결과는 모델이 검증 데이터 세트에서 인스턴스의 ~95%를 선택할 수 있음을 보여주었습니다. 75-200개의 개체 인스턴스로 미세 조정한 후 기차 데이터와 유사한 유효성 검사 데이터가 제공되었습니다. 이것은 적절한 훈련 예제를 선택하면 제한된 데이터 시나리오에서 고품질 객체 감지가 가능하다는 것을 증명합니다.

물체 감지의 미래

객체 감지는 최근 몇 년 동안 등장한 가장 일반적으로 사용되는 컴퓨터 비전 기술 중 하나입니다. 그 이유는 주로 다용성입니다. 기존 모델 중 일부는 가전 제품에 성공적으로 구현되거나 운전자 지원 소프트웨어에 통합되는 반면, 다른 모델은 물류를 자동화하고 의료 및 제조 산업을 혁신하는 데 사용되는 로봇 솔루션의 기반이 됩니다.

객체 감지 작업은 장기적으로 사람들이 지루한 작업을 수행하지 않고 여러 위험을 완화할 수 있도록 하는 AI 기반 소프트웨어 및 로봇 공학의 기초 역할을 하기 때문에 디지털 변환에 필수적입니다.

PlatoAi. Web3 재창조. 데이터 인텔리전스 증폭.
액세스하려면 여기를 클릭하십시오.

출처: https://www.iotforall.com/small-dataset-based-object-detection

spot_img

최신 인텔리전스

spot_img

우리와 함께 채팅

안녕하세요! 어떻게 도와 드릴까요?