Как уменьшить неправильное распознавание с помощью каскадного классификатора
Здравствуйте, я пытаюсь распознать автомобиль, используя каскадный классификатор, android и opencv. Моя проблема в том, что мой телефон маркирует почти все как автомобиль.
Я создал свой код на основе: https://www.youtube.com/watch?v=WEzm7L5zoZE и образца обнаружения лица. Мое приложение ведет себя очень странно, потому что маркировка выглядит случайной. Я даже не знаю, правильная ли маркировка автомобиля или, может быть, это просто случайное поведение. На данный момент это даже маркировка моей клавиатуры как автомобиля. Я не уверен, что я могу улучшить. Я не вижу никакого прогресса между тренировками до 5 или 14 этапов
Я тренировался до 14 этапов
мой код выглядит так:
@Override
public Mat onCameraFrame(Mat aInputFrame) {
// return FrameAnalyzer.analyzeFrame(aInputFrame);
// Create a grayscale image
Imgproc.cvtColor(aInputFrame, grayscaleImage, Imgproc.COLOR_RGBA2RGB);
MatOfRect objects = new MatOfRect();
// Use the classifier to detect faces
if (cascadeClassifier != null) {
cascadeClassifier.detectMultiScale(grayscaleImage, objects, 1.1, 1,
2, new Size(absoluteObjectSize, absoluteObjectSize),
new Size());
}
Rect[] dataArray = objects.toArray();
for (int i = 0; i < dataArray.length; i++) {
Core.rectangle(aInputFrame, dataArray[i].tl(), dataArray[i].br(),
new Scalar(0, 255, 0, 255), 3);
}
return aInputFrame;
}
1 ответ
Попробуйте изменить ниже.
- С помощью
COLOR_RGBA2RGB
сcvtColor
как в примере кода не даст изображение серой шкалы. ПытатьсяRGBA2GRAY
- Увеличить количество соседей в
detectMultiScale
, Теперь это 2. Больше соседей означает больше уверенности в результате. - Надеюсь, что будет достаточно образцов для обучения. Быстрый поиск и чтение книг создает впечатление, будто для обучения нужны тысячи изображений. Например, около 10000 изображений используются для обучения распознавания волос. Для тренировки лица используется от 3000 до 5000 образцов.
- Что еще более важно, решите, действительно ли вы хотите тренироваться для идентификации автомобиля. Могут быть более эффективные методы идентификации транспортных средств. Например, для движущегося транспортного средства мы могли бы использовать методы на основе оптического потока.