Mashinali o'qitishga kirish Mavzu: Chuqur o'rganish bilan Opencv yoshni aniqlash Tekshirdi: Nurmurodov Javohir


Chuqur o'rganish bilan OpenCV yoshni aniqlash


Download 315.58 Kb.
bet10/15
Sana28.12.2022
Hajmi315.58 Kb.
#1022239
1   ...   7   8   9   10   11   12   13   14   15
Bog'liq
Mashinali o\'qitishga kirish Mustaqil Ish

Chuqur o'rganish bilan OpenCV yoshni aniqlash

  • Chuqur o'rganish bilan OpenCV yoshni aniqlash
  • def detect_and_predict_age ( ramka, faceNet, ageNet, minConf= 0,5 ) :
  • # bizning yosh detektorimiz bashorat qiladigan yosh chelaklari ro'yxatini aniqlang
  • AGE_BUCKETS = [ "(0-2)" , "(4-6)" , "(8-12)" , "(15-20)" , "(25-32)" ,
  • "(38-43)" , "(48-53)" , "(60-100)" ]
  • # natijalar ro'yxatini ishga tushiring
  • natijalar = []
  • # ramkaning o'lchamlarini oling va keyin blobni yarating
  • # undan
  • ( h, w ) = ramka.shakl [ : 2 ]
  • blob = cv2.dnn. blobFromImage ( ramka, 1.0 , ( 300 , 300 ) ,
  • ( 104,0 , 177,0 , 123,0 ))
  • # blobni tarmoq orqali o'tkazing va yuzni aniqlashni oling
  • faceNet. setInput ( blob )
  • aniqlashlar = faceNet. oldinga ()

Bizning

  • Bizning
  • yoshni aniqlash_va_taxmin qilish
  • yordamchi funksiya quyidagi parametrlarni qabul qiladi:ramka
  • : Veb-kamerangiz video oqimidan bitta kadr
  • faceNet
  • : Boshlangan chuqur o'rganish yuz detektori
  • ageNet
  • : Bizning boshlang'ich chuqur o'rganish yoshi tasniflagichimiz
  • minConf
  • : Zaif yuzlarni aniqlashni filtrlash uchun ishonch chegarasi
  • Ushbu parametrlar bizning yagona tasvir yoshi detektori skriptimizning buyruq qatori argumentlaridan parallel ravishda chiziladi.
  • Yana bizning
  • AGE_BUCKETS
  • aniqlanadi ( 12 va 13-qatorlar ).Keyin ushlab turish uchun bo'sh ro'yxatni ishga tushiramiz
  • natijalar
  • yuzni lokalizatsiya qilish va yoshni aniqlash.
  • 20-26 qatorlar yuzni aniqlashni amalga oshiradi .

Keyinchalik, har birini qayta ishlaymizaniqlashlar:

  • Chuqur o'rganish bilan OpenCV yoshni aniqlash
  • Aniqlanishlar ustidan # halqa
  • diapazondagi i uchun ( 0 , detections.shape [ 2 ] ) :
  • # bilan bog'liq ishonchni (ya'ni, ehtimollik) chiqarib oling
  • # bashorat
  • ishonch = aniqlashlar [ 0 , 0 , i, 2 ]
  • # ishonchni ta'minlash orqali zaif aniqlashlarni filtrlang
  • # minimal ishonchdan kattaroq
  • agar ishonch > minConf bo'lsa:
  • # uchun chegaralovchi maydonning (x, y)-koordinatalarini hisoblang
  • # ob'ekt
  • quti = aniqlashlar [ 0 , 0 , i, 3 ​​: 7 ] * np. massiv ([ w, h, w, h ])
  • ( startX, startY, endX, endY ) = quti. astype ( "int" )
  • # yuzning ROI-ni ajratib oling
  • yuz = ramka [ startY: endY, startX: endX ]
  • # yuzning ROI yetarli darajada katta ekanligiga ishonch hosil qiling
  • agar face.shape [ 0 ] < 20 yoki face.shape [ 1 ] < 20 :
  • davom eting

Download 315.58 Kb.

Do'stlaringiz bilan baham:
1   ...   7   8   9   10   11   12   13   14   15




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling