Ego4Dのはじめ方

# はじめに
先日Ego-Exo4Dに関する記事を書いたため、Ego4Dの記事も書こうと思いました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3085757/22f89551-782d-3149-7de1-d731fef6991d.png)


Ego-Exo4Dに関しては以下の記事を御覧ください

https://qiita.com/ryhara/items/af477aceb7f266d36f1a

# Ego4Dとは
世界74箇所、9か国で収集された、合計3670時間を超える日常的な動作を含む、一人称視点の大規模データセットとベンチマークである。
詳細は以下の動画や参考文献を御覧ください。

https://youtu.be/taC2ZKl9IsE

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3085757/ef90b48a-245b-c717-d375-529882754f07.png)

[Ego4D論文](https://openaccess.thecvf.com/content/CVPR2022/papers/Grauman_Ego4D_Around_the_World_in_3000_Hours_of_Egocentric_Video_CVPR_2022_paper.pdf)Figure1より引用

# Ego4Dのはじめ方
## Start Here
大まかな流れは以下のようになります
1. 公式サイト[Start Here](https://ego4d-data.org/docs/start-here/)にアクセス
1. https://ego4ddataset.com/ego4d-license/ からライセンスに同意
1. [Benchmark](https://ego4d-data.org/docs/benchmarks/overview/)や[Annotation](https://ego4d-data.org/docs/data/annotation-guidelines/)を読んで、データセットの概要を確認する
1. CLIをダウンロードする
1. CLIを用いてデータセットをダウンロードする
---
### Ego4D License Agreement
以下のような画面が表示されるため、必要事項を入力し提出します。（英語で）
すぐに記入したメールアドレス宛に同意書が送られてくるので、サインを記入して、同意します。


通常48時間で承認されるそうです。（私もちょうど２日後にメールが来ていました。）
メールで承認の旨と、アクセスID、アクセスキーが送れられてくるので破棄しないように気を付けましょう。

![スクリーンショット 2024-02-18 16.02.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3085757/9f3adc17-e577-4db1-1def-c529d26db98a.png)

:::note info
Ego-Exo4Dをすでに登録している人へ
Ego4DとEgo-Exo4D、両方に同じ情報で登録しても何も問題ありませんでした。
一応別のキーが発行されますが、どちらを使用しても変わりは無い気がしています。
:::

:::note warn
注意
ライセンスの認証情報は14日で期限が切れます。
期限が切れたら、再度申請を行う必要があります。同じ情報を入力した場合、すぐに承認されます。
また、アクセスキーは共有したり、Githubに公開しないように注意しましょう。
:::
---
### Browse The Dataset
承認されるまでの間にデータセットについて確認します。


- [Annotation](https://ego4d-data.org/docs/data/annotation-guidelines/)
- [Videos](https://ego4d-data.org/docs/data/videos/)
...
サイドバーのDataという欄に、データの種類ごとに詳細が記載されています。
ざっくりどのようなデータ形式かなどを確認したら、あとは使用する際によく読めば良いと思います。

- [Benchmark](https://ego4d-data.org/docs/benchmarks/overview/)
Ego4Dはこれらの一人称視点のデータセットに対する、ベンチマークも公開しています。
これらのベンチマークに基づく、コンペティションが[CVPR 2024](https://egovis.github.io/cvpr24/)でも開催されています。

- [Visualization Tool Document](https://ego4d-data.org/docs/viz/)
- [Visualization Tool](https://visualize.ego4d-data.org/)
可視化ツールのアクセスには承認後に発行されるアクセスIDが必要です
ログインすると以下のような一覧画面が表示されます。Ego4DとEgo-Exo4D両方に登録をした後右上のボタンからデータセットのバージョンを選択できるようになりました。
Ego4Dのみの登録だと、Ego-Exo4dが使えるかはわかりません。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3085757/c46b82c1-289c-f485-aaaa-f8ce864a59a4.png)

---
### Download The CLI
公式リポジトリ [Ego4d/ego4d/cli/README.md](https://github.com/facebookresearch/Ego4d/blob/main/ego4d/cli/README.md)を参考に設定を行います。
```shell:install
pip install ego4d
```



awsにデータセットが置かれていて、ego4dを用いてデータをダウンロードする際に内部的に**AWS CLI**を使用しているようです。そのため**AWS CLI**の設定について書かれている欄について必ず設定を行ってください。


以下のQiita記事の「公式ドキュメント、リポジトリを読んだだけではわかりにくい点」 という項目でAWSの設定方法を解説しています。これはEgo4DもEgo-Exo4Dで共通なので参考にしてください。

https://qiita.com/ryhara/items/af477aceb7f266d36f1a#%E5%85%AC%E5%BC%8F%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%82%92%E8%AA%AD%E3%82%93%E3%81%A0%E3%81%A0%E3%81%91%E3%81%A7%E3%81%AF%E3%82%8F%E3%81%8B%E3%82%8A%E3%81%AB%E3%81%8F%E3%81%84%E7%82%B9

### ダウンロード例
Ego-Exo4Dと比較すると、データのおおよそのサイズが記載されているため良心的です
かなり容量があるので、本当に使うデータセットに絞ってダウンロードするのが良さそうです。

ダウンロードの詳細やオプションもEgo-Exo4Dに比べて詳しく書かれているので公式ドキュメントを参考にしてください

- [Ego4D Github Repository README](https://github.com/facebookresearch/Ego4d/blob/main/ego4d/cli/README.md)
- [Ego4D Dataset Download CLI](https://ego4d-data.org/docs/CLI/)

### 実装
実装は以下のサイト等が参考になります。
Ego4DのコンペティションがCVPR2023で開催されていたため、それに関するものを探すと良い例が沢山見つけられると思います。
- 公式リポジトリの[notebook](https://github.com/facebookresearch/Ego4d/tree/main/notebooks)
- [「Ego4D Challenge 2023」 の長期動作予測部門で、準優勝　- 研究開発 - パナソニック コネクト](https://connect.panasonic.com/jp-ja/about/who-we-are/research/cvpr2023)
Ego4D Challenge 2023のパナソニックコネクトによるコード
- [Ego4D Dataset | Paper with Code](https://paperswithcode.com/dataset/ego4d)
Paper with Codeという論文とコードが一緒に探せるサイトのEgo4Dに関するもの

# 最後に
ここまでで解説は完了です。日本語での情報が殆ど無いため、公式ドキュメントを訳しながら自分で試したことを書いています。
私もこれからEgo4DやEgo-Exo4Dを触って行きたいと思います。
最後まで読んでいただきありがとうございました。Ego-Exo4Dの記事も書いているのでそちらも参考にしてみてください。

# 参考文献

https://ai.meta.com/tools/ego4d/

https://ego4d-data.org/

https://ego4d-data.org/docs/

https://github.com/facebookresearch/Ego4d

https://egovis.github.io/cvpr24/