번역가 | Chen Jun
Chonglou | Reviewed
머신러닝 프로젝트에서 가장 간과되는 부분이 데이터 세트라는 점을 눈치채셨는지 궁금합니다. 대부분의 사람들에게 데이터 세트는 빠르게 조합되거나 다운로드된 미리 만들어진 이미지 모음에 지나지 않습니다. 실제로 데이터세트는 모든 이미지 기반 인공지능(AI) 프로젝트의 초석입니다. 높은 정확성을 목표로 하는 모든 기계 학습 프로젝트의 경우 균형 있고 잘 구조화된 데이터 세트를 생성하고 관리하는 것이 중요합니다.
하지만 데이터 세트를 만드는 것은 수백 장의 이미지를 수집하는 것만큼 간단하지 않습니다. AI 프로젝트를 시작하려고 할 때 우리는 다양한 숨겨진 위험에 직면할 가능성이 높습니다. 아래에서는 데이터 세트 크기의 중요성, 데이터 누락 가능성, 데이터 세트를 데이터베이스로 변환하는 방법에 대한 통찰력을 얻을 수 있도록 자신만의 데이터 세트를 만들기 위해 취할 수 있는 7가지 일반적인 단계에 대해 설명합니다.
참고: 이 단계는 주로 이미지 데이터 세트가 포함된 객체 감지 및 분류 프로젝트에 적용됩니다. NLP 또는 그래픽 프로젝트와 같은 다른 프로젝트 유형에는 다른 접근 방식이 필요합니다.
일반적으로 신경망은 특정 크기의 이미지만 처리할 수 있으며 임계값을 초과하는 이미지는 강제로 축소됩니다. 즉, 데이터 세트를 사용하기 전에 적합한 신경망을 선택하고 이에 따라 이미지 크기를 조정해야 합니다.
아시다시피, 이미지 크기를 줄이면 정확도가 크게 떨어질 수 있습니다. 이미지의 물체가 사라져 전체 인식 프로세스가 손상됩니다. 아래와 같이 방범카메라가 촬영한 이미지에서 번호판번호를 검출해야 하는데, 번호판은 전체 이미지에서 아주 작은 부분만을 차지합니다. 따라서 신경망이 이미지를 축소하면 번호판 번호가 매우 작아져 인식할 수 없게 될 수 있습니다
아래 그림과 같이 네트워크가 사용할 수 있는 이미지 크기를 이해할 수 있다면 , 적절한 데이터 세트 이미지를 자르는 데 도움이 됩니다.
대부분의 신경망은 더 작은 이미지 크기를 처리할 수 있지만 Yolo v5x6과 같은 최신 신경망은 더 큰 해상도의 이미지를 처리할 수 있습니다. 예를 들어, Yolo v5xs6은 최대 1280 픽셀 너비의 이미지를 처리할 수 있습니다.
을 이해합니다. 데이터 세트가 작동 중에 신경망이 인식해야 하는 실제 이미지를 정확하게 반영하도록 하기 위해, 데이터를 설정할 때 다음 요소에 유의해야 합니다.
신경망에서 처리할 실제 이미지를 명확하게 이해하면 관심 객체와 환경을 정확하게 반영하는 데이터 세트를 만들 수 있습니다.
Google에서 일반적인 이미지를 수집하는 것은 대규모 데이터세트를 구성하는 가장 쉽고 빠른 방법으로 간주될 수 있습니다. 그러나 이 방법은 실제로 높은 정확도 요구 사항을 달성하기 어렵습니다. 아래 그림에서 볼 수 있듯이, 실제 카메라로 촬영한 이미지에 비해 구글이나 사진 데이터베이스의 이미지는 대개 "아름답다"로 처리
하고, 너무 "예쁘다"는 데이터세트가 결과로 나올 가능성이 높습니다. 더 높은 테스트 정확도. 즉, 신경망은 테스트 데이터(데이터 세트에서 정제된 이미지 모음)에서만 잘 작동하지만 실제 조건에서는 제대로 작동하지 않아 정확도가 떨어집니다.
주의해야 할 또 다른 중요한 측면은 이미지의 형식입니다. 프로젝트를 시작하기 전에 선택한 프레임워크가 지원하는 형식과 이미지가 이러한 요구 사항을 충족할 수 있는지 확인하세요. 현재 프레임워크는 여러 이미지 형식을 지원할 수 있지만 .jfif과 같은 형식에는 여전히 문제가 있습니다.
주석 데이터를 사용하여 경계 상자, 파일 이름 및 채택할 수 있는 다양한 구조를 지정할 수 있습니다. 일반적으로 다양한 신경망과 프레임워크에는 다양한 주석 방법이 필요합니다. 일부는 경계 상자 위치가 포함된 절대 좌표가 필요하고, 일부는 상대 좌표가 필요합니다. 일부는 각 이미지에 주석이 포함된 별도의 .txt 파일이 필요하고, 일부는 주석이 포함된 단일 .txt
파일만 필요합니다. 모든 주석. 보시다시피 데이터 세트에 좋은 이미지가 있더라도 프레임워크가 주석을 처리할 수 없으면 도움이 되지 않습니다.
이 접근 방식은 널리 사용되어 좋은 결과를 얻는 것으로 입증되었지만 우리는 다음과 같이 데이터 세트를 하위 집합으로 나누는 다른 접근 방식을 선호합니다. 전체 이미지 수의 70%
테스트 데이터세트- 대략
1070%
를 훈련 하위 세트로 선택하고 나머지30% 을 선택하는 것입니다. 그런 다음 이를 검증 하위 집합에 넣습니다. 이 방법을 사용하면 데이터가 쉽게 누락될 수 있습니다. 아래 그림에 표시된 것처럼 우리의 즉각적인 우선 순위는 데이터 세트에서 모든 "중복" 사진을 제거하고 두 하위 세트에 유사한 사진이 있는지 확인하는 것입니다.
이를 위해 간단한 스크립트를 사용하여 자동으로 중복 삭제를 수행할 수 있습니다. 물론, 중복 임계값을 조정할 수 있습니다. 예를 들어, 완전히 중복된 사진이나 최대 90% 유사도가 있는 사진만 삭제할 수 있습니다. 일반적으로 중복된 콘텐츠를 더 많이 제거할수록 신경망이 더 정확하게 생성됩니다.
데이터 세트가 상당히 큰 경우(예: 10million 이미지 및 개수 10개의 개체 클래스와 하위 클래스가 있으므로 데이터 세트 정보를 저장할 간단한 데이터베이스를 만드는 것이 좋습니다. 그 이유는 실제로 매우 간단합니다. 대규모 데이터 세트의 경우 모든 데이터를 추적하기가 어렵습니다. 따라서 데이터를 체계적으로 처리하지 않으면 데이터를 정확하게 분석할 수 없습니다.
데이터베이스를 통해 데이터 세트를 신속하게 진단하고 다음 사항을 확인할 수 있습니다. 특정 카테고리에 사진이 너무 적으면 신경망이 개체를 인식하기 어려워지고 카테고리 간 사진 분포가 균일하지 않습니다. 특정 카테고리에서는 충분합니다. Google 이미지가 너무 많아 해당 카테고리의 정확도 점수가 낮습니다.
간단한 데이터베이스를 사용하면 다음 정보를 포함할 수 있습니다.
데이터베이스는 데이터 세트 수집에 필수적입니다. 및 통계 데이터 도구입니다. 이를 통해 데이터세트의 균형이 얼마나 잘 잡혀 있는지, 각 범주에 고품질 이미지가 몇 개 있는지(신경망 관점에서) 빠르고 쉽게 확인할 수 있습니다. 아래에 시각적으로 제시된 것과 같은 데이터를 사용하면 더 빠르게 분석하고 인식 결과와 비교하여 정확도가 낮은 근본 원인을 찾을 수 있습니다
다시 작성해야 할 내용은 다음과 같습니다. 주목할 만한 문제는 정확도가 낮은 이유가 특정 카테고리에서 이미지 수가 적거나 Google 포토의 비율이 높기 때문일 수 있다는 것입니다. 이러한 데이터베이스를 생성하면 생산, 테스트 및 모델 재교육 시간을 크게 줄일 수 있습니다. 이미지 기술, 데이터 증대는 뒤집기나 스타일 변환 등을 통해 데이터에 대해 간단하거나 복잡한 변환을 수행하는 프로세스로, 데이터의 유효성을 향상시킬 수 있습니다. 이를 기반으로 얻은 효과적인 데이터 세트는 과도한 훈련이 필요하지 않습니다. 아래 이미지에 표시된 것처럼 이러한 유형의 데이터 변환은 단순히 이미지를 90
회전하는 것처럼 간단할 수도 있고 이미지에 태양 플레어를 추가하여 백라이트 사진이나 렌즈 플레어를 시뮬레이션하는 것처럼 복잡할 수도 있습니다.라이브러리를 준비할 수 있습니다. 현재 데이터 증대에는 두 가지 유형이 있습니다. 사전 학습 증대
-학습 프로세스가 시작되기 전에 데이터가 증대되어 학습 하위 집합에 추가됩니다. 물론 앞서 언급한 데이터 누락을 피하기 위해 데이터 세트를 훈련 및 검증 하위 세트로 나눈 후에만 이러한 추가를 수행할 수 있습니다.
훈련 중 향상-은
AI를 비즈니스에 적용하려는 사람들에게는 데이터세트가 가장 흥미롭지 않은 부분입니다. 그러나 데이터 세트가 모든 이미지 인식 프로젝트에서 중요한 부분이라는 것은 부인할 수 없습니다. 더욱이 대부분의 이미지 인식 프로젝트에서 데이터 세트의 관리 및 구성에는 팀에서 많은 시간이 걸리는 경우가 많습니다. 마지막으로 데이터 세트를 적절하게 처리하여 AI 프로젝트에서 최상의 결과를 얻을 수 있는 방법을 요약해 보겠습니다.
원제: 이미지 기반 AI 프로젝트를 위한 데이터 세트를 준비하는 7단계, 작성자: Oleg Kokorin
위 내용은 Image AI 프로젝트를 위한 데이터 세트를 준비하는 7단계의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!