Computer Engineering/강화학습(6)
-
[강화학습] Masked Reinforcement Learning
1.Masking 기법강화학습에서는 에이전트가 가능한 모든 action 중 하나를 선택해 환경 env와 상호작용하고, reward를 최대화하도록 학습한다.그런데, 어떤 상황에서는 특정 행동이 물리적으로 불가능하거나, 규칙을 어기거나, 비효율적으로 위험할 수 있다. 이러한 경우에도 에이전트가 탐험을 위해 그러한 행동을 시도할 수 있는데, 이러한 행동은 학습 속도를 느리게 하고, 학습 실패로까지 이어질 수 있다.→ Masked RL은 이런 불필요한 행동을 미리 제거해서 학습을 더 효율적이고 안정적으로 만들 수 있다. 행동공간이 매우 크거나 복잡할 때, 안전이나 물리적 제약이 존재할 때, 학습 속도가 느릴때, 행동마가 계산 비용이 클때 마스킹 기법을 사용하면 좋다. 2. 핵심 IDEAAction Mask : ..
2025.03.25 -
[강화학습] 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