kumilog.net

データ分析やプログラミングの話などを書いています。

Chainerで動画を扱う

Chainerにおいて画像を扱う場合、ImageDatasetというクラスが用意されており、以下のように簡単に扱うことができます。

from chainer.datasets import ImageDataset

image_files = ['1.png', '2.png']
train = ImageDataset(paths=image_files)

Datasetについては以下の記事にまとめていますので、興味があればご覧ください。

xkumiyu.hatenablog.com

動画については用意されていないので、自分で独自のDatasetを用意する必要があります。なので、作りました。

Chainer Dataset of Videos

使い方は、画像の場合と同じです。

from VideoDataset import VideoDataset

video_files = ['1.mp4', '2.mp4']
train = VideoDataset(paths=video_files)

動画の読み込みにOpenCVとFFmepgを利用しているため予めインストールが必要です。インストールについては以下の記事を参考にどうぞ。

xkumiyu.hatenablog.com

作ってみてから気づきましたが、動画を画像として読む込むだけなので、動画を事前に画像に変換しておいて、画像として読み込む方が良いかもしれません。