Showing
2 changed files
with
43 additions
and
13 deletions
This diff is collapsed. Click to expand it.
... | @@ -51,8 +51,9 @@ | ... | @@ -51,8 +51,9 @@ |
51 | <li> | 51 | <li> |
52 | <a href="#getting-started">Getting Started</a> | 52 | <a href="#getting-started">Getting Started</a> |
53 | <ul> | 53 | <ul> |
54 | - <li><a href="#prerequisites">Installation</a></li> | 54 | + <li><a href="#connect-to-server">Connect to Server</a></li> |
55 | - <li><a href="#installation">Initial setting</a></li> | 55 | + <li><a href="#installation">Installation</a></li> |
56 | + <li><a href="#initial-setting">Initial setting</a></li> | ||
56 | </ul> | 57 | </ul> |
57 | </li> | 58 | </li> |
58 | <li><a href="#usage">Usage</a></li> | 59 | <li><a href="#usage">Usage</a></li> |
... | @@ -73,7 +74,7 @@ | ... | @@ -73,7 +74,7 @@ |
73 | 전례 없는 COVID-19가 창궐함에 따라 전염을 막기 위한 마스크 착용은 필수 불가결의 의무가 되었고, 출입자 통제 및 기록, 마스크 착용 여부 판별에 대한 업무가 증가하고 있다.<br> | 74 | 전례 없는 COVID-19가 창궐함에 따라 전염을 막기 위한 마스크 착용은 필수 불가결의 의무가 되었고, 출입자 통제 및 기록, 마스크 착용 여부 판별에 대한 업무가 증가하고 있다.<br> |
74 | 그래서, 우리는 인공지능을 활용해 이러한 업무를 뒷받침할 수 있는 간단한 시스템을 제작해보게 되었다.<br><br> | 75 | 그래서, 우리는 인공지능을 활용해 이러한 업무를 뒷받침할 수 있는 간단한 시스템을 제작해보게 되었다.<br><br> |
75 | 76 | ||
76 | -쉽고 빠르게 머신러닝을 가능케 하는 오픈소스인 구글의 Teachable Machine 2.0을 이용한 마스크 착용 판별 프로그램입니다.<br> | 77 | +쉽고 빠르게 머신러닝을 가능케 하는 오픈소스인 구글의 Teachable Machine 2.0을 이용한 마스크 착용 판별 프로그램입니다.<br> |
77 | Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 모델을 만들었습니다.<br> | 78 | Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 모델을 만들었습니다.<br> |
78 | 이 프로그램은 웹캠을 통해 입력되는 사람의 얼굴을 실시간으로 인식해 마스크 착용 여부를 판별합니다.<br> | 79 | 이 프로그램은 웹캠을 통해 입력되는 사람의 얼굴을 실시간으로 인식해 마스크 착용 여부를 판별합니다.<br> |
79 | 마스크 착용 판별 이외에 출입자 인적사항 기록 기능과 기록을 파일화해 저장하는 기능도 제공합니다.<br> | 80 | 마스크 착용 판별 이외에 출입자 인적사항 기록 기능과 기록을 파일화해 저장하는 기능도 제공합니다.<br> |
... | @@ -85,6 +86,8 @@ Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 | ... | @@ -85,6 +86,8 @@ Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 |
85 | * [Nodejs](https://nodejs.org) | 86 | * [Nodejs](https://nodejs.org) |
86 | - [express](https://github.com/expressjs/express) | 87 | - [express](https://github.com/expressjs/express) |
87 | - [ejs](https://github.com/mde/ejs) | 88 | - [ejs](https://github.com/mde/ejs) |
89 | +* [python](https://www.python.org) | ||
90 | + * [selenium](https://selenium-python.readthedocs.io) | ||
88 | * [Teachable Machine](https://teachablemachine.withgoogle.com) | 91 | * [Teachable Machine](https://teachablemachine.withgoogle.com) |
89 | * [Kakao TTS API](https://developers.kakao.com/docs/latest/ko/voice/common) | 92 | * [Kakao TTS API](https://developers.kakao.com/docs/latest/ko/voice/common) |
90 | 93 | ||
... | @@ -94,27 +97,52 @@ Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 | ... | @@ -94,27 +97,52 @@ Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 |
94 | <!-- GETTING STARTED --> | 97 | <!-- GETTING STARTED --> |
95 | ## Getting Started | 98 | ## Getting Started |
96 | 99 | ||
100 | +### Connect to Server | ||
101 | + * https://www.khumwd.ml:8080 에 오시면 바로 실행이 가능합니다 | ||
102 | + | ||
97 | ### Installation | 103 | ### Installation |
98 | 104 | ||
105 | +#### (배포 이전)Local 에서 실행하는 방법입니다. | ||
106 | + | ||
99 | 1. Repository Clone 하기 | 107 | 1. Repository Clone 하기 |
100 | ```sh | 108 | ```sh |
101 | git clone http://khuhub.khu.ac.kr/MWD/2020-02-OSS-TermProject.git | 109 | git clone http://khuhub.khu.ac.kr/MWD/2020-02-OSS-TermProject.git |
102 | ``` | 110 | ``` |
103 | -2. NPM 패키지 설치하기 | 111 | +2. 모델 만들기 |
112 | + 1. 파이썬 모듈 설치하기(파이썬이 설치된 폴더에서) | ||
113 | + ```sh | ||
114 | + pip install -r requirements.txt | ||
115 | + ``` | ||
116 | + 2. 크롬 드라이버 설치<br> | ||
117 | + https://chromedriver.chromium.org/downloads 에 접속하여 자신의 크롬 브라우져와 맞는 버전 다운받기 | ||
118 | + 3. `google.py`에 크롬드라이버 경로 설정하기 | ||
119 | + ```python | ||
120 | + chromedriver_path = "경로" | ||
121 | + ``` | ||
122 | + 4. `google.py`실행하기 | ||
123 | + ```sh | ||
124 | + python google.py | ||
125 | + ``` | ||
126 | + 5.모델 만들기<br> | ||
127 | + https://teachablemachine.withgoogle.com 에 접속하여 /python/model 에 저장된 크롤링된 이미지들을 넣어 모델을 만든다 | ||
128 | + <br><br> | ||
129 | +3. 로컬서버 실행하기 | ||
130 | + 1. NPM 패키지 설치하기 | ||
104 | ```sh | 131 | ```sh |
105 | npm install | 132 | npm install |
106 | ``` | 133 | ``` |
107 | -3. `index.ejs`에 API 넣기 | 134 | + 2. `index.ejs`에 API 넣기 |
108 | ```JS | 135 | ```JS |
109 | const URL = 'Teachable Machine 모델의 Url을 입력'; | 136 | const URL = 'Teachable Machine 모델의 Url을 입력'; |
110 | ``` | 137 | ``` |
111 | -4. NPM을 이용해 서버 시작하기 | 138 | + 3. NPM을 이용해 서버 시작하기 |
112 | ```sh | 139 | ```sh |
113 | npm start | 140 | npm start |
114 | ``` | 141 | ``` |
142 | + | ||
115 | ### Initial setting | 143 | ### Initial setting |
116 | 1. Main page 접속<br> | 144 | 1. Main page 접속<br> |
117 | - 1.1 https://localhost:3000 으로 Main page에 접속합니다.<br><br> | 145 | + 1.1 로컬서버를 직접 열어 https://localhost:3000 으로 Main page에 접속하거나, https://www.khumwd.ml:8080 를 통해 Main page에 접속합니다.<br><br> |
118 | 2. 카메라 허용<br> | 146 | 2. 카메라 허용<br> |
119 | 2.1 카메라 권한 요청 메시지가 표시되면 허용을 선택합니다.<br><br> | 147 | 2.1 카메라 권한 요청 메시지가 표시되면 허용을 선택합니다.<br><br> |
120 | 148 | ||
... | @@ -159,10 +187,10 @@ Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 | ... | @@ -159,10 +187,10 @@ Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 |
159 | 아래 주의사항에 유의해 사용해 주세요. <br> | 187 | 아래 주의사항에 유의해 사용해 주세요. <br> |
160 | **1. 마스크 착용 여부 판별에 웹캠의 실시간 영상 데이터를 사용. 브라우저의 웹캠 접근 권한 허용 필수. 웹캠 없이도 출입자 인적사항 기록은 가능하나 마스크 착용 여부 판별은 불가.**<br> | 188 | **1. 마스크 착용 여부 판별에 웹캠의 실시간 영상 데이터를 사용. 브라우저의 웹캠 접근 권한 허용 필수. 웹캠 없이도 출입자 인적사항 기록은 가능하나 마스크 착용 여부 판별은 불가.**<br> |
161 | **2. 인터넷 브라우저별로 json 및 txt 파일 생성 방법이 달라 Internet Explorer에서는 출입자 인적사항 기록은 가능하나 저장은 불가**<br> | 189 | **2. 인터넷 브라우저별로 json 및 txt 파일 생성 방법이 달라 Internet Explorer에서는 출입자 인적사항 기록은 가능하나 저장은 불가**<br> |
162 | -**3. Internet Explorer에서 대화 상자(Prompt)의 출력 방식이 Chrome 과는 달라 대화 상자 출력 불가. 따라서 초기에 위치 입력이 불가**<br> | 190 | +**3. Internet Explorer에서 대화 상자(Prompt)의 출력 방식이 Chrome 과는 달라 대화 상자 출력 불가. 따라서 초기에 위치 입력이 불가**<br> |
163 | -**4. 출입자 인적사항을 기록한 파일을 다운로드 시 반드시 로컬의 Download 폴더에 저장됨. 저장 경로 변경 불가.**<br> | 191 | +**4. 출입자 인적사항을 기록한 파일을 다운로드 시 반드시 로컬의 Download 폴더에 저장됨. 저장 경로 변경 불가.**<br> |
164 | -**5. 웹캠 앞에서의 재빠른 움직임은 마스크 착용 여부를 정확히 판별하지 못할 수 있음.**<br> | 192 | +**5. 웹캠 앞에서의 재빠른 움직임은 마스크 착용 여부를 정확히 판별하지 못할 수 있음.**<br> |
165 | -**6. 크롬 브라우저의 특성상 첫 음성 출력에 소요되는 시간이 지연될 수 있음.**<br> | 193 | +**6. 크롬 브라우저의 특성상 첫 음성 출력에 소요되는 시간이 지연될 수 있음.**<br> |
166 | 194 | ||
167 | <!-- CONTRIBUTING --> | 195 | <!-- CONTRIBUTING --> |
168 | ## Contributing | 196 | ## Contributing |
... | @@ -185,6 +213,8 @@ Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 | ... | @@ -185,6 +213,8 @@ Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 |
185 | <a href="https://devdocs.io/express/">Express</a> | 213 | <a href="https://devdocs.io/express/">Express</a> |
186 | · | 214 | · |
187 | <a href="https://devdocs.io/node/">Node.js</a> | 215 | <a href="https://devdocs.io/node/">Node.js</a> |
216 | + · | ||
217 | +<a href="https://selenium-python.readthedocs.io">selenium</a> | ||
188 | 218 | ||
189 | <a href="https://developers.kakao.com/docs/latest/ko/voice/common">Kakao TTS API</a> | 219 | <a href="https://developers.kakao.com/docs/latest/ko/voice/common">Kakao TTS API</a> |
190 | 220 | ||
... | @@ -193,7 +223,7 @@ Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 | ... | @@ -193,7 +223,7 @@ Teachable Machine 2.0을 이용해 마스크 착용을 유형별로 학습시킨 |
193 | ## License | 223 | ## License |
194 | 224 | ||
195 | <!-- 라이센스 나중에 올리고 링크 수정 필요--> | 225 | <!-- 라이센스 나중에 올리고 링크 수정 필요--> |
196 | -GPL-v3.0 라이센스를 적용합니다. 자세한 정보는 [License][license-url]를 확인해주세요.<br> | 226 | +MIT 라이센스를 적용합니다. 자세한 정보는 [License][license-url]를 확인해주세요.<br> |
197 | 227 | ||
198 | 228 | ||
199 | 229 | ||
... | @@ -207,4 +237,4 @@ Project Link: [http://khuhub.khu.ac.kr/MWD/2020-02-OSS-TermProject](http://khuhu | ... | @@ -207,4 +237,4 @@ Project Link: [http://khuhub.khu.ac.kr/MWD/2020-02-OSS-TermProject](http://khuhu |
207 | 237 | ||
208 | 238 | ||
209 | 239 | ||
210 | -[license-url]: http://khuhub.khu.ac.kr/MWD/2020-02-OSS-TermProject/blob/master/LICENSE.txt | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
240 | +[license-url]: http://khuhub.khu.ac.kr/MWD/2020-02-OSS-TermProject/blob/master/LICENSE.txt | ... | ... |
-
Please register or login to post a comment