머신 러닝 및 신경망 - 페이지 38

 

YOLOv8 및 DeepSORT를 사용한 실시간 개체 추적 | 차량 수 계산(출입 차량)



YOLOv8 및 DeepSORT를 사용한 실시간 개체 추적 | 차량 수 계산(출입 차량)

이 동영상은 YOLOv8 및 DeepSORT를 사용하여 고속도로에 출입하는 차량의 수를 계산하는 실시간 개체 추적 구현을 보여줍니다. 발표자는 GitHub 리포지토리 복제, 필수 패키지 설치, 디렉터리 설정 및 추적 스크립트 검사를 시작으로 단계별 가이드를 제공합니다. 이 자습서에서는 양방향 대기열, 사전 처리, 비최대 회귀 및 Deep SORT 기능을 사용하여 고유 ID를 생성하고 클래스 이름을 결정하는 방법을 다룹니다. 또한 발표자는 화면의 선을 이용하여 차량 계수 기능을 추가하는 방법을 설명하고 차량의 흔적이 이 선과 교차할 때마다 계수가 증가합니다. UI는 특정 기능을 사용하여 설정됩니다. 마지막으로 발표자는 스크립트의 현재 출력이 선과의 교차점을 감지하고 해당 지역에 들어오고 나가는 차량 수를 세는 방법을 보여줍니다.

  • 비디오의 00:00:00 섹션은 YOLO V8에서 심층 정렬을 사용하여 객체 추적 구현을 보여줍니다. 이 자습서에서는 고속도로에 진입하고 나가는 차량의 수를 계산하는 애플리케이션을 만드는 방법을 다룹니다. 발표자는 PyCharm IDE를 사용하여 따라할 수 있는 단계별 가이드를 제공하고 각 단계를 자세히 설명합니다. 첫 번째 단계는 GitHub 리포지토리를 복제하고 필요한 패키지를 설치하는 것입니다. 비디오에는 디렉터리 설정 및 추적 스크립트 검사에 대한 섹션도 포함되어 있습니다.

  • 00:05:00 비디오의 이 섹션에서 발표자는 추적 도트 파일을 설정하고 Google 드라이브에서 DeepSORT 파일을 다운로드하여 YOLOv8 폴더에 저장하는 방법을 설명합니다. DeepSORT 파일은 너무 커서 GitHub에 업로드할 수 없으므로 제공된 Google 드라이브 링크에서 다운로드해야 합니다. 비디오는 다운로드한 파일을 추출하여 적절한 폴더에 배치하는 방법을 보여줍니다. 발표자는 샘플 비디오를 다운로드하고 스크립트를 실행하는 방법도 보여줍니다. 스크립트는 CPU에서 테스트하기 때문에 실행하는 데 시간이 다소 걸릴 수 있지만 스크립트가 실행되는 동안 스피커는 계속해서 코드를 자세히 설명합니다.

  • 00:10:00 이 섹션에서 발표자는 양방향 대기열(DQ)의 사용과 삽입 또는 팝 작업을 동시에 수행할 때 목록보다 선호되는 이유를 설명합니다. 화자는 DQ를 사용하여 경계 상자의 하단 중앙 좌표 형식으로 값을 추가하고 자동차가 프레임에서 사라지면 값이 제거되는 방법을 설명합니다. DQ의 최대 길이는 64로 정의되며 해당 값에 도달하면 더 이상의 값을 허용하지 않습니다. 스피커는 또한 색상 팔레트와 UI를 정의하여 감지된 개체 주위에 세련된 테두리를 만듭니다.

  • 00:15:00 이 섹션에서 비디오는 둥근 사각형과 텍스트 레이블이 있는 사용자 인터페이스(UI)를 생성하기 위한 코드와 프로그램이 생성하기 위해 양방향 대기열에 감지된 개체를 추가하는 방법을 분석합니다. 트레일. 이 코드에는 프레임 크기를 조정하고 감지를 수행하기 위한 사전 처리 및 비최대 회귀도 포함됩니다. 고유 ID를 할당하고 클래스 이름을 결정하기 위해 Deep SORT 함수가 호출되는 반면, set.modern.names는 COCO 데이터 세트에서 정보를 검색하고 경계 상자를 생성하는 데 도움이 됩니다.

  • 00:20:00 이 섹션에서 연사는 YOLOv8 및 DeepSORT를 사용하여 객체 감지를 위한 코드를 설명하고 스크립트의 개요와 작동 방식을 제공합니다. 그들은 스크립트의 현재 출력을 시연하고 나노 모델을 사용하고 있으므로 물체 감지가 아직 완벽하지 않다는 점에 주목합니다. 발표자는 또한 Europa를 위한 일련의 컴퓨터 비전 강의를 만들 것이라고 언급하고 시청자가 더 많은 콘텐츠를 구독하도록 권장합니다. 마지막으로, 트레일이 선과 교차할 때 스크립트가 어떻게 감지할 수 있는지 보여줍니다. 이를 통해 객체가 통과한 시점을 나타내고 진입 및 진출을 위한 차량 계산 구현을 허용합니다.

  • 00:25:00 이 섹션에서 발표자는 YOLOv8 및 DeepSORT를 사용하여 실시간 객체 추적 시스템에 차량 계수 기능이 추가된 방법을 설명합니다. 시스템은 화면의 선을 사용하며 차량의 트레일이 이 선과 교차할 때마다 카운트가 증가합니다. 차량의 이동 방향에 따라 차량이 영역에 진입하는지 또는 영역을 이탈하는지 여부에 따라 카운트가 증가할 수 있습니다. 발표자는 또한 특정 기능을 통해 UI가 어떻게 설정되는지 보여줍니다.
GitHub - MuhammadMoinFaisal/YOLOv8-DeepSORT-Object-Tracking: YOLOv8 Object Tracking using PyTorch, OpenCV and DeepSORT
GitHub - MuhammadMoinFaisal/YOLOv8-DeepSORT-Object-Tracking: YOLOv8 Object Tracking using PyTorch, OpenCV and DeepSORT
  • MuhammadMoinFaisal
  • github.com
The google colab file link for yolov8 object detection and tracking is provided below, you can check the implementation in Google Colab, and its a single click implementation, you just need to select the Run Time as GPU, and click on Run All. Object Detection and Tracking (ID + Trails) using YOLOv8 on Custom Data Google Colab File Link (A...
 

YOLOv8을 사용한 실시간 개체 분할 및 추적 | 차량 카운팅(출입)



YOLOv8을 사용한 실시간 개체 분할 및 추적 | 차량 계수(출입)

이 비디오 자습서는 YOLOv8 및 심층 정렬 알고리즘을 사용하여 실시간 개체 분할 및 추적을 구현하는 데 중점을 둡니다. 특히, 주어진 영역에 들어오고 나가는 차량의 다양한 하위 유형을 세고 구별하는 방법을 보여줍니다. 이 튜토리얼은 속도 추정, 방향 측정, ID 및 트레일을 사용하여 각 차량의 정확한 세분화 및 추적을 포함한 다양한 측면을 다룹니다. 발표자는 또한 이를 다양한 IDE에서 구현하는 데 필요한 단계를 제공하고 Patreon 지지자를 위한 최종 코드를 제공합니다.

  • 00:00:00 비디오의 이 섹션에서 발표자는 YOLOv8 및 심층 정렬 알고리즘을 사용하여 추적을 통해 개체 분할을 구현하는 방법을 설명합니다. 이 비디오는 차량 유형뿐만 아니라 들어오고 나가는 차량의 수를 세는 것을 포함하여 차량 세분화 및 추적을 보여줍니다. 구현에는 차량의 속도 계산, 각 차량에 고유 ID 할당, 트레일 정의도 포함됩니다. 발표자는 Anaconda Navigator, PyCharm, Spider 및 Visual Studio를 비롯한 다양한 IDE에서 이를 구현하는 데 필요한 단계를 제공합니다. predict.5 스크립트를 실행하는 동안 오류를 방지하려면 라이브러리와 같은 필수 종속성을 설치해야 합니다.

  • 00:05:00 이 섹션에서 비디오 자습서는 YOLOv8 및 딥 정렬을 사용하여 세분화 및 추적을 구현하는 데 중점을 둡니다. 딥소트 파일은 구글 드라이브에서 다운받아 테스트용으로 샘플 영상을 사용합니다. 스크립트는 하위 유형별로 차량 수를 저장하는 데 사용되는 사전을 사용하여 입출차 차량 수를 구현하도록 수정되었습니다. 객체 카운터 1은 하위 유형별로 출발하는 차량의 수를 저장하는 데 사용되며, 체크 카운터 사전은 들어오는 차량의 수를 저장하는 데 사용됩니다. 수정된 스크립트는 하위 유형과 프레임에 들어가거나 나가는지 여부에 따라 차량을 추적하고 계산합니다.

  • 00:10:00 이 섹션에서는 비디오에서 YOLOv8을 사용하여 자동차, 대형 트럭 및 특정 영역에 들어오고 나가는 오토바이와 같은 차량의 하위 유형을 구분할 수 있는 개체 카운터를 사용하여 차량 계산 시스템을 만드는 방법에 대해 설명합니다. 이 비디오는 속도 추정 기능의 사용과 차량이 지나갈 때 카운터를 증가시키는 라인을 만드는 방법을 설명합니다. 또한 비디오는 이미지의 픽셀 수를 측정하는 데 도움이 되는 상수 PPM 또는 사진 매개변수를 정의합니다.

  • 00:15:00 이 섹션에서 화자는 물체와 카메라 사이의 거리를 기반으로 하는 동적 거리 측정의 개념에 대해 설명합니다. 그들은 미터 단위의 거리가 PPM(미터당 픽셀)으로 나눈 거리 픽셀과 상수 3.6을 초당 프레임 속도로 나눈 값과 같은 공식을 사용하여 달성할 수 있다고 설명합니다. 그런 다음 화자는 각도를 계산하고 거리와 시간을 기준으로 속도를 반환하는 함수를 작성합니다. 또한 set_d 및 CCW라는 두 가지 함수를 더 만들고 y축을 기준으로 객체의 방향을 계산하는 get_direction 함수를 작성합니다.

  • 00:20:00 비디오의 이 섹션에서 발표자는 YOLOv8을 사용하여 실시간 개체 분할 및 추적을 위한 코드를 검토합니다. 그들은 방향 구조를 추가하고 나머지 코드를 계산하는 것을 포함하여 스크립트를 수정합니다. 발표자는 개체 속도를 계산하고 ID 목록에 추가하는 방법에 대해서도 설명합니다. 그런 다음 교차 코드를 복사하여 붙여넣고 계속 조정하여 코드의 오류를 수정합니다.

  • 00:25:00 비디오의 이 섹션에서 발표자는 들어오고 나가는 차량의 수를 세는 카운터 코드를 추가합니다. 카운터 코드는 총 차량 수와 진입하는 자동차, 트럭 및 오토바이의 수를 포함하는 하위 수를 표시합니다. 발표자는 또한 나가는 차량 수에 대한 디스플레이를 추가할 것을 제안합니다. 그리기 상자 기능에서 오류가 발생하고 발표자는 카운트 업 및 카운트 다운에 대한 전역 변수를 선언하여 수정합니다. 스크립트가 성공적으로 실행되고 출력 데모 비디오는 각 차량에 대한 속도 추정과 진입한 각 차량 유형에 대한 하위 카운트와 함께 총 차량 수를 보여줍니다.

  • 00:30:00 이 섹션에서 연사는 차량 수 계산을 위해 YOLOv8을 사용하여 실시간 개체 분할 및 추적 결과에 대해 논의합니다. 그들은 정확한 결과를 얻었고 추적 ID 및 트레일과 함께 각 차량의 속도를 추정할 수도 있습니다. 또한 각 차량의 감지 및 세분화가 정확하게 수행되었으며 총 차량 수도 언급됩니다. 그들은 공유하는 모든 코드와 프로젝트에 액세스할 수 있는 Patreon 후원자에게만 이 코드를 제공했습니다. 마지막으로 데모 비디오를 테스트하거나 사이트에 코드를 구현하거나 Patreon 멤버십에 가입하도록 시청자를 초대합니다.
 

YOLOv8을 사용한 객체 추적: 차량 추적, 카운팅(출입 및 퇴장) 및 속도 추정



YOLOv8을 사용한 객체 추적: 차량 추적, 카운팅(출입 및 퇴장) 및 속도 추정

비디오 자습서는 YOLOv8 및 DeepSORT를 사용하여 객체 추적, 차량 계산 및 속도 추정을 구현하는 방법을 설명합니다. 발표자는 코드가 포함된 GitHub 리포지토리에 대한 링크를 공유하고 리포지토리 복제, DeepSORT 파일 다운로드, 관련 라이브러리 가져오기 및 개체 추적을 위한 데이터 DQ 목록 정의 프로세스를 안내합니다. 또한 차량 방향을 결정하고 그에 따라 카운트를 증가시키는 방법도 설명합니다. 또한 발표자는 추적된 객체의 X 및 Y 좌표를 기반으로 유클리드 거리 공식을 구현하여 차량의 속도를 추정하고 카운트 표시를 위한 공간을 설정하는 방법을 보여줍니다. 궁극적으로 스크립트의 출력은 개체 수와 속도를 보여주므로 구현이 성공했음을 나타냅니다.

  • 00:00:00 튜토리얼의 이 섹션에서 발표자는 YOLOv8을 사용하여 물체 감지 추적 및 속도 추정을 구현하는 방법을 설명합니다. 시작하기 위해 발표자는 Windows에서 코드를 실행하기 위한 단계별 지침과 Google Colab 파일이 포함된 Deep Sort GitHub 리포지토리를 사용하여 YOLOv8 개체 추적에 대한 링크를 제공합니다. 그런 다음 발표자는 리포지토리를 복제하고 현재 디렉터리를 설정하고 필요한 모든 라이브러리를 설치하는 데 필요한 단계를 거칩니다. 그런 다음 발표자는 감지 폴더로 이동하여 제공된 Google 드라이브 링크에서 Deep Sort 파일을 다운로드합니다.

  • 00:05:00 이 섹션에서는 발표자가 DeepSORT를 사용하여 YOLOv8로 개체 추적을 다운로드하고 구현하는 단계를 설명합니다. 폴더의 압축을 풀고 프로젝트의 기본 폴더에 배치하여 뷰어가 DeepSORT 폴더를 다운로드하도록 안내합니다. 또한 predict.py 파일에서 사용되는 라이브러리 가져오기에 대해 설명하고 프레임에 들어오고 나가는 객체의 고유 ID를 저장하는 데 사용되는 이중 종단 대기열(DQ)의 개념을 설명합니다. 발표자는 또한 처리를 위해 GPU가 아닌 CPU를 사용하기 때문에 Google 드라이브에서 샘플 비디오를 다운로드하고 출력을 위해 몇 초 동안 기다려야 한다고 언급합니다.

  • 00:10:00 이 섹션에서는 스피커가 객체 추적을 위한 추적 알고리즘인 딥 정렬 추적기에서 사용되는 다양한 기능을 설명합니다. 여기에는 deque의 오른쪽 끝에 값을 추가하는 데 사용되는 점 추가 기능, 객체를 저장하는 데 사용되는 컨테이너 데이터 유형, deque의 왼쪽 끝에 값을 삽입하는 데 사용되는 점 추가 왼쪽 기능이 포함됩니다. 발표자는 또한 유형에 따라 개체에 다른 색상을 할당하는 컬러풀한 레이블 계산 기능에 대해서도 설명합니다. 또한 Draw Dash border 및 draw Dash boxes 기능에 대해 자세히 설명하며 개체의 고유 ID와 이름을 표시하는 둥근 사각형과 CB2.9를 사용하여 생성된 추적 선이 있는 UI를 만듭니다.

  • 00:15:00 이 섹션에서 발표자는 어떻게 트레일 라인을 생성하고 개체를 추적하기 위해 데이터 DQ 개념을 구현하는지 설명합니다. DQ 목록을 초기화하고 감지된 각 개체의 하단 좌표를 여기에 추가합니다. 개체가 프레임을 벗어나면 해당 포인트가 데이터 DQ 목록에서 제거됩니다. 또한 클래스 감지 예측자를 만들고 심층 정렬 알고리즘을 사용하여 각 개체에 고유한 ID를 할당하고 이름을 얻습니다. 그들은 그리기 상자 함수를 호출하고 예측을 실행합니다. 또한 파일을 다운로드하여 붙여넣고 방향을 동서남북으로 정의하여 차량 계수를 구현합니다. 물체가 특정 방향으로 들어오거나 나가면 카운트가 증가합니다.

  • 00:20:00 이 섹션에서 발표자는 YOLOv8 개체 추적 스크립트에서 개체 계산을 구현한 방법을 설명합니다. 그들은 지정된 선을 가로지르는 움직임을 기반으로 들어오고 나가는 객체의 방향을 정의했습니다. 또한 들어오고 나가는 물체의 개수를 보여주고 개수를 표시해야 하는 공간을 설정했습니다. 그런 다음 화자는 유클리드 거리 공식을 구현하여 추적된 물체의 X 및 Y 좌표를 사용하여 속도를 계산함으로써 속도 추정을 추가했습니다. 카메라의 위치에 따라 동적으로 만들 수 있는 계산을 위해 미터당 픽셀 값을 사용했습니다. 스크립트의 출력에는 개체 수와 속도가 표시되어 스크립트가 올바르게 작동하고 있음을 나타냅니다.

  • 00:25:00 이 섹션에서 발표자는 차량의 속도를 시간당 미터로 계산하는 데 사용되는 공식을 설명합니다. 여기에는 픽셀 단위의 거리를 미터당 픽셀 값(PPM)으로 나누고 그 결과에 시정수를 곱하는 작업이 포함됩니다. . 차량이 사용자가 정의한 감지 영역에서 설정한 선을 넘으면 스크립트는 차량 수를 증가시키고 차량이 이동하는 방향에 따라 해당 영역에 진입하는지 또는 이탈하는지 식별합니다. 궁극적으로 속도 및 차량 수 추정치가 출력 목록에 추가되고 사용자는 자습서의 단계에 따라 이 프로젝트를 구현할 수 있습니다.
 

YOLOV8 및 EasyOCR을 사용한 자동 번호판 인식(이미지 및 동영상)



YOLOV8 및 EasyOCR을 사용한 자동 번호판 인식(이미지 및 동영상)

이 YouTube 동영상에서 발표자는 YOLOV8 및 EasyOCR을 사용하여 자동 번호판 인식을 구현하는 방법을 설명합니다. Google Colab 노트북 및 GitHub 리포지토리를 사용하여 구현 프로세스를 통해 뷰어를 안내하고 단계별 지침을 제공하고 종속성을 설치하고 필요한 데이터 세트를 다운로드하는 방법을 설명합니다. 발표자는 모델의 성공률과 유효성 검사 프로세스를 시연하고 EasyOCR을 사용하여 번호판을 읽는 방법도 설명합니다. 그들은 스크립트 실행의 마지막 단계를 거치고 몇 가지 오류를 발견하고 수정하여 인상적인 결과를 얻습니다. 번호판 인식 스크립트는 Patreon 지지자를 위해 발표자의 GitHub 저장소에서만 제공되지만 시청자는 유사한 결과를 위해 predict.py 파일의 변경 사항에 대해 알아볼 수 있습니다.

  • 00:00:00 비디오의 이 섹션에서 발표자는 YOLOV8 및 EasyOCR을 사용하여 번호판 감지 및 인식을 구현하는 방법을 시연합니다. 발표자는 Google Colab 노트북과 GitHub 리포지토리를 사용하여 시청자에게 구현 프로세스를 안내합니다. 노트북에는 코드 실행을 위한 단계별 지침이 포함되어 있으며 GitHub 리포지토리는 한 달에 5달러를 기부하는 Patreon 후원자를 위해 여러 독점 프로젝트에 대한 액세스를 제공합니다. 또한 발표자는 필요한 종속 항목을 설치하고 Roboflow에서 필요한 데이터 세트를 다운로드하여 번호판 감지를 위한 사용자 지정 모델을 교육하는 방법을 설명합니다. 마지막으로 발표자는 번호판 감지 성공률이 84%인 모델이 다양한 클래스를 얼마나 잘 처리했는지 보여주는 혼동 행렬을 보여줍니다.

  • 00:05:00 이 섹션에서 발표자는 유효성 검사 세트에 대한 모델의 결과에 대해 논의합니다. 이 결과는 에포크 수가 증가함에 따라 손실이 감소하고 평균 평균 정밀도 및 재현율이 증가함을 보여줍니다. 발표자는 또한 Google 드라이브에서 저장된 모델을 다운로드하고 사용자 지정 비디오에서 유효성을 검사하여 IOU 50으로 평균 평균 정밀도 0.926을 달성하는 방법을 시연합니다. 그러나 이 섹션의 초점은 감지된 번호판의 번호판 번호, OCR 리더 및 이미지 좌표를 포함하도록 predict.py 파일에 적용된 조정.

  • 00:10:00 이 섹션에서는 YOLOv8 및 EasyOCR을 사용하여 자동 번호판 인식을 구현하는 방법에 대한 설명을 봅니다. 비디오는 번호판의 텍스트를 읽을 수 있도록 번호판 이미지를 자르고 회색조로 변환하는 과정에 대해 설명합니다. EasyOCR을 사용하여 "reader.read_text(gray)"라고 작성하여 자동차 번호판의 그레이스케일 이미지에서 텍스트를 읽는 방법을 보여줍니다. 마지막으로 스크립트를 테스트하여 오류가 발생하는지 확인합니다.

  • 00:15:00 이 섹션에서 발표자는 YOLOv8 및 EasyOCR 모델을 사용하여 번호판 인식 스크립트를 실행하는 마지막 단계를 안내합니다. 코드에서 몇 가지 오류가 발생하지만 오류를 수정하고 스크립트를 성공적으로 실행합니다. 출력 비디오는 모델이 EasyOCR을 사용하여 번호판을 감지하고 텍스트를 읽는 인상적인 결과를 보여줍니다. 번호판 인식 스크립트는 Patreon 지지자들을 위해 연사의 GitHub 저장소에 제공되지만 시청자는 유사한 결과를 얻기 위해 비디오에서 predict.pi 파일의 변경 사항에 대해 배울 수 있습니다.
 

사용자 지정 데이터 세트에서 YOLOv8을 사용한 실시간 개체 감지 및 추적: 전체 자습서



사용자 지정 데이터 세트에서 YOLOv8을 사용한 실시간 개체 감지 및 추적: 전체 자습서

이 비디오 자습서에서 발표자는 자동차, 트럭, 오토바이, 픽업, 비행기 및 캠핑카의 이미지가 포함된 사용자 지정 데이터 세트를 소개합니다. 이 데이터 세트는 감지 및 추적 기능이 있는 YOLOv8 구현을 시연하는 데 사용됩니다. 균형 잡힌 데이터 세트의 중요성을 설명하고 GitHub 리포지토리 탐색, 필요한 환경 설정, 심층 정렬 알고리즘을 사용한 개체 추적 구현에 대한 단계별 지침을 제공합니다. 발표자는 또한 Google 드라이브에서 다운로드한 데모 비디오로 추론을 실행하여 모델의 정확도를 테스트하면서 혼란 매트릭스와 훈련 및 검증 손실의 중요성에 대해 논의합니다. 관심 있는 분들을 위해 콜라보 노트북 파일을 공유하며 마무리합니다.

  • 00:00:00 비디오 자습서의 이 섹션에서 발표자는 자동차, 트럭, 오토바이, 픽업, 비행기 및 캠핑카의 약 4680개 이미지가 포함된 공개적으로 사용 가능한 다중 클래스 데이터 세트를 소개합니다. 다른 주석은 매우 낮은 반면 약 8,389개의 주석이 있는 자동차 주석으로 과도하게 표현되기 때문에 데이터 세트는 균형이 맞지 않습니다. 그러나 이 자습서에서는 데이터 세트가 사용되지만 프로젝트를 구현하거나 공개적으로 사용 가능한 데이터 세트를 사용할 때 데이터 세트가 균형을 이루는지 확인하는 것이 중요합니다. 이 비디오는 또한 프로젝트에 사용되는 GitHub 리포지토리를 소개하고 모든 사용자 정의 데이터 세트에서 감지 및 추적을 통해 YOLO V8을 구현하는 단계별 지침을 제공합니다. 지침에는 리포지토리 복제, 종속성 설치, 딥 정렬을 사용한 개체 추적 구현 및 테스트용 샘플 비디오 다운로드가 포함됩니다.

  • 00:05:00 영상의 이 섹션에서 발표자는 이미지 및 교육 정보를 표시하는 데 사용되는 라이브러리를 설명하고 Google Colab을 사용하여 YOLOv8에 필요한 환경을 설정하는 방법을 시연합니다. 발표자는 YOLOv8용 GitHub 리포지토리를 복제하고 필요한 라이브러리를 설치하고 탐지 폴더로 이동합니다. 그런 다음 발표자는 Roboflow에서 필요한 사용자 지정 데이터 세트를 다운로드하고 압축을 풀어 훈련, 테스트 및 검증 폴더를 얻는 방법을 보여줍니다.

  • 00:10:00 비디오의 이 섹션에서 발표자는 심층 정렬 알고리즘을 사용하여 개체 추적을 구현하는 방법에 대해 설명합니다. 모델이 다양한 클래스를 얼마나 잘 처리하는지 보여주는 차트인 혼동 행렬을 표시하기 전에 심층 정렬 파일을 다운로드하고 압축을 풉니다. 그들은 혼동 행렬이 모델이 캠핑카를 67% 정확하게 감지하지만 때로는 단순한 자동차로 분류한다고 설명합니다. 또한 교육 및 검증 손실의 중요성과 검증 배치에서 모델 예측을 확인하는 방법에 대해서도 논의합니다. 마지막으로 Google 드라이브에서 사용자 지정 모델에 대한 가중치를 다운로드하고 유효성을 검사하여 IOU가 50%일 때 평균 평균 정밀도가 높다는 것을 보여줍니다.

  • 00:15:00 이 섹션에서 발표자는 Google 드라이브에서 다운로드한 데모 비디오를 사용하여 구성된 모델로 추론을 실행하여 모델의 정확도를 테스트합니다. 동영상은 고속도로를 달리는 자동차와 트럭을 보여주고 있으며, 결과는 각 객체에 할당된 고유 ID로 모델이 잘 작동하고 추적도 가능함을 보여줍니다. 이 튜토리얼에서 사용된 collab 파일은 GitHub 리포지토리에서 사용할 수 있습니다. 다른 비디오도 테스트했으며 결과는 유사하게 양호하며 일부 경우에는 개선이 필요합니다. 발표자는 사용자 지정 데이터 세트에서 YOLOv8을 사용하여 개체 감지 추적을 구현했다고 공유하고 관심 있는 사람들을 위해 공동 작업 노트북 파일을 공유합니다.
 

사용자 지정 데이터 세트에서 YOLOv8을 사용한 실시간 개체 분할 및 추적: 전체 자습서



사용자 지정 데이터 세트에서 YOLOv8을 사용한 실시간 개체 분할 및 추적: 전체 자습서

이 비디오 자습서는 실시간 개체 분할 및 사용자 지정 데이터 세트 추적을 위해 YOLOv8을 사용하는 방법에 대한 포괄적인 가이드입니다. 이 자습서는 데이터 세트 가져오기, YOLOv8 및 Deep Sort 알고리즘을 사용하여 사용자 지정 모델 훈련, 데모 비디오에서 모델 테스트를 포함한 전체 프로세스를 거칩니다. 발표자는 구현에 필요한 코드와 라이브러리를 제공하고 모델의 예측 결과를 보여줍니다. 또한 혼동 매트릭스를 설명하고 GitHub에서 출력 비디오 및 극지방 파일에 액세스할 수 있는 링크를 제공합니다. 전반적으로 이 튜토리얼은 YOLOv8을 사용하여 객체 분할 및 추적에 대해 배우려는 모든 사람에게 훌륭한 리소스입니다.

  • 00:00:00 이 섹션에서 비디오 자습서는 사용자 지정 데이터 집합에서 세분화 및 추적을 위해 YOLOv8을 사용하는 방법을 다룹니다. 자습서는 구현을 단계별로 진행하고 저장소를 사용하여 구현을 돕습니다. 발표자는 필요한 라이브러리 및 종속 항목을 가져오는 방법과 Roboflow에서 드론 트래픽 데이터 세트에 액세스하고 다운로드하는 방법을 설명합니다. 코드를 성공적으로 실행하는 방법에 대한 지침과 함께 데이터 세트를 가져오는 데 필요한 코드도 제공됩니다. 핵심 개념을 완전히 이해하려면 전체 비디오를 시청하는 것이 중요하다는 점을 강조합니다.

  • 00:05:00 이 섹션에서 발표자는 YOLOv8 및 Deep Sort 알고리즘을 사용하여 개체 추적을 위해 사용자 지정 모델을 교육하는 방법을 설명합니다. 그들은 Roboflow에서 Google colab 노트북으로 데이터 세트를 다운로드하고, Deep Sort 파일을 다운로드하고, 자전거, 버스, 자동차 및 트럭을 포함한 다양한 종류의 물체를 감지하기 위해 사용자 정의 모델을 훈련시키는 절차를 언급합니다. 발표자는 검증 배치에 대한 모델의 예측 결과를 공유하고, 모델 가중치를 Google 드라이브에 저장하고, 모델의 성능을 테스트하기 위해 데모 비디오를 다운로드했습니다. 그들은 혼동 행렬과 다양한 개체 클래스에 대한 모델의 정확성을 나타내는 방법을 설명합니다. 전반적으로 비디오는 사용자 지정 데이터 세트에서 YOLOv8을 사용하여 실시간 개체 분할 및 추적에 대한 완전한 자습서를 제공합니다.

  • 00:10:00 비디오의 이 섹션에서 발표자는 두 개의 데모 비디오에서 모델을 테스트하고 결과를 보여줍니다. 이 모델은 개체를 정확하게 감지하고 추적하여 각 개체에 고유한 ID를 부여하고 움직임을 따라가는 흔적을 생성할 수 있습니다. 발표자는 GitHub에서 출력 비디오 및 Polar 파일에 액세스할 수 있는 링크를 제공합니다.

  • 00:15:00 이 섹션에서 발표자는 사용자 지정 데이터 세트에서 YOLOv8을 사용하여 객체 세분화 및 추적 프로젝트의 결과를 제시합니다. 발표자는 출력 비디오를 보여주고 탐지가 매우 우수하며 시청자가 파일을 다운로드하여 결과를 직접 볼 수 있다고 언급합니다. 연사는 또한 시청자에게 새로운 주제에 대한 향후 동영상을 보려면 채널을 구독하도록 상기시킵니다.
 

YOLOv8을 사용한 도로 표지판 및 신호등 감지 및 색상 인식



YOLOv8을 사용한 도로 표지판 및 신호등 감지 및 색상 인식

이 YouTube 자습서는 도로 표지판 감지 및 색상 인식을 위해 YOLOv8을 사용하는 방법을 보여줍니다. 발표자는 이미지가 균형 있게 분포된 17가지 도로 표지판 클래스가 포함된 데이터 세트를 소개합니다. YOLOv8 모델은 100세대에 걸쳐 훈련되고 미세 조정되어 iou50 및 ioub50에 대한 좋은 평균 평균 정밀도 점수를 얻습니다. 발표자는 혼동 행렬을 해석하고 검증 데이터 세트에서 모델을 검증하는 방법을 보여줍니다. 그런 다음 이 모델은 두 개의 데모 비디오에서 테스트되며 둘 다 정확한 감지 결과를 보여줍니다. 전반적으로 YOLOv8은 도로 표지판과 신호등을 감지하는 데 적합합니다.

  • 00:00:00 비디오 자습서의 이 섹션에서 발표자는 도로 표지판 감지에 대한 YOLOv8 모델 교육에 사용될 도로 표지판 데이터 세트를 소개합니다. 데이터 세트에는 교육, 검증 및 테스트 목적으로 총 2093개의 이미지가 있는 17가지 도로 표지판 클래스가 포함되어 있습니다. 데이터 세트는 균형을 이루고 있습니다. 즉, 이미지 수가 약간 더 많은 녹색 표시등을 제외하고 모든 클래스의 이미지 분포가 거의 동일합니다. 또한 발표자는 RoboFlow에서 Google Colab 노트북으로 데이터 세트를 가져오고 파일 경로 관리를 위한 ultralytics 및 glob 라이브러리와 입력 및 출력 이미지를 표시하기 위한 이미지 및 디스플레이 라이브러리를 포함하여 YOLOv8 구현에 필요한 라이브러리를 설치하는 방법을 보여줍니다. 발표자는 GitHub 리포지토리를 복제하거나 pip를 통해 ultralytics 패키지에서 설치하여 YOLOv8을 설치하는 옵션도 제공합니다.

  • 00:05:00 iou50은 도로 표지판 감지 및 색상 인식 작업에서 훈련된 YOLOv8 모델의 성능을 나타내는 좋은 지표입니다. 이 모델은 대규모 데이터 세트에서 훈련되었으며 100 epoch 이상 미세 조정되어 iou50이 95.8%인 평균 정밀도와 ioub 50이 81.3%인 평균 정밀도가 생성되었습니다. 평균 정밀도가 가장 높은 최상의 가중치는 "best.pt"로 저장되었습니다. 전반적으로 결과는 이미지 데이터 세트에서 17개의 서로 다른 클래스의 도로 표지판과 신호등을 감지하는 데 매우 좋습니다.

  • 00:10:00 비디오의 이 섹션에서 발표자는 도로 표지판 및 신호등 감지 및 색상 인식을 위한 YOLOv8 모델을 실행한 후 교육 폴더에 저장된 다양한 파일에 대해 설명합니다. 이러한 파일에는 혼동 행렬, F1 곡선, 정밀도 곡선, 리콜 곡선 및 각 시대의 모델 성능이 포함됩니다. 또한 혼동 행렬을 해석하는 방법과 모델의 최상의 가중치를 사용하여 검증 데이터 세트에서 모델을 검증하는 방법을 보여줍니다. 마지막으로, 그들은 더 긴 기간 동안 모델을 훈련하면 결과의 평균 평균 정밀도를 더 향상시킬 수 있다고 제안합니다.

  • 00:15:00 비디오의 이 섹션에서 발표자는 검증 데이터 세트 이미지에서 모델을 검증하고 인상적인 Main Average Precision 점수를 얻습니다. 그런 다음 이 모델은 "좌회전 금지", "주차", "빨간불" 등과 같은 신호를 성공적으로 감지하는 두 개의 데모 비디오에서 테스트됩니다. 데모 동영상은 Pixel 사이트에서 다운로드한 다음 Google 드라이브에 업로드합니다. 출력 영상이 표시되고 정확한 감지 결과를 보여줍니다. 전반적으로 이 모델은 YOLOv8을 사용하여 도로 표지판과 신호등을 잘 감지합니다.
 

YOLOv8을 사용한 포트홀 감지 및 분할(이미지 및 비디오)| 맞춤 데이터세트 | 전체 가이드



YOLOv8을 사용한 포트홀 감지 및 분할(이미지 및 비디오)| 맞춤 데이터세트 | 전체 가이드

이 비디오는 YOLOv8을 사용하여 포트홀 감지 및 세분화를 위한 사용자 지정 데이터 세트를 만드는 방법을 보여줍니다. 발표자는 이미지 데이터를 복제하고 주석을 추가하는 단계를 보여주고 Google Collab을 사용하여 모델을 훈련할 것을 권장합니다. YOLOv8에 필요한 종속성, 데이터 세트 위치 설정 및 모델 교육에 대해서도 설명합니다. 이 모델은 감지에 대해 0.532, 분할에 대해 0.531의 평균 평균 정밀도를 달성했으며 비디오에서 포트홀을 감지하는 데 좋은 성능을 보였습니다. 발표자는 사용자 정의 모델을 검증하고 좋은 결과를 얻은 후 비디오를 마무리합니다.

  • 00:00:00 비디오의 이 섹션에서 작성자는 YOLOv8을 사용하여 포트홀 감지 및 분할을 위한 사용자 지정 데이터 세트를 만드는 방법을 보여줍니다. 저자는 Roboflow를 사용하여 자신의 작업 공간과 프로젝트를 만들고 데이터 세트를 Google Colab으로 내보낼 수 있도록 작업 공간에 대한 공개 계획을 선택하는 것의 중요성을 설명합니다. 저자는 또한 비디오 또는 이미지를 가져오는 방법과 공개적으로 사용 가능한 데이터 세트를 복제하여 자체 데이터 세트를 보완하는 방법을 보여줍니다. 마지막으로 저자는 이미지와 주석을 복제하는 방법을 보여주어 궁극적으로 포트홀 감지 및 분할을 위한 50개의 이미지 데이터 세트를 생성합니다.

  • 00:05:00 비디오의 이 섹션에서 발표자는 YOLOv8을 사용하여 포트홀 감지 및 세분화를 위해 이미지 데이터를 복제하고 주석을 추가하는 방법을 시연합니다. 원본 데이터 세트에서 나머지 46개 이미지를 복제하여 총 96개 이미지를 가져옵니다. 주석 프로세스에는 다각형 모양의 점을 연결하여 각 이미지의 포트홀 위치를 나타냅니다. 그런 다음 발표자는 각 이미지에 주석을 저장하고 할당하는 방법을 보여줍니다. 이 과정은 시간이 많이 걸리지만 비디오에 설명된 단계를 따르면 쉽게 수행할 수 있습니다.

  • 00:10:00 비디오의 이 섹션에서 발표자는 포트홀 감지 및 세분화를 위해 데이터 세트에 주석을 다는 프로세스에 대해 설명합니다. 그는 주석 도구를 사용하여 데이터 세트를 생성하는 방법을 시연한 다음 Google Collab에서 YOLOv8 알고리즘을 사용하여 모델 학습을 진행합니다. 발표자는 또한 클릭 한 번으로 코딩 없이 RoboFlow에서 모델을 교육할 수 있지만 Google Collab을 사용하여 새로운 것을 배울 것을 권장합니다. 비디오는 작업 디렉터리를 설정하고 종속성을 설치하기 전에 필요한 라이브러리를 가져오고 GitHub 리포지토리를 복제하는 방법을 보여줍니다.

  • 00:15:00 비디오의 이 섹션에서 발표자는 YOLOv8 및 세분화에 필요한 종속성을 설치하는 지침을 제공하며 나중에 라이브러리 문제를 방지하기 위해 교육 전에 그렇게 하는 것이 중요하다는 점을 강조합니다. 또한 발표자는 RoboFlow에서 Google 폴더로 데이터 세트를 가져오고 다운로드하는 과정과 데이터 세트 위치를 설정하고 모델을 교육하는 과정을 안내합니다. 발표자는 또한 추적을 위해 조정된 predict.py 파일의 오류를 확인하고 수정합니다.

  • 00:20:00 IOU 50에서 평균 평균 정밀도 0.532, IOU가 0.50에서 0.95로 변할 때 0.218로 움푹 들어간 곳을 감지할 수 있습니다. 이 모델은 샘플 비디오에서 테스트되었으며 움푹 들어간 곳을 감지하는 데 잘 수행되었습니다. 표시된 혼동 행렬은 서로 다른 클래스 간의 데이터 분포를 보여줍니다. 전반적으로 이 모델은 움푹 들어간 곳을 감지하는 데 잘 작동합니다.

  • 00:25:00 비디오의 이 섹션에서 발표자는 YOLOv8을 사용하여 포트홀 감지 및 분할을 위한 사용자 지정 모델의 유효성을 검사하려고 시도합니다. 그들은 모델이 시간의 50% 동안 움푹 들어간 곳을 감지하지 못해 빈 화면이 나타나는 문제에 부딪쳤습니다. 그런 다음 발표자는 최상의 DOT 가중치 경로를 추가하고 문제를 해결할 수 있었습니다. 그런 다음 유효성 검사 배치에 대한 예측을 표시하고 탐지에 대해 0.538, 세분화에 대해 0.531의 평균 평균 정밀도를 달성했습니다. 이 모델은 여러 데모 비디오에서 테스트되었고 잘 작동했으며 발표자는 비디오를 마무리합니다.
 

YOLOv8 사용자 지정 개체 감지 및 추적 | 선박 탐지 | 완전한 튜토리얼



YOLOv8 사용자 지정 개체 감지 및 추적 | 선박 탐지 | 완전한 튜토리얼

YouTube 자습서는 맞춤형 선박 감지 데이터 세트에서 심층 정렬 개체 추적을 사용하여 YOLOv8 구현을 다룹니다. 이 비디오는 RoboFlow에서 데이터 세트를 다운로드하고 비용 ID에서 프로젝트를 설정하고 Google Colab에서 모델을 교육하는 방법에 대해 설명합니다. 교육 스크립트는 70 에포크 동안 실행되었으며 IOU 50에서 평균 평균 정밀도는 0.968이었습니다. 발표자는 손실 및 평균 정밀도 그래프를 분석하여 더 많은 에포크에 대한 교육이 더 나은 결과를 얻을 수 있음을 보여줍니다. 그런 다음 검증 데이터 세트에서 모델을 검증하는 방법을 보여주고 검증 데이터 세트 이미지에서 평균 평균 정밀도를 보여줍니다. 마지막으로, 그들은 잘못된 예측의 예를 포함하여 작동 중인 모델의 일부 데모 비디오를 보여줍니다.

  • 00:00:00 이 섹션에서 비디오 자습서는 "보드" 또는 "모양"이라는 하나의 클래스만 포함하여 드론이 캡처한 선박의 약 794개 이미지를 포함하는 사용자 정의 객체 감지 및 추적 프로젝트를 위한 데이터 세트를 다룹니다. 그런 다음 튜토리얼에서는 RoboFlow에서 데이터 세트를 다운로드하고 Google Colab 또는 Expense ID로 내보내는 방법을 보여줍니다. 이 데이터는 25개의 무료 크레딧과 Tesla T4 또는 V100 GPU를 제공하여 머신 러닝 모델을 교육합니다. 마지막으로 이 자습서에서는 Expense ID에서 프로젝트를 설정하고 데이터 세트에서 YOLOv8 개체 감지 모델을 교육하기 위해 Expense 서버 옵션이 있는 Jupyter 노트북을 여는 방법에 대해 설명합니다.

  • 00:05:00 YouTube 자습서의 이 섹션에서 강사는 프로젝트 설정을 설명하고 사용자 정의 선박 감지 데이터 세트에서 심층 정렬 개체 추적으로 YOLO v8을 구현하기 위한 GitHub 리포지토리 링크를 제공합니다. 이 비디오는 GitHub 저장소를 Google Colab 노트북에 복제하고 pip를 사용하여 필요한 라이브러리를 설치하는 방법을 보여줍니다. 노트북 스크립트는 이미지 라이브러리를 가져오는 방법, 현재 작업 디렉터리를 설정하는 방법, 사전 훈련된 모델을 다운로드하는 방법을 포함하여 자세히 설명됩니다. 강사는 오류를 방지하기 위해 교육, 테스트 또는 유효성 검사 스크립트를 실행하기 전에 올바른 순서로 스크립트를 실행하고 필요한 모든 라이브러리를 설치하는 것의 중요성을 강조합니다.

  • 00:10:00 이 섹션에서 발표자는 RoboFlow에서 선박 이미지 데이터 세트를 다운로드하고 DeepSort를 사용하여 객체 추적을 구현하는 방법을 설명합니다. 그런 다음 선박 데이터 세트에서 YOLOv8 모델을 교육하고 70 에포크 동안 교육 스크립트를 실행하기 전에 데이터 세트 위치와 기본 이미지 크기를 설정합니다. 결과는 IOU 50에서 0.968의 좋은 평균 평균 정밀도를 보여줍니다. 이는 모델이 이미지에서 선박의 96.8%를 올바르게 식별했음을 의미합니다. 가중치 파일은 train 폴더에 저장되며 혼동 행렬은 모델이 선박의 존재를 감지하는 데 96% 정확했으며 4%의 실패율을 나타냅니다. 훈련 손실은 지속적으로 감소하며 더 많은 에포크에 대한 훈련이 더 나은 결과를 낳을 것임을 나타냅니다.

  • 00:15:00 비디오의 이 섹션에서 발표자는 손실 그래프와 평균 정밀도 그래프를 분석하여 훈련 손실이 지속적으로 감소하고 평균 평균 정밀도는 에포크가 증가함에 따라 지속적으로 증가하고 있음을 보여줍니다. 그런 다음 검증 데이터 세트에서 모델을 검증하는 방법을 보여주고 검증 데이터 세트 이미지에서 iou50의 평균 평균 정밀도가 96.4%이고 iou50에서 95까지의 평균 평균 정밀도가 71.6%임을 보여줍니다. 그런 다음 발표자는 여러 비디오에서 모델을 테스트하고 모델이 보드를 감지하고 각 개체에 고유한 ID를 할당하는 방법을 보여주기 위해 여러 비디오에서 모델을 테스트하기 위해 predict.pi 스크립트를 사용하여 몇 가지 데모 비디오를 보여줍니다. 마지막으로 모델이 만든 잘못된 예측의 예를 보여줍니다.
 

얼굴, 성별 감지, 얼굴 계산 및 사람 추적을 위한 YOLOv8 및 VGG16 | 커스텀 데이터세트



얼굴, 성별 감지, 얼굴 계산 및 사람 추적을 위한 YOLOv8 및 VGG16 | 커스텀 데이터세트

비디오 자습서는 YOLOv8 및 VGG16 모델을 사용하여 얼굴 감지, 성별 분류, 얼굴 계산 및 사람 추적 프로세스를 설명합니다. 이 자습서에서는 데이터 준비, 데이터 증강, 사전 훈련된 VGG16 모델 미세 조정, 전이 학습 사용, 얼굴 감지를 위한 YOLOv8 모델 훈련을 포함하여 이러한 모델을 구현하고 훈련하는 다양한 측면을 다룹니다. 발표자는 또한 Google Colab 노트북에 Google 드라이브를 마운트하는 방법, 이미지 데이터 세트에 액세스 및 변환하는 방법, 필요한 라이브러리를 다운로드하는 방법, 딥소트를 사용하여 개체 추적을 통합하는 방법을 설명합니다. 이 자습서에서는 감지된 개체 주위에 경계 상자 그리기, 성별 분류 모델 통합, 프레임의 얼굴 수 계산, deepsort.update를 사용하여 감지된 각 얼굴에 고유한 ID 할당에 대한 자세한 코드 설명을 제공합니다.

  • 00:00:00 비디오 자습서의 이 섹션에서는 YOLOv8 및 VGG16을 사용하여 추적을 통해 성별 분류 및 얼굴 계산을 통한 얼굴 감지 작업 흐름에 대해 설명합니다. 첫 번째 단계는 남성과 여성의 얼굴 이미지로 데이터 세트를 준비하고 성별 감지를 위해 VGG16 모델을 훈련한 다음 얼굴 감지를 위해 YOLOv8 모델을 훈련하는 것입니다. YOLOv8의 얼굴 감지를 통해 훈련된 VGG16 모델을 사용하여 성별 분류가 수행됩니다. 그런 다음 감지된 각 얼굴이나 사람에 고유 ID를 할당하는 Deepsort를 사용하여 개체 추적이 구현됩니다. 노트북은 필수 라이브러리 가져오기, Google 드라이브 마운트, 데이터 세트 로드, 이미지 및 레이블을 배열로 변환, 데이터 확대 적용, 성별 분류 데이터에 대한 VGG16 모델 미세 조정, 훈련 및 검증 손실 플로팅, 샘플 이미지로 테스트합니다.

  • 00:05:00 이 섹션에서 발표자는 이미지를 numpy 배열로 또는 그 반대로 변환하는 데 사용할 수 있는 다양한 라이브러리 및 기능에 대해 설명합니다. 또한 두 개의 대시 범주형 라이브러리의 사용과 신경망에서 계층을 배열하기 위한 순차적이고 기능적인 접근 방식의 개념을 설명합니다. 평면화 계층은 다차원 입력을 1차원으로 변환하는 데 사용되는 반면, 조밀 계층은 출력 계층 크기를 정의하는 데 사용됩니다. 또한 VGG16 모델을 사용한 전이 학습 사용과 훈련 테스트 분할, numpy 및 OS 라이브러리 가져오기에 대해 논의합니다. 마지막으로 그들은 폴더의 모든 파일에 액세스하기 위한 gdob 라이브러리와 이미지 데이터 세트 섞기 위한 임의 라이브러리의 사용에 대해 언급합니다.

  • 00:10:00 이 섹션에서는 zip 형식으로 업로드된 데이터 세트에 액세스하기 위해 Google Colab 노트북으로 Google 드라이브를 마운트하는 방법을 설명하는 동영상입니다. 데이터 세트에는 남성과 여성의 얼굴 이미지가 포함되어 있으며 비디오는 이러한 이미지가 포함된 폴더의 압축을 풀고 액세스하는 방법을 보여줍니다. glob 라이브러리를 사용하여 비디오는 데이터 세트 폴더의 모든 이미지 파일에 액세스하고 이미지가 남자 얼굴인지 여자 얼굴인지를 나타내는 레이블이 있는 배열 형식으로 변환합니다. 비디오는 샘플 이미지를 보여주고 이미지 파일 변수에 어떻게 cb2.im read를 사용하여 읽을 수 있는 men and women 폴더의 모든 이미지 파일 경로가 포함되어 있는지 설명합니다.

  • 00:15:00 이 섹션에서 발표자는 얼굴 및 성별 감지를 위해 데이터 세트를 어떻게 준비했는지 설명합니다. 그들은 'men' 및 'women' 폴더를 만들고 그 안의 이미지 크기를 조정한 다음 배열로 변환하여 데이터 목록에 저장했습니다. 여성은 1, 남성은 0으로 해당 레이블 값을 레이블 목록에 추가했습니다. 그런 다음 데이터 및 레이블 목록을 NumPy를 사용하여 배열로 변환했습니다. 발표자는 또한 다양한 변환을 적용하여 단일 이미지에서 여러 이미지를 생성하는 이미지 데이터 생성기를 사용하여 데이터 증대를 시연합니다. 그런 다음 성별 분류 데이터 세트에서 사전 훈련된 VGG16 모델을 미세 조정하고 소프트맥스 활성화를 구현하여 출력 계층을 정의했습니다. 출력 크기는 남성 또는 여성을 분류하기 위해 2로 설정되었습니다.

  • 00:20:00 비디오 자습서의 이 섹션에서 화자는 얼굴 및 성별 감지를 위한 VGG16 모델을 시연하고 일반 분류 데이터 세트에서 훈련하는 방법을 보여줍니다. 모델은 .H5 형식으로 저장되며 정확도, 검증 정확도 및 손실 부분이 계산됩니다. cv2.dsize를 사용하여 이미지의 크기가 100x100 크기로 조정되고 배열로 변환되며 모델은 이미지에 남자가 있는지 여자가 있는지 예측합니다. 튜토리얼의 다음 부분에서 YOLOv8 모델은 얼굴을 감지하고 추적을 위한 고유 ID를 할당하기 위해 얼굴 데이터 세트에서 훈련됩니다. 발표자는 또한 predict.pi 파일에 추가된 간단한 코드를 사용하여 얼굴 카운팅이 구현될 것이라고 언급합니다. 전반적으로 튜토리얼은 7단계로 나뉩니다.

  • 00:25:00 이 섹션에서 발표자는 심층 정렬을 사용하여 개체 추적을 구현하는 데 사용할 GitHub 저장소와 얼굴 축소를 위한 YOLO V8 모델을 소개합니다. 각 사람에게 고유한 ID를 할당하기 위해 심층 정렬 개체 추적 코드를 통합하기 전에 얼굴을 감지하고 성별 분류를 수행하는 방법에 대해 논의합니다. 그런 다음 발표자는 현재 디렉토리를 복제 저장소로 설정하고 스크립트에 필요한 모든 필수 라이브러리와 종속성을 설치합니다. 또한 RoboFlow에서 Google Colab 노트북으로 데이터 세트를 다운로드하지만 개인 계정이 있어 문제가 발생합니다.

  • 00:30:00 얼굴 감지를 위해 사전 훈련된 YOLOv8 모델의 가중치를 사용합니다. 데이터 세트가 다운로드되어 내 Google 드라이브 계정에 저장되며 얼굴 감지를 위해 이미 80 epoch 동안 YOLOv8 모델을 교육했습니다. 학습된 모델은 이미 저장되었으며 가중치는 Google Colab 노트북에 다운로드되었습니다. 심층 정렬을 사용하여 개체 추적이 구현되므로 심층 정렬 파일도 노트북에 다운로드됩니다. 또한 VGG16 모델은 성별 감지를 위해 훈련되었으며 모델의 .h5 파일은 Google 드라이브 계정에 저장 및 다운로드되었습니다. Google 드라이브에서 샘플 비디오를 다운로드하여 성별 분류 코드와 얼굴 계수를 포함하는 predict.pi 스크립트를 테스트합니다.

  • 00:35:00 이 섹션에서는 심층 정렬을 사용하여 객체 추적을 구현하기 위해 추가된 코드에 대해 발표자가 설명합니다. 심층 정렬 개체 추적 포트가 초기화되고 YOLOv8 모델에서 수신된 출력을 심층 정렬에 호환되는 형식으로 변환하는 함수가 정의됩니다. UI 상자 기능은 감지된 개체 주위에 경계 상자를 만드는 반면, 그리기 상자 기능은 UI 상자를 호출하고 테두리 기능을 그려 텍스트에 대해 둥근 사각형을 그립니다. 심층 정렬 추적 코드는 트레일을 그리는 기능과 함께 통합됩니다. 그런 다음 화자는 그림판 파일의 성별 분류 및 계수 기능에 대한 코드를 설명합니다. count 함수는 각 프레임의 각 개체를 계산하는 데 사용됩니다. 전반적으로 이 코드는 YOLOv8의 X1, Y1, X2 및 Y2 출력 값을 심층 정렬을 사용하여 객체 추적을 위한 중심 좌표, 높이 및 너비 값으로 변환하고 실제 애플리케이션에서 객체 감지 및 객체 추적을 구현하는 방법을 설명합니다.

  • 00:40:00 이 섹션에서 발표자는 YOLOv8 모델을 바운딩 박스의 xcyc 중심 좌표와 바운딩 박스의 너비 및 높이로 변환하여 심층 정렬 개체 추적과 호환되도록 하는 방법에 대해 설명합니다. 또한 레이블에 대한 색상 계산 기능이 감지된 개체에 고유한 색상을 할당하는 방법과 대시 테두리 그리기 기능이 레이블과 신뢰도 점수가 기록되는 경계 상자 위에 사각형을 만드는 방법을 설명합니다. 또한 화자는 성별 분류기 클래스와 감지된 개체의 성별을 분류하기 위해 비디오의 각 프레임에 로드되고 사용되는 방법에 대해 이야기합니다. 또한 경계 상자를 생성하고 성별 분류 기능을 호출하는 데 사용되는 UI 대시 상자 기능과 그리기 대시 상자 기능을 언급합니다.

  • 00:45:00 이 섹션에서 발표자는 성별 분류 모델을 사용하여 얼굴이 남성인지 여성인지 감지하는 방법을 설명합니다. 얼굴을 감지한 후 경계 상자 좌표만 성별 분류 모델에 전달됩니다. 그런 다음 모델은 얼굴이 남자인지 여자인지 예측하고 그에 따라 경계 상자 위에 레이블을 추가합니다. 발표자는 프레임에서 감지된 얼굴의 수를 저장하기 위해 Foundry-classes라는 사전을 사용하는 count 함수에 대해 설명합니다. 카운트는 비디오 또는 이미지 상단의 UI에 표시됩니다.

  • 00:50:00 이 섹션에서 발표자는 현재 프레임에서 감지된 얼굴 수의 카운트가 FaceDetails 클래스의 Foundry 클래스 사전에 저장되어 있다고 설명합니다. 사전에는 "얼굴"을 포함하는 키 변수와 현재 프레임에서 감지된 얼굴 수를 포함하는 값 변수의 두 가지 값이 포함되어 있습니다. 화자는 카운트 기능을 사용하여 각 프레임에서 감지된 얼굴 수를 표시하고 deepsort.update를 사용하여 감지된 각 얼굴에 고유 ID를 할당합니다. 화자는 또한 일반 클래스, 분류 클래스 및 위험 클래스를 만듭니다. 모델 감지는 여러 데모 비디오에서 테스트되며 화자는 각 프레임의 감지 결과를 보여줍니다.