O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL‑XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
Muhammad al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti “Dasturiy injinering” fakulteti 314-21 guruh talabasi Zoirov Bahodirning bajargan
Loyiha ishi
«Yuz tanish tizimi »
Topshirdi : Zoirov Bahodir Tekshirdi: Saidrasulov Sherzod Toshkent – 2023 Mundarija
Kirish…………………………………………………………………………………
I.UMUMIY MA’LUMOTLAR………………………………………………………………
1.1 Tizimining to’liq va qisqacha nomi……………………………………….
1.2 Hujjatlarni rasmiylashtirish va buyurtmachiga taqdim etish.
1.3 Tizimni ishlab chiqish muddati (boshlash va yakunlash)…………
1.4 Tizimni moliyalash manbai va tartiblash bo’yicha ma’lumot….
1.5 Buyurtmachi va ijrochi tashkilot nomlari va rekvizitlari…………
1.6 Yuz tanish tizimi haqida……………………………………………………….
1.7 Bizning tizimni boshqa tizimlardan farqi………………………….
II.TALABLAR…………………………………………………………………………………
2.1 Rasmga tushish……………………………………………………………..
2.2 Yorug’lilik darajasi…………………………………………………………..
2.3
Yuz baholanishi………………………………………………………………….
2.4
Natijani kutish………………………………………………………………………
III.AXBOROT TIZIMINING MAQSADI VA VAZIFASI……………………
3.1
Tizimning vazifalari…………………………………………………………….
3.2 Tizimning maqsadi…………………………………………………………
3.3 Tizimning strukturasi…………………………………………………………
3.4
Tizimning arxitekturasi…………………………………………………………
3.5
Tizim texnologiyasi………………………………………………………………
3.6
Tizim xavfsizligi…………………………………………………………………….
IV.AVTOMATLASHGAN AXBOROT TIZIMI TAVSIFLARI…………………
4.1 UML dasturida USE CASE diagrammasidagi strukturasi………
4.2 UML dasturida ACTIVITY diagrammasidagi strukturasi………
4.3 UML dasturida SEQUENCE(ketma-ket)……………………………..
4.4 UML dasturida CLASS(sinf) diagrammasidagi strukturasi….
4.5 Foydalanish imkoniyatlari……………………………………………………...
V.MA’LUMOTLAR BAZASI……………………………………………………………
5.1 ER fiagrammadan foydalanish qoidalari……………………………..
5.2
ER diagramma……………………………………………………………………
VI.YAKUNIY QISM…………………………………………………………………………
6.1 Xulosa…………………………………………………………………………………
6.2 Foydalanilgan manbalar…………………………………………………….
Kirish
Enborator – bu Universitetlarda o’qituvchi bir qancha daqiqasini sarflaydigan davomat qilish vaqtini o’rniga ,shu vaqtni o’qishga sarflashi , o’quvchilar va o’qituvchilar orasida davomat borasida kelishi mumkin bo’lgan har qanday kelishmovchilikni oldini olishga mo’ljallangan davomat qiluvchi ilova.
I.UMUMIY MA’LUMOTLAR
1.1 Tizimning to'liq va qisqacha nomi
Axborot tizimining to'liq nomi:
Davomat qilish uchun dasturiy ta’minot(web sayt)
Qisqacha nomi:
Lquick
1.2 Hujjatlarni rasmiylashtirish va buyurtmachiga taqdim etish tartibi
Da'sturiy vositani ishlab chiqish bo'yicha qonuniy , amaliy, texnik hujjatlar shakllantiriladi.Buyurtmachi va dasturiy vositani ishlab chiqaruvchi tomonidan ikki tomonlama shartnoma imzolanadi.
Ikki tomonlama shartnomada quyidagi talablar ko'zda tutiladi:
1)dasturiy vosita amaliy va texnik talablarga javob beradigan qilib ishlab chiqish
2)dasturiy vositani o'z muddatidan kechiktirihnagan holda ishlab chiqilishi(izoh:rnuddat vaqtidan so'ng qonuniy hujjatga asoslangan holda har bir kechiktirilgan kunga 0.5% penya tug'ishi nazarda tutilgan)
3)qonuniy shartnomada belgilangan barcha punktlarga amal qilish
1.3 Tizimni ishlab chiqish muddati (boshlash va yakunlash)
Boshlanish sanasi : 5. 09.2022
Yakunlash sanasi :15.12 .2022
1.4 Tizimni moliyalash manbai va tartibi bo'yicha ma'lumot
Moliyashtiruvchi tashkilot - "Future" MChJ
Tartib raqam
Jarayonlar
Qurilmalar
Soha mutaxasisi
To’lov miqdori
1
Talablarni o’rganish va tahlil qilish
Project va product manager
1100$
2
Dasturiy ta’minotni ishlab chiqish
IT branch & Developer Hub
3000$
3
DT local serverlarda testlash
Local server
Devops,
System, Server adminstratori
1000$
4
DTni kiber xavfsizlik,DS (davlat standarti)
, Yagona
texnologiyalar
markazlaridan
sertifikatsiya olish
CTO Project Product managers
2000$
1.5 Buyurtmachi va ijrochi tashkilot nomlari va rekvizitlari
Buyurtmachi : TATU
Ijrochi: "Future" MChJ. Manzil:R12U7,
Toshkent shahri Yunusobod tuman Otchopar mahalla Qoranko’l ko’cha. 64-uy.
1.6 Face ID qanday qilib iPhone va iPad Pro’dagi ma’lumotlaringizni himoya qilishga yordam berishini bilib oling.
Raqamli hayotimizning katta qismi iPhone va iPad’da saqlanadi va bu ma’lumotlarni himoya qilish muhim. Xuddi Touch ID barmoq izi yordamida autentifikatsiyani inqilob qilganidek, Face ID ham yuzni tanishdan foydalangan holda autentifikatsiyani inqilob qiladi. Face ID sizning yuzingiz geometriyasini aniq xaritalash uchun ilg'or texnologiyalarga ega so'nggi TrueDepth kamera tizimi orqali intuitiv va xavfsiz autentifikatsiyani ta'minlaydi.
Oddiy qarash bilan Face ID iPhone yoki iPad Pro-ni xavfsiz tarzda qulfdan chiqaradi. Siz undan iTunes Store, App Store va Kitob doʻkonidan xaridlarni, Apple Pay orqali toʻlovlarni va boshqalarni avtorizatsiya qilish uchun foydalanishingiz mumkin. Ishlab chiquvchilar, shuningdek, o'z ilovalariga kirish uchun Face ID dan foydalanishga ruxsat berishlari mumkin. Touch ID-ni qo'llab-quvvatlaydigan ilovalar avtomatik ravishda Face ID-ni qo'llab-quvvatlaydi.
1.7 Bizning tizim boshqa yuz tanish tizimlaridan farqi ko’p bo’lmasada bizning tizim boshqa tizimlardan farqli har qanday texnalogiya bilan osonlikcha ishlaydi hech qanday og’irlik qotishlar olib kelmaydi. Tizim juda soda tuzulishga ega va bu ko’p holatlarda o’quv dargohlari(Bolalar bog’chasi, maktab, universitet) va shunga o’xshash o’quv markazlari uchun mo’ljallangan. Bu tizim o’quvchilsrni davomat qilish uchun mo’ljallangan bo’lib bunda davomat vaqtini qisqartirish va hech kimni qolib ketmasligi uchun ishlab chiqilgan. Bilamizki dars vaqtida davomat olish jarayoni juda ko’p vaqt oladi va o’quvchi yoki o’qituvchi bir birlarini shovqin natijasida eshitmasligi mumkin. Bizning tizim shunga o’xshash holatlarni oldini olish uchun mo’jallangan. Bizning tizimlarning boshqa tizimlardan yana bir farqi bizning tizim qolganlarga nisbatan hamyonbob va qulaylikdadir.
II.TALABLAR
Rasmga tushish
bu foydalanuchi dasturdan foydalanishdan oldin albatta uning rasmi ma’lumotlar bazasiga joylashtirilishi lozim va rasmda iloji boricha yuzdan boshqa joy chiqmasligi va orqa tomon ham imkon qadar oq bo’lishi lozim
dastur ishlayotgan paytda yorug’lilik darajasi, dastur foydalanuvchi yuzini ko’ra oladigan darajada yorug’ bo’lishi lozim
Yuz baholanishi
Dastur ishlashi davomida yuz to’laqonli kameraga tushishi lozim va yuz hech narsa bilan to’silmasligi lozim
Natijani kutish
Dastur bir necha soniya vaqt oladi, bir foydalanuchidan keyin ikkinchi foydalanuchiga o’tishi uchun natijani kutish zarur
III. AXBOROT TIZIMINI MAQSADI VA VAZIFASI
3.1 Tizim vazifalari
"Lquick" online yuz tekshiruv xizmati,yuz tekshirish xizmatini yo'lga qo'yish va uni nazorat qilish uchun qulay dasturiy vosita hisoblanadi.Yuz tekshiruvi ximati juda tez ya'ni dasturiy vosita ishlab chiqishda eng zamonaviy va kuchli texnologiyalar ishlatilgan.”Lquick” orqali foydalanuvchi o’zining darsda ishtirok etganini ko’rsata oladi.
3.2 Tizim maqsadlari
Bu dastur tufayli davomat qilishdagi muammolar to’laqonli bartaraf etiladi ,endilikda talaba har qanday holatda ham o’zini davomatda sababsiz bo’lib belgilanib qolinishdan qutuladi.Tizim maqsadlaridan yana biri o’qituvchi vaqtini tejash va dars vaqti uzoqroq davom etishini ta’minlashdan iborat.
3.3 Tizim strukturasi
Link ko’rish uchun: https://lucid.app/lucidchart/a342a1d4-7b6c-430f-bcb7-362c56d1593e/edit?viewport_loc=-89%2C616%2C2415%2C1129%2C0_0&invitationId=inv_85bb2434-12a0-49eb-8b03-fb4d1ea0ee85
Izoh:
Bu tizim strukturasida, talaba davomatidagi o’zgarishlar haqida ma’lumotlar qanday aniqlanishi ko’rsatib berilgan.
3.4 Tizim arxitekturasi
3.5 Face ID-ni faollashtiradigan texnologiya biz yaratgan eng ilg'or apparat va dasturiy ta'minotdir. TrueDepth kamerasi yuzingizning chuqurlik xaritasini yaratish uchun minglab ko‘rinmas nuqtalarni proyeksiyalash va tahlil qilish orqali aniq yuz ma’lumotlarini oladi hamda yuzingizning infraqizil tasvirini oladi. Secure Anclave ichida himoyalangan A11, A12 Bionic, A12X Bionic, A13 Bionic, A14 Bionic va A15 Bionic chiplarining neyron dvigatelining bir qismi chuqurlik xaritasi va infraqizil tasvirni matematik tasvirga aylantiradi va bu tasvirni taqqoslaydi. roʻyxatga olingan yuz maʼlumotlari.
Face ID tashqi ko'rinishingizdagi o'zgarishlarga, masalan, kosmetik bo'yanish yoki o'sayotgan yuz sochiga avtomatik moslashadi. Agar tashqi koʻrinishingizda sezilarli oʻzgarishlar boʻlsa, masalan, toʻliq soqolni olish, yuz maʼlumotlarini yangilashdan oldin Face ID parolingiz yordamida shaxsingizni tasdiqlaydi. Face ID shlyapalar, sharflar, ko'zoynaklar, kontakt linzalari va ko'plab quyoshdan saqlaydigan ko'zoynaklar bilan ishlashga mo'ljallangan. Bundan tashqari, u bino ichida, ochiq havoda va hatto butunlay zulmatda ishlashga mo'ljallangan. iOS 15.4 va iPhone 12 yoki undan keyingi versiyalarida Face ID hatto yuz niqoblari bilan ham ishlaydi.
Face ID dan foydalanishni boshlash uchun avvalo yuzingizni roʻyxatdan oʻtkazishingiz kerak. Buni dastlabki sozlash jarayonida yoki keyinroq Sozlamalar > Face ID & Passcode-ga o‘tish orqali qilishingiz mumkin. Face ID yordamida qurilmangizni qulfdan chiqarish uchun unga bir nazar tashlang. Face ID TrueDepth kamerasi qurilmangiz yuzada yotganmi yoki uni tabiiy holatda ushlab turganingizdan qatʼi nazar, yuzingizni yoki koʻzingizni koʻrishini talab qiladi. TrueDepth kamerasi oldingi kamera bilan suratga olish yoki FaceTime qo‘ng‘iroqlarini amalga oshirishdagi kabi ko‘rish diapazoniga ega. Face ID qurilma yuzingizdan qoʻlgacha yoki undan kamroq masofada joylashganda (yuzdan 25–50 sm uzoqlikda) yaxshi ishlaydi. Niqob taqqan holda Face ID-dan foydalanish uchun funksiyani sozlang va kamera ko‘zingizni ko‘ra olishiga ishonch hosil qiling.
TrueDepth kamerasi aqlli tarzda faollashtirilgan; masalan, ekranni uyg'otish uchun teging, ekranni uyg'otadigan kiruvchi bildirishnomadan yoki iPhone-ni uyg'otish uchun ko'taring. Qurilmangizni har safar qulfdan chiqarganingizda TrueDepth kamerasi aniq chuqurlik maʼlumotlari va infraqizil tasvirni olish orqali sizni taniydi. Ushbu ma'lumot autentifikatsiya qilish uchun saqlangan matematik tasvirga mos keladi.
3.6 Qurilmalarimizdagi ma'lumotlarni himoya qilish uchun xavfsizlik barchamiz uchun muhim. Touch ID bilan qilganimiz kabi maʼlumotlaringizni himoya qilish uchun bir qancha muhim ishlarni qildik. Face ID ishonchli autentifikatsiya yechimi uchun TrueDepth kamerasi va mashinani o‘rganishdan foydalanadi. Face ID maʼlumotlari (jumladan, yuzingizning matematik tasvirlari) shifrlangan va faqat Secure Enclave uchun mavjud kalit bilan himoyalangan.
Aholidagi tasodifiy shaxs sizning iPhone yoki iPad Pro-ga qarashi va uni Face ID yordamida qulfdan chiqarishi ehtimoli, siz niqob kiysangiz ham, kiymisiz ham, ro‘yxatga olingan ko‘rinishdagi 1 000 000 tadan 1 tadan kam. Qo'shimcha himoya sifatida, Face ID parol talab qilinishidan oldin faqat beshta muvaffaqiyatsiz o'yinga urinish imkonini beradi. Sizga o‘xshagan egizaklar va aka-ukalar va 13 yoshgacha bo‘lgan bolalar uchun Face ID-dan niqob bilan foydalanilsa, statistik ehtimollik yuqoriroq bo‘ladi, chunki ularning yuz xususiyatlari to‘liq shakllanmagan bo‘lishi mumkin. Agar bundan xavotirda boʻlsangiz, autentifikatsiya qilish uchun paroldan foydalanishni tavsiya etamiz. Face ID-ni niqob bilan yoqmasdan ham Face ID-dan foydalanishingiz mumkin.
Face ID bosma yoki 2D raqamli fotosuratlarda uchramaydigan chuqurlik maʼlumotlariga mos keladi. U murakkab anti-spoofing neyron tarmoqlaridan foydalanish orqali niqoblar yoki boshqa texnikalar yordamida firibgarlikdan himoya qilish uchun moʻljallangan. Face ID hatto e'tiborni ham sezadi va niqobli Face ID har doim e'tiborni tasdiqlaydi. Face ID ko'zlaringiz ochiqligini va e'tiboringiz qurilmaga qaratilganligini aniqlaydi. Bu sizning xabaringizsiz kimdir qurilmangizni qulfdan chiqarishini qiyinlashtiradi (masalan, siz uxlayotganingizda).
Face ID-dan foydalanish uchun qurilmangizda parol o'rnatishingiz kerak. Qo'shimcha xavfsizlik tekshiruvi uchun parolingizni quyidagi hollarda kiritishingiz kerak:
Qurilma hozirgina yoqilgan yoki qayta ishga tushirilgan.
Qurilma 48 soatdan ortiq vaqt davomida qulfdan chiqarilmadi.
Oxirgi olti yarim kun ichida parol qurilmani qulfdan chiqarish uchun ishlatilmadi va Face ID so‘nggi 4 soat ichida qurilmani qulfdan chiqarmadi.
Qurilma masofadan qulflash buyrug'ini oldi.
Bir yuzni moslashtirish uchun beshta muvaffaqiyatsiz urinishdan keyin.
Quvvatni o'chirish / Favqulodda yordamni ishga tushirgandan so'ng, ovoz balandligi tugmachasini va yon tugmani bir vaqtning o'zida 2 soniya bosib turing.
IV. AVTOMATLASHGAN AXBOROT TIZIMI TAVSIFLARI
4.1 UML dasturida USE CASE diagrammasidagi strukturasi
Izoh:Bu o’z nomi bilan foydalanish holati diagrammasi hisoblanadi va bu diagrammada birgina ishlash holati, ya’ni talaba rasmga tushadi u ma’lumotlar bazasi bilan bog’liq Lquick dasturi ma’lumotlar bazasi orqali tekshiradi.
Izoh:Bu diagramma orqali barcha harakatlar ketma-ketligini ko’rib chiqamiz,ya’ni birinchi navbatda talaba rasmga tushadi , rasm o’z navbatida ma’lumotlar bazasidagi barcha yuzlar bilan solishtiriladi .Agar ma’lumotlar bazasida talabaning yuz ko’rinishi bo’lmasa, dastur kamera orqali yana bir marotaba rasmga olib yana ketma ketlikni bajaradi.Agar ma’lumotlar bazasida talabaning yuz ko’rinishi bo’lsa,u holda saytning davomat qismiga Talabani darsda bor ekanligini jo’natib qo’yadi.
Izoh:kamera va talaba o’rtasida bo’ladigan ma’lumotlar uzatilishi ketma-ketligi.Bunda rasmga olingandan keyin inson yuzi ko’rinishiga qarab ma’lumotlar bazasidagi ma’lumotlardan izlagan holda talabaning taxminiy ma’lumotlarini qaytaradi.
Link Diagrammalarga: https://lucid.app/lucidchart/2a359ad5-0dd3-4d9f-a1ac-2f8056025492/edit?viewport_loc=-318%2C788%2C1997%2C934%2C0_0&invitationId=inv_e79a634d-42e8-471e-b8df-0e2b6e417e39
Link Class diagrammaga: https://lucid.app/lucidchart/a342a1d4-7b6c-430f-bcb7-362c56d1593e/edit?viewport_loc=-411%2C-255%2C2415%2C1129%2C0_0&invitationId=inv_85bb2434-12a0-49eb-8b03-fb4d1ea0ee85
V.MA’LUMOTLAR BAZASI
5.1 ER diagrammasidan foydalanishning asosiy sabablari
Ob'ekt munosabatlarini modellashtirish bilan bog'liq atamalarni aniqlashga yordam beradi
Sizning barcha jadvallaringiz qanday ulanishi kerakligi, har bir jadvalda qanday maydonlar bo'lishi haqida oldindan ko'rishni taqdim eting
Ob'ektlarni, atributlarni, munosabatlarni tasvirlashga yordam beradi
ER diagrammalari relyatsion jadvallarga tarjima qilinadi, bu sizga tezda ma'lumotlar bazalarini yaratishga imkon beradi
ER diagrammalari ma'lumotlar bazasi dizaynerlari tomonidan ma'lum dasturiy ta'minot dasturlarida ma'lumotlarni amalga oshirish rejasi sifatida ishlatilishi mumkin
Ma'lumotlar bazasi dizayneri ERP diagrammasi yordamida ma'lumotlar bazasida bo'lishi kerak bo'lgan ma'lumotlarni yaxshiroq tushunadi.
ERD diagrammasi foydalanuvchilarga ma'lumotlar bazasining mantiqiy tuzilishi bilan bog'lanish imkonini beradi
ER DIAGRAMMASI
Yuz tanish tizimidan davomatda foydalanishga namuna:
4.5 Foydalanish imkoniyati Apple mahsulotlarining ajralmas qismidir. Jismoniy cheklovlarga ega foydalanuvchilar ro'yxatdan o'tish vaqtida "Mavjud imkoniyatlar" ni tanlashlari mumkin. Bu sozlama turli burchaklarni suratga olish uchun bosh harakatining toʻliq diapazonini talab qilmaydi va ulardan foydalanish hali ham xavfsiz, lekin iPhone yoki iPad Pro-ga qarashingiz yanada izchil boʻlishini talab qiladi.
Face ID shuningdek, ko'r yoki zaif ko'rish qobiliyatiga ega bo'lgan shaxslarni qo'llab-quvvatlash uchun qulaylik xususiyatiga ega. Agar siz Face ID qurilmangizga ko‘zingiz ochiq holda qarashingizni talab qilishini xohlamasangiz, Sozlamalar > Maxsus imkoniyatlar > Face ID va e’tibor-ni ochib, Face ID uchun e’tibor talab qilishni o‘chirib qo‘yishingiz mumkin. Dastlabki sozlash vaqtida VoiceOver funksiyasini yoqsangiz, bu avtomatik ravishda o‘chiriladi.
Izoh:Bunda o’qituvchi fan va guruhni tanlaydi va search tugmasini bosish orqali talabalar ro’yxatiga ega bo’ladi ,keyin start kamerani bosib davomatni boshlaydi.Kameradan kelgan ma’lumotlar orqali talabaning darsdagi ishtiroki avtomatik aniqlanadi. O’qituvchi Stop kamerani bosib davomat jarayonini yakunlaydi. Ishtirok etmagan talabalar darsda yo’q deb tizimga belgilanadi.
Izoh:Yuzni tanish jarayoni hali to’liq yakuniga yetmagan va bu jarayonda inson yuzi orqali uning kimligini taxmin qilayapti.
Izoh:Yuz tanish tizimi to’liq yakuniga yetdi va ismni ma’lumotlar bazasiga saqladi
Izoh:Kamera bir vaqtning o’zida bir nechta insonlarning yuzini aniqlash imkoniga ega va shu holda ham ma’lumotlarni ma’lumotlar bazasiga yuboradi.
Izoh:Kameradan olingan natijalar shu tarzda saqlanib turadi.
XULOSA
Biz bu topshiriqni bajarish davomida yuz tanish tizimi loyihasi bo’yicha dasturiy ta’minot ishlab chiqishning nazariy,strukturaviy va amaliy bilim ko’nikmalariga ega bo’ldik.Jumladan dasturiy ta’minotning arxitekturasi,strukturasi,uning ishlash prinsiplari,dasturiy ta’minotni to’g’ri shakllantirish,yuzaga keladigan muammolarni hal qilish kabi bir qator masalalarni ko’rib chiqdik.
FOYDALANILGAN INTERNET SAYTLARI
https://geeksforgeeks.org/
https://www.tutorialspoint.com/
https://www.digitalocean.com/
https://www.w3recource.com/
https://www.w3school.com/
Dastur code:
Teachable Machine Image Model
Teachable Machine Image Model - p5.js and ml5.js
#### Python ####
from keras.models import load_model
from PIL import Image, ImageOps #I
#### Python ####nstall pillow instead of PIL
import numpy as np
# Disable scientific notation for clarity
np.set_printoptions(suppress=True)
# Load the model
model = load_model('keras_Model.h5', compile=False)
# Load the labels
class_names = open('labels.txt', 'r').readlines()
# Create the array of the right shape to feed into the keras model
# The 'length' or number of images you can put into the array is
# determined by the first position in the shape tuple, in this case 1.
data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32)
# Replace this with the path to your image
image = Image.open('').convert('RGB')
#resize the image to a 224x224 with the same strategy as in TM2:
#resizing the image to be at least 224x224 and then cropping from the center
size = (224, 224)
image = ImageOps.fit(image, size, Image.Resampling.LANCZOS)
import numpy as np
from keras.models import load_model
# Load the model
model = load_model('keras_model.h5')
# CAMERA can be 0 or 1 based on default camera of your computer.
camera = cv2.VideoCapture(0)
# Grab the labels from the labels.txt file. This will be used later.
labels = open('labels.txt', 'r').readlines()
while True:
# Grab the webcameras image.
ret, image = camera.read()
# Resize the raw image into (224-height,224-width) pixels.
image = cv2.resize(image, (224, 224), interpolation=cv2.INTER_AREA)
# Show the image in a window
cv2.imshow('Webcam Image', image)
# Make the image a numpy array and reshape it to the models input shape.
image = np.asarray(image, dtype=np.float32).reshape(1, 224, 224, 3)
# Normalize the image array
image = (image / 127.5) - 1
# Have the model predict what the current image is. Model.predict
# returns an array of percentages. Example:[0.2,0.8] meaning its 20% sure
# it is the first label and 80% sure its the second label.
probabilities = model.predict(image)
# Print what the highest value probabilitie label
print(labels[np.argmax(probabilities)])
# Listen to the keyboard for presses.
keyboard_input = cv2.waitKey(1)
# 27 is the ASCII for the esc key on your keyboard.
if keyboard_input == 27:
break
camera.release()
from keras.models import load_model
from PIL import Image, ImageOps #I
#### Python ####nstall pillow instead of PIL
import numpy as np
# Disable scientific notation for clarity
np.set_printoptions(suppress=True)
# Load the model
model = load_model('keras_Model.h5', compile=False)
# Load the labels
class_names = open('labels.txt', 'r').readlines()
# Create the array of the right shape to feed into the keras model
# The 'length' or number of images you can put into the array is
# determined by the first position in the shape tuple, in this case 1.
data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32)
# Replace this with the path to your image
image = Image.open('').convert('RGB')
#resize the image to a 224x224 with the same strategy as in TM2:
#resizing the image to be at least 224x224 and then cropping from the center
size = (224, 224)
image = ImageOps.fit(image, size, Image.Resampling.LANCZOS)
import numpy as np
from keras.models import load_model
# Load the model
model = load_model('keras_model.h5')
# CAMERA can be 0 or 1 based on default camera of your computer.
camera = cv2.VideoCapture(0)
# Grab the labels from the labels.txt file. This will be used later.
labels = open('labels.txt', 'r').readlines()
while True:
# Grab the webcameras image.
ret, image = camera.read()
# Resize the raw image into (224-height,224-width) pixels.
image = cv2.resize(image, (224, 224), interpolation=cv2.INTER_AREA)
# Show the image in a window
cv2.imshow('Webcam Image', image)
# Make the image a numpy array and reshape it to the models input shape.
image = np.asarray(image, dtype=np.float32).reshape(1, 224, 224, 3)
# Normalize the image array
image = (image / 127.5) - 1
# Have the model predict what the current image is. Model.predict
# returns an array of percentages. Example:[0.2,0.8] meaning its 20% sure
# it is the first label and 80% sure its the second label.
probabilities = model.predict(image)
# Print what the highest value probabilitie label
print(labels[np.argmax(probabilities)])
# Listen to the keyboard for presses.
keyboard_input = cv2.waitKey(1)