Yolov3, TensorFlow 및 Flask로 객체 감지 API 구축

문제를 제거하기 위해 도구를 사용해보십시오

Yolov3, TensorFlow 및 Flask로 객체 감지 API 구축

Flask 및 Tensorflow 2.0을 사용한 Yolov3 객체 감지(API 및 감지)

Yolov3는 심층 컨볼루션 신경망을 사용하여 객체 감지를 수행하는 알고리즘입니다. 이 리포지토리는 TensorFlow 2.0을 사용하여 Yolov3를 구현하고 웹 또는 모바일 애플리케이션에 통합할 수 있는 두 가지 사용하기 쉬운 API를 만듭니다.

예시

시작하기

콘다(권장)

|_+_|

|_+_|

Nvidia 드라이버(GPU의 경우 아직 설정하지 않은 경우)

|_+_|

공식 사전 훈련 가중치 다운로드

Linux의 경우: COCO 데이터 세트에서 사전 훈련된 공식 yolov3 가중치를 다운로드해 보겠습니다.

|_+_|

Windows의 경우: 다음을 클릭하여 yolov3 가중치를 다운로드할 수 있습니다. 여기 및 yolov3-작은 여기 그런 다음 weights 폴더에 저장합니다.



맞춤 훈련 가중치 사용

여기에서 맞춤형 YOLOV3 가중치를 훈련하는 방법을 배우십시오. https://www.youtube.com/watch?v=zJDUhGL26iU

사용자 정의 가중치 파일을 weights 폴더에 추가하고 사용자 정의 .names 파일을 data/labels 폴더에 추가하십시오.

yolov3 가중치를 TensorFlow 모델로 저장합니다.

|_+_|를 사용하여 가중치를 로드합니다. 스크립트. 이것은 yolov3 가중치를 TensorFlow .ckpt 모델 파일로 변환합니다!

|_+_|

위의 줄 중 하나를 실행하면 weights 폴더에 .tf 파일이 표시되어야 합니다.

Flask 앱 실행 및 API 사용

이제 Flask 애플리케이션을 실행하여 REST 끝점을 통해 탐지를 가져오기 위해 두 개의 객체 탐지 ​​API를 생성할 수 있습니다.

사용자 정의 가중치 및 클래스를 사용한 경우 실행하기 전에 app.py 파일 내에서 다음 행 중 하나 또는 두 개를 조정해야 할 수 있습니다.

IOU 임계값(같은 클래스의 두 개를 하나의 탐지로 계산하기 위해 얼마나 가까워야 하는지), 신뢰도 임계값(탐지으로 계산하기 위해 클래스에 대해 감지된 최소 신뢰도) 또는 하나의 이미지에서 감지할 수 있는 최대 클래스 수와 3개 모두는 yolov3-tf2/models.py 파일 내에서 조정할 수 있습니다.

명령 프롬프트 또는 셸에서 이 리포지토리의 루트 디렉터리에서 다음 명령을 실행하여 로컬 머신의 포트 5000에서 Flask 앱을 ​​초기화하고 실행합니다.

|_+_|

앱이 성공적으로 실행 중인 경우 명령 프롬프트에 다음이 표시되어야 합니다.

감지 API( Yolov3 TensorFlow 2 놀라운 구현
  • 또 다른 Yolov3 TensorFlow 2
  • Yolo v3 공식 페이퍼
  • Tensorflow Slim 구현
  • 다운로드 세부 정보:

    작가: AIGuys코드
    다운로드 링크: 소스 코드 다운로드
    공식 웹 사이트: https://github.com/theAIGuysCode/Object-Detection-API
    특허: Apache-2.0 라이센스

    또한보십시오: