私は、モバイル ロボットのモデル化、プログラミング、シミュレーションに使用される環境である webots に取り組んでいました。基本的に、私はVGAカメラを搭載した小さなロボットを持っています.小さなレゴ迷路の白い壁にある単純な青色のパターンを探し、それに応じて動きます.
ここで使用した方法は </p>
- ウェボットからパターンの画像を取得し、PC 内の場所に保存します。
- 青いパターンを検出し、パターンの少なくとも 2 つのエッジが正方形の境界の一部であるパターンを囲む正方形を形成します。
7x7 行列にサイズ変更します (最近傍補間アルゴリズムを使用)
ネットワークへの入力は、7x7 の各画像の赤のピクセル強度に他なりません (赤のフィルターを通して青のピクセルを見ると、黒く見えます)。各ピクセルの強度が抽出され、7x7 マトリックスが 1D ベクトル、つまりニューラル ネットワークへの入力である 1x49 に変換されます。(C と webbot を使用してこの情報にアクセスするのは「比較的」難しくないため、この特性を入力として選択しました。 )
このオフライン トレーニング方法には MATLAB を使用し、より遅い学習率 (0.06) を使用してパラメーターの収束を確保し、大小のデータセット (それぞれ 1189 と 346) でテストしました。私が試みた何度も、ネットワークはパターンを分類できませんでした.(パターンは4つのクラスすべてに属していると言います!!!!) matlab の simpleclass_dataset でテストしたところ、プログラムに問題はなく、ほぼ完全に動作します。
データが非常に貧弱なため、ニューラル ネットワークが関数の学習に失敗する可能性はありますか? (貧弱なデータとは、あるクラスの1つのサンプルに対応するデータポイントが、別のクラスまたはその種のものに属する別のサンプルに非常に近いことを意味します)。それとも、機能記述子が非常に貧弱なため、ニューラル ネットワークが失敗する可能性はありますか?
画像から特徴を抽出するためのより簡単な方法を誰かが提案できますか (私は現在、実際のロボットではなく webbot でのシミュレーションのみに関心があるため、MATLAB に移行しています)。どのような機能を選択できますか? パターンは非常にシンプル(L、逆L、その反転バージョンの4パターン)