- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 티스토리
- openCV
- YOLO
- 딥러닝
- tx2
- Windows
- Nvidia
- 물체검출
- Jetson
- 텐서플로우
- 영상처리
- GPU
- 엔비디아
- 설치
- ubuntu
- openpose
- 애드센스
- agx
- python
- 방법
- 블로그
- tensorflow
- Linux
- 라즈베리파이
- Xavier
- Tistory
- DNN
- cuda
- Darknet
- 파이썬
목록YOLO (13)
엔지니어스 - Engineeus
working directory 생성 working directory 생성 cd 'working directory' 깃클론 git clone https://github.com/zhaoyanglijoey/yolov3.git 웨이트 파일 받기 wget https://pjreddie.com/media/files/yolov3.weights opencv 설치 아래 세팅이 모두 되어 있어야 함 https://mickael-k.tistory.com/211 [Ubuntu] Graphic card 460 / CUDA 11.01 / CuDNN 8.1 / OpenCV 4 최신으로 설치 하기! (초간단) 설치 환경 Ubuntu: 20.04 Graphic card : 460.91.03 CUDA: 11.01 cvDNN: 8.1...
NMS를 가장 쉽게 설명 하자면 '얼마나 겹쳐 있는지'를 판단 하고 일정 크기 이상 겹칠 경우 삭제 하는 방법이다. NMS를 이해하려면 IOU(Intersection over Union)의 개념을 알아야 한다. IOU란? IOU란 '교집합/합집합'의 비율 이다. 즉, 검출 박스 2개의 전체 크기에서, 겹치는 부분의 비율이 얼마가 되는지 알아 내는 방법이다. 50% 겹치면 0.5가 나올테고, 30% 겹치면 0.3이 나올것이다. 이게 바로 IOU 이다. 다시 돌아가서 NMS란!? IOU 방법을 이용하여 나온 비율 (0~1까지) 값을 가지고 비교를 하여 겹치는 박스를 제거 하는 방법이다. 그럼 NMS 하는 순서를 한번 보겠다. 1. YOLO에서 Box Regression 후 통과한 박스들이 이렇게 나오게 된다..
딥러닝 네트워크를 판단 하는 그래프를 보면 mAP와 FPS가 적혀 있다. 과연 이게 무엇일까? FPS FPS란? (What is FPS?) FPS는 Frame Per Second의 약자이다. 즉 1초당 몇 이미지 Frame이 우리에게 보여지느냐 이것이다. 위 사진을 보면 10 FPS는 중간에 텀이 많아서 영상이 뚝 뚝 뚝 끊겨 보일 것이다. 하지만 60FPS는 끊길새 없이 계속 바뀌니 영상이 연속적으로 보일 것이다. 우리가 흔히 보는 동영상은 사실 무수히 모여진 사진이다. 인간은 보통 25 FPS를 보면 영상이 끊기지 않는다고 판단을 한다. 따라서 1초에 25장의 연속된 사진을 보여주었을 경우에, 이게 실시간성이 있다고 판단을 한다. 하지만 인간의 눈도 적응이 되는 동물인지, 60FPS 또는 120FPS..
yolo 시스템이나 기타 딥러닝 시스템에서 Probability와 Objectness 라는 것이 있다. 이 두개는 뭘까? Objectness Objectness는 이전에 한번 설명 한 적이 있다. 하지만 간단히 설명 하면, YOLO시스템을 통해 어떤 Bounding box가 검출이 된다. 이 Bounding box는 x, y, w, h, confidence로 구성된다. x, y는 박스의 중앙값이며 w, h는 넓이와 높이 이다. confidence는 박스에 객체가 있는지 없는지에 대한 확률 이다. 따라서, 내가 Objectness(Confidence threshold)를 0.3으로 두면 30% 정확도가 안된다면, 그 박스는 버려지게 된다. 즉, 박스에 객체가 있는지 없는지에 대한 정확도 이다. 무슨 객체 ..
YOLO 시스템에서 유명해진 단어 이다. 사진이 YOLO 시스템에 들어가게 되면 Boundary box가 검출이 된다. 각 box는 객체의 위치 (x, y), 객체의 크기 (w, h), box confidence score 5개를 갖게 된다. 이때 Box confidence score가 Objectness이다. 이는 Box가 객체(어떤 Class인지는 모르지만 객체가 있는지 없는지)가 있는지에 대한 가능성과 정확도를 판단한다. (ex) 내가 objectness threshold를 0.3으로 정한다면 30% 정확도 아래의 박스는 버려지게 되는 것이다. 30% 이상의 박스는 추후에 Probability 값으로 또 어떤 객체인지 분류가 된다.
문제 발생 low memory warning!! memory available for new process:... TX2보드를 깔고 YOLO 사이트에서 하라는대로 하는데 위 그림과 같이 레이어 64쯤 가서 화면이 멈추고 메모리가 죽는 경우가 있습니다. 아래와 같이 제대로 쳤는데도 말이죠. /darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights 동영상 이럴땐 Batch size의 문제가 명확합니다. YOLO를 Git clone하여 받으면 cfg파일이 training시에 사용한 batch size인 64로 되어 있기 때문이죠. 따라서 이를 수정해야 합니다. Batch size 수정 cd ~/Works/yolo/darknet/cfg gedit y..
보드에 알맞는 Compute Capability로 세팅하기 Darknet에 있는 'Makefile'에 가보면 cd /home/nvidia/Works/yolo/darknet/ gedit Makefile 아래와 같이 되어 있습니다. ARCH= 이 부분에 GPU 컴퓨팅 파워를 입력 해야 하죠. 각 Jetson의 하드웨어마다 다양한 Computing Compatibility를 갖습니다. YOLO의 Makefile에선 다른 하드웨어에서 안 돌아 갈수도 있기 때문에 다양하게 지정 할 수 있도록 되어 있습니다. 만약 허용되지 않는 아키텍쳐면 "nvcc fatal: Unsupported gpu architecture 'compute_XX'" 에러가 발생할 수 있습니다. NVIDIA 공홈을 보면 아래와 같습니다. 따라서..
원리가 간단 하면서도 연산량에 큰 영향을 주지 않는 트래킹 알고리즘 이며, opensource이기 때문에 누구나 사용 가능한 코드입니다. 요즘에 영상처리에서 Yolo나 SSD 같은 Object Detection알고리즘 결과물에 붙여서 사용 하면 더 Smooth한 결과물을 보게 될겁니다. Source Code 1. CPP 코드 https://github.com/mcximing/sort-cpp mcximing/sort-cpp C++ port of Simple online and realtime tracking(SORT) - mcximing/sort-cpp github.com 2. Python 코드 https://github.com/abewley/sort abewley/sort Simple, online, a..
start() { 저번 포스트에서는 YOLO가 무엇인지 배웠습니다. https://mickael-k.tistory.com/27?category=798520 불러오는 중입니다... 이번 포스트 에서는 YOLO를 활용해 UBUNTU에서 Pytorch를 가지고 설치 및 실행 하는 방법을 다루도록 하겠습니다. References 기본 베이스는 아래 github와 작성자의 블로그를 참조하여 진행 하였습니다. - github https://github.com/ayooshkathuria/pytorch-yolo-v3 ayooshkathuria/pytorch-yolo-v3 A PyTorch implementation of the YOLO v3 object detection algorithm - ayooshkathuria..
start() { YOLO 란? You Only Live Once가 아닌, You Only Look Once의 약어로 Joseph Redmon이 워싱턴 대학교에서 여러 친구들과 함께 2015년에 yolov1을 처음 논문과 함께 발표 했습니다. 당시만 해도 Object Detection에서는 대부분 Faster R-CNN(Region with Convolutional Neural Network)가 가장 좋은 성능을 내고 있었습니다. Yolo는 처음으로 One-shot-detection 방법을 고안하였습니다. 이 전까지는 Two-shot-detection으로 Object Detection을 구성 하였는데 실시간성이 굉장히 부족했습니다. 5~7 FPS를 가지고 어디에 쓰기 부족했죠. 그럼 Two-shot-de..
start() { 환경 설정 포스트 입니다. 이 설치 전에 아래의 'Visual Studio IDE'가 설치 되어 있어야 합니다. https://mickael-k.tistory.com/10 [Windows] Visual Studio - [1] 설치 방법 오늘은 Windows에서 프로그래밍을 시작하는데 앞서 가장 많이 사용하는 Visual Studio 설치 방법을 포스팅 합니다. 우리는 이걸 통합 개발환경 (Integrated Development Environment, IDE)라고 합니다. 여기서 C,.. mickael-k.tistory.com 환경 - Windows 10 설치 할 것 - Visual Studio - CUDA - cuDNN - OpenCV CUDA, cuDNN 설치 - 아래 포스트를 참조..
작성 中
본 포스트는 YOLO를 사용하여 원하는 정보를 얻는 작업을 어떻게 하는지 포스팅 해보고자 합니다. 목표! 1. Bounding Box 색을 를 바꾼다던지, 2. 목표물 좌표를 받아 온다던지, 3. 현재 보이는 차량 개수를 받는다던지, 4. 경고 Zone을 받는다던지, 5. 경고 Zone 안에 있는 물체만 경고를 띄운 다던지, 6. 클래스 이름을 바꾼다던지, 7. 원하는 클래스(차, 사람) 만 띄운다던지 무튼 여러가지를 할것 입니다. 여담으로 저의 목표는 나중에 RC카에 카메라를 달고, 경고 Zone 안에 물체가 있다면 정지 하거나, 물체가 없을시 다시 간다던지 하는 작업을 하려 합니다. 그리고 초음파센서나 LiDAR 와 같은 거리 센서와 융합하여 자율주행 시스템을 만들어 보려 합니다. 얼마나 걸릴지 모르..