SlideShare a Scribd company logo
1 of 15
임베디드 통신시스템 기말 프로젝트
눈 인식을 통해 판단하는 졸음운전 방지
시스템
201801740 나영조
201801759 전준표
201801760 정우영
202002981 박이형
수행 배경 및 개요
• 운전자의 졸음을 인식하고 운전자에게 인지하고 경고해줄 수
있다면 졸음운전 문제를 해결 할 수 있다고 생각
• 눈 인식 알고리즘을 통하여 졸음을 감지해주고, 운전자에게
직접적으로 피드백을 주는 프로그램을 만들고자 함
• 졸음을 감지하면?
• I2C LCD 디스틀레이로 경고 메시지를 출력
• GPIO를 사용하여 Speaker에서 경고음을 출력
• 음성합성 서비스 ‘espeak’를 통해 TTS 로 경고 메시지 음성 출력
사용된 부품들
• Jetson Nano: 라즈베리파이의 안좋은 GPU 성능을
대체하기 위해 사용
• Speaker: GPIO에 연결해 졸음을 감지하면 경고음을 울림
• I2C LCD: 졸음을 감지하면 화면에 경고 메시지 출력
• USB Web Cam: 운전자의 모습 촬영 용도
• Amp: Speaker의 출력을 돕기 위해 사용
OpenCV : 이미지 처리를 담당
Dlib : 기계학습 모델을 이용한 얼굴을 탐지를 담당
Face Detection : “One Millisecond Face Alignment
with an Ensemble of Regression Trees” 연구를
기반으로 학습된 모델을 dlib라이브러리를 이용하여
사용
Blink Detection : Eye Aspect Ratio(EAR) Algorithm 사용
Blink detection에 사용된
library 및 알고리즘
OpenCV로 이미지를 Read
Dlib library 에서 제공하는
get_frontal_face_detector 함수를 이용하여 이미지
속 얼굴의 위치를 detect
shape_predictor 함수를 이용하여 탐지된 얼굴을
68개의 점으로 변환
Face Detection
Eye Aspect Ratio(EAR) Algorithm을 이용
EAR Algorithm : 눈의 종횡 비 변화를 이용해 눈 감김을 판단하는
알고리즘
- 68개의 점 중 눈에 해당하는 36~47(右36~41, 左42~47)번 점을
이용
- 해당 점들을 이용하여 EAR rate를 계산
- EAR rate 감소 -> 눈의 종횡 비 감소 == 눈 감김
- Blink의 빈도를 count하여 졸음을 감지
Eye blink Detection
동작 Flow Chart
1. OpenCV로 얻은 영상을 한 프레임씩 읽어음
2. 하나의 프레임을 ‘페이스 디텍터’ 에 넣음
주요 코드 설명
3. 탐색된 얼굴의 랜드마크를 알아냄
- 왼쪽 눈 랜드마크: 36~41
- 오른쪽 눈 랜드마크: 42~47
4. 왼쪽과 오른쪽 눈의 감김 정도를
분석한고 눈의 랜드마크를 선으로
연결하여 보여줌
- 오른쪽 눈의 랜드마크 (36번~41번)까지의
x좌표와 y좌표 값을 구해 rightEye 행렬에 넣음
- for문을 돌면서 눈의 랜드마크 값을
cv2.line으로 이어서 선으로 보여줌
- 왼쪽 눈도 동일하게 행렬에 넣고 선으로
보여줌
5. 전에 구한 눈의 랜드마크 값을 caculate_EAR 함수에 넣고 오른쪽과 왼쪽 눈의
감김 정도의 평균을 구한다.
- 전에 구한 눈의 랜드마크 값을 caculate_EAR 함수에 넣어 눈의 감김 정도를 파악한다.
- EAR = 눈 왼쪽의 높이, 눈 오른쪽의 높이를 눈의 길이로 나눈 값
6. 만약에 EAR값이 0.19보다 작다면, 즉 눈이 감겼다고 판단되면 close 함수를
부른다.
- Close 함수는 counter 함수 안에 있기 때문에 count함수 실행
- count 함수는 호출될 때마다 count 값을 1씩 증가시키고 5초 안에 다시 호출되지
않으면 count를 다시 0으로 초기화
- Count 함수가 끝날 때 Close 함수가 호출되어 OpenCV를 통해 ‘Closed’ 텍스트 출력
7-1. close 함수를 불러 count를 증가시킨 후 콘솔에 count값 출력,
7-2. 만약 count값이 15라면, 즉 최소 5초에 한번씩 15번 깜빡였을 시
- 부저와 연결된 PWM핀의 주기와 주파수 값을 변화시키며 경고음
출력
- espeak를 통해 경고 메시지를 TTS 방식으로 출력
- I2C LCD에 경고 메시지 출력
8. 다시 1번으로 돌아가 다음 프레임에 대한 작업을
반복
- 단순히 눈을 감았다 뜨는 것이 아닌, 일정한 시간 안에 몇 번 감았는지를
계산해 운전자의 졸음 여부를 확실하고 체계적으로 감시하고 감지할 수
있음
- 졸음을 감지하면 운전자에게 시각적으로, 청각적으로 신호를 전달하여
운전자가 즉각적인 피드백을 받을 수 있도록 함
- 운전 관련 분야가 아닌 거짓말 탐지 등, 눈을 깜빡임을 인식하는 다른
다양한 분야에도 쓰일 수 있음
장점, 기대 효과
역할 분담
- 나영조: PPT 제작, 참조 프로그램 코드 분석
- 전준표: blinking 알고리즘 분석, 동작 구현, PPT 제작
- 정우영: blinking 알고리즘 분석, 플로우 차트 설계
- 박이형, 설계, 영상 촬영 및 편집, 동작 구현

More Related Content

What's hot

Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션Seongjun Kim
 
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Suhyun Cho
 
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境RustによるGPUプログラミング環境
RustによるGPUプログラミング環境KiyotomoHiroyasu
 
Asynchronous Programming at Netflix
Asynchronous Programming at NetflixAsynchronous Programming at Netflix
Asynchronous Programming at NetflixC4Media
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)Kyunghwan Kim
 
FixMatch:simplifying semi supervised learning with consistency and confidence
FixMatch:simplifying semi supervised learning with consistency and confidenceFixMatch:simplifying semi supervised learning with consistency and confidence
FixMatch:simplifying semi supervised learning with consistency and confidenceLEE HOSEONG
 
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020onozaty
 
[DL輪読会]Active Domain Randomization
[DL輪読会]Active Domain Randomization[DL輪読会]Active Domain Randomization
[DL輪読会]Active Domain RandomizationDeep Learning JP
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心Shota Imai
 
【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World ModelsDeep Learning JP
 
SimGAN 輪講資料
SimGAN 輪講資料SimGAN 輪講資料
SimGAN 輪講資料Genki Mori
 
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...Shoki Miyagawa
 
A3Cという強化学習アルゴリズムで遊んでみた話
A3Cという強化学習アルゴリズムで遊んでみた話A3Cという強化学習アルゴリズムで遊んでみた話
A3Cという強化学習アルゴリズムで遊んでみた話mooopan
 
Dataset for Semantic Urban Scene Understanding
Dataset for Semantic Urban Scene UnderstandingDataset for Semantic Urban Scene Understanding
Dataset for Semantic Urban Scene UnderstandingYosuke Shinya
 
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Platform - Japan
 
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)Shota Imai
 

What's hot (20)

Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
Gazebo, 9개의 파일로 간단히 시작하는 로봇 시뮬레이션
 
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)
 
RustによるGPUプログラミング環境
RustによるGPUプログラミング環境RustによるGPUプログラミング環境
RustによるGPUプログラミング環境
 
Asynchronous Programming at Netflix
Asynchronous Programming at NetflixAsynchronous Programming at Netflix
Asynchronous Programming at Netflix
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
 
FixMatch:simplifying semi supervised learning with consistency and confidence
FixMatch:simplifying semi supervised learning with consistency and confidenceFixMatch:simplifying semi supervised learning with consistency and confidence
FixMatch:simplifying semi supervised learning with consistency and confidence
 
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
 
Dynamic Pricing
Dynamic PricingDynamic Pricing
Dynamic Pricing
 
[DL輪読会]Active Domain Randomization
[DL輪読会]Active Domain Randomization[DL輪読会]Active Domain Randomization
[DL輪読会]Active Domain Randomization
 
強化学習における好奇心
強化学習における好奇心強化学習における好奇心
強化学習における好奇心
 
【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models【DL輪読会】Mastering Diverse Domains through World Models
【DL輪読会】Mastering Diverse Domains through World Models
 
SimGAN 輪講資料
SimGAN 輪講資料SimGAN 輪講資料
SimGAN 輪講資料
 
強化学習3章
強化学習3章強化学習3章
強化学習3章
 
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
FineDiving: A Fine-grained Dataset for Procedure-aware Action Quality Assessm...
 
A3Cという強化学習アルゴリズムで遊んでみた話
A3Cという強化学習アルゴリズムで遊んでみた話A3Cという強化学習アルゴリズムで遊んでみた話
A3Cという強化学習アルゴリズムで遊んでみた話
 
Dataset for Semantic Urban Scene Understanding
Dataset for Semantic Urban Scene UnderstandingDataset for Semantic Urban Scene Understanding
Dataset for Semantic Urban Scene Understanding
 
Node.js入門
Node.js入門Node.js入門
Node.js入門
 
Deep Reinforcement Learning
Deep Reinforcement LearningDeep Reinforcement Learning
Deep Reinforcement Learning
 
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps OnlineGoogle Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
Google Cloud Game Servers 徹底入門 | 第 10 回 Google Cloud INSIDE Games & Apps Online
 
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
強化学習エージェントの内発的動機付けによる探索とその応用(第4回 統計・機械学習若手シンポジウム 招待公演)
 

Similar to 임통신 기말 프로젝트 PPT.pptx

Pose Graph based SLAM
Pose Graph based SLAMPose Graph based SLAM
Pose Graph based SLAMEdwardIm1
 
200819 NAVER TECH CONCERT 01_100만 달러짜리 빠른 앱을 만드는 비법 전수
200819 NAVER TECH CONCERT 01_100만 달러짜리 빠른 앱을 만드는 비법 전수200819 NAVER TECH CONCERT 01_100만 달러짜리 빠른 앱을 만드는 비법 전수
200819 NAVER TECH CONCERT 01_100만 달러짜리 빠른 앱을 만드는 비법 전수NAVER Engineering
 
100만 달러짜리 빠른앱 만드는 비법
100만 달러짜리 빠른앱 만드는 비법100만 달러짜리 빠른앱 만드는 비법
100만 달러짜리 빠른앱 만드는 비법SooHwan Ok
 
Let'Swift 2022 PencilKit과 Point in Polygon 알고리즘을 활용한 올가미 툴 개발기
Let'Swift 2022 PencilKit과 Point in Polygon 알고리즘을 활용한 올가미 툴 개발기Let'Swift 2022 PencilKit과 Point in Polygon 알고리즘을 활용한 올가미 툴 개발기
Let'Swift 2022 PencilKit과 Point in Polygon 알고리즘을 활용한 올가미 툴 개발기Haeseok Lee
 
동물 홍채인식부터 서버까지
동물 홍채인식부터 서버까지동물 홍채인식부터 서버까지
동물 홍채인식부터 서버까지진성 정
 
Start io t_with_raspberrypi
Start io t_with_raspberrypiStart io t_with_raspberrypi
Start io t_with_raspberrypiYeonah Ki
 
micro:bit 프로그래밍 기초
micro:bit 프로그래밍 기초 micro:bit 프로그래밍 기초
micro:bit 프로그래밍 기초 Jong-Hyun Kim
 
Animal iris recognition
Animal iris recognitionAnimal iris recognition
Animal iris recognition진성 정
 
숫자 구분자 처리 (Digit group separators)
숫자 구분자 처리 (Digit group separators)숫자 구분자 처리 (Digit group separators)
숫자 구분자 처리 (Digit group separators)중선 곽
 
optimize
optimizeoptimize
optimizeneoact
 

Similar to 임통신 기말 프로젝트 PPT.pptx (11)

Pose Graph based SLAM
Pose Graph based SLAMPose Graph based SLAM
Pose Graph based SLAM
 
200819 NAVER TECH CONCERT 01_100만 달러짜리 빠른 앱을 만드는 비법 전수
200819 NAVER TECH CONCERT 01_100만 달러짜리 빠른 앱을 만드는 비법 전수200819 NAVER TECH CONCERT 01_100만 달러짜리 빠른 앱을 만드는 비법 전수
200819 NAVER TECH CONCERT 01_100만 달러짜리 빠른 앱을 만드는 비법 전수
 
100만 달러짜리 빠른앱 만드는 비법
100만 달러짜리 빠른앱 만드는 비법100만 달러짜리 빠른앱 만드는 비법
100만 달러짜리 빠른앱 만드는 비법
 
Let'Swift 2022 PencilKit과 Point in Polygon 알고리즘을 활용한 올가미 툴 개발기
Let'Swift 2022 PencilKit과 Point in Polygon 알고리즘을 활용한 올가미 툴 개발기Let'Swift 2022 PencilKit과 Point in Polygon 알고리즘을 활용한 올가미 툴 개발기
Let'Swift 2022 PencilKit과 Point in Polygon 알고리즘을 활용한 올가미 툴 개발기
 
동물 홍채인식부터 서버까지
동물 홍채인식부터 서버까지동물 홍채인식부터 서버까지
동물 홍채인식부터 서버까지
 
Start io t_with_raspberrypi
Start io t_with_raspberrypiStart io t_with_raspberrypi
Start io t_with_raspberrypi
 
micro:bit 프로그래밍 기초
micro:bit 프로그래밍 기초 micro:bit 프로그래밍 기초
micro:bit 프로그래밍 기초
 
Animal iris recognition
Animal iris recognitionAnimal iris recognition
Animal iris recognition
 
숫자 구분자 처리 (Digit group separators)
숫자 구분자 처리 (Digit group separators)숫자 구분자 처리 (Digit group separators)
숫자 구분자 처리 (Digit group separators)
 
optimize
optimizeoptimize
optimize
 
op
opop
op
 

임통신 기말 프로젝트 PPT.pptx

  • 1. 임베디드 통신시스템 기말 프로젝트 눈 인식을 통해 판단하는 졸음운전 방지 시스템 201801740 나영조 201801759 전준표 201801760 정우영 202002981 박이형
  • 2. 수행 배경 및 개요 • 운전자의 졸음을 인식하고 운전자에게 인지하고 경고해줄 수 있다면 졸음운전 문제를 해결 할 수 있다고 생각 • 눈 인식 알고리즘을 통하여 졸음을 감지해주고, 운전자에게 직접적으로 피드백을 주는 프로그램을 만들고자 함 • 졸음을 감지하면? • I2C LCD 디스틀레이로 경고 메시지를 출력 • GPIO를 사용하여 Speaker에서 경고음을 출력 • 음성합성 서비스 ‘espeak’를 통해 TTS 로 경고 메시지 음성 출력
  • 3. 사용된 부품들 • Jetson Nano: 라즈베리파이의 안좋은 GPU 성능을 대체하기 위해 사용 • Speaker: GPIO에 연결해 졸음을 감지하면 경고음을 울림 • I2C LCD: 졸음을 감지하면 화면에 경고 메시지 출력 • USB Web Cam: 운전자의 모습 촬영 용도 • Amp: Speaker의 출력을 돕기 위해 사용
  • 4. OpenCV : 이미지 처리를 담당 Dlib : 기계학습 모델을 이용한 얼굴을 탐지를 담당 Face Detection : “One Millisecond Face Alignment with an Ensemble of Regression Trees” 연구를 기반으로 학습된 모델을 dlib라이브러리를 이용하여 사용 Blink Detection : Eye Aspect Ratio(EAR) Algorithm 사용 Blink detection에 사용된 library 및 알고리즘
  • 5. OpenCV로 이미지를 Read Dlib library 에서 제공하는 get_frontal_face_detector 함수를 이용하여 이미지 속 얼굴의 위치를 detect shape_predictor 함수를 이용하여 탐지된 얼굴을 68개의 점으로 변환 Face Detection
  • 6. Eye Aspect Ratio(EAR) Algorithm을 이용 EAR Algorithm : 눈의 종횡 비 변화를 이용해 눈 감김을 판단하는 알고리즘 - 68개의 점 중 눈에 해당하는 36~47(右36~41, 左42~47)번 점을 이용 - 해당 점들을 이용하여 EAR rate를 계산 - EAR rate 감소 -> 눈의 종횡 비 감소 == 눈 감김 - Blink의 빈도를 count하여 졸음을 감지 Eye blink Detection
  • 8. 1. OpenCV로 얻은 영상을 한 프레임씩 읽어음 2. 하나의 프레임을 ‘페이스 디텍터’ 에 넣음 주요 코드 설명
  • 9. 3. 탐색된 얼굴의 랜드마크를 알아냄 - 왼쪽 눈 랜드마크: 36~41 - 오른쪽 눈 랜드마크: 42~47
  • 10. 4. 왼쪽과 오른쪽 눈의 감김 정도를 분석한고 눈의 랜드마크를 선으로 연결하여 보여줌 - 오른쪽 눈의 랜드마크 (36번~41번)까지의 x좌표와 y좌표 값을 구해 rightEye 행렬에 넣음 - for문을 돌면서 눈의 랜드마크 값을 cv2.line으로 이어서 선으로 보여줌 - 왼쪽 눈도 동일하게 행렬에 넣고 선으로 보여줌
  • 11. 5. 전에 구한 눈의 랜드마크 값을 caculate_EAR 함수에 넣고 오른쪽과 왼쪽 눈의 감김 정도의 평균을 구한다. - 전에 구한 눈의 랜드마크 값을 caculate_EAR 함수에 넣어 눈의 감김 정도를 파악한다. - EAR = 눈 왼쪽의 높이, 눈 오른쪽의 높이를 눈의 길이로 나눈 값
  • 12. 6. 만약에 EAR값이 0.19보다 작다면, 즉 눈이 감겼다고 판단되면 close 함수를 부른다. - Close 함수는 counter 함수 안에 있기 때문에 count함수 실행 - count 함수는 호출될 때마다 count 값을 1씩 증가시키고 5초 안에 다시 호출되지 않으면 count를 다시 0으로 초기화 - Count 함수가 끝날 때 Close 함수가 호출되어 OpenCV를 통해 ‘Closed’ 텍스트 출력
  • 13. 7-1. close 함수를 불러 count를 증가시킨 후 콘솔에 count값 출력, 7-2. 만약 count값이 15라면, 즉 최소 5초에 한번씩 15번 깜빡였을 시 - 부저와 연결된 PWM핀의 주기와 주파수 값을 변화시키며 경고음 출력 - espeak를 통해 경고 메시지를 TTS 방식으로 출력 - I2C LCD에 경고 메시지 출력 8. 다시 1번으로 돌아가 다음 프레임에 대한 작업을 반복
  • 14. - 단순히 눈을 감았다 뜨는 것이 아닌, 일정한 시간 안에 몇 번 감았는지를 계산해 운전자의 졸음 여부를 확실하고 체계적으로 감시하고 감지할 수 있음 - 졸음을 감지하면 운전자에게 시각적으로, 청각적으로 신호를 전달하여 운전자가 즉각적인 피드백을 받을 수 있도록 함 - 운전 관련 분야가 아닌 거짓말 탐지 등, 눈을 깜빡임을 인식하는 다른 다양한 분야에도 쓰일 수 있음 장점, 기대 효과
  • 15. 역할 분담 - 나영조: PPT 제작, 참조 프로그램 코드 분석 - 전준표: blinking 알고리즘 분석, 동작 구현, PPT 제작 - 정우영: blinking 알고리즘 분석, 플로우 차트 설계 - 박이형, 설계, 영상 촬영 및 편집, 동작 구현