Բովանդակություն:
- Քայլ 1: Պահանջվում են ծրագրեր
- Քայլ 2: Ներբեռնեք պատկերները
- Քայլ 3. OpenCV- ում դրական նմուշների ստեղծում
- Քայլ 4: Ստեղծեք դրական վեկտորային ֆայլ
- Քայլ 5. Դասակարգողի ուսուցում
- Քայլ 6: Դասակարգիչի փորձարկում
- Քայլ 7: Հատուկ շնորհակալություն
Video: Ստեղծեք OpenCV պատկերի դասակարգիչներ ՝ օգտագործելով Python: 7 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
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_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
Թահիր Ուլ Հաք
Խորհուրդ ենք տալիս:
Թվային պատկերի շրջանակ ՝ օգտագործելով Gen4 ULCD-43DCT-CLB: 3 քայլ
Թվային պատկերի շրջանակ ՝ օգտագործելով Gen4 ULCD-43DCT-CLB: Թվային պատկերի շրջանակը կարող է պատկերներ ցույց տալ միկրո SD քարտին հասանելիությամբ: Այս նախագիծը ցուցադրման մոդուլի համար օգտագործում է 4D Systems, Gen4 uLCD-43DCT-CLB: Digital Picture Frame- ը պարզ նախագիծ է, որը կարող է օգտագործվել որպես ցուցադրում տան կամ գրասենյակի համար: Օգտվողները կարող են
Պատկերի մշակում Raspberry Pi- ով. OpenCV- ի և պատկերի գույնի տարանջատման տեղադրում. 4 քայլ
Պատկերի մշակում Raspberry Pi- ի միջոցով. OpenCV- ի և պատկերի գույնի տարանջատման տեղադրում. Այս գրառումը առաջինն է պատկերի մշակման մի քանի ձեռնարկներից, որոնք պետք է հետևեն: Մենք ավելի սերտորեն նայում ենք պատկերը կազմող պիքսելներին, սովորում ենք, թե ինչպես տեղադրել OpenCV- ն Raspberry Pi- ի վրա, ինչպես նաև գրում ենք թեստային սցենարներ ՝ նկարը պատկերելու և
Estեստի բազե. Ձեռքի ժեստերով վերահսկվող ռոբոտ ՝ օգտագործելով պատկերի մշակման վրա հիմնված ինտերֆեյսը ՝ 13 քայլ (նկարներով)
Gesture Hawk: Ձեռքի ժեստերով վերահսկվող ռոբոտ ՝ օգտագործելով պատկերի մշակման վրա հիմնված միջերեսը. Estեստի բազեն ցուցադրվել է TechEvince 4.0-ում ՝ որպես մարդ-մեքենա պատկերների մշակման պարզ միջերես: Դրա օգտակարությունը կայանում է նրանում, որ ռոբոտ -մեքենան կառավարող տարբեր սենսորներ կամ ձեռնոցներից բացի այլ սենսորներ չեն պահանջվում
GET1033 Python կոդավորված պատկերի պրոցեսոր ՝ 5 քայլ
GET1033 Python կոդավորված պատկերի պրոցեսոր. Այս նախագիծը իմ մոդուլի համար իմ սեփական python ծածկագրով պատկերի պրոցեսոր ստեղծելու մասին է ՝ GET1033- ը ՝ հաշվողական մեդիագրագիտության ուսումնասիրություն: Սկզբում օգտագործողը պետք է մուտքագրի իր սեփական լուսանկարը, այնուհետև ընտրի իր ուզած ֆիլտրերը: Ես ստեղծել եմ 9 զտիչ, որոնք
Ստեղծեք համահունչ նախշեր վեբ կայքի ֆոնային պատկերի համար. 8 քայլ
Ստեղծեք սալիկապատ նախշեր վեբ կայքի ֆոնային պատկերի համար. Ահա ուղիղ և պարզ (կարծում եմ) մեթոդ ՝ պատկերներ ստեղծելու համար, որոնք կարելի է սալիկապատել առանց չափազանց «ցանցանման» տեսք ունենալու: Այս ձեռնարկը օգտագործում է Inkscape (www.inkscape.org), բաց կոդով վեկտորային գրաֆիկայի խմբագիր: Ես պատկերացնում եմ, որ այս մեթոդը կարող է