まず、3 つの振動状態から 42 個のサンプルをランダムに選択して、トレーニング グループを組み立てます。残りの 18 個のサンプルを使用して、テスト グループを形成します。MATLAB の関数 fitcecoc を SVM の学習に使用し、関数 save を使用して学習済みの SVM を mat 形式で保存します。
MATLAB の予測関数を使用して、テスト グループのサンプル イメージの方向勾配特徴ベクトルを学習済みの SVM に入力し、各テスト サンプルの振動状態特徴の計算値を取得します。テスト セットのサンプル認識結果を決定するには、テスト セットをトレーニング済みの SVM に入力します。テストセットの認識結果が実際の状態と一致するサンプルの数をカウントし、正しいサンプルの数をテストセットのサンプルの総数で割って認識精度を計算します。
方向勾配統計間隔の数が増えると、コンクリートの振動状態に対するSVMの認識精度は、最初は上昇し、その後低下します。異なる方向勾配統計区間を使用したサンプルの方向勾配特性が提示されています。