実現したいこと
カスケード分類器の作成
前提
windows11のVScodeでopencv3.4.16の「opencv_taincascade.exe」で以下のコードを実行したが、途中から全く進まなくなってしまった。
正解画像は18の元画像から「opencv_createsamples.exe」で1000倍した18000枚用意してあり
不正解画像は190枚用意しした
特にエラーは発生していない。
該当のソースコード
C:\Users\topaz\Desktop\cascade> .\opencv_traincascade.exe -data cascade -vec ok/pos.vec -bg ng/neglist.txt -numPos 17000 -numNeg 190 -w 100 -h 100 PARAMETERS: cascadeDirName: cascade vecFileName: ok/pos.vec bgFileName: ng/neglist.txt numPos: 17000 numNeg: 190 numStages: 20 precalcValBufSize[Mb] : 1024 precalcIdxBufSize[Mb] : 1024 acceptanceRatioBreakValue : -1 stageType: BOOST featureType: HAAR sampleWidth: 100 sampleHeight: 100 boostType: GAB minHitRate: 0.995 maxFalseAlarmRate: 0.5 weightTrimRate: 0.95 maxDepth: 1 maxWeakCount: 100 mode: BASIC Number of unique features given windowSize [100,100] : 48165000 ===== TRAINING 0-stage ===== <BEGIN POS count : consumed 17000 : 17000 NEG count : acceptanceRatio 190 : 1 Precalculation time: 6.375 +----+---------+---------+ | N | HR | FA | +----+---------+---------+ ↑ | | | | | | 一時間ほど待っても進まない、、
試したこと
正解画像を減らしてみたが、やはり待っても進まない。
どなたか解決策を知っている方は、教えてくれると助かります。
補足情報(FW/ツールのバージョンなど)
windows11
VScode
opencv3.4.16
https://answers.opencv.org/question/19117/using-opencv_traincascade-and-speed-up-the-processing/
こちらでは「52時間かかっても普通だよ(意訳)」となっていますが、それは承知の上ですか?
これそのものだったか,それよりも古い(?)同じようなやつだったかはわからないのですが
OpenCV付属のカスケード検出器を学習させるexeで同じような経験があります.
そのときは諦めて使う事自体をやめてしまいましたが…… 数十時間何の表示も更新しないような代物なのであれば気長に放置しとくのが良いのでしょうね.
とりあえず,動いていてはいるのかそれとももはや停止してしまっているのか? というのをCPU使用率とかから推測してみては?
(まぁ無限ループになってるとかそういうのは判断付かないだろうけど…)
コメントありがとうございます確認してみます。
52時間かかる可能性もあるのですね、僕の場合17000枚の正解画像なので、その可能性も考えて気長に待ってみます

> 52時間かかる可能性もあるのですね、僕の場合17000枚の正解画像なので、その可能性も考えて気長に待ってみます
カスケードモデルということは、何かが映っている部分を抽出するモデルでしょうか。
希望しない回答かもしれませんが、それだけの画像の枚数があって52hかけて学習させるのであれば、Haarlikeなどのカスケードよりも今どきの画像認識モデル(例えばYOLO、YOLOv3くらいの古いやつのほうが最新のYOLOより軽いかも?)のほうが学習時間も精度もけた違いでよいです。
15年以上前のPCよりスペックが下な環境しかない、というようなハードウェアの制約でカスケードモデルしか選べない、というのを除けば、GPUなしでCPUで学習させても数時間もあればボチボチ動いてくれると思います。
参考まで。

回答1件
あなたの回答
tips
プレビュー