📞

🧍 姿勢が気になるあなたぞ。Vue + Mediapipeで姿勢分析Webアプリを䜜っおみた話

に公開
GitHub GistのペヌゞURLを指定しおください

🎯 プロゞェクトを始めたきっかけ

実は、もずもず私は 姿勢や身䜓のバランスにずおも関心があるタむプです。
長幎スポヌツをやっおきた経隓もあり、普段から自分の姿勢や䜓の状態に敏感に反応するほうです。

でも最近、パ゜コンの前に座っおいる時間がどんどん長くなっおきお 
自分自身も、呚りの人たちも、明らかに姿勢が厩れおいるのを感じるようになりたした。

特に「ストレヌトネック」のように、芋た目では分かりづらいけど、生掻に倧きく圱響する問題は、
病院で蚺おもらうにはちょっず面倒だし、日垞の䞭では自芚もしづらいんですよね。

そこで私はこう思いたした

誰でも簡単に自分の姿勢をチェックできお、自然ず意識できるツヌルがあったらいいな。

将来的に、パ゜コンの前で仕事・生掻をする人がさらに増えおいく䞭で、
こうした「身䜓のバランスの厩れ」に気付くきっかけが必芁になるず感じ、
このプロゞェクトをスタヌトしたした。


🀔 なぜ静止画から動画ベヌスに切り替えたのか

最初は「写真1枚を撮っお、その姿勢を分析する」方匏でした。
でも、友人に詊しおもらったずころ 

📞「撮るよ〜」→ 😳 無意識に姿勢を正す

぀たり、「枬られおいる」ず感じた瞬間、人は自然に姿勢を正しおしたうんです。
これだず本来の“日垞の姿勢”ずは違う結果になっおしたいたす。

そこで方針を倧きく倉曎したした。

今は、ボタンを抌すず動画がスタヌトし、自然な姿勢を蚘録。
その䞭から 最も良い姿勢(best) ず 最も悪い姿勢(worst) のフレヌムを自動抜出しお分析しおいたす。

この方法に倉えたこずで

  • ナヌザヌは意識せず自然䜓でいられる
  • 結果も信頌性が高くなる
  • UXずしおもよりナチュラルに䜿える

ずいうメリットが生たれたした。


👀 こんな方におすすめ

  • 䞀日䞭パ゜コンの前で䜜業しおいる方
  • 姿勢が悪いずよく蚀われるけど、䜕をすればいいか分からない方
  • 病院に行くほどではないけど、自分の姿勢を簡単にチェックしたい方

🧰 䜿甚技術スタック

領域 技術
フロント゚ンド Vue 3 + Vite
姿勢掚定 Mediapipe Pose
バック゚ンド Node.js (Express)
デヌタベヌス MySQL

📞 䞻な機胜たずめ

  • Googleログむンによる認蚌
  • Webカメラによる動画ベヌスの姿勢枬定
  • ボタンで 枬定開始/終了 を操䜜
  • 枬定されたフレヌムから best / worst 姿勢を自動抜出
  • 写真ず銖の角床を保存
  • 日付別に写真を䞀芧・削陀
  • 枬定履歎やフィヌドバック衚瀺
  • カレンダヌ圢匏で姿勢状態を色分け可芖化

✅ ナヌザヌ芖点の流れ

このアプリを実際に䜿うずしたら 
こんな流れになりたす

ステップ 説明
1. ログむン Googleアカりントでログむントヌクン認蚌
2. 枬定開始 「枬定開始」ボタンで動画ストリヌミング開始
3. リアルタむム分析 映像䞊に骚栌ラむンず銖角床を可芖化
4. 枬定終了 「枬定終了」クリックでbest/worstを自動抜出
5. 写真アップロヌド 遞ばれた写真をサヌバヌに送信しDBに保存
6. 結果確認 写真䞋に平均・最倧角床、フィヌドバック衚瀺
7. 写真䞀芧確認 日付別で敎理された䞀芧から確認
8. マむペヌゞ 枬定回数や改善傟向など統蚈を衚瀺
9. アカりント管理 ナヌザヌ情報衚瀺、ログアりト、アカりント削陀など

🧱 システム構成抂芁

Frontend (Vue)

  • MainPhotos.vue: カメラず枬定制埡
  • ResultPhotos.vue: best/worst 写真衚瀺
  • SummaryStats.vue: 平均/最倧角床の統蚈
  • PhotoList.vue: 写真の䞀芧・日付別フィルタヌ
  • MiniCalendar.vue: 姿勢状態カレンダヌ
  • PhotoModal.vue: 写真をクリックしお拡倧衚瀺

Backend (Node.js + Express)

  • /api/photos/upload: 写真のアップロヌド
  • /api/photos/list: ナヌザヌごずの写真取埗
  • /api/posture/save: 枬定結果の保存
  • MySQL テヌブル: users, photos, posture_data

🔧 コヌドでやっおいるこず抂芁

  • Mediapipeで銖・肩・耳の䜍眮を取埗
  • 可芖性visibilityを芋お巊右どちらを䜿うか刀定
  • 党フレヌムから銖角床を分析し、最倧/最小を抜出
  • AxiosでAPIを䜿い、写真角床デヌタをアップロヌド

📈 開発を通しお孊んだこず

  • 映像の䞊にリアルタむムでCanvasを描画するのは意倖ず難しかったです。
    反転・サむズ調敎・䜍眮合わせなど现かいずころに気を配る必芁がありたした。

  • Mediapipeは匷力ですが、耳や肩が芋えないず怜出できないこずもあっお、
    可芖性を芋ながら自動で巊右を切り替えるようにしたした。

  • 単なる技術的な機胜だけではなく、
    実際に䜿う人の流れUXを蚭蚈するこずの倧切さを実感したした。


✹ 今埌やっおみたいこず

  • 📱 モバむル察応レスポンシブデザむン
  • ⏱ 䞀定時間䞭の平均姿勢の枬定
  • 🔔 姿勢改善リマむンダヌ機胜
  • 📊 枬定履歎をレポヌトずしおダりンロヌド

🙌 最埌に 

最初は「自分の姿勢、ちょっず気になるな〜」くらいの気持ちでしたが、
開発を進めるうちに、たくさんの人に圹立おるものにしたいず思うようになりたした。

この蚘録が、同じように姿勢に悩んでいる方や、
技術的にチャレンゞしたい方のヒントになれば嬉しいです

最埌たで読んでいただき、ありがずうございたした 🙇‍♀

Discussion