cover

Short-form Dance Platform <LDC>

Date: 2022-09-01
Stacks:ReactPython

Project web page: https://ldc.insiro.me/

github: https://github.com/Gachon-LDC

Wiki page: https://github.com/Gachon-LDC/.github/wiki

🎥 Demo Video

https://www.youtube.com/watch?v=MHH-Wlb6VHI

📢 Presentation Video

https://www.youtube.com/watch?v=TTl6tFalaLY

⭐️ Project Overview

Developed as a department graduation project, LDC is a platform that allows users to watch and practice short-form dance content. The platform stores original dance data on the server and provides real-time analysis of users' dance movements, comparing them to the original dance and awarding a similarity score.

The project utilizes OpenPose for measuring the similarity between human body poses.

👬 Team Composition

  • 3 developers: Front-end (1), Deep learning (2), Back-End (1)
  • I was solely responsible for project planning, UI/UX design, and front-end development using React.
  • 🔨 Responsibilities

    I was solely responsible for front-end development:

  • Login/Sign-up
  • Viewing and commenting on posts
  • Displaying and recording videos for dance comparison
  • Sending image frames
  • Analyzing similarity results and displaying the scores
  • Uploading posts
  • ⚒️ Technologies and Libraries Used

  • React
  • React context
  • JavaScript
  • react-webcam
  • react-player
  • react-bootstrap
  • 📃 Project Results

    The project received positive feedback during the graduation project presentation. One of the team members submitted a paper to the KingPC academic journal, and the project documentation process was completed.

    💡 Reflections

  • It was my first time working with front-end data processing for videos, sending them to ML models, and then refining the results for display.
  • Dealing with frame-by-frame comparison of user videos and original dance videos posed challenges as the frame rates were different. It required careful consideration to ensure sending the same frames to the ML model on the server.
  • I learned the importance of correctly processing and refining data for sending and receiving, as well as presenting the results in an intuitive manner to users (establishing criteria for displaying results).
  • ← Back to project list