Skip to content

by-hwa/Vision-System

Repository files navigation

Vision-system

개발환경

  • Window
  • Python
    • Opencv
    • Numpy

설계목표

  • 영상 이미지를 통하여, 빨간색과 노란색 차선을 인식하고 인식한 차선을 바탕으로 로봇이 진행해야 할 방향 제시.

내용

1. Camera Calibration

image
  • Matlab의 Camera calibrator 앱을 사용하여 calibration​.
image
  • Camera Calibration Matrix 값을 얻음.
image
  • Calibration 수행으로 얻은 Camera Matrix와 FocalLength 값을 이용하여 왜곡처리.
image
  • Use cv2.undistort

2. Line Detection & Following Line

ROI(Region Of Interesting)

image
  • 차선만을 인식하기 위하여 불필요한 부분 제거

Bird Eye View

image
  • 차선의 각도로 방향을 검출하기 위하여 Bird Eye View 로 이미지 변환.

특정색상 추출

image
  • HSV(색상, 명도, 채도) 이미지에서 노란색 영역과 빨간색 영역을 검출.
  • 검출된 두개의 이미지를 합쳐서 빨간색과 노란색을 검출.

허프변환으로 라인 검출

image
  • Hough Transform 으로 라인 검출.
  • 검출된 라인정보, 시작과 끝점의 xy 좌표를 이용하여 라인의 각도와 방향 검출.
  • 검출된 각도로 로봇이 진행해야할 방향 지시.

3. Object Detection and Localization

image
  • 처음엔 YOLO V3 모델을 사용하였지만, 보행자 인식만 을 할 것이기 때문에 훨씬 가벼운 HOG Descriptor를 사용.
image image
  • 픽셀과 Calibration 과정에서 구한 Focal Length를 이용하여 탐지한 보행자의 위치 인식.
  • L1:Y1 = L2:Y2, L1 = Focal length, Y1 = Pixel(Detection 박스의 높이)​
  • L2 = 카메라와 Object 사이의 거리 Y2 = 사람의 키
  • L2 = L1xY2/Y1

4. Marker Detection and Localization

  • cv2.aruco.DetectMarkers() 를 이용하여 마커 검출.
  • cv2.aruco.DectedMarkers()로 마커의 정보 검출.
  • cv2.aruco.estimatePoseSingleMarkers() 회전 및 변환 백터 검출.
  • cv2.aruco.drawAxis() 마커 이미지에 그리기.

5. Additional

image
  • 차선내에 객체 검출시 정지.

6. Intergrated

image
  • 현재 차선에 따라 진행방향 지시.
  • Marker and Object detection.
  • 차선내 객채 탐지시 Stop.

About

Vision system lecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages