Բովանդակություն:

Ստեղծեք OpenCV պատկերի դասակարգիչներ ՝ օգտագործելով Python: 7 քայլ
Ստեղծեք OpenCV պատկերի դասակարգիչներ ՝ օգտագործելով Python: 7 քայլ

Video: Ստեղծեք OpenCV պատկերի դասակարգիչներ ՝ օգտագործելով Python: 7 քայլ

Video: Ստեղծեք OpenCV պատկերի դասակարգիչներ ՝ օգտագործելով Python: 7 քայլ
Video: Data Science with Python! Extracting Metadata from Images 2024, Նոյեմբեր
Anonim
Ստեղծեք OpenCV պատկերի դասակարգիչներ ՝ օգտագործելով Python- ը
Ստեղծեք OpenCV պատկերի դասակարգիչներ ՝ օգտագործելով Python- ը

Haar դասակարգիչները python- ում և opencv- ում բավականին բարդ, բայց հեշտ գործ են:

Մենք հաճախ բախվում ենք պատկերի հայտնաբերման և դասակարգման խնդիրներին: լավագույն լուծումը սեփական դասակարգիչ ստեղծելն է: Այստեղ մենք սովորում ենք ստեղծել մեր սեփական պատկերների դասակարգիչները ՝ մի քանի հրամանով և երկար, բայց պարզ պիթոնային ծրագրերով

Դասակարգումը պահանջում է մեծ թվով բացասական և դրական պատկերների բացասականները չեն պարունակում պահանջվող օբյեկտ, մինչդեռ դրականներն այն են, որոնք պարունակում են հայտնաբերվող օբյեկտը:

Պահանջվում է մոտ 2000 բացասական և դրական: Պիթոն ծրագիրը պատկերը փոխակերպում է մոխրագույն և համապատասխան չափի, որպեսզի դասակարգիչներն օպտիմալ ժամանակ պահանջեն ստեղծելու համար:

Քայլ 1: Պահանջվում են ծրագրեր

Ձեր սեփական դասակարգչի ստեղծման համար ձեզ անհրաժեշտ են հետևյալ ծրագրերը

1) OpenCV. Իմ օգտագործած տարբերակը 3.4.2 է: տարբերակը հեշտությամբ հասանելի է ինտերնետում:

2) Python. Տարբերակն օգտագործվում է 3.6.2. Կարելի է ներբեռնել python.org կայքից

Ավելին, ձեզ հարկավոր է վեբ -տեսախցիկ (իհարկե):

Քայլ 2: Ներբեռնեք պատկերները

Առաջին քայլը դասակարգման ենթակա օբյեկտի հստակ պատկերը վերցնելն է:

Չափը չպետք է շատ մեծ լինի, քանի որ համակարգչի մշակման համար ավելի մեծ ժամանակ է պահանջվում: Ես վերցրեցի 50 -ը 50 -ով:

Հաջորդը մենք ներբեռնում ենք բացասական և դրական պատկերները: Դուք կարող եք դրանք գտնել առցանց: Բայց մենք օգտագործում ենք python ծածկագիրը ՝ «https://image-net.org»-ից պատկերներ ներբեռնելու համար:

Հաջորդը մենք պատկերները փոխարկում ենք մոխրագույն և նորմալ չափի: Սա նույնպես կիրառվում է օրենսգրքում: Կոդը նաև հեռացնում է ցանկացած սխալ պատկեր

Մինչ այժմ ձեր գրացուցակը պետք է պարունակի օբյեկտի պատկերը, օրինակ ՝ watch5050-j.webp

Եթե տվյալների թղթապանակը ստեղծված չէ, դա արեք ձեռքով

Պիթոնի կոդը ներկայացված է.py ֆայլում

Քայլ 3. OpenCV- ում դրական նմուշների ստեղծում

OpenCV- ում դրական նմուշների ստեղծում
OpenCV- ում դրական նմուշների ստեղծում
OpenCV- ում դրական նմուշների ստեղծում
OpenCV- ում դրական նմուշների ստեղծում

Այժմ գնացեք opencv_createsamples գրացուցակում և ավելացրեք բոլոր վերը նշված բովանդակությունը

commad հուշման մեջ գնացեք C: / opencv342 / build / x64 / vc14 / bin ՝ opencv_createsamples և opencv_traincascade ծրագրեր գտնելու համար:

այժմ կատարեք հետևյալ հրամանները

opencv_createsamples -img watch5050-j.webp

Այս հրամանը 1950 -ի օբյեկտի դրական նմուշների ճշգրիտ ստեղծման համար է: Եվ նկարագրության ֆայլը `info.lst դրական պատկերներից, նկարագրությունը պետք է լինի այսպիսին 0001_0014_0045_0028_0028-j.webp

Այժմ թղթապանակը պարունակում է

տեղեկատվություն

neg պատկերների պանակ

bg.txt ֆայլ

դատարկ տվյալների թղթապանակ

Քայլ 4: Ստեղծեք դրական վեկտորային ֆայլ

Ստեղծելով դրական վեկտորային ֆայլ
Ստեղծելով դրական վեկտորային ֆայլ

Այժմ ստեղծեք դրական վեկտորային ֆայլ, որն ապահովում է գաղտնագրման ֆայլը դեպի դրական պատկերների ուղին

Օգտագործեք հետևյալ հրամանը

opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positives.vec

Մինչ այժմ գրացուցակի բովանդակությունը պետք է լինի հետևյալը.

-նեգ

---- negimages.jpg

-բացված

-տեղեկատվություն

--տվյալներ

-դրական. vec

--bg.txt

--watch5050-j.webp

Քայլ 5. Դասակարգողի ուսուցում

Դասակարգողի ուսուցում
Դասակարգողի ուսուցում
Դասակարգողի ուսուցում
Դասակարգողի ուսուցում
Դասակարգողի ուսուցում
Դասակարգողի ուսուցում

Այժմ եկեք մարզենք haar կասկադը և ստեղծենք xml ֆայլ

Օգտագործեք հետևյալ հրամանը

opencv_traincascade -Տվյալներ -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20

փուլերը 10 -ն են:

Այժմ ստեղծվել է haarcascade- ը Ավարտելու համար տևում է մոտ երկու ժամ Բացեք տվյալների թղթապանակը, որտեղ դուք կգտնեք cascade.xml Սա դասակարգիչ է, որը ստեղծվել է

Քայլ 6: Դասակարգիչի փորձարկում

Տվյալների թղթապանակը պարունակում է ֆայլեր, ինչպես ցույց է տրված վերևում նկարում:

Դասակարգչի ստեղծումից հետո մենք տեսնում ենք, թե արդյոք դասակարգիչն աշխատում է, թե ոչ ՝ գործարկելով object_detect.py ծրագիրը: Մի մոռացեք տեղադրել classifier.xml ֆայլը python գրացուցակում:

Քայլ 7: Հատուկ շնորհակալություն

Ես ուզում եմ այստեղ շնորհակալություն հայտնել Sentdex- ին, ով մեծ պիթոն ծրագրավորող է:

Նա ունի youtube անուն ՝ վերը նշված անունով, և այն տեսանյութը, որն ինձ շատ օգնեց, ունի այս հղումը

Կոդի մեծ մասը պատճենված է sentdex- ից: Թեև շատ օգնություն եմ ստացել sentdex- ից, ես դեռ շատ խնդիրների եմ բախվել: Ես պարզապես ուզում էի կիսվել իմ փորձով:

Հուսով եմ, որ այս անուղղելի օգնեց ձեզ !!! Մնացեք ավելին:

BR

Թահիր Ուլ Հաք

Խորհուրդ ենք տալիս: