"VideoFrames" (ネットエンコーダ)
NetEncoder["VideoFrames"]
動画のファイルまたはオブジェクトを画素のランク3テンソル列に変換するエンコーダを表す.
NetEncoder[{"VideoFrames","param"->val,…}]
前処理のための指定のパラメータを持つエンコーダを表す.
詳細
- "VideoFrames"エンコーダは入力から動画フレームのリストを返す.
- NetEncoder[…][input]はエンコーダを入力に適用し,出力を作る.
- エンコーダへの入力には以下の一つを使うことができる:
-
video Videoオブジェクト file File式として与えられた動画ファイル {image1,image2,…} 動画から抽出されると想定される画像のリスト - NetEncoder[…][{input1,input2,…}] はエンコーダを入力のリストに適用し,出力のリストを作る.
- ネットワークの構築時に"port"->NetEncoder[…]と指定すると,エンコーダをネットワークの入力ポートに付加することができる.
- 以下のパラメータが使用可能である:
-
ColorSpace "RGB" 符号化に使われる色空間 FrameRate 24 フレームが抽出されるときのフレーム率 "Levels" Automatic 結果の中でのレベルの順序 "MeanImage" None 減算される平均画像 RasterSize {128,128} フレームの大きさを変えるときに使われるラスタサイズ "StartTime" 0 フレーム抽出を始める時間 "TargetLength" Automatic ターゲットの出力の長さ "VarianceImage" None 正規化に使われる分散画像 Method "Stretch" サイズに適合させる方法 Resampling Automatic リサンプリングの手法 Alignment Center Method"Fit" または "Fill"のときの画像の揃え方 Padding Black Method"Fit"のときの充填スキーム - 次は,使用可能なMethodの値である:
-
"Stretch" リサンプリングによって,フィットするように画像を引き伸ばす "Fit" 画像全体をフィットする,縦横比を保つ,必要に応じてパディングする "Fill" より小さな次元にフィットする,必要に応じて反対側をクロップする - パラメータによってはNetEncoder[…][{input,"param"val,…}]を使って指定できるものもある.
- デフォルトで,フレームは1秒に24フレームの割合で抽出される.FrameRateInheritedを使うともとのフレームレートでフレームが抽出できる.
- デフォルトで,結果は次元{time,channels,height,width}のランク4の配列として表される.レベルの順序に制御するためには,"Levels" パラメータを"Time","Channels","Height","Width"を含むリストに設定する.
- 以下の設定は"MeanImage"と"VarianceImage"に使うことができる:
-
None 減算しない m 各画素から減算される値 {m1,m2,…} いろいろなチャンネルから減算される値 Image[…] 減算される全体画像 - 画素は減算前に,0と1の間で正規化される.
- 以下の設定は"TargetLength"に使うことができる:
-
n n 個のフレームを抽出する All 使用可能なフレームをすべて抽出する Automatic 抽出するフレームの数を自動的に選択する
パラメータ
例題
すべて開くすべて閉じる例 (2)
スコープ (3)
NetEncoder["VideoFrames"]で,FileまたはVideoオブジェクトを符号化することができる.動画フレームエンコーダを作ってみる:
エンコーダをFileオブジェクトに適用する:
エンコーダをVideoオブジェクトに適用する:
NetEncoder["VideoFrames"]を入力のバッチにマップする:
動画フレームのNetEncoderを作る:
ネットワークをVideoオブジェクトに適用する:
パラメータ (6)
ColorSpace (1)
出力画像のColorSpaceを"Grayscale"に設定する: