光流的定义之类的,大家如果不了解可以自行搜索,这里就不讲了。
要进行光流提取,有很多传统的方法,不一定要用深度学习,例如用opencv里面自带的方法也可以做。这里说一说flownet这个网络 目前看有v1 v2 v3了 原作者的github一直在更新也给了docker版本,奈何我这里配置docker的images就用不了,因此在网上找到了一个pytorch的实现。这里把实现过程分享给各位。
最初のステップは、特定の順序に従ってインストールしたとき、私はちょうど無差別ことはありません、それを強調するには、configureの特定に多くのオンラインチュートリアルがありますがどのように自分のpytorchを設定することです。
コード、リンクのダウンロードpytorch版こちら
環境がCUDAトーチcudnnなどがインストールされている場合、仮想環境のpytorchに#1が決定し、私はあなたを助けるいない場合は、バージョン対応はよく、その彼らのGPU利用可能なGPUを確保しないように、実際に行うことができますが、非常に場所を変更するにはそしてより多くの。
conda activate pytorch
#テスト
python
import torch
ptint(torch.cuda.is_available())
戻り値がtrueの場合おめでとう#、あなたは基本的にやります
#2外観はただ、自分の仮想環境でのメソッドのrequirements.txtの外観は、これらのパッケージことを確認するためにそこに存在しないされているフォルダにダウンロード
conda list
#または使用ピップ
pip list
#これらはコンピュータが必要なすべてのパッケージがインストールされているかどうかをテストするには、次のコマンドを入力してインストールされていることを確認
python main.py -h
#インストールされていない場合、または問題のバージョン、エラープロンプト、適切なインストールやリフトのバージョンに応じて
コンピュータが必要なすべてのパッケージがインストールされているかどうか#2テスト
python main.py -h
#インストールされていない場合、または問題のバージョン、エラープロンプト、適切なインストールやリフトのバージョンに応じて
#3彼らに自分のフォルダを構築するために、データおよび負荷前訓練を受けたモデルを用意し、データモデル
/ホーム/ FlowNet / FlowNetPytorch-マスター/データ
問題の作成者の名前を指定してデータビットにちなんで名付けられた、完全に#データパス、
#img_pairs = []
# for ext in args.img_exts:
# test_files = data_dir.files('*1.{}'.format(ext))
# for file in test_files:
# img_pair = file.parent / (file.namebase[:-1] + '2.{}'.format(ext))
# if img_pair.isfile():
# img_pairs.append([file, img_pair])
#run_inference.pyプログラムコードに従って画像の名前を見ることができる端部に代えて、0と1の1及び2の端部であるべきで、画像の名前を変更する必要があります
/home/flownet/FlowNetPytorch-master/pretrained/flownetc_EPE1_766.tar
#フルネームが元の著者Googleのクラウド版で事前訓練モデルをダウンロードし、モデルに書き込む必要があり、はしごを必要とする、自分のトレーニングをダウンロードするには非常に遅くなり、独自のデータセットを必要とし、 (ヘルプを私に連絡する必要がある場合Baiduのクラウドディスクを運ぶ)遅くなることがあり、ダウンロードがアンパック行きません
#4バッチが何かを入力する必要がチェックし、助けを実行します
python run_inference.py -h
次のように動作した結果は以下のとおりです。
PyTorch FlowNet inference on a folder of img pairs
positional arguments:
DIR path to images folder, image names must match
'[name]0.[ext]' and '[name]1.[ext]' ##注意!!这里的提示有问题!!,不是0和1##
PTH path to pre-trained model
optional arguments:
-h, --help show this help message and exit
--output DIR, -o DIR path to output folder. If not set, will be created in
data folder (default: None)
--output-value {raw,vis,both}, -v {raw,vis,both}
which value to output, between raw input (as a npy
file) and color vizualisation (as an image file). If
not set, will output both (default: both)
--div-flow DIV_FLOW value by which flow will be divided. overwritten if
stored in pretrained file (default: 20)
--img-exts [EXT [EXT ...]]
images extensions to glob (default: ['png', 'jpg',
'bmp', 'ppm'])
--max_flow MAX_FLOW max flow value. Flow map color is saturated above this
value. If not set, will use flow map's max value
(default: None)
--upsampling {nearest,bilinear}, -u {nearest,bilinear}
if not set, will output FlowNet raw input,which is 4
times downsampled. If set, will output full resolution
flow map, with selected upsampling (default: None) ##建议设置,输出完整大小的flow##
--bidirectional if set, will output invert flow (from 1 to 0) along
with regular flow (default: False) ##设置后 对偶输出,根据需要决定
#5を読んだ後、直接バッチテストを実行し、ライトコード
python run_inference.py -u bilinear /home/flownet/FlowNetPytorch-master/data /home/flownet/FlowNetPytorch-master/pretrained/flownetc_EPE1_766.tar
次のように#6を実行して、例を作りました
=> will save raw output and RGB visualization
=> fetching img pairs in '/home/flownet/FlowNetPytorch-master/data' ##找到的图片位置
=> will save everything to /home/flownet/FlowNetPytorch-master/data/flow ##默认结果保存位置
18 samples found ##找到了图片对个数,一开始根据 -h中的设置,怎么都跑不出来,后来检查了源代码,发现作者帮助给错了!!!
=> using pre-trained model 'flownetc' ##加载预训练模型,可以更换
100%|███████████| 18/18 [00:06<00:00, 2.80it/s]#速度还挺快的
検査結果出力ディレクトリに#7
#が同時に出力流れの可視化と可視化結果の流れの結果は、さらに使用するために見てみることができます
#この時点で私は、再現性、バッチテストもflownet pytorchを使用しての全体のプロセスを実現します。あなた自身を訓練したい場合、あなたは、元の作者ダウンロードする必要があるか飛んで椅子のコードの原作者が興味を持っていると知り、記事を再現したい場合は、データセットを、クリックしてくださいここに
#次の私は、次のflownet3のソースコードを達成したいここにあなたすでに実施している友人が指導や議論を歓迎している場合、