졸업 작품을 준비하면서 모바일 어플리케이션 서비스를 준비하는데 어떻게 서버를 구성할지, 그리고 모바일 서버에 대한 지식이 쌓기 위해 포스팅으로 정리하여 보았다. 이전글에 이어서 작성하였다.
2025.01.14 - [CV/프로젝트] - [Project] 모바일 서버 구축을 준비해보자 1
[Project] 모바일 서버 구축을 준비해보자 1
졸업 작품을 준비하면서 모바일 어플리케이션 서비스를 준비하는데 어떻게 서버를 구성할지, 그리고 모바일 서버에 대한 지식이 쌓기 위해 포스팅으로 정리하여 보았다. 먼저 나와 비슷한 궁
c0mputermaster.tistory.com
먼저 우리는 실내 스포츠를 대상으로 실시간 영상을 분석하여 자세 교정 + 피드백, 하이라이트 추출, 점수판 자동 기록 등을 제공하는 앱/서비스를 만들것이기 때문에 서버에서 어떤 데이터를 주고 받아야하는지 정리해보았다.
1. 영상 데이터
- 비디오: 사용자가 촬영하는 실시간 스포츠 영상 데이터를 받아서 분석 화면에 보여줄 영상 데이터(박스나 Pose point등이 추가된). 아마 MP4?, WebM, RTSP
- 프레임: 비디오로 보내거나 프레임으로 보낼것으로 예상됨
2. 사용자 피드백 및 데이터
- 사용자 정보: 사용자 식별을 위한 ID, 비밀번호, 선수의 프로필, 이전 기록 등.
- 현재 경기 정보: 경기 진행 시간, 점수, 팀 정보, 선수 상태 등.
- 운동 목표 설정: 사용자가 설정한 목표 (예: 특정 자세 개선 목표, 점수 목표 등).
- 사용자 입력: 사용자가 제공하는 실시간 피드백이나 설정 값 (예: 운동 강도, 운동 종류 등).
3. 동작 분석을 위한 컴퓨터 비전 데이터
- 객체 감지: 사람, 또는 공을 추적한 위한 객체 감지 데이터 (예: YOLO, OpenPose 등 사용). [영상데이터로 대체 가능]
- 자세 분석: 신체 부위 추적을 통한 자세 분석 데이터를 (예: 팔꿈치, 무릎, 어깨 등의 위치 추적). point보다는 분석이 완료된 데이터
- 운동 분석: 운동의 정확성, 일관성, 회전 및 방향성 등을 평가하기 위한 프레임별 동작 분석 데이터.
5. 경기 관련 데이터
- 점수 및 시간: 실시간 점수판 데이터 (예: 득점, 타이머, 경기 상태 등).
- 경기 규칙 및 설정: 경기에 따른 규칙, 경기 시간, 승패 조건 등.
6. 네트워크 및 시스템 상태 데이터
- 네트워크 속도: 스트리밍 품질을 평가하기 위한 네트워크 지연 및 대역폭 정보.
- 서버 상태: 서버의 처리 성능, 응답 시간 등을 모니터링하여 실시간 피드백 지연을 최소화.
7. 외부 데이터 (Optional)
- 날씨 정보: 실내 스포츠라도 외부 환경이 영향을 줄 수 있는 경우 (예: 공기 질, 온도 등).
- 경기 일정 및 통계: 리그나 대회 관련 데이터 (선수 통계, 팀 기록 등).
필수 데이터 / 선택
필수로 처리해야하는 데이터만도 꽤나 필요하여 서버가 이것과 객체 감지를 할 수 있을지 GPU 서버를 이용해야 하는지 걱정이다.
https://youtu.be/P6CRAk-s95Q?si=T7K_DzWm6OVAtu9L
이번에는 앱 서버하면 자주 등장하는 파이어 베이스를 알아보았습니다.
이 영상은 앱 개발에 있어서 서버 구성과 Google 파이어베이스 활용 방법을 명확하게 설명합니다. 파이어베이스는 데이터베이스 관리와 서버 기능을 최소화하여, 사용자가 복잡한 설정 없이도 손쉽게 데이터를 저장하고 관리할 수 있도록 돕습니다. 또한, 다양한 API를 통해 실시간 데이터 처리 및 로깅 기능을 제공하는 내용을 다룹니다. 이 영상은 앱 개발 시 필요한 기초 지식을 제공하며, 효율적인 데이터 관리를 위한 실용적인 접근법을 제시합니다. 파이어베이스를 통해 더욱 쉬운 앱 개발과 데이터베이스 관리를 경험할 수 있는 기회를 제공합니다.
- 앱 개발에서 서버 구성에 대한 질문을 받았으며, Google의 파이어베이스 활용에 대해 답변을 준비하였다.
- 많은 경우 서버는 데이터를 저장하는 주 기능을 가지고 있으며, 특정 상황에서는 외부 API만으로 충분할 수 있다.
- 외부 API를 활용하면 직접 서버를 운영할 필요 없이, 공공데이터 API나 네이버, 카카오 API 등을 통해 앱에서 처리가 가능하다.
- 로그인과 데이터 저장의 경우에 서버가 필요하며, 사용자의 특별한 정보를 저장하고 싶을 때 AWS 계정 및 인스턴스를 구성해야 한다.
- AWS 인스턴스는 가상 서버로, 이를 통해 자신만의 API를 만들어 데이터 관리를 할 수 있다고 한다.

- 앱에서 API를 생성하여 데이터를 2TB까지 저장할 수 있으며, 일반적으로 MySQL을 사용해 테이블을 만들고 데이터를 저장한다.
- Node.js를 사용하면 API를 쉽게 만들 수 있으며, 이로 인해 데이터베이스와의 연결을 통해 다양한 서버 작업을 수행할 수 있다.
- 파이어베이스는 직접 서버를 만들지 않고도 데이터를 저장할 수 있는 API 서비스로, 사용자가 직접 서버를 운영하지 않고도 API를 호출하여 데이터를 저장 가능하다.
- 파이어베이스는 리얼타임 데이터베이스이며, 무료로 이용할 수 있지만 일정 용량 이상 사용 시 비용이 발생할 수 있다.
- 복잡한 데이터베이스 설계를 필요로 하지 않는 간단한 앱에서도 사용 가능하며, 사용자가 직접 서버나 데이터베이스를 설정하지 않아도 데이터를 저장할 수 있다.
파이어베이스를 활용한 DB 구축의 기초

- 파이어베이스는 편리한 로그인 기능과 실시간 데이터베이스 기능을 제공해서 앱 개발에 유용하다.
- 오프라인 상황에서도 앱이 원래 기능을 수행할 수 있도록 예외 처리를 지원해준다.
- DB 연결 및 데이터 교환이 가능한 간단한 플랫폼을 통해 손쉽게 설정할 수 있다.
- 앱 등록을 위해서는 패키지 이름을 설정해야 하며, 이는 앱이 다음 단계에서 인식될 때 중요하다.
- 파이어베이스의 모니터링 기능을 활용하면 사용자 데이터 및 API 호출을 추적할 수 있다.
그 이후 앱 개발 및 Firebase 설정 과정을 설명하여 주는데 생략하였다.

- 파이어베이스의 주소와 패키지명을 알아야 서버에 연결할 수 있다. 기본적으로 필요한 정보들은 접속 위치와 패키지명으로, 이를 통해 연결이 가능하다.
- 서버 통신을 위한 제이슨(Jason) 통신이 이루어지고 있으며, 이를 통해 텍스트 값이 저장되고 변경될 수 있다.
- 입력된 데이터를 제이슨 형태로 추가하고, 여러 항목과 값을 쌓아갈 수 있는 구조로 설정할 수 있다.
- 파이어베이스의 사용은 상대적으로 간단한 코드로 가능하며, 필요에 따라 기존의 복잡한 구성보다 더 쉽게 활용할 수 있다.
- 연결 방법을 참고하여 서버와 통신하는 기초를 이해하는 것이 필수적이며, 이를 통해 더 발전된 구조로 나아갈 수 있다.
서버 구성의 중요성

- 서버 구성은 앱의 성능과 안정성에 큰 영향을 미친다.
- 올바른 서버 구조는 데이터 처리 속도를 개선하고 사용자 경험을 향상시킨다.
- 파이어베이스(Firebase)는 복잡한 서버 세팅 없이 빠르게 개발할 수 있는 솔루션으로 인식된다.
- 다양한 기능을 제공하는 파이어베이스를 활용하면 백엔드 문제를 간소화할 수 있다.
- 서버 구성에 대한 이해는 앱의 전반적인 성공을 위해 필수적이다.
- 파이어베이스를 사용하면 실시간 데이터베이스, 인증, 호스팅 등 여러 기능을 손쉽게 통합할 수 있다.
하지만 Firebase는 주로 클라이언트-서버 간의 데이터 저장과 처리, 인증 등의 백엔드 서비스를 제공하는 플랫폼이므로, AI 모델을 직접 실행하고 결과를 처리하는 부분은 Firebase만으로 처리하기에는 제한이 예상됨
https://gyeombi.tistory.com/55
[졸업작품 프로젝트] 애플리케이션에 모델 탑재하기
1. 앞서 학습한 yolo tiny model을 이식하기 위한 방법을 조사했다. 내가 조사한 방법으로는 2가지가 존재했다. 1) Tensorflow 이식하기 위해 모델을 pb확장자로 변경해야한다. pb확장자 변환기가 오픈소
gyeombi.tistory.com
안드로이드에서 직접 처리한 케이스도 존재하긴함
'Technology Notes' 카테고리의 다른 글
| [Project] Qualcomm 루빅 파이(RUBIK Pi) 사용해보기 (3) | 2025.03.05 |
|---|---|
| [Project] Qualcomm Ai Hub 사용해보기 (3) | 2025.03.03 |
| [Docker] 도커와 컨테이너 알아보기 (0) | 2025.02.16 |
| [Framework] 딥러닝/머신러닝 프레임워크 알아보기 (0) | 2025.02.14 |
| [Project] 모바일 서버 구축을 준비해보자 1 (4) | 2025.01.14 |