YOLOv3에서 독자 데이터의 물체 검측(개와 고양이의 검측)을 시도해보자①[커튼과 VOTT의 사용법 편]

10478 단어 VoTTPython3YOLOv3
첫 투고.
영상 분류에 대한 보도가 많고 물체 검측 관계에 대한 보도가 적기 때문에 기술한다.
다음 ②→
https://qiita.com/osakasho/items/757df802bd34f907cb43
작업 환경
PC:Windows
언어: 파이썬 3
설치: Node.js (npm 명령 사용 가능)
IDLE 등: Pycharm 및 Anaconda
모델 학습: Google Colab을 활용합니다.
파이톤과 터미널이 사용할 수 있는 상태라면 문제없이 일할 수 있을 것 같다(내 생각)

대상 이미지


그림의 어디에 개와 고양이가 있는지 보여 줍니다.

참고 자료 등


아래 문장을 참고하였다.
롤업 이미지 수집https://qiita.com/Ikko_Kojima/items/4d943c60ff5e886a0544)
모든 YOLOv3 관계식https://sleepless-se.net/2019/06/21/how-to-train-keras%E2%88%92yolo3/
※ 솔직히'잠 못 이루는 밤'이라는 기사로 모든 것을 해결한다.그렇게 간단하고 알기 쉬운 대단한 기사.

이미지 수집 압축(크기 조정)


우선 작업용 목록을 작성하자.
mkdir AIprojects_test
cd AIprojects_test
mkdir images
mkdir save_annotations
그런 다음 이미지를 수집하기 위해 Google images download를 넣고 다운로드합니다.
pip install google_images_download
googleimagesdownload -ri -cd "chromedriver.exe" -l 100  -k "犬"
googleimagesdownload -ri -cd "chromedriver.exe" -l 100  -k "猫"
그래서 카탈로그 다운로드에는 개와 고양이 폴더가 생성돼 각각 100장의 이미지가 다운로드됐다.개 폴더와 고양이 폴더의 그림을 방금 만든 이미지로 모두 복사하십시오.
├── AIprojects_test
    ├── save_annotations
   └── images
         └──犬と猫の画像たち
그랬을 거예요.
그림% 1개의 캡션을 편집했습니다.
resize_images.py를 생성합니다.

import os
import sys
from glob import glob

from PIL import Image


def resize_images(images_dir, image_save_dir, image_size):

    os.makedirs(image_save_dir, exist_ok=True)

    img_paths = glob(os.path.join(images_dir, '*'))

    for img_path in img_paths:
        # resize
        image = Image.open(img_path)
        rgb_im = image.convert('RGB')
        rgb_im.thumbnail([image_size,image_size])

        # make background
        back_ground = Image.new("RGB", (image_size,image_size), color=(255,255,255))
        back_ground.paste(rgb_im)

        # make path
        save_path = os.path.join(image_save_dir, os.path.basename(img_path))
        end_index = save_path.rfind('.')
        save_path = save_path[0:end_index]+'.jpg'
        #print('save',save_path)
        back_ground.save(save_path,quality=95,format='JPEG')


def _main():
    images_dir =  'images/'  # input directory
    image_save_dir = 'resize_images/'  # output directory
    image_size = 224
    if len(sys.argv) > 1:
        image_size = int(sys.argv[1])
    resize_images(images_dir=images_dir, image_save_dir=image_save_dir, image_size=image_size)


if __name__ == '__main__':
    _main()
python resize_images.py의 모든 이미지 224×224px로 조정하여 새 폴더 "resize images"를 만듭니다.
디렉토리 구성
└── AIprojects_test
  ├──  save annotations 
   ├──  images
    |   └──犬と猫の画像たち
    |
    ├──  resize_images
    |   └──リサイズされた犬と猫の画像たち
    |
    └── resize_images.py
이렇게 하면 돼.

VoTT로 개편


물체 검측에서 가장 힘든 일은 원자탄이다.
모조란 정확한 데이터를 만들어 마이크로소프트의 VoTT를 이용하는 것이다.
VoTT는 GUI로 이 힘든 일을 쉽게 해냈다.천하의 마이크로소프트 선생답게 저는 평생 당신을 따를 것입니다.
다음 작업 디렉토리에서 다음 순서로 수행합니다.
 git clone https://github.com/Microsoft/VoTT.git
 cd VoTT
 npm ci
 npm start
이따가 다음 화면이 나올 거예요.

New Project를 선택하면 다음과 같은 설정 화면이 나타납니다.
설정을 설명합니다.

SourceConnection은 이미지를 참조하는 대상입니다.방금 "resize images"폴더를 선택하십시오.
TargetConnection은 저장된 위치라고 합니다.생성된 "save annotations"를 선택합니다.
마지막으로 녹색 Save Connection 을 클릭합니다.
그리고 출력을 설정합니다.

Export Settings를 열고 Provider를 Pascal VOC로 설정하고 Save Export Settings로 저장합니다.
마침내 개편을 실시하였다.

1. 먼저 태그를 만든다.이번에는 개와 고양이라서 독과 캣 두 종류를 만들었어요.
2. 다음에 개를 클릭하고 포위하는 부분.
3、개를 둘러싸고 Dog을 클릭
4、"↓"로 다음 이미지로 이동하고 "↑"로 앞으로 돌아갑니다.
5. 저장하고 내보냅니다.모든 초대가 끝나면 출력하세요.
출력 후 데이터는 "save annotations"폴더에 저장됩니다.

"ano 데이터"로 압축!!!!

이번엔 여기까지.수고하셨습니다!!!!!

최후


이어 이번에 사용한 데이터를 토대로 YOLOv3를 학습·테스트하도록 했다.
그럼 안녕히 계세요.

좋은 웹페이지 즐겨찾기