Stap 6: Trein beelden met behulp van bibliotheekfuncties OpenCV
Vanaf de laatste stap, die we zullen ontvangen een matrix van drie elementen, namelijk, de beelden, de etiketten en de mensen.
Nu, in deze stap zullen we gebruiken beelden en labels als parameters te trainen van een faceRecognizer model. Kortom, dit model is een OpenCV functie en wij vragen deze functie aan herinneren & leren om te maken een co relatie tussen afbeeldingen en labels. Dus na de training vragen we de functie voor het voorspellen van het label door het geven van een afbeelding als input en het een voorspelde label terugkeren zal.
Dit deel van code haalt één invoer:
1. pad-het pad naar de map afbeeldingen.
En geeft als resultaat twee uitgangen:
1. eigen_model-de opgeleide model na het analyseren van alle beelden wordt geretourneerd.
2. mensen-een matrix waarin de namen van onze vrienden. (namen van onze sub-omslagen)
Dit codefragment is het cruciaal onderdeel in onze hele code. Dit deel van code kan even duren om te voltooien als u hebt een heleboel beelden om te trainen. Ik heb een totaal van 200 beelden en het duurde bijna 7 seconden voort mijn Dell laptop met Intel 3e generatie i5 processor van 1,8 GHz snelheid draait Ubuntu.
Dus, we hebben voltooid opleiding een model met de hulp van OpenCV functies en kunnen we doorgaan naar de volgende stappen.
Code
Opmerking:
Deze code is een klein deel van de voltooide code en individueel niet werkt. Ik heb het gebruikt hier om uit te leggen van de code.
def train_model(path):<br> ''' Takes path to images and train a face recognition model Returns trained model and people ''' [images, labels, people]= get_images(sys.argv[1], (256, 256)) #print([images, labels]) labels= np.asarray(labels, dtype= np.int32) # initializing eigen_model and training print("Initializing eigen FaceRecognizer and training...") sttime= time.clock() eigen_model= cv2.createEigenFaceRecognizer() eigen_model.train(images, labels) print("\tSuccessfully completed training in "+ str(time.clock()- sttime)+ " Secs!") return [eigen_model, people]