Mercurial Hosting > 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") |