1. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
SW개발/HW제작 설계서
임베부스러기
김다희, 김한나, 장화영, 박혜원, 유혜정
2. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 목 차
1 / 시장/기술 동향 분석
2 / 요구사항 정의서
3 / 기능 흐름도
4 / 서비스 구성도
5 / 서비스 흐름도
6 / 프로그램 상세 로직
7 / 메뉴 구성도
8 / 화면 설계서
9 / 엔티티 관계도
한이음 ▶ 프로그램 설계서
10 / 개발 환경 및 설명
11 / 테이블 정의서
12 / 핵심 소스코드
13 / SW 기능 실사 사진
14 / HW 기능 실사 사진
3. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 시장/기술 동향 분석
한이음 ▶ 프로그램 설계서
회사명 아이템명 구체적인 서비스
그렙 모니토
응시자 모습과 문제를 푸는 모니터 화면을 동시에
녹화한다. 필기를 저장하며 눈동자 추적, 이해도 등을
분석해 데이터베이스를 축적한다.
잇올 스파르타
대리시험 행위, SNS 등으로 시험 답안 공유 행위, 시험
화면 이탈 행위, 동일 장소 담합 시험 행위, 오픈북·멀티
디바이스 시험 행위 등 온라인 시험 부정행위를
방지한다.
엠텍비젼
AI기반 온라인 강의
및 시험 감독 인증
시스템
온라인 강의 및 시험 감독 인증 시스템. 얼굴 표정과 자세,
시선 인식하고, 사용자의 패턴을 분석해 이상현상을
감지하고 경고 화면이 뜬다. 기록을 서버에 저장하고,
담당자에게 전달된다.
4. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 시장/기술 동향 분석
한이음 ▶ 프로그램 설계서
구분 차별성
S/W
영상을 녹화하여 분석하는 기존의 시스템과는 달리 실시간으로 영상을
분석하고 감독관이 응시자를 모니터링을 할 수 있으며 응시자의
이상행동을 감지한 경우 알람을 받아 조취를 취할 수 있도록 한다.
출석 인증 시스템과 부정행위 방지 시스템, 즉 두 가지 아이템이
결합되어 부정행위뿐만 아니라 온라인 학생 관리 시스템으로 새로운
플랫폼을 형성하였다.
간편한 UI를 이용하여 보다 쉽게 상용화할 수 있다.
영상처리 알고리즘을 이용하여 적은 비용으로 뛰어난 성능을 볼 수 있다.
H/W
사용되는 장비 및 재료 또한 많은 사람들이 흔히 접하는 물건이니 목적에
따라 다르게 손쉽게 개량 가능하다.
raspberry pi 와 같은 저성능 하드웨어의 해결책으로 클러스터를
이용하여 최대한의 효과를 가져올 수 있다.
5. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 요구사항 정의서
한이음 ▶ 프로그램 설계서
구분 기능 설명
S/W
FaceNet 얼굴 인식한 후, 이미지 촬영하여 데이터 수집
SVM 촬영한 이미지 데이터 분류
Tensorflow, Keras, CNN 딥러닝을 이용하여 촬영한 데이터로 학습
Motion recognition 얼굴, 동공, 자세 등의 움직임을 인식하여 분석
Image Data 송수신 기능
Desktop PC와 라즈베리파이 사이의 이미지 송수신을 가능
하게 하여 Monitoring 하는 점에 도움을 기여
H/W
Raspberry Pi Cluster 라즈베리 파이들의 병렬 연결로 추가적인 성능 얻기
PQNY board 연구목적으로 이용 가능한 성능 도출
6. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 기능 흐름도
한이음 ▶ 프로그램 설계서
1. 사전에 시험 응시자의 얼굴데이
터를 학습.
2. PI Camera을 통해 실시간으로
들어오는 인물과 학습된 인물을
비교.
3. 인물이 일치할 경우에만 시험 시
작, 일치하지 않으면 시험 응시
불가능.
4. 눈동자의 위치와 얼굴의 각도를
tracking하여, 사전에 정의한 부
정행위 기준에 부합되는 행동을
할 시, 경고 data 저장.
5. 시험 중, 부정행위 경고 최대 횟
수 초과시 강제종료.
6. 정해진 시험 시간 종료 후, 부정
행위 경고 data를 수집.
7. 수집한 data를 바탕으로 시험 응
시자의 부정행위 유,무 파악.
7. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 서비스 구성도
한이음 ▶ 프로그램 설계서
raspberry pi
Client
(pc, webcam)
Server
monitor
Server
Pc, monitor
Case 1.
Case 2.
1
2-1
3 4
Raspberry Pi
Camera Module
Case1 (비대면)
1. Real-time Image acquisition
server에서는 client의 스트리밍 영상을 실시
간으로 받아온다.
2. Image tracking
server에서 client 영상에 대한 tracking이 실
시되며, 부정행위를 확인할 수 있다.
2-1. 학습된 인물과 일치하는지 확인한다.
2-2. 부정행위 시 경고를 주고, 누적되면 프
로그램을 종료시킨다.
Case2 (대면)
3. Real-time Image acquisition
Client는 인당 하나의 캠을 사용하며,
raspberry pi로 실시간으로 영상을 보내준다.
4. Image tracking
받아온 영상의 tracking을 통해 server
monitor을 통해 부정행위를 확인한다.
*모든 과정은 실시간으로 수행됩니다*
2-2
8. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 서비스 흐름도
한이음 ▶ 프로그램 설계서
한이음 ▶ 프로그램 설계서
Case 1.
Case 2.
PI 카메라
라즈베리파이
Server PC
영상 촬영 명령
사용자의 Motion Tracking
Motion 분석
경고 Data 수집
촬영 영상 전달
영상 촬영
경고 Data 전달
영상 촬영 명령 촬영 영상 전달
Client PC
Server PC
Client PC 캠
영상 촬영
사용자의 Motion Tracking
Motion 분석
Tracking 결과 출력
Tracking 결과 출력
case1 (비대면)
1. Server PC에서 Client PC에 영상 촬영 명령
2. Client PC 캠에서 촬영한 영상을 Server PC로 전달
3. Server PC에서 사용자의 Motion 인식하고 Tracking
4. Motion을 분석하며 경고 Data를 수집
5. Server PC에서 Tracking 결과 출력
case2 (대면)
1. Server PC에서 라즈베리파이에 영상 촬영 명령
2. PI 카메라에서 촬영한 영상을 라즈베리파이로 전달
3. 라즈베리파이에서 사용자의 Motion 인식하고
Tracking
4. Motion을 분석하며 경고 Data를 수집
5. 라즈베리파이 Sever PC로 경고 Data 전송
6. Server PC에서 Tracking 결과 출력
9. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
상세 로직
<프로그램 준비 및 실행>
- 대면
1. 라즈베리파이에 캠 4개를 연결
2. 라즈베리파이에게 프로그램을 실행하기 전, CAM이 정상적으로 동작하는 지 체크
3. 프로그램을 실행하여 실시간으로 모니터에 출력
- 비대면
1. 프로그램을 실행하기 전, 통신 연결 확인
2. 프로그램을 실행하여 클라이언트가 호스트에게 영상 전송
3. 호스트는 실시간으로 클라이언트의 영상 분석
| 프로그램 상세 로직
프로그램 ID LFR 프로그램 명 인공지능 무인감독 시스템 작성일 2021.07.15 Page
개요
부정행위를 예방하기 위해 학생들은 본인의 모습을 비디오로 촬영을 하거나 감독관이 실시간으로 학생들을
모니터링을 하는 경우가 있지만 이는 시간과 비용이 많이 들 뿐만 아니라 부정행위 예방에 대한 신뢰성이 높지
못하다는 한계가 있다. 보다 효율적으로 시험자의 부정행위를 검출하기 위해 시험을 응시하는 시험자의 모습을
모션 캡처하여 대상자가 일정 각도 이상 얼굴을 움직이거나 몸을 옆으로 기울이는 불량한 자세를 취하는 등,
특이 모습이 관찰된 경우 감독관에게 알람을 보내 부정행위를 알려주는 시스템을 만들고자 한다.
작성자 김다희
한이음 ▶ 프로그램 설계서
<Tracking과 모션 분석 문제>
1. 영상 전송 Frame 변경
2. Tracking과 모션 분석 주기 늘림
< 얼굴 판별 문제>
1. 등록된 이미지 변경하여 다시 학습
2. 캠의 초점거리를 조절
3. SVM 변경 시도
10. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 메뉴 구성도 (비대면)
한이음 ▶ 프로그램 설계서
11. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 메뉴 구성도 (대면)
한이음 ▶ 프로그램 설계서
12. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 화면 설계서
한이음 ▶ 프로그램 설계서
기능 명 감독 사스템 UI
기능설명
버튼을 클릭하여 무인감독 시스템을 작동하는 UI.
손쉽게 시스템을 시작하고, 이름과 시험 시간을 입력할 수 있음.
시험 종료 후, 축적된 데이터를 보여줌.
처리내용
∎시험 시작
‘START’ 버튼을 눌러 무인감독 시스템 실행
(이름 입력 창으로 넘어감)
∎이름 입력
이름을 입력하면 동일 인물인지 판별
∎시간 입력
동일 인물로 판단되면 시험 시간을 입력
∎축적 데이터 출력
시험 종료 후, 축적된 데이터를 출력하여 부정행위자 여부 확인
비고
∎ 터치기능
: 마우스와 터치를 연동하여 무인 감독 시스템 작동
요구사항 명 계정연동 및 회원가입
13. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 화면설계서
한이음 ▶ 프로그램 설계서
비대면 <client>
14. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 화면설계서
한이음 ▶ 프로그램 설계서
15. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 엔티티관계도 - ERD
한이음 ▶ 프로그램 설계서
ERD (Entity-Relationship Diagram)
HOST
HOST_ID INT
HOST_NAME VARCHAR
TEST_TIME INT
WARNING
WARNING_ID INT
WARNING_STUDENT_ID VARCHAR
WARNING_HOST_ID INT
YELLOWCARD INT
TEST_TIME INT
FACE_MATCH INT
STUDENT
STUDENT_ID INT
STUDENT_NAME VARCHAR
TEST_TIME INT
FACE_MATCH INT
16. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 개발 환경 및 설명
한이음 ▶ 프로그램 설계서
구분 항목 적용내역
S/W
개발환경
Image
Acquisition
영상 촬영, 촬영 영상 전송
Image
Processing
촬영된 영상을 계산 및 출력
Data
communication
네트워크 상의 원격 시스템에서 명령 실행
H/W
개발환경
Clustering 성능 향상
Monitoring 모니터 결과 영상 출력
17. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 테이블 정의서 - ERD
한이음 ▶ 프로그램 설계서
샘플 2
○ 테이블 구성도
18. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 핵심소스코드(1)
한이음 ▶ 프로그램 설계서
•main.py
-프레임에서 얼굴 픽셀 값을 가져와
얼굴 픽셀을 다시 이미지로 변환.
-facenet모델의 크기 요구 사항을 충
족하도록 이미지의 크기를 조정.
-facenet모델을 사용하여 얼굴 임베
딩 실시.
-SVM모델을 사용하여 학습된 이미지
와의 예측 확률을 구함.
-확률을 바탕으로 시험 응시 여부를
판단.
19. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 핵심소스코드(2)
한이음 ▶ 프로그램 설계서
•main.py •gaze_tracking.py
20. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 핵심소스코드(2)
한이음 ▶ 프로그램 설계서
•main.py
-온라인 시험에서 부정행위를 검출하는 방법 중, 눈동자의 위치를 추적하여 사전에 정의해 놓은
눈동자의 정상 범위를 초과할 경우 부정행위 count를 증가시킴. 눈동자의 위치를 추적하는 범위
로는 오른쪽, 왼쪽, 눈 깜박임, 정면 응시 등을 기준으로 삼음.
•gaze_tracking.py
-눈동자의 정상위치 범위를 함수로 정의해 놓음.
21. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| 핵심소스코드(3)
한이음 ▶ 프로그램 설계서
•main.py
-온라인 시험에서 부정행위를 검출하는 방법 중, 응시자의 얼굴 각도를 실시간으로 추적.
-시험 중, 응시자의 얼굴이 화면에서 사라지면 경고 후, 시험을 강제 종료.
-시험이 종료 될 때 까지 응시자의 얼굴의 각도를 추적하여 상, 하, 좌, 우 15도 이상을 움직일 시,
부정행위 count증가.
22. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| S/W 기능 실사 사진
한이음 ▶ 프로그램 설계서
<얼굴 판별> <부정행위 감지 알람>
23. ※ 본문의 예시 내용을 지우고 과제 내용으로 변경하여 사용하세요
| H/W 기능 실사사진
한이음 ▶ 프로그램 설계서
<Raspberry Pi MultiCam>
<Raspberry Pi display>