bskyvision$

[ubuntu+python] YOLOv3으로 물체(객체) 검출하기

코딩/python
@2020-01-15 02:36:57

지난 번엔 얼굴 검출, 성별 검출에 대한 글을 작성했었습니다. 오늘은 물체 검출에 대한 파이썬 코드를 소개해드리도록 하겠습니다. 물체 검출을 객체 검출로 부르기도 합니다. 

 

오늘 예제 코드를 구현하시기 위해서는 opencv-python과 cvlib 라이브러리가 필요합니다. 라이브러리 설치 방법은 운영체제별로 인터넷에 잘 나와있습니다. 추천 검색어는 install opencv-python ubuntu, install opencv-python window10 등입니다. 여러분의 검색능력을 보여주세요.^^

 

라이브러리를 설치하셨다면 이제 다음 코드를 복사붙여넣기 하시고 한번 실행해보신 다음에 코드의 흐름을 살펴보시면 되겠습니다. 항상 처음부터 모든 것을 다 이해하실 필요는 없습니다. 큰 흐름 파악에서 점차 디테일로 나아가시는 것이 좋습니다. 코드가 아주 간결하죠? 

 

# import libraries
import cv2
import cvlib as cv
from cvlib.object_detection import draw_bbox

image_path = 'test1.JPG' # 여기에는 테스트할 이미지의 경로 및 이름을 넣어주시면 됩니다. 
im = cv2.imread(image_path) # 이미지 읽기


# object detection (물체 검출)
bbox, label, conf = cv.detect_common_objects(im)

print(bbox, label, conf)

im = draw_bbox(im, bbox, label, conf) 


cv2.imwrite('result.jpg', im) # 이미지 쓰기

 

cvlib의 detect_common_objects 함수는 COCODATASET에서 훈련된 YOLOv3 모델을 제공합니다. 80 종류의 물체를 검출해낼 수 있습니다. YOLO 시리즈는 물체 검출 분야에 있어서는 아주 유명한 알고리즘입니다. 이 알고리즘에 대해서도 기회가 되는대로 포스팅하도록 하겠습니다. 

 

그러면 이제 몇 개의 이미지를 가지고 테스트 한 결과를 보여드리겠습니다. 

 

주 피사체인 사람과 자전거를 잘 검출했죠? 

 

이미지 내 수많은 사람들을 거의 다 검출해냈습니다.

 

휴대폰과 책을 잘 검출해냈습니다. 펜이 검출되지 않은 것은 아쉽긴 하지만요.ㅎㅎ 

 

다음 시간에는 실시간으로 웹캠을 통해 촬영되는 영상에서 물체를 검출하는 코드에 대해서 다루도록 하겠습니다. 질문 및 지적은 항상 환영입니다. 댓글로 남겨주세요!

댓글

  1. cv @2020.08.26 17:25   댓글주소   수정/삭제   댓글쓰기

    우분투 환경에서 해야하나요?

    • BlogIcon bskyvision @2020.08.26 17:32 신고   댓글주소   수정/삭제

      아닙니다. ㅎㅎ 어떤 환경에서 실행하셔도 될거에요.

    • BlogIcon CV @2020.08.26 17:43   댓글주소   수정/삭제

      답장이 엄청 빨라서 깜짝놀랐네요
      그런데 제가 구동 했을때는 물체를 찾지를 못하더라구요 혹시 CUDA 몇버전 사용 하셨나요

    • BlogIcon bskyvision @2020.08.26 18:02 신고   댓글주소   수정/삭제

      마침 티스토리를 확인하고 있을 때여서요. ㅎㅎ 이 예제 구현할 때는 CPU로 검출했던 것 같습니다. 저는 주로 CUDA 10.0 버전을 사용하긴 합니다만.

      물체를 찾지 못한다는 의미가 실행은 되는데 물체 검출이 안 되었다는 뜻인가요??

  2. wooJU @2020.10.23 16:17   댓글주소   수정/삭제   댓글쓰기

    GPU 환경에서만 실행이 가능한건가요?

  3. 영상 소스를 바꿔서 한번 해보세요 @2020.11.02 08:37   댓글주소   수정/삭제   댓글쓰기

    항공, 우주 쪽에서는 합성개구레이더(Synthetic Aperture Radar, SAR)를 사용하여 영상을 획득하고 있습니다. SAR 영상을 입력을 받고 물체 인식 되도록 하는것도 재밌을것 같다는 생각이 듭니다.

    관심있으시면 아래 논문 찾아서 읽어보세요 ㅎㅎ
    OpenSARShip DB를 이용한 선박식별 성능 분석 pdf > 구글링하면 다운가능
    합성곱 인공 신경망을 적용한 SAR 영상 표적 인식 알고리즘 > DBpia.co.kr (카톡하시면 아디비번드림)

    수고욤

  4. 영상 소스를 바꿔서 한번 해보세요 @2020.11.10 17:00   댓글주소   수정/삭제   댓글쓰기

    많이 바쁘신가봐요 연구도 안하시고..
    항상 좋은글들 잘 보고 있습니다.

    연구를 하든 안하든 게으름을 피우든 뭘하든 응원하겠습니다.
    장미꽃길만 걸으시면서 가시 많이 밟으시길 기원합니다.

  5. 답글이 없네요 @2020.11.11 08:15   댓글주소   수정/삭제   댓글쓰기

    왜 윗댓글에 답글 안달아줘요? 차별해요? 차별을 금지하라!
    CV님 댓글에는 7분만에 답글 달아줘서 저분이 놀라실 정도로 빨리 달아주더니..
    윗님 글에는 세월아 네월아 다섯월아 여섯월아 일곱월아 여덟월아 아홉월아 열월아 하시네
    그렇게 계속 훌륭하게 블로그 운영하시길 바랍니다.

[1] [···] [105] [106] [107] [108] [109] [110] [111]