Mercurial > hg > nsaunier > traffic-intelligence
comparison scripts/train-object-classification.py @ 993:e8eabef7857c
update to OpenCV3 for python
| author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
|---|---|
| date | Wed, 16 May 2018 21:06:52 -0400 |
| parents | 2757efeabbb4 |
| children | 933670761a57 |
comparison
equal
deleted
inserted
replaced
| 992:2cd1ce245024 | 993:e8eabef7857c |
|---|---|
| 1 #! /usr/bin/env python | 1 #! /usr/bin/env python |
| 2 | 2 |
| 3 import numpy as np | 3 import numpy as np |
| 4 import argparse | 4 import argparse |
| 5 from cv2 import SVM_RBF, SVM_C_SVC | 5 from cv2.ml import SVM_RBF, SVM_C_SVC, ROW_SAMPLE # row_sample for layout in cv2.ml.SVM_load |
| 6 #from cv2.ml import SVM_RBF, SVM_C_SVC, ROW_SAMPLE # row_sample for layout in cv2.ml.SVM_load | |
| 7 | 6 |
| 8 import cvutils, moving, ml, storage | 7 import cvutils, moving, ml, storage |
| 9 | 8 |
| 10 parser = argparse.ArgumentParser(description='The program processes indicators for all pairs of road users in the scene') | 9 parser = argparse.ArgumentParser(description='The program processes indicators for all pairs of road users in the scene') |
| 11 parser.add_argument('-d', dest = 'directoryName', help = 'parent directory name for the directories containing the samples for the different road users', required = True) | 10 parser.add_argument('-d', dest = 'directoryName', help = 'parent directory name for the directories containing the samples for the different road users', required = True) |
| 48 trainingSamplesPV[k], trainingLabelsPV[k] = trainingSamples, trainingLabels | 47 trainingSamplesPV[k], trainingLabelsPV[k] = trainingSamples, trainingLabels |
| 49 | 48 |
| 50 # Training the Support Vector Machine | 49 # Training the Support Vector Machine |
| 51 print "Training Pedestrian-Cyclist-Vehicle Model" | 50 print "Training Pedestrian-Cyclist-Vehicle Model" |
| 52 model = ml.SVM(args.svmType, args.kernelType, args.degree, args.gamma, args.coef0, args.cvalue, args.nu, args.svmP) | 51 model = ml.SVM(args.svmType, args.kernelType, args.degree, args.gamma, args.coef0, args.cvalue, args.nu, args.svmP) |
| 53 classifications = model.train(np.concatenate(trainingSamplesPBV.values()), np.concatenate(trainingLabelsPBV.values()), True) | 52 classifications = model.train(np.concatenate(trainingSamplesPBV.values()), ROW_SAMPLE, np.concatenate(trainingLabelsPBV.values()), True) |
| 54 if args.computeConfusionMatrix: | 53 if args.computeConfusionMatrix: |
| 55 print(classifications) | 54 print(classifications) |
| 56 model.save(args.directoryName + "/modelPBV.xml") | 55 model.save(args.directoryName + "/modelPBV.xml") |
| 57 | 56 |
| 58 print "Training Cyclist-Vehicle Model" | 57 print "Training Cyclist-Vehicle Model" |
| 59 model = ml.SVM(args.svmType, args.kernelType, args.degree, args.gamma, args.coef0, args.cvalue, args.nu, args.svmP) | 58 model = ml.SVM(args.svmType, args.kernelType, args.degree, args.gamma, args.coef0, args.cvalue, args.nu, args.svmP) |
| 60 classifications = model.train(np.concatenate(trainingSamplesBV.values()), np.concatenate(trainingLabelsBV.values()), True) | 59 classifications = model.train(np.concatenate(trainingSamplesBV.values()), ROW_SAMPLE, np.concatenate(trainingLabelsBV.values()), True) |
| 61 if args.computeConfusionMatrix: | 60 if args.computeConfusionMatrix: |
| 62 print(classifications) | 61 print(classifications) |
| 63 model.save(args.directoryName + "/modelBV.xml") | 62 model.save(args.directoryName + "/modelBV.xml") |
| 64 | 63 |
| 65 print "Training Pedestrian-Cyclist Model" | 64 print "Training Pedestrian-Cyclist Model" |
| 66 model = ml.SVM(args.svmType, args.kernelType, args.degree, args.gamma, args.coef0, args.cvalue, args.nu, args.svmP) | 65 model = ml.SVM(args.svmType, args.kernelType, args.degree, args.gamma, args.coef0, args.cvalue, args.nu, args.svmP) |
| 67 classifications = model.train(np.concatenate(trainingSamplesPB.values()), np.concatenate(trainingLabelsPB.values()), True) | 66 classifications = model.train(np.concatenate(trainingSamplesPB.values()), ROW_SAMPLE, np.concatenate(trainingLabelsPB.values()), True) |
| 68 if args.computeConfusionMatrix: | 67 if args.computeConfusionMatrix: |
| 69 print(classifications) | 68 print(classifications) |
| 70 model.save(args.directoryName + "/modelPB.xml") | 69 model.save(args.directoryName + "/modelPB.xml") |
| 71 | 70 |
| 72 print "Training Pedestrian-Vehicle Model" | 71 print "Training Pedestrian-Vehicle Model" |
| 73 model = ml.SVM(args.svmType, args.kernelType, args.degree, args.gamma, args.coef0, args.cvalue, args.nu, args.svmP) | 72 model = ml.SVM(args.svmType, args.kernelType, args.degree, args.gamma, args.coef0, args.cvalue, args.nu, args.svmP) |
| 74 classifications = model.train(np.concatenate(trainingSamplesPV.values()), np.concatenate(trainingLabelsPV.values()), True) | 73 classifications = model.train(np.concatenate(trainingSamplesPV.values()), ROW_SAMPLE, np.concatenate(trainingLabelsPV.values()), True) |
| 75 if args.computeConfusionMatrix: | 74 if args.computeConfusionMatrix: |
| 76 print(classifications) | 75 print(classifications) |
| 77 model.save(args.directoryName + "/modelPV.xml") | 76 model.save(args.directoryName + "/modelPV.xml") |
