less than 1 minute read

  1. Bounding Box 찾는 알고리즘(무언가를 먼저 찾아야 합니다)
  2. CNN

그러므로 학습과정과 예측과정의 속도가 굉장히 느려서 Real-Time application은 구현하기 어려웠습니다.
YOLO(You Only Look One) model로 해결할 수 있습니다. 이것은 속도가 빠릅니다.
저희는 Darknet System을 이용하여 실습해볼 것입니다.
Darknet System은 머신러닝, 딥러닝을 위한 open source framework입니다. 이 안에 YOLO model이 들어있습니다.

실습

  1. 환경변수부터 설정합니다.
    import os
    os.environ['ROOT_FOLDER'] = '/content/YOLO_Object_Detection'
    ROOT_FOLDER = '/content/YOLO_Object_Detection'
    
  2. 폴더를 만듭니다.
    !mkdir "$ROOT_FOLDER"
    
  3. 폴더가 생성되었으면 해당 폴더로 working directory를 변경합니다.
    cd "$ROOT_FOLDER"
    
  4. 해당 폴더에 git 명령을 이용해 특정 repository를 clone합니다.
    !git clone https://github.com/AlexeyAB/darknet.git
    

    image

  5. working directory 를 darknet으로 변경
  6. 받은 darknet은 python코드가 아니라 c코드이므로 우리 시스템에 맞게 컴파일이 필요합니다.
    컴파일하기 위해서 설정파일인 Makefile을 수정합니다.
    아래의 항목대로 수정을 완료합니다.
    image image image 수정을 완료했다면 아래의 코드를 실행합니다.
    !make
    

    이제 YOLO의 모델을 사용할 수 있게 되었습니다.

  7. weight(가중치)파일을 다운로드 합니다. 이미 학습이 끝난 Pretrained Network릐 가중치 파일을 가져와서 YOLO모델에 얹어서 사용합니다.
    !wget https://github.com/AlexeyAB/darknet/releases/download/darknet_yolo_v3_optimal/yolov4.weights
    

    image «««< HEAD

  8. 이미지 1장을 이용해서 직접 Object Detection을 수행합시다.

  9. 이미지 1장을 이용해서 Object Detection을 수행합시다.

    003c7e0ffe790be42aa223b0227d6df91e78fed4 image

    !./darknet detector test cfg/coco.data cfg/yolov4.cfg yolov4.weights data/dog.jpg
    

    «««< HEAD

    /content/YOLO_Object_Detection/darknet/src/image.c image image

    image

image width, heigtㅅ cnn에 들어갈 이미지의 가로, 세로 길이 image image image image image image

image image ======= 11. 예측결과출력 위의 명령어 입력 이후 /content/YOLO_Object_Detection/darknet/predictions.jpgpredictions.jpg파일이 생성됩니다. image

003c7e0ffe790be42aa223b0227d6df91e78fed4

Leave a comment