Darkflow: YOLO 9000

作成日 2017年02月09日  ·  41コメント  ·  ソース: thtrieu/darkflow

こんにちはみんな!

素晴らしい仕事をありがとう!

9000のカテゴリーに分類できるYOLO9000モデルを探しています。

YOLO 9000 cfg見つかりません

誰か助けてもらえますか?

> find . -name '*.cfg' -exec cat {} \; | grep "classes"
classes=4
classes=20
classes=80
classes=2
classes=4
classes=20
classes=20
classes=4
classes=4
classes=20
classes=4
classes=2
classes=80
classes=4
classes=20
classes=80
classes=20
classes=20
classes=80

classes=9000ようなものを期待していました

help wanted

最も参考になるコメント

動作しました! :)

私は今、PRのために自分の変更をどのように構成するのが最善かを考えようとしています。 ここ数日でたくさんのことが動き回ったようです。

私は現在のように、それのほとんどを持っている別のdarkflow/cython_utils/cy_yolo9000_findboxes.pyxが、私はおそらくにそれをロールバックできcy_yolo2_findboxes.pyxとのif文で別のメタキーを組み込むlabels方法darkflow/darkflow/yolo/misc.py (次に、ループにジャンプする前に、findboxでsoftmax手法を分割します)。

私はすでにのラベル法にif文に入ったmisc.py追加するhyponym_mapデータファイルごとにその子ノードのリストに親のインデックスをマッピングする辞書です。

また、現在cfg /フォルダーにdata /フォルダーがあり、構成のパスとファイルパスのmeta['tree']meta['map']を結合しています。

すべての人に入力がない場合は、私にとって意味のあるものでPRを行います。そうでない場合は、私はすべての耳です!

全てのコメント41件

設定はこちらです。作者はYOLO9000ウェイトファイルを提供していないようです。

迅速な回答をありがとう! 私はweights9000を見つけようとし、他の人を助けるためにここに投稿します。

ウェイトファイルはこちら: http

これをうまく機能させることができましたか? 設定ファイルだけでなく重みファイルも入れて、9k.namesファイルもダウンロードしました。 処理にはそれほど時間はかかりませんでしたが、後処理には通常のyolo.cfgとyolo.weightsの設定の約10倍の時間がかかりました。 最後に、戻り画像のいずれにも境界ボックスは表示されませんでした。 私は何か間違ったことをしていますか?

yolo9000.cfgを調べたところ、やるべきことがもっとあることがわかりました。 yolo9000は、通常のソフトマックスではなく、グループ化されたソフトマックスを実行します。 今はとても忙しいので、それに取り組むつもりですが、少なくとも今週と来週はそうしません。

ええ、まったく心配ありません。 これらの問題への応答時間は非常に速いです:)これに費やしたすべての作業に感謝します-それは本当に素晴らしいプロジェクトです。 問題の原因となっている何か問題がないことを確認したかっただけです。急いでこれを整理する必要はありません。

ニュースはありますか?
私はabagshawと同じ問題を抱えています。
後処理は10倍遅く、バウンディングボックスはありません。
cfgファイルを変更する必要がありますか?

ありがとう!

@thtrieu現時点では、darkflowにYOLO 9000の機能があるとは思わないため、修正されるまでこの問題を再開できますか?

私は論文プロジェクトにYOLO9000を使用する可能性があります(ただし、大幅に適応させます)。これはYOLOv2の唯一のテンソルフロー実装であるため、これをベースとして使用すると思います。 実装が完了したら追加しますが、それはおそらくさらに数週間かかるので、誰かがもっと早く時間があれば、それは私にも非常に役立ちます! ;)

今後数日のうちに手元にある時間はありますが、MLと、ここで実際に何が起こっているのかについての私の理解はかなり浅いです。 YOLO 9000を機能させるために何をする必要があるのか​​、正確にはわかりません。複雑すぎない場合は、誰かが簡単に説明して、試してみます(かなり複雑な場合は、気にしないでください。私は非常に遠くに行くとは思わない:))

@abagshaw実行する必要があるのは、 .cfg次のパラメーターを理解することです。

random=1
tree=data/9k.tree
map = data/coco9k.map

これらは現在のコードによってmeta dictに読み込まれます。変更が必要なコードは後処理関数だけです。これは現在、出力テンソルを解釈するためにmeta['random'], meta['tree'], meta['map']を考慮していません。バウンディングボックスを描画します。

しかし、softmax(簡単なはずです。ツリーのさまざまなレイヤーに分割するだけです)と、このsoftmaxでのバックプロパゲーションのまったく異なる実装が必要ではないでしょうか。 (backpropは関連するsoftmaxノード上でのみ実行する必要があるためですか?)

ええごめんなさいみんな-これは私の頭の上に少しあると思います。 https://github.com/pjreddie/darknet/commit/d2dece3df743c97f2cfbb9bbf0dd0449a8730cecをくまなく調べていましたが、理解できないことがたくさんあります。 私はいじり続けますが、私はそれほど遠くまで行くつもりはないと思います。

これに関する更新はありますか?

申し訳ありませんが、tensorflowだけでyolo9000分類レイヤーをより高速なRCNNに貼り付ける方が速いと判断しました。 論文が完成したら、一緒に何かを趣味にすることを検討するかもしれませんが、それはさらに4か月間はありません;)

ドラト-それは残念だ。 このWordNetツリー分類全体がyolo9000でどのように機能するかについて頭を悩ませようとしています。 私は私が助けることができるように私がこのことをよりよく理解したことを望みます。 うまくいけば、誰かがすぐにこの機能を追加する時間があります:)

皆さん、私はYOLO9000のリポジトリを作成しました。すべてがここで説明されています。 見てみな:

https://github.com/philipperemy/yolo-9000

darkflowの代わりにdarknetを使用していますが、移植は非常に簡単なはずです。

@abagshaw @TheLaurens @saiprabhakar @thtrieu @ frey123

@philipperemyありがとう、何かが足りないかもしれませんが、これによってYOLO9000をdarkflowに実装する方法がわかりません。

YOLO9000をdarkflowに移植したい場合は、それは素晴らしいことです:) :)

@abagshawがダークネットで機能することが最初のステップでした。 次に、darkflowで機能させる方法に焦点を当てます。

@philipperemy素晴らしい! 投稿してください:)

@philipperemy YOLO9000をdarkflowで動作させるための進展はありますか? :)

申し訳ありませんが、まだ大きな進歩はありません! 私は今仕事で忙しいです:)

皆さんありがとう。

このトピックに関連する質問をしてもいいですか?
現在、yolo.cfgを変更して2つのクラスを分類しています。 ウェイトにはyolo.weightsを使用します。 モデルをトレーニングした後、それはかなりうまく機能します。

Q1:この問題から、クラスの数ごとに異なる重みが必要なようです。 yolo.weightsは少なくとも20のクラスで使用されていることを覚えています。 私は正しいですか?

Q2:このyolo.weightsはいくつのクラスに使用できますか?

Q3:2つのクラスのモデルのチェックポイントを、別のモデル、たとえば3つのクラスの開始重みとして使用することはできますか?

再度、感謝します。

@ chengs2000あなたの質問は実際にはYOLO9000に関連していません-多分あなたの質問を新しい問題に投稿してください、そしてそれはそこで対処することができます。

こんにちは、誰かがすでにこれを行っていない限り(@philipperemy?)私は試してみるつもりです。 数日後に結果を報告します。

@relhどうぞどうぞ! これに集中する時間があまりありませんでした。

@relh進捗はありますか? 😃

動作しました! :)

私は今、PRのために自分の変更をどのように構成するのが最善かを考えようとしています。 ここ数日でたくさんのことが動き回ったようです。

私は現在のように、それのほとんどを持っている別のdarkflow/cython_utils/cy_yolo9000_findboxes.pyxが、私はおそらくにそれをロールバックできcy_yolo2_findboxes.pyxとのif文で別のメタキーを組み込むlabels方法darkflow/darkflow/yolo/misc.py (次に、ループにジャンプする前に、findboxでsoftmax手法を分割します)。

私はすでにのラベル法にif文に入ったmisc.py追加するhyponym_mapデータファイルごとにその子ノードのリストに親のインデックスをマッピングする辞書です。

また、現在cfg /フォルダーにdata /フォルダーがあり、構成のパスとファイルパスのmeta['tree']meta['map']を結合しています。

すべての人に入力がない場合は、私にとって意味のあるものでPRを行います。そうでない場合は、私はすべての耳です!

@relh素晴らしい! これに取り組んでくれてありがとう!

私の2セントの場合: cy_yolo9000_findboxes.pyxコードがcy_yolo2_findboxes.pyxで既に記述されているコードと完全に異なる場合、新しいファイルを作成することは問題ではありませんが、同じコードのほとんどを共有している場合は問題ありません変更を既存のファイルにロールインしてみることをお勧めします(重複するコードの追加を避けるため)。 あなたが行った変更を見ずにもっと多くの情報を提供するのは難しいです(私はYOLO9000がYOLOv2とどのように異なるのか正確にはよくわかりません)-したがって、これらの変更をどのようにロールインするかについてあなたの最善の判断を下します。

PRを楽しみにしています!

@relhどうもありがとう! 申し訳ありませんが、最近とても忙しくて、これに取り組む時間がありませんでした!

@relhこれは素晴らしいニュースです。 PRを楽しみにしています。

素晴らしい! (この問題を解決するのを楽しみにしています)。

この問題は解決されましたか? YOLO9000のテンソルフロー実装はありますか? 同じことを教えてください。 ありがとう。

この号の質問:pjreddieは、彼のYOLOWebサイトでYOLO9000をYOLOv2と呼んでい

では、DarkflowにYOLO9000の実装がない場合、DarkflowのコンテキストでのYOLOv2とは正確には何ですか?

Yolo9kは、バウンディングボックス学習方法を使用してimagenetでトレーニングされたモデルですが、デフォルトのyolov2はCOCOでトレーニングされています。

@philipperemy

1)コードはCPUでのみ機能するようですが、その理由を知っていますか?
2)現在のプロジェクトとダークネットの違いは何ですか?

ありがとう!

@moskiteauコードはGPUでうまく機能します
私のプロジェクトはダークネットに基づいており、YOLO9000を実行するためのすべてが含まれています。

CPUフラグでコンパイル:

seb@PHQ-4035-En:~/projects/stockshot/darknet$ ./darknet detector test cfg/combine9k.data cfg/yolo9000.cfg yolo9000.weights data/person.jpg
layer     filters    size              input                output
    0 conv     32  3 x 3 / 1   544 x 544 x   3   ->   544 x 544 x  32
    1 max          2 x 2 / 2   544 x 544 x  32   ->   272 x 272 x  32
    2 conv     64  3 x 3 / 1   272 x 272 x  32   ->   272 x 272 x  64
    3 max          2 x 2 / 2   272 x 272 x  64   ->   136 x 136 x  64
    4 conv    128  3 x 3 / 1   136 x 136 x  64   ->   136 x 136 x 128
    5 conv     64  1 x 1 / 1   136 x 136 x 128   ->   136 x 136 x  64
    6 conv    128  3 x 3 / 1   136 x 136 x  64   ->   136 x 136 x 128
    7 max          2 x 2 / 2   136 x 136 x 128   ->    68 x  68 x 128
    8 conv    256  3 x 3 / 1    68 x  68 x 128   ->    68 x  68 x 256
    9 conv    128  1 x 1 / 1    68 x  68 x 256   ->    68 x  68 x 128
   10 conv    256  3 x 3 / 1    68 x  68 x 128   ->    68 x  68 x 256
   11 max          2 x 2 / 2    68 x  68 x 256   ->    34 x  34 x 256
   12 conv    512  3 x 3 / 1    34 x  34 x 256   ->    34 x  34 x 512
   13 conv    256  1 x 1 / 1    34 x  34 x 512   ->    34 x  34 x 256
   14 conv    512  3 x 3 / 1    34 x  34 x 256   ->    34 x  34 x 512
   15 conv    256  1 x 1 / 1    34 x  34 x 512   ->    34 x  34 x 256
   16 conv    512  3 x 3 / 1    34 x  34 x 256   ->    34 x  34 x 512
   17 max          2 x 2 / 2    34 x  34 x 512   ->    17 x  17 x 512
   18 conv   1024  3 x 3 / 1    17 x  17 x 512   ->    17 x  17 x1024
   19 conv    512  1 x 1 / 1    17 x  17 x1024   ->    17 x  17 x 512
   20 conv   1024  3 x 3 / 1    17 x  17 x 512   ->    17 x  17 x1024
   21 conv    512  1 x 1 / 1    17 x  17 x1024   ->    17 x  17 x 512
   22 conv   1024  3 x 3 / 1    17 x  17 x 512   ->    17 x  17 x1024
   23 conv  28269  1 x 1 / 1    17 x  17 x1024   ->    17 x  17 x28269
   24 detection
mask_scale: Using default '1.000000'
Loading weights from yolo9000.weights...Done!
data/person.jpg: Predicted in 13.577125 seconds.
Tuareg: 25%
wild horse: 27%
goat herder: 82%
Shetland pony: 86%
German shepherd: 48%
Gordon setter: 51%
seb@PHQ-4035-En:~/projects/stockshot/darknet$

そしてGPUフラグでコンパイルされました:

seb@PHQ-4035-En:~/projects/stockshot/darknet$ ./darknet detector test cfg/combine9k.data cfg/yolo9000.cfg yolo9000.weights data/person.jpg
layer     filters    size              input                output
    0 conv     32  3 x 3 / 1   544 x 544 x   3   ->   544 x 544 x  32
    1 max          2 x 2 / 2   544 x 544 x  32   ->   272 x 272 x  32
    2 conv     64  3 x 3 / 1   272 x 272 x  32   ->   272 x 272 x  64
    3 max          2 x 2 / 2   272 x 272 x  64   ->   136 x 136 x  64
    4 conv    128  3 x 3 / 1   136 x 136 x  64   ->   136 x 136 x 128
    5 conv     64  1 x 1 / 1   136 x 136 x 128   ->   136 x 136 x  64
    6 conv    128  3 x 3 / 1   136 x 136 x  64   ->   136 x 136 x 128
    7 max          2 x 2 / 2   136 x 136 x 128   ->    68 x  68 x 128
    8 conv    256  3 x 3 / 1    68 x  68 x 128   ->    68 x  68 x 256
    9 conv    128  1 x 1 / 1    68 x  68 x 256   ->    68 x  68 x 128
   10 conv    256  3 x 3 / 1    68 x  68 x 128   ->    68 x  68 x 256
   11 max          2 x 2 / 2    68 x  68 x 256   ->    34 x  34 x 256
   12 conv    512  3 x 3 / 1    34 x  34 x 256   ->    34 x  34 x 512
   13 conv    256  1 x 1 / 1    34 x  34 x 512   ->    34 x  34 x 256
   14 conv    512  3 x 3 / 1    34 x  34 x 256   ->    34 x  34 x 512
   15 conv    256  1 x 1 / 1    34 x  34 x 512   ->    34 x  34 x 256
   16 conv    512  3 x 3 / 1    34 x  34 x 256   ->    34 x  34 x 512
   17 max          2 x 2 / 2    34 x  34 x 512   ->    17 x  17 x 512
   18 conv   1024  3 x 3 / 1    17 x  17 x 512   ->    17 x  17 x1024
   19 conv    512  1 x 1 / 1    17 x  17 x1024   ->    17 x  17 x 512
   20 conv   1024  3 x 3 / 1    17 x  17 x 512   ->    17 x  17 x1024
   21 conv    512  1 x 1 / 1    17 x  17 x1024   ->    17 x  17 x 512
   22 conv   1024  3 x 3 / 1    17 x  17 x 512   ->    17 x  17 x1024
   23 conv  28269  1 x 1 / 1    17 x  17 x1024   ->    17 x  17 x28269
   24 detection
mask_scale: Using default '1.000000'
Loading weights from yolo9000.weights...Done!
data/person.jpg: Predicted in 0.060738 seconds.
African: 25%
worker: 82%
horse: 86%
working dog: 48%
hunting dog: 50%

./darknet検出器テストcfg / combine9k.data cfg / yolo9000.cfg yolo9000.weights data / person.jpg -thresh .25 -hier .001

誰かが9000ラベルツリーの構造を説明できますか? ファイル9k.tree、たとえばn0000245 -1、n0566538625 4では、-1と4はどういう意味ですか? このファイル9k.treeを使用してツリー構造を構築するにはどうすればよいですか?

@yaxiongchi
-1は木の根を意味します
4:父ノードのインデックス

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

bareblackfoot picture bareblackfoot  ·  5コメント

pribadihcr picture pribadihcr  ·  5コメント

ShawnDing1994 picture ShawnDing1994  ·  4コメント

LeeroyHannigan picture LeeroyHannigan  ·  4コメント

realityzero picture realityzero  ·  3コメント