みなさんこんにちわ、こんばんわ
SAIです。
ちょっと番外編です。
というか、ぼやきです。
OpenCVを使ってSAIがやりたいことは、
任意の画像を認識させて遊びたいんです。
具体的には、自動車で走行中に道路標識を認識させたい。
というわけで、いろいろカスケードを作成しては失敗を繰り返しています。
最初に↓の記事に書いた通り、
「特徴抽出の方法や、サンプル画像の出来栄え」が目に見言えないので難しい。
予想敵中です。
深層学習の難題ですね。
そして、
お盆中、何度も何度もカスケードを作っては消し手を繰り返しています。
実は、8/6の金曜日の夜にスタートして
OpenCVに既存で含まれている、
顔認識とか目の認識は簡単にできてしまいました。
そして、8/7にカスケードの作成を始めたのですが・・・・
これがなかなかうまくいかないんですよね。
OpenCVにはtraincascade.exe というのがあり、
これでカスケードファイルを作るんですが、
認識がイマイチだったり認識しなかったり。
(他にもいろいろ準備がいりますけど)
どんなかというと、↓こんな感じ。
確かに止まれを認識できてる箇所もありますが、
それ以上に誤認識が多すぎて使い物にならないじゃん。
カスケードの作り方はいつかメモとしてブログにとは思うのですが、
こんなでたらめな認識でブログを書くわけにもいかず。。
というわけで、
SAIは壁にぶつかっております(爆)![]()
ここで、記事を読んでくださっている方ならお気づきかもしれませんね。
8/8の記事で、標識を認識させていたじゃんと。
↓これです。
SAIが撮影した画像には違いないんですが、
実はこれ、
OpenCVでうまく認識してくれなさ過ぎて、
8/7の深夜というか・・・8/8の早朝に、
にっちもさっちもいかなくてむしゃくしゃしてきました。![]()
![]()
ええ、純粋なOpenCVに怒りさえ覚えた瞬間でした。
(おぃ)![]()
そんな中、いろいろ調べてみると、
TensolFlowに組み込まれているKerasを使って
ニューラルネットワークの学習をさせた学習ファイルを使う方法もあるというのも見つけました。
![]()
というわけで、
例の画像は、
①Pythonで、
②OpenCVを使い、
③Kerasで学習させたファイルを使い、
画像認識させていたのでした。
OpenCVのtraincascadeでも、
同等レベルの認識をさせられないものかと期待したのですが、
なかなかうまいこと行かないものですね。
間違いなく言えることは、
学習方法が悪い。
ということでしょうけど・・・・
誤認識するものの傾向が全くつかめない。
そして、学習過程で何が要因でそうなるのか、
ブラックボックスで意味不明なんですよね
つまり、
ヒントすらない位から、
何が悪いかわからんのじゃ!
となるわけです。
単純に、学習用のファイルを増やせばいいのか、
それとも学習に使った画像に悪いところがあるのか・・・・
困った困った。
とっとと見切りをつけて、
kerasに力を注ごうかしら。。。
SAIでした。





