Computer Engineering(39)
-
[알고리즘] 1. Sorting 정렬 알고리즘
Search vs Sorting탐색: 원하는 데이터를 찾는 것 (검색)정렬: 데이터를 어떤 기준에 따라 순서대로 배치하는 것 -> 정렬은 탐색을 더 빠르게 하기 위한 사전 작업으로 자주 활용된다. SearchList: 하나 이상의 field로 구성된 record의 집합Key: 각 record를 구분하기 위해 사용하는 field (ex. 학번, ID 등) 1. Sequential Search : 순차 탐색데이터를 왼쪽에서 오른쪽, 또는 그 반대로 하나씩 검사시간 복잡도: O(n)평균적으로 비교되는 키의 수 : List 전체의 절반 정도 -> n/2template int SeqSearch(E *a, const int n, const K& k) { int i; for(i = 1; i n) retu..
2025.03.24 -
[강화학습] roboflow 실습
1. Roboflow Universe 에서 데이터셋을 가져온다. 나 같은 경우 아래와 같은 lane 데이터셋을 다운로드 받았다. https://universe.roboflow.com/duyen/lane-unzou/fork lane Instance Segmentation Dataset by duyen352 open source lane images. lane dataset by duyenuniverse.roboflow.comdownload format에서 본인이 필요로 하는 코드를 다운 받으면 된다. 나는 YOLOv8을 선택했다. 그렇게 다운로드 받은 코드를 실행하게 되면 data.yaml 파일이 들어 있는 폴더가 만들어지게 되는데, 이 폴더를 꼭 'datasets' 폴더 경로에 넣어야 한다. 2. Y..
2025.03.23 -
[강화학습] YOLO + 강화학습 환경 연동
목표YOLOv8로 실시간으로 물체(ex. 사람)를 탐지하고,해당 물체의 위치를 강화학습 환경으로 넘겨서,AI가 실제 움직임에 맞춰 따라가거나 회피하도록 반응하게 한다. 1. YOLO가 실시간으로 프레임을 분석하여 탐지된 사람의 좌표(x, y)를 추출한다. 2. 그 좌표를 강화학습 환경의 target_position으로 전달한다. 3. PPO 에이전트가 해당 좌표를 목표로 삼고 행동을 결정한다. 1. YOLO로 사람 위치 추출from ultralytics import YOLOimport cv2model = YOLO("yolov8n.pt")cap = cv2.VideoCapture(0)while cap.isOpened(): ret, frame = cap.read() if not ret: ..
2025.03.22 -
[강화학습] PPO 알고리즘
PPO: Proximal Policy Optimization 목표“이동하는 물체를 인공지능이 실시간으로 탐지하고,그 물체를 따라가거나 피하도록 AI가 스스로 학습해서 대응한다!” 1. 강화학습 환경 준비하기 pip install stable-baselines3[extra] gym numpy opencv-python 2. 강화학습 환경 만들기 - 이동 물체 추적 강화학습(PPO)은 환경(Environment) 안에서 행동하고 보상을 받으면서 스스로 배우는 구조이다. 그렇기 때문에 먼저 에이전트가 움직일 수 있는 가상의 환경을 만들어야 한다. " 에이전트(RC카 등)가 행동(Action) → 보상(Reward) → 학습(Learning) " 해야 할 일에이전트(= RC카라고 가정)의 위치 지정타겟(= 추적..
2025.03.22 -
[YOLO] YOLOv8 실시간 물체 탐지 실습
1. PyCharm 환경 만들기먼저 pycharm에서 virutualenv 의 가상환경을 설정해준다. 아래 블로그를 참고하여 가상환경 설정을 해주었다. https://yuxlog.tistory.com/17 [python] pycharm을 이용한 가상환경(virtualenv) 생성 방법주로 vscode를 사용하고 있는데, 파이참을 써야하는 상황이 생겼다. 역시나 환경설정이 제일 어렵다. 다음은 파이참 가상환경 생성하는 방법이다. 아나콘다 가상환경이 아닌 파이참 자체에서의yuxlog.tistory.com 2. 실습을 위한 필수 라이브러리를 설치한다. pip install ultralytics opencv-python numpy 참고로 다운받아야 되는 라이브러리가 많아서 시간이 생각보다 오래 걸릴 수 있다. ..
2025.03.20 -
[YOLO] YOLOv8 + DeepSORT 이동물체추적
목표YOLOv8을 사용해 실시간으로 물체를 탐지하고, DeepSORT 알고리즘을 사용해 같은 물체를 지속적으로 추적(ID 부여) 왜 필요한가?YOLO는 각 프레임에서 개별적으로 탐지 → 물체가 움직일 때 이전 프레임과 연결되지 않음DeepSORT는 이전 프레임의 물체와 현재 프레임의 물체를 비교해서 같은 물체에 ID를 부여예: "사람 1", "사람 2", "자동차 1"처럼 ID를 유지하면서 추적" 1. DeepSORT 라이브러리 설치pip install deep-sort-realtime 2. 추적 코드 작성from ultralytics import YOLOimport cv2from deep_sort_realtime.deepsort_tracker import DeepSortmodel = YOLO("yolo..
2025.03.20