Այս հոդվածում մենք կքննարկենք, թե ինչպես վարժեցնել Darknet YOLOv2-ը ձեր սեփական օբյեկտների վրա՝ օգտագործելով YOLOv2-ի մարզման ռեժիմը: Քանի որ YOLOv2-ը գրված է հատուկ Linux պլատֆորմի համար, ես կանցնեմ Linux համակարգի տեղադրման և վերապատրաստման քայլերը: Darknet YOLO կայքը ունի տեղադրման վերաբերյալ որոշ փաստաթղթեր, ուստի ես չեմ տա տեղադրման քայլ առ քայլ բացատրություն:

Հետևեք Darknet-ի տեղադրման գործընթացին՝https://pjreddie.com/darknet/install/

Կախվածություններ:
1: CUDA 8.0. CUDA-ն ցավալի է տեղադրել ցանկացած մեքենայի վրա, ուստի հետևեք NVIDIA-ի կողմից տրամադրված տեղադրման ուղեցույցին: » սա տեղադրելու համար:
2. OpenCV 2.4.13/3.X
3. GPU CC ≥ 2.0

Բոլոր անհրաժեշտ կախվածությունները ունենալուց հետո կարող եք ստուգել ձեր կարգավորումը՝ կատարելով կշիռները ստանալու և հայտնաբերման հրամանները.

wget https://pjreddie.com/media/files/yolo.weights
./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg

Եթե ​​ձեր արդյունքը նման բան է թվում, ձեր կարգավորումը պետք է աշխատի:

Այժմ մենք կարող ենք անցնել YOLO համակարգի իրական վերապատրաստմանը: Ես կսովորեցնեմ YOLO-ն՝ հայտնաբերելու Altia Systems PanaCast լոգոն:

Ձեզ անհրաժեշտ կլինի մոտ 300 պատկեր յուրաքանչյուր կատեգորիայի համար ընդունելի հայտնաբերում կատարելու համար: Այս պատկերներից յուրաքանչյուրի համար մենք պետք է նշենք սահմանող տուփ, որը նկարագրում է, թե պատկերի որտեղ է գտնվում օբյեկտը: Ինչպես տեսնում եք ստորև, յուրաքանչյուր պատկեր ունի համապատասխան տեքստային ֆայլ՝ սահմանող տուփի բնութագրերով:

Ահա լոգոյի համար իմ կողմից կազմված տվյալների հավաքածուի սքրինշոթը:

Այն բանից հետո, երբ մենք համախմբում ենք պատկերների ամբողջ հավաքածուն, որոնց վրա ցանկանում ենք վարժեցնել մոդելը, մենք պետք է յուրաքանչյուր պատկեր նշենք սահմանափակող տուփով: Ես օգտագործել եմ BBoxLabelTool՝ յուրաքանչյուր պատկերի ծանոթագրության համար: Գործիքը ստեղծում է տեքստային ֆայլ տվյալների հավաքածուի յուրաքանչյուր պատկերի համար, որը պարունակում է պատկերի օբյեկտի, այս դեպքում՝ պատկերանշանի շուրջ սահմանող տուփի արժեքները: Որոշ ձևաչափեր կան, որոնք դուք պետք է անեք տեքստային ֆայլում, որպեսզի այն օգտագործվի YOLO համակարգում:

BBox Label Tool-ի ձևաչափը՝

[կատեգորիայի համարը]
[սահմանային տուփ ձախից X] [սահմանային տուփի վերևի մասում Y] [սահմանային տուփի աջ X] [սահմանող տուփի ներքևում Y]

YOLOv2 ձևաչափ՝

[կատեգորիայի համարը] [օբյեկտի կենտրոնը X-ում] [օբյեկտի կենտրոնը Y-ում] [օբյեկտի լայնությունը X-ում] [օբյեկտի լայնությունը Y-ում]

Այս երկու ձևաչափերի միջև փոխակերպումը կարող է իրականացվել այս Python գրության միջոցով, որը գրվել է Գուանգհան Նինգի կողմից: Պարզապես խմբագրեք Line 34 և Line 35՝ ինչպես մուտքային, այնպես էլ ելքային ճանապարհը կարգավորելու համար, և դուք պատրաստ կլինեք գնալ:

Այժմ մենք ունենք բոլոր այն տարրերը, որոնք անհրաժեշտ են YOLOv2 համակարգը PanaCast լոգոն հայտնաբերելու համար մարզելու համար: