2020년 3학년 1학기 인공지능 수업 과제 - Teachable Machine을 이용한 미니프로젝트
링크 : https://trusting-meninsky-bb00fc.netlify.app/
1. 프로젝트 주제 : 통증 부위에 따른 병원 분류기
2. 데이터 수집 및 분류 방법
- 병원을 치과, 내과, 이비인후과, 정형외과, 안과로 나누어 5개의 class로 분류한다.
- 이미지 데이터로 구분 가능한 통증 부위를 선정 후 병원에 맞게 분류한다.
- 안과 : 눈 / 치과 : 입, 치아 / 내과 : 배 / 이비인후과 : 코, 목, 귀 / 정형외과 : 손, 손목, 발, 발목 - 병원에 따른 부위 별 이미지 데이터를 수집한다.
- 수집 방법 : 웹캠 촬영, 인터넷 검색으로 수집
- 이미지 데이터의 조건 : 아픈 부위를 손으로 가리키는 이미지는 정확도가 매우 떨어지는 것이 확인되었다. 그 래서 학습의 정확도를 높이기 위해서 실제 아픈 부위 이미지만을 선정하였다.
- 이미지 데이터 수집 예시
4. 기능
- 주요 기능
- 학습된 통증부위 안에서 치과, 내과, 이비인후과, 정형외과, 안과의 5가지 병원 class 중 가장 정확도가 높은 class로 분류한다.
- 정확도가 0.85 ~ 1 사이의 가장 높은 정확도를 가진 병원 class에 관련된 설명이 등장한다.
- 병원 설명에는 분류된 병원 class 이름, 진료 분야, 부가적인 설명 링크(병원 명 네이버사전검 색결과 사이트) 가 포함되어 있다. (ex) 코, 목, 귀는 이비인후과 설명이 뜬다.)
- 분류되는 병원 class가 없을 경우 “어디가 아프신가요?” 라는 문구가 뜬다
- 부가적 기능
- 부위를 정확하게 웹캠에 보여주어야 하기 때문에 webcam stop과 webcam start 기능이 들어간 버튼을 만들어 webcam으로 사진을 찍는 것처럼 webcam 정지, 실행을 구현하였다.
- 사이트 왼쪽에 분류기 관련 설명과 사용방법을 작성해 두어서 사용할 때 편리함을 주고자 했다.
async function loop() {
var btn = document.getElementById('start');
if (btn.disabled != false) {
webcam.update();
}
await predict();
window.requestAnimationFrame(loop);
}
function start_on() {
var btn = document.getElementById('start');
var btn2 = document.getElementById('stop');
btn.disabled = false;
btn2.disabled = "disabled";
}
function stop_on() {
var btn = document.getElementById('stop');
var btn2 = document.getElementById('start');
btn.disabled = false;
btn2.disabled = "disabled";
}
5. 실행결과
+ 학습 시킬 때 어려웠던 점 & 아쉬웠던 점
처음에는 부위를 손가락으로 가리키는 모습의 사진으로 학습을 시켰다. 하지만 사진에서 가리키는 모습을 머신이 학습을 해서 정확하게 부위를 알아내는 것에 한계가 있었다.
--> 손과 팔 부분이 얼굴색과 동일하기 때문에 정확히 가리키는 모습이 학습되지 않는 것 같아서 사물을 통해 가리키는 것을 학습시켰다. 하지만 가리킬 때마다 모양이 다르고 포즈 분류기가 아니기 때문에 정확도가 낮았다.
--> 따라서 부위만 정확하게 가리키는 사진 데이터로만 학습을 시켜야하는 것이 아쉬웠다. 또한 정확한 부위 사진 데이터를 모으는 것이 생각보다 쉽지 않았다. 이렇게 하면 실제로 동작시킬 때에도 웹캠에 얼굴을 가져다대야 하기 때문에 불편하다.
+ 웹프로그래밍을 잘 하지 못해서 일일히 코드를 쪼개어보고 내용을 수작업으로 채웠다. 그리고 웹캠을 멈추고 다시 실행시키는 부분에 대한 것도 아주 오랜시간 검색해보고 고민한 후에 구현할 수 있었다. 고민한 시간에 비해 코드가 많이 간단했다. 정확히 어떤 코드가 웹캠에 대한 부분인지 잘 몰랐기 때문에 이러한 문제가 발생했던 것 같다.
+ 인공지능 모델에 대한 간접적인 체험을 통해 조금은 인공지능에 가까워졌던 계기 ? 잘 몰라서 조금은 고생했지만 만들고나서 뿌듯했다 !
'study > 인공지능' 카테고리의 다른 글
[데이콘 스터디] 6주차_함수 정리 (0) | 2021.02.16 |
---|---|
[데이콘 스터디] 5주차_함수 정리 (0) | 2021.01.27 |
[데이콘 스터디] 4주차_함수 정리 (0) | 2021.01.27 |
[데이콘 스터디] 2주차_ 함수 정리 (0) | 2021.01.27 |
[인공지능] 국제인공지능대전 참관 후기 (3) | 2020.11.05 |