한이음 ICT멘토링 프로젝트(공모전 입선)
프로젝트 영상 보러가기
안드로이드 영상 보러가기
1. 소개
2. 기획 의도
3. 주요 기능
4. 개발 기간
5. 팀원
6. 프로젝트 구조
7. 스마트미러 하드웨어 설계도
8. 스마트미러 하드웨어
9. 키넥트 관절 인식
10. 키넥트 각도 계산
11. api
- IoT 시스템 기반 스마트미러로 거울에 인공지능 서비스를 접목하여 음성인식으로 빠른 시간 안에 원하는 정보를 얻을 수 있습니다.
- 생활밀착형 스마트미러에 홈트레이닝 프로그램을 구현하여 집에서도 편하고 정확하게 운동할 수 있습니다.
- 코로나19 이후 홈트레이닝의 수요가 증가했지만, 혼자서 어떤 식으로 프로그램을 진행해야 하는지와 동작의 정확도를 모른채 운동하는 경우가 많습니다. 그러한 문제점을 해결하기 위해 운동 프로그램을 제시해주고, 잘못된 자세임을 실시간으로 피드백해주는 스마트미러를 기획하게 되었습니다.
- 날짜 및 시간, 달력 및 일정, 일기 예보 및 교통 보고서 정보 제공
- 홈트레이닝 서비스를 통해 집에서도 올바른 자세로 운동 가능
- 프로그램 종료 후 운동 종류, 시간, 횟수, 회차, 점수 확인
- 안드로이드 어플리케이션과 연결하면, 어플에서도 운동 기록 확인
- 2021년 02월 ~ 10월
- 전체적인 프로젝트 흐름은 다음과 같습니다.
- 현재 깃은 스마트 미러 웹 페이지만 다루고 있으며 안드로이드와 관련한 깃은 하단 링크를 참조해주시길 바랍니다.
- 키넥트 설치 참고 자료 : https://github.com/Kinect/PyKinect2
- 키넥트 인식 참고 자료 : https://github.com/dondongwon/kinect-exercise-detection
def get_angle_v3(p1_1, p1_2, p2_1, p2_2, p3_1, p3_2):
a = math.sqrt(pow(p1_1-p3_1,2) + pow(p1_2-p3_2, 2))
b = math.sqrt(pow(p1_1-p2_1,2) + pow(p1_2-p2_2, 2))
c = math.sqrt(pow(p2_1-p3_1,2) + pow(p2_2-p3_2, 2))
temp = (pow(b,2) + pow(c,2) - pow(a,2))/(2*b*c)
Angle = np.arccos(temp)
Angle = Angle*(180 / math.pi)
return Angle
- 관절의 좌표값을 가져와 코싸인과 역코싸인을 통해 각도를 계산하였다.
- 미세먼지 http://openapi.seoul.go.kr:8088/ (개인 인증키) /json/RealtimeCityAir/1/99
- 지하철 http://swopenapi.seoul.go.kr/api/subway/
- 구글 캘린더
- 음성인식 웹스피치API
- 날씨 https://api.openweathermap.org/data/2.5/weather?lat=${latitude}&lon=${longitude}&appid=${WEATHER_KEY}&units=metric