3 Neyron tarmog'ining dasturiy ta'minoti
3.1 Muammo bayoni
Ikkita rasm berilgan. Neyron tarmog'idan foydalanib, birinchi tasvirdagi odamlarning qo'llari va yuzlarini tanib olish, ikkinchi rasmdagi odamlarning qo'llari va yuzlarini tanib olish va tan olingan ob'ektlarning pozitsiyalarida o'zgarishlar yuz berganligini aniqlash kerak. birinchi rasm ikkinchi rasmdagi pozitsiyalar bilan mos ravishda ma'lum miqdorda. Agar pozitsiya o'zgargan bo'lsa, bu haqda dasturga xabar bering.
Ushbu vazifani belgilangan ob'ektlarning harakat detektori sifatida ko'rib chiqish mumkin va uni kameralardan suratga olish va ikkita ketma-ket kadrlarni solishtirish orqali yanada yaxshilash mumkin.
3.2 Rivojlanish muhitini tanlash
Tensorflow dan foydalanish rejalashtirilgan edi ob'ekt aniqlash API . Uning ishlashi uchun oldindan o'rgatilgan tarmoqlardan tanib olish tezligi va aniqligi jihatidan eng mosini tanlash kerak. Bundan tashqari, avval har bir tan olingan ob'ektning joylashuvi bilan kiritilgan tasvirlar yorliqlarini o'z ichiga olgan ma'lumotlar to'plamini yaratishingiz kerak. Ma'lumotlar to'plamini yaratish uchun biz labelimg dasturidan foydalandik , uning yordamida xml fayllari tasvirdagi odamlarning qo'llari va yuzlari belgilari bilan yaratilgan. Shundan so'ng, bu fayllar python skripti yordamida Tensorflow tomonidan ishlatiladigan yozib olish fayllariga aylantirildi ob'ekt aniqlash API . Tanlash uchun ushbu dastur turli xil neyron tarmoqlarning keng doirasini taqdim etadi
arxitektura. Misol sifatida, " ssd_mobilenet_v2_coco " deb nomlangan konvolyutsion tarmoq ishlatilgan. Bu tezlik bo'yicha mavjud bo'lgan eng tezkor, ammo ob'ektni tanib olishda eng noaniq. Ko'pgina hollarda, u mobil telefon kameralarida real vaqt rejimida ob'ektni aniqlash uchun ishlatiladi. Ushbu tarmoq uni o'rnatish uchun konfiguratsiya fayli bilan birga keladi, unda siz o'rganish tezligi, neyronlarni faollashtirish funktsiyalari va neyron tarmoqni o'qitish usuli kabi parametrlarni belgilashingiz mumkin. Konfiguratsiyadan so'ng, o'quv jarayoni labelimg yordamida oldindan tayyorlangan ma'lumotlardan foydalangan holda buyruq qatori orqali ishga tushirildi . O'qitish uchun barcha parametrlar kompyuter resurslari sarfini minimallashtirish uchun o'rnatilganligiga qaramay, hisob-kitoblar yordamida neyron tarmoqni o'qitish jarayoni uzoq vaqt talab qilishi mumkin. Neyron tarmog'ini o'rgatishning har bir bosqichi o'rtacha 60 soniya vaqtni oladi. Neyron tarmog'ining normal ishlashi uchun taxminan 330 soat davom etadigan taxminan 20 000 qadam kerak edi, shuning uchun ushbu amalga oshirish usuli vazifa uchun mos emas edi.
Dasturni yaratish uchun Python uchun Keras ramkasi qo'llaniladi , bu sizga neyron tarmoq yaratish va uzoq o'quv davri bilan bog'liq muammolardan qochish imkonini beradi.
|