전체 글 22

Object Detection에 관한 기초 내용

Object Detection을 공부하기 전에 대략적인 기초 지식과 내용을 정리 하려고 한다. 객체 검출(Object Detection)은 영상처리나 CV 분야에서 기본적이고 또 많이 쓰이는 기법이다. 최근에는 얼굴 인식, 음성 인식, 비디오 인식, 이미지 분류 등 다양한 분야에 활용된다. 따라서 Object Detection을 공부하면서 기초적인 내용을 정리한다. Object Detection의 정의 1. Image classfication : 입력으로 들어온 이미지 안에 단일 객체(object)에 대한 종류(class)를 구분 2. Image localization : 입력으로 들어온 이미지 안에 단일 객체(object)에 대한 위치를 Boudning box를 통해 예측 3. Object Detect..

논문 리뷰 2024.04.09

[Ubuntu 20.04 LTS] terminator 설치

Ubuntu의 기본 터미널은 화면 분할이 안된다. 새창으로 터미널을 실행하는 것은 가능하다. 하지만 ROS는 많은 터미널을 실행해야 할 때가 많기 때문에 terminator를 설치하면 편하다. 설치법은 간단하다. 아래의 명령어로 설치를 진행하면 된다. $ sudo apt-get install terminator 설치가 완료되면 아래와 같이 terminator를 실행 하면된다. terminator와 관련된 단축키를 적어 보도록 하겠다. 기능 단축키 위ㆍ아래(수평)화면 분할 Ctrl + Shift + O 좌ㆍ우(수직) 화면 분할 Ctrl + Shift + E 다음 창 활성화 Ctrl + Tab 이전 창 활성화 Ctrl + Shift + Tab 현재 화면 닫기 Ctrl + Shift + W 터미널간 이동 Al..

[Ubuntu 20.04 LTS] ROS1 설치

로봇 운영체제(ROS,Robot Operating System)는 로봇 응용 프로그램을 개발할 때 필요한 하드웨어 추상화, 하위 디바이스 제어, 일반적으로 사용되는 기능의 구현, 프로세스간의 메시지 패싱, 패키지 관리, 개발환경에 필요한 라이브러리와 다양한 개발 및 디버깅 도구를 제공한다. ROS는 로봇 응용 프로그램 개발을 위한 운영체제와 같은 로봇 플랫폼이다. 이 글에서는 ROS noetic버전을 설치하도록 하겠다. ROS1의 마지막 버전이다. 1. 설치 패키지 목록에 ROS 를 추가 $ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.l..

YOLOv8 custom Train

Ultralytics의 YOLOv8은 23년 1월에 출시된 모델이다. YOLOv5를 만든 곳과 동일하다. 그래서 github 와 docs등이 인터넷에 아주 잘 설명이 되어있다. 막연히 최신버전이라고 가장 좋은 성능을 나타내는 것은 아니라고 알고 있다. 상황에 따라서 각자 가진 dataset에 따라서 적합한 모델을 사용하면 될 것 같다. 또한 YOLOv8은 아래와 같이 다양한 Task를 수행할 수 있다. 여기서는 object Detection을 중심으로 다뤄볼 예정이다. 다른 Task도 시간이 나면 다룰 예정이다. 이전 글을 보면 감이 오겠지만 YOLOv5 부터는 custom Train을 하는 방법이 큰 틀에서는 비슷한 것 같다. 파일 디렉터리의 순서, 패키지 버전만 주의하면 될듯하다. 일단 아나나콘다 환..

카테고리 없음 2024.02.05

YOLOv7 custom Train

YOLOv7은 타이완 중앙연구원 정보과학연구소(Institute of Information Science, Academia Sinica, Taiwan)의 치엔-야오 왕(Chien-Yao Wang)이 논문의 1저자이다. YOLOv7의 공식 github를 보면 Pose estimatin(자세추정), Instance segementatione 등의 기술도 지원한다. 나중에 공부할 기회가 생기면 해보고 싶은 분야이다. 앞서 말했듯이 작동환경은 이전글을 참고 바란다. 일단 아나나콘다 환경에서 아래의 명령어를 입력해 yolov7 가상환경을 생성하고 가상환경을 실행한다. $ conda create -n yolov7 pyton=3.8 $ conda activate yolov7 URL : https://github.co..

YOLOv6 custom Train

YOLOv5는 Ultralytics에서 제작되었지만 YOLOv6는 Meituan Vision AI Department 에서 제작했다. 특이하게 YOLOv6는 YOLOv7보다 늦게 나왔다. 순서대로 정리하면 5 → 7 →6 순서이다. 여기서는 성능향상 또는 모델의 구조 변경을 다루기 보다는 실제로 custom dataset을 학습 시키는것을 중점적으로 볼예정이다. YOLOv6도 우분투 20.04 LTS, 파이참 가상환경에서 실행하도록 하겠다.이과정은 YOLOv5와 별반 다르지 않다. 일단 아나나콘다 환경에서 아래의 명령어를 입력해 yolov6 가상환경을 생성하고 가상환경을 실행한다. $ conda create -n yolov6 pyton=3.8 $ conda activate yolov6 가상환경을 만든후 ..

YOLOv5 custom Train

YOLOv5는 Ultralytics에서 제작되었다. 따라서 실행환경이 YOLOv3, YOLOv4와 달라 졌는데 이번 YOLOv5는 우분투 20.04 LTS, 파이참 가상환경에서 실행하도록 하겠다. 일단 아나나콘다 환경에서 아래의 명령어를 입력해 yolov5 가상환경을 생성하고 가상환경을 실행한다. $ conda create -n yolov5 pyton=3.8 $ conda activate yolov5 가상환경을 만든후 파이참에서 다음과 같이 'vsc에서 받기'를 선택하고 URL : https://github.com/ultralytics/yolov5 을 입력해 git clone을 진행한다. 디렉토리는 사용자가 편한곳으로 설정한다. 프로젝트가 생성이 되었으면 필요한 패키지 설치를 진행하도록 하겠다. YOLO..

YOLOv4 custom Train

YOLOv1부터 YOLOv3까지 Josept Redmon이 개발을 했다. 하지만 YOLOv3 개발 이후 computer vision이 자신이 생각한 분야와는 다르게 군사적 목적으로 사용되는것이 싫어 이후 개발을 포기한다고 했다. 이후 AlexeyBochkousky가 YOLOv4 개발을 진행 했다. 하지만 custom dataset으로 train하는 방법은 YOLOv3와 차이가 없다. 따라서 많은 설명은 하지 않도록 하겠다. 환경은 우분투 20.04 LTS 에서 진행 하도록 하겠다. 사전에 설치해야할 항목들은 1. Nvidia-driver 2. CUDA, CUDNN 3. OpenCV 4. Darknet YOLOv3와 동일하게 준비가 되어 있어야 한다. custom dataset은 YOLO_mark(다른 a..

YOLOv3 custom Train

YOLOv3 custom dataset을 가지고 훈련을 진행 해보도록 하겠다. 환경은 우분투 20.04 LTS 에서 진행 하도록 하겠다. 사전에 설치해야할 항목들은 1. Nvidia-driver 2. CUDA, CUDNN 3. OpenCV 4. Darknet 이렇게 준비가 되어 있어야 한다. 준비가 완료 되었으면 custom dataset을 준비해 준다. 필자는 YOLO_mark를 이용해 준비를 해둔 상태이므로 이부분은 본 게시물에서는 설명하지 않도록 하겠다. 준비가 되었으면 다음 단계로 진행한다. Darknet 폴더로 이동해 custom_yolov3 폴더를 만들어준다. 아래의 사진처럼 5개의 파일이 있어야 한다. 준비해야할 부분을 하나씩 보도록 하겠다. 1. img 폴더 폴더 내에는 yolo_mark를..

[Ubuntu 20.04 LTS] Darknet 설치

YOLOv3, YOLOv4를 학습 시키기 위해서는 Darknet을 사용해야한다. 따라서 Darknet설치를 진행해보도록 하겠다. Darknet을 설치 하기에 앞서 아래의 요건을 충족해야한다. 1. Nvidia-driver 설치 2. CUDA 설치, Cudnn 설치 3. OpenCV 설치 설치가 완료되었으면 이제 Darknet 설치를 진행한다. Darknet에서는 두가지 종류가 있다. 현재 github에 alexab의 Darknet과 pjreddie의 Darknet이 올라와 있다. alexab의 Darknet이 업데이트도 되어있고 편리기능이 추가되어서 사용하기 훨씬 좋기 때문에 alexab의 Darknet 설치를 진행한다. https://github.com/AlexeyAB/darknet GitHub - A..