| 작업 | 출력 |
|---|---|
| 분류(Classification) | "이 그림은 고양이" |
| 객체 감지(Detection) | "이 그림의 (x=100, y=50, w=80, h=120) 영역에 고양이" |
| 분할(Segmentation) | "이 그림에서 고양이 픽셀 마스크" |
자율주행에는 객체 감지가 핵심입니다. "어디에 무엇이 있는지" 알아야 충돌을 피합니다.
YOLO(You Only Look Once): 영상을 한 번만 처리해 모든 객체의 클래스와 위치를 동시에 출력하는 모델 계열.
본 프로젝트는 YOLOv8n (n = nano, 가장 작은 버전)을 사용:
직접 학습 없이 사전학습된 가중치를 다운로드해 바로 사용:
from ultralytics import YOLO
model = YOLO('yolov8n.pt') # 첫 실행 시 자동 다운로드 (약 6MB)
results = model(frame)
for box in results[0].boxes:
cls = int(box.cls) # 클래스 ID
conf = float(box.conf) # 신뢰도 (0~1)
x1, y1, x2, y2 = box.xyxy[0] # 좌상-우하 좌표
python/object_detector.py는 다음 규칙을 적용:
| 감지 객체 | 동작 |
|---|---|
| 빨간 신호등 | 즉시 정지 |
| 정지 표지판 | 정지 |
| 보행자(가까움) | 즉시 정지 |
| 자전거·오토바이 | 정지 |
| 차량(가까움) | 50% 감속 |
| 차량(멀음) | 70% 속도 |
if detection['red_light'] or detection['stop_sign']:
speed = 0
elif detection['person'] or detection['bicycle']:
speed = 0
elif detection['vehicle']:
if detection['vehicle_distance'] == 'near':
speed = base_speed * 0.5
else:
speed = base_speed * 0.7
else:
speed = base_speed
traffic_light.pt)을 별도로 학습/다운로드pip install ultralytics
from ultralytics import YOLO
import cv2
model = YOLO('yolov8n.pt')
img = cv2.imread('test.jpg')
results = model(img)
# 결과 시각화
annotated = results[0].plot()
cv2.imshow('YOLO', annotated)
cv2.waitKey(0)
미션
학생용 프로그램 단계9_미니자율주행.py를 실행:
관찰
y/u 키로 실행 주기를 조절했을 때 정확도/속도 트레이드오프는?YOLO가 잘 못하는 상황을 찾아보자.
| 시나리오 | 결과 (잘 됨/못 됨) | 원인 추정 |
|---|---|---|
| 어두운 곳의 보행자 | ||
| 옆모습만 보이는 사람 | ||
| 부분적으로 가려진 차량 | ||
| 그림자 속 정지 표지판 |
고찰
자율주행차가 사고를 내면 누구의 책임? — 제조사, 소프트웨어 개발자, 운전자, 보험사
보행자 1명을 보호하면 차량 탑승자 3명이 위험할 때, AI는 누구를 살려야 하는가? 정답이 있는가? 누가 결정해야 하는가?
시각장애인·고령자에게 자율주행은 어떤 가능성을 열어주는가? 동시에 어떤 새로운 위험이 생기는가?
택시·트럭 기사 직업의 미래 / 도시 설계의 변화 (주차장, 신호등, 차로)
모둠별 입장 정리
팀당 7분 (시연 3분 + 발표 3분 + Q&A 1분)
| 항목 | 배점 |
|---|---|
| 자율주행 동작 성공도 | 30 |
| 도전 과정 설명의 명료성 | 20 |
| ACT 역량 사례의 구체성 | 20 |
| 확장 아이디어의 창의성 | 15 |
| 청중을 배려한 발표 태도 | 15 |
| 개념 | 설명 |
|---|---|
| 객체 감지 | 영상에서 객체의 클래스+위치 추출 |
| YOLO | 한 번의 추론으로 모든 객체 감지 |
| 사전학습 | 미리 학습된 가중치를 그대로 사용 |
| 신뢰도(confidence) | 모델이 그 결과를 얼마나 확신하는지 |
| 안전 로직 | 감지 결과에 따라 차량 동작 결정 |
| 자율주행 윤리 | 책임·딜레마·이동권·일자리 문제 |
| 항목 | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| YOLO를 이용해 객체를 감지할 수 있다 | |||||
| 객체 감지를 안전 로직에 연결할 수 있다 | |||||
| 자율주행의 사회적 함의에 대해 의견을 가진다 | |||||
| 최종 발표에 적극적으로 기여했다 |