Giter VIP home page Giter VIP logo

morecon's Introduction

MoRecon

MoRecon - A tool for reconstructing missing frames in motion capture data

バンダイナムコ研究所・データサイエンス・チャレンジの優勝解法です。

結果

result.mp4

解法

解法解説に使用したスライドを掲載します。

スライド1

本コンペでは、数フレームに1フレームだけデータが存在するモーションキャプチャデータが与えられ、欠落しているフレームのデータを補間します。マーカー全体で見るとポーズの補間であり、マーカー単体で見ると点と点の補間になります。

スライド3 スライド4

訓練用ファイルは全てのフレームにデータが存在し、提出用の3ファイルはそれぞれ51545フレームに1フレームのみデータが存在します。

スライド5

csvの中身は以下のようになっており、easyであれば5フレームに1フレームだけデータが入っていることが確認できます。

スライド6

モーションは「手を振る」「走る」など、大きく分けて7~8種類あります。

スライド7

実際の解法の説明に入ります。まず、モーションの種類とデータの間隔によって、ルールベース手法と機械学習手法を使い分けています。

スライド9

ルールベース手法は単なる線形補間2次スプライン補間の重み付け平均です。重みは学習データを使って最適化しています。

スライド10

機械学習手法の要点を先にまとめました。難しいことは何もしていません。

スライド11

Transformerでは、入力データの欠落部分は無視しつつ、未来の情報を与えてあげます。

スライド12

入出力データの形はcsvの2次元データそのものですが、欠落していない隣接2フレームで切り取ることで固定長にしています。そのため、データ全体を復元する際には範囲をずらしながら複数回推論していきます。

スライド13

スケルトンデータは親関節からの相対座標角度などとして計算することも可能ですが、本手法では元々格納されているワールド座標のみを使います。相対座標や角度は、ルートとなる腰マーカーの扱いが難しいというデメリットがあります。

スライド14

学習データは速度を変えてデータ拡張しています。これによってかなり精度が上がります。

スライド15

正規化によって特徴が潰れてしまうことを防ぐため、事前にモーションを原点に固定します。

スライド16 スライド17 スライド18

random seed averageと線形補間を混ぜ合わせ、重みはデータから最適化します。

スライド19 スライド20 スライド21 スライド23

質問があれば Twitter かIssueでお願いします。

スライド24

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.