(Luận văn) nghiên cứu phát hiện giới tính qua hình ảnh ứng dụng cho công tác quản lý học sinh nội trú của trường phổ thông dân tộc nội trú tỉnh quảng ninh

71 7 0
(Luận văn) nghiên cứu phát hiện giới tính qua hình ảnh ứng dụng cho công tác quản lý học sinh nội trú của trường phổ thông dân tộc nội trú tỉnh quảng ninh

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VŨ VĂN DƯƠNG lu an NGHIÊN CỨU PHÁT HIỆN GIỚI TÍNH QUA HÌNH ẢNH va n ỨNG DỤNG CHO CÔNG TÁC QUẢN LÝ HỌC SINH NỘI TRÚ tn to CỦA TRƯỜNG PHỔ THÔNG DÂN TỘC NỘI TRÚ p ie gh TỈNH QUẢNG NINH nl w d oa LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH nf va an lu z at nh oi lm ul z m co l gm @ an Lu Thái Nguyên, 2020 n va ac th si ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VŨ VĂN DƯƠNG lu an NGHIÊN CỨU PHÁT HIỆN GIỚI TÍNH QUA HÌNH ẢNH va n ỨNG DỤNG CHO CÔNG TÁC QUẢN LÝ HỌC SINH NỘI TRÚ tn to CỦA TRƯỜNG PHỔ THÔNG DÂN TỘC NỘI TRÚ p ie gh TỈNH QUẢNG NINH oa nl w Chuyên ngành: Khoa học máy tính Mã số: 48 0101 d an lu nf va LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH lm ul z at nh oi Người hướng dẫn khoa học: PGS TS Đỗ Năng Toàn z m co l gm @ an Lu Thái Nguyên, 2020 n va ac th si i LỜI CAM ĐOAN Tên là: Vũ Văn Dương Sinh ngày: 10/01/1985 Học viên lớp cao học CK17B - Trường Đại học Công nghệ Thông tin Truyền thông - Đại học Thái Nguyên Hiện công tác tại: Sở Giáo dục Đào tạo tỉnh Quảng Ninh Xin cam đoan: Đề tài “Nghiên cứu phát giới tính qua hình ảnh - lu an Ứng dụng cho công tác quản lý học sinh nội trú Trường Phổ Thông DTNT n va tỉnh Quảng Ninh.” PGS TS Đỗ Năng Toàn hướng dẫn cơng trình nghiên tn to cứu riêng tơi Tất tài liệu tham khảo có nguồn gốc, xuất xứ rõ ràng ie gh Tác giả xin cam đoan tất nội dung luận văn nội p dung đề cương yêu cầu thầy giáo hướng dẫn Nếu sai tơi hồn tồn oa nl w chịu trách nhiệm trước hội đồng khoa học trước pháp luật d Thái Nguyên, ngày 16 tháng năm 2020 lu nf va an Tác giả luận văn lm ul z at nh oi Vũ Văn Dương z m co l gm @ an Lu n va ac th si ii LỜI CẢM ƠN Sau thời gian nghiên cứu làm việc nghiêm túc, động viên, giúp đỡ hướng dẫn tận tình Thầy giáo hướng dẫn PGS TS Đỗ Năng Toàn, luận văn với Đề tài “Nghiên cứu phát giới tính qua hình ảnh - Ứng dụng cho công tác quản lý học sinh nội trú Trường Phổ Thơng DTNT tỉnh Quảng Ninh” Xin bày tỏ lịng biết ơn sâu sắc đến thầy PGS TS Đỗ Năng Tồn tận tình dẫn, giúp đỡ tơi hồn thành luận văn Phòng đào tạo Sau đại học Trường Đại học CNTT Truyền thông lu an giúp đỡ tơi q trình học tập thực luận văn va n Sở Giáo dục Đào tạo tỉnh Quảng Ninh nơi công tác tạo điều Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp gia đình động viên, p ie gh tn to kiện tối đa cho thực khóa học w khích lệ, tạo điều kiện giúp đỡ tơi suốt q trình học tập, thực oa nl hoàn thành luận văn d Thái Nguyên, ngày 16 tháng năm 2020 an lu nf va Tác giả luận văn z at nh oi lm ul Vũ Văn Dương z m co l gm @ an Lu n va ac th si iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC CÁC TỪ VIẾT TẮT v DANH MỤC HÌNH ẢNH vi lu an PHẦN MỞ ĐẦU va n Chương 1: gh tn to KHÁI QUÁT VỀ QUẢN LÝ HỌC SINH NỘI TRÚ VÀ BÀI TỐN PHÁT p ie HIỆN GIỚI TÍNH HỌC SINH w 1.1 Khái quát quản lý học sinh nội trú; nl 1.1.1 Khái niệm quản lý giáo dục d oa 1.1.2 Những đặc trưng quản lý giáo dục an lu 1.1.3 Quản lý nhà trường nf va 1.1.4 Biện pháp quản lý học sinh nội trú lm ul 1.2 Bài tốn phát giới tính học sinh; 11 1.2.1 Giới tính 11 z at nh oi 1.2.2 Phát giới tính học sinh: 11 Chương 2: 13 z NHẬN DẠNG MẶT NGƯỜI VÀ PHÁT HIỆN GIỚI TÍNH TỪ HÌNH @ l gm ẢNH MẶT NGƯỜI 13 2.1 Cơ sở lý thuyết toán nhận dạng mặt người; 13 co m 2.1.1 Bài toán nhận dạng mặt người .13 an Lu 2.1.2 Hệ thống nhận dạng mặt tự động 14 n va ac th si iv 2.1.3 Những thách thức nhận dạng mặt người 15 2.1.4 Các cách tiếp cận cho toán nhận dạng mặt người 16 2.2 Phát giới tính từ ảnh mặt người 17 2.1.1 Chuẩn hóa ánh sáng với lọc Retinal filter 20 2.2.2 Đặc trưng HOG phát mặt người 23 2.2.3 Trích chọn đặc trưng LPQ 30 2.2.4 Bộ phân lớp k-NN 33 2.3 Kỹ thuật phát giới tính tự động sử dụng mạng CNN 35 2.3.1 Thuật toán CNN - Convolutional Neural Network 35 lu an 2.3.2 Cấu trúc mạng CNN 35 n va 2.3.3 Các lớp mạng CNN 36 tn to Chương 3: 42 ie gh CHƯƠNG TRÌNH THỬ NGHIỆM 42 p 3.1 Phân tích u cầu tốn 42 w 3.2 Phân tích lựa chọn cơng cụ 43 oa nl 3.2.1 Ngôn ngữ Python 43 d 3.2.2 Thư viện Tensorflow 44 lu an 3.2.3 Thư viện Skearn 45 nf va 3.3 Quá trình phát triển xây dựng chương trình 46 lm ul 3.3.1 Chương trình huấn luyện 46 z at nh oi 3.3.2 Chương trình phát giới tính 47 3.3.3 Kết sau chạy liệu thử nghiệm 48 PHẦN KẾT LUẬN 51 z gm @ TÀI LIỆU THAM KHẢO 53 l PHỤ LỤC 54 m co Chương trình huấn luyện 54 an Lu Chương trình phát giới tính 60 n va ac th si v DANH MỤC CÁC TỪ VIẾT TẮT Từ Tiếng Anh viết tắt Color Graphic Adaptor CNN Convolutional Neural Network HOG Histogram of Oriented Gradient LBP Local Binary Pattern LDA Linear Discriminant Analysis LQP Local Phase Quantization PCA Principal Components Analysis lu CGA an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si vi DANH MỤC HÌNH ẢNH Hình 2.1 Mơ hình tổng quan tốn Face recognition 14 Hình 2.2 Sơ đồ tổng quan hệ thống nhận dạng giới tính 18 Hình 2.3 Các bước hệ thống phát mặt tự động LPQ 19 Hình 2.4 Các bước lọc Retinal filter 20 Hình 2.5 Kết việc tiền xử lý với lọc Retina filter 22 Hình 2.7 Một số ảnh LPQ thu từ toán tử LPQ 32 lu an Hình 2.8 Các bước tính vector LPQ ảnh mặt người 33 n va Hình 2.9 Minh họa phân lớp kNN 34 tn to Hình 2.10 Minh họa cấu trúc mạng CNN 35 ie gh Hình 2.11 Minh họa filter tầng convolutonal 37 p Hình 2.12 Minh họa thơng số Padding 37 nl w Hình 2.13 Minh họa phát đặc trưng feature detector 38 oa Hình 2.14 Hàm ReLU 39 d Hình 2.15 Max Pooling 39 lu nf va an Hình 2.16 Average Pooling 40 Hình 2.17 Hình minh họa lớp Fully connected 40 lm ul Hình 2.18 Hình minh kết sau tầng Fully connected 41 z at nh oi Hình 3.1 Trường phổ thông dân tộc nội trú tỉnh Quảng Ninh 42 Hình 3.2 Đồ thị biểu diễn giá trị loss, train 46 z Hình 3.3 Bảng số liệu kết thử nghiệm 48 @ gm Hình 3.4 Hình ảnh kết chạy thử nghiệm thực tế 49 m co l Hình 3.5 Hình ảnh kết chạy thử nghiệm thực tế 50 an Lu n va ac th si vii DANH MỤC BẢNG BIỂU Hình 3.1: Bảng số liệu kết thử nghiệm 50 lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si PHẦN MỞ ĐẦU Tính khoa học cấp thiết đề tài Ngày nay, với phát triển mạnh mẽ khoa học cơng nghệ, phần cứng máy tính thiết bị liên quan có tiến vượt bậc tốc độ tính tốn, dung lượng chứa, khả xử lý, công nghệ xử lý, nhận dạng ảnh số trở nên thông dụng với hầu hết lĩnh vực xã hội Việc phân tích trích xuất thơng tin có từ ảnh lu nhà khoa học nghiên cứu từ đầu năm 90 kỷ trước Điều an có nhiều thơng tin có ích khai thác từ ảnh khn va n mặt, ví dụ danh tính, giới tính, cảm xúc, cử tương tác, dân tộc, tình tn to trạng sức khỏe,… Trong số thơng tin suy từ ảnh, giới tính ie gh thuộc tính quan trọng có nhiều ứng dụng thực tế, ví dụ p quảng cáo có định hướng, thống kê dân số, cơng tác quản lý dân oa nl w cư, quản lý học sinh khu nội trú trường học… d Công tác quản lý người công việc phức tạp an lu công tác quản lý Đối với Trường phổ thông dân tộc nội trú tỉnh Quảng nf va Ninh, công tác quản lý học sinh nội trú ln địi hỏi nhiều thời gian công lm ul sức Đối tượng học sinh nhà trường sinh hoạt học tập 100% nội trú trường, z at nh oi khu nội trú nhà trường chia làm hai khu riêng biệt phân cách rào ngăn cách Nhà trường xây dựng nội quy riêng cho khu vực nam nữ khác nhau, học sinh nam khơng sang khu vực học sinh nữ ngược z gm @ lại Để quản lý học sinh khu vực việc xây dựng nội qui, qui định phổ biến tới học sinh cần nguồn nhân lực kiểm tra việc thực l lớn cho công tác quản lý m co nội qui này, việc kiểm tra phải diễn thường xuyên, liên tục khó khăn an Lu n va ac th si 48 Bước 3: - Lặp lại trình phát khn mặt frame ảnh; - Cắt hình ảnh khuôn mặt làm liệu so sánh với lớp xây đựng trình huấn luyện Bước 4: - Gán nhãn cho khuôn mặt (Nam hoặc nữ) tỉ lệ phát 3.3.3 Kết sau chạy dữ liệu thử nghiệm Hình 3.3 Bảng số liệu kết thử nghiệm Nhận Số lu an Khối lượng Số Nhận sai va Nữ Số > Nữ >Nam lượng % lượng n Nam % tn to Khối 10 98 93,33% 6,67% 102 97 95,10% 4,90% 98 97 98,98% 1 1,02% 292 95,74% 10 13 4,26% ie gh 105 p Khối 11 305 d Tổng oa nl w Khối 12 nf va an lu Như với liệu chạy thử nghiệm phát giới tính 305 học lm ul sinh Trường phổ thông dân tộc nội trú tỉnh Quảng Ninh điều kiện đủ ánh sáng, z at nh oi kết phát giới tính cao, với khối lớp 10 tỉ lệ phát giới tính 93,33%; khối lớp 11 95,10%; khối lớp 12 đạt 98,98%; tỉ lệ chung toàn trường đạt 95,74% tỉ lệ tốt Các trường hợp phát sai thường góc nhìn z gm @ nghiêng hoặc liệu chưa đủ số lượng giới tính nữ bị phát nhầm thành giới tính nam nhiều so với giới tính nam phát nhầm thành giới tính nữ m co l an Lu n va ac th si 49 lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ Hình 3.4 Hình ảnh kết chạy thử nghiệm thực tế an Lu n va ac th si 50 lu an n va p ie gh tn to d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ Hình 3.5 Hình ảnh kết chạy thử nghiệm thực tế an Lu n va ac th si 51 PHẦN KẾT LUẬN Sau tìm hiểu cơng tác quản lý học sinh khu ký túc xá Trường phổ thông dân tộc nội trú tỉnh Quảng Ninh cho thấy công tác quản lý học sinh tạị khu ký túc xá trường công tác quản lý phức tạp, phải dành nhiều thời gian, nhân lực hiệu cơng tác cịn thấp, thực việc ứng ụng công nghệ thông tin công tác quản lý giúp giảm thiểu thời gian nhân lực, nâng cao chất lượng công tác quản lý lu Bài tốn phát giới tính từ hình ảnh mặt người tốn cịn có an n va nhiều thách thức, ngồi yếu tố thuật tốn đặc biệt điều kiện ảnh tn to mặt bị tác động yếu tố ánh sáng, thời gian, hướng làm sai gh lệch kết nhận diện Trong luận văn này, tơi tìm hiểu, phân tích p ie tốn phát giới tính thơng qua đặc điểm khuôn mặt thông qua kỹ w thuật LPQ CNN, hệ thống phát mặt tự động đề xuất, xây oa nl dựng đánh giá hiệu d Hệ thống đề xuất sử dụng thuật toán CNN (Convolutional neural an lu nf va network) huấn luyện từ 1173 ảnh khn mặt giới tính nam 1134 ảnh khn mặt giới tính nữ, chương trình sử dụng thuật toán trích rút đặc lm ul điểm 1173 ảnh khn mặt giới tính nam 1134 ảnh khn mặt giới tính z at nh oi nữ để khởi tạo mơ hình phân loại mơ hình huấn luyện cho máy sau lưu vào hệ thống, sau chương trình phát giới tính từ hình ảnh khn mặt z phát hình ảnh khn mặt trích xuất từ camera đối chiếu với @ gm đặc điểm hệ thống trích rút từ tập mơ hình huấn luyện sau co l vào tỉ lệ đối sánh mơ hình rút kết luận hình ảnh thu nhận giới tính m nam hay giới tính nữ hiển thị thơng báo phản hồi hình ảnh camera an Lu n va ac th si 52 Qua kết cho thấy điều kiện đủ ánh sáng, góc nhìn thẳng, khn mặt khơng bị che khuất kết phát đạt tỷ lệ cao (95,74%), đặc biệt hệ thống phát cho kết xác có tỉ lệ thấp bạn lớp 10 tăng độ chính xác học sinh lớp 11 12 Chương trình thử nghiệm đưa phát giới tính điều kiện tiêu chuẩn nhiều hạn chế chưa kết nối với thiết bị ghi nhận cảnh báo cho người quản lý, điều kiện thiếu sáng hoặc bị che khuất tỷ lệ phát cịn thấp, Vì vậy, theo quan điểm học lu viên, đề tài cịn có số hướng phát triển sau: an n va + Tăng khả phát chính xác điều kiện khác to + Thiết kế biểu mẫu thống kê báo cáo phù hợp với yêu cầu thực tế p ie gh tn + Kết nối thiết bị để ghi nhận, cảnh báo cho người quản lý; nl w Do giới hạn thời gian nghiên cứu kiến thức thân, luận văn oa khó tránh khỏi số sai sót định Học viên mong nhận d đóng góp ý kiến thầy cơ, bạn đọc quan tâm để luận văn nf va an lu hoàn thiện lm ul Một lần học viên xin cảm ơn Thầy PGS TS Đỗ Năng Toàn tận tình giúp đỡ, hướng dẫn thời gian thực đề tài, cảm ơn giúp đỡ z at nh oi gia đình, bạn bè đồng nghiệp thời gian qua Thái Nguyên ngày 16 tháng năm 2020 z m co l gm @ Người thực an Lu Vũ Văn Dương n va ac th si 53 TÀI LIỆU THAM KHẢO I Tài liệu tiếng Việt [1] Tài Liệu Xử Lý Ảnh PGS TS Đỗ Năng Toàn Và TS Phạm Việt Bình trường Đại Học Thái Nguyên biên soạn [2] Nguyen Huu Tuan “Towards buiding an automatic gender classification system using LPQ” The international conference on marine science and technology 2016 lu an [3] Phung Thi Thu Trang, Ma Thi Hong Thu “a lightweight deep va n learning moder for age and gender indentity problem using the CNN [4] Thông tư 01/2016/TT-BGDĐT ngày 15/01/2016 Bộ Giáo dục p ie gh tn to network” Đào tạo ban hành quy chế tổ chức hoạt động trường phổ oa nl w thông dân tộc nội trú d II Tài liệu tiếng Anh an lu nf va [5] Allen Downey, Think Python, How to Think Like a Computer Scientist, Green Tea Press Washburn Ave Needham MA 02492 2015 lm ul z at nh oi [6] M Duan, K Li, C Yang, and K Li, “A hybrid deep learning cnn– elm for age and gender classification”, Neurocomputing, Vol 275, pp 448–461, 2018 z m co l gm @ an Lu n va ac th si 54 PHỤ LỤC Chương trình huấn luyện //import thư viện from tensorflow.keras.preprocessing.image import ImageDataGenerator from tensorflow.keras.optimizers import Adam from tensorflow.keras.preprocessing.image import img_to_array lu an from tensorflow.keras.utils import to_categorical, va n plot_model gh tn to from tensorflow.keras.models import Sequential p ie from tensorflow.keras.layers import BatchNormalization, w Conv2D, MaxPooling2D, Activation, Flatten, Dropout, Dense oa nl from tensorflow.keras import backend as K d from sklearn.model_selection import train_test_split an lu nf va import matplotlib.pyplot as plt import cv2 epochs = 100 an Lu lr = 1e-3 m co l gm # Thiết lập thông số ban đầu @ import glob z import os z at nh oi import random lm ul import numpy as np n va ac th si 55 batch_size = 64 img_dims = (96,96,3) data = [] labels = [] # Tải tệp hình ảnh từ tập liệu image_files = [f for f in glob.glob (r'C:\Files\gender_dataset_face' + "/**/*", lu recursive=True) an n va if not os.path.isdir(f)] tn to random.shuffle(image_files) for img in image_files: p ie gh # chuyển đổi hình ảnh gắn nhãn oa nl w image = cv2.imread(img) d image = cv2.resize(image, lu nf va an (img_dims[0],img_dims[1])) image = img_to_array(image) lm ul data.append(image) z at nh oi label = img.split(os.path.sep)[-2] # C:\Files\gender_dataset_face\woman\face_1162.jpg m co l an Lu label = gm else: @ label = z if label == "woman": n va ac th si 56 labels.append([label]) # [[1], [0], [0], ] # Gắn nhãn vào mảng data = np.array(data, dtype="float") / 255.0 labels = np.array(labels) # Chia nhỏ tập liệu để train (trainX, testX, trainY, testY) = train_test_split(data, labels, test_size=0.2, lu random_state=42) an n va trainY = to_categorical(trainY, num_classes=2) tn to # [[1, 0], [0, 1], [0, 1], ] ie gh testY = to_categorical(testY, num_classes=2) p # Tăng cường độ xác w oa nl aug = ImageDataGenerator(rotation_range=25, width_shift_range=0.1, d lu an height_shift_range=0.1, nf va shear_range=0.2, zoom_range=0.2, lm ul horizontal_flip=True, # Định nghĩa kiểu z at nh oi fill_mode="nearest") z def build(width, height, depth, classes): inputShape = (height, width, depth) m chanDim = -1 co l gm @ model = Sequential() an Lu n va ac th si 57 if K.image_data_format() == "channels_first": #Returns a string, either 'channels_first' or 'channels_last' inputShape = (depth, height, width) chanDim = # (Cài đặt thuật tốn CNN) chuẩn hóa sau lớp Conv2D với data_format="channels_first", # Gắn trục = BatchNormalization lu an model.add(Conv2D(32, (3,3), padding="same", n va input_shape=inputShape)) to gh tn model.add(Activation("relu")) model.add(BatchNormalization(axis=chanDim)) p ie model.add(Dropout(0.25)) oa nl w model.add(MaxPooling2D(pool_size=(3,3))) d model.add(Conv2D(64, (3,3), padding="same")) an lu nf va model.add(Activation("relu")) lm ul model.add(BatchNormalization(axis=chanDim)) z at nh oi model.add(Conv2D(64, (3,3), padding="same")) model.add(Activation("relu")) z model.add(BatchNormalization(axis=chanDim)) @ m co model.add(Dropout(0.25)) l gm model.add(MaxPooling2D(pool_size=(2,2))) model.add(Conv2D(128, (3,3), padding="same")) an Lu model.add(Activation("relu")) n va ac th si 58 model.add(BatchNormalization(axis=chanDim)) model.add(Conv2D(128, (3,3), padding="same")) model.add(Activation("relu")) model.add(BatchNormalization(axis=chanDim)) model.add(MaxPooling2D(pool_size=(2,2))) model.add(Dropout(0.25)) model.add(Flatten()) lu an model.add(Dense(1024)) va model.add(Activation("relu")) n to gh tn model.add(BatchNormalization()) p ie model.add(Dropout(0.5)) model.add(Activation("sigmoid")) d oa nl w model.add(Dense(classes)) # Xây dựng kiểu nf va an lu return model depth=img_dims[2], z at nh oi lm ul model = build(width=img_dims[0], height=img_dims[1], classes=2) # Biên dịch kiểu z @ l gm opt = Adam(lr=lr, decay=lr/epochs) model.compile(loss="binary_crossentropy", m co optimizer=opt, metrics=["accuracy"]) an Lu n va ac th si 59 # Train kiểu H = model.fit_generator(aug.flow(trainX, trainY, batch_size=batch_size), validation_data=(testX,testY), steps_per_epoch=len(trainX) // batch_size, epochs=epochs, verbose=1) # Lưu kiểu lu model.save('gender_detection.model') an n va # Lập đồ thị tn to plt.style.use("ggplot") N = epochs p ie gh plt.figure() w s") d oa nl plt.plot(np.arange(0,N),H.history["loss"],label="train_los lu nf va oss")++++++ an plt.plot(np.arange(0,N),H.history["val_loss"],label="val_l z at nh oi label="train_acc") lm ul plt.plot(np.arange(0,N), H.history["acc"], plt.plot(np.arange(0,N), H.history["val_acc"], label="val_acc") z @ m an Lu plt.legend(loc="upper right") co plt.ylabel("Loss/Accuracy") l plt.xlabel("Epoch #") gm plt.title("Training Loss and Accuracy") n va ac th si 60 # Ghi đồ thị đĩa plt.savefig('plot.png') Chương trình phát giới tính from tensorflow.keras.preprocessing.image import img_to_array from tensorflow.keras.models import load_model import numpy as np lu import cv2 an n va import os tn to import cvlib as cv p ie gh # load kiểu w model = load_model('gender_detection.model') oa nl # Mở webcam d webcam = cv2.VideoCapture(0) an lu classes = ['Nam','Nu'] nf va lm ul # Tạo khung z at nh oi while webcam.isOpened(): # Đọc khung từ webcam z status, frame = webcam.read() l gm @ # Áp dụng nhận diện khuôn mặt face, confidence = cv.detect_face(frame) m an Lu # Lấy điểm góc mặt hình chữ nhật co for idx, f in enumerate(face): n va ac th si 61 (startX, startY) = f[0], f[1] (endX, endY) = f[2], f[3] # Vẽ hình chữ nhật mặt cv2.rectangle(frame, (startX,startY), (endX,endY), (0,255,0), 2) # Cắt vùng khuôn mặt phát face_crop = np.copy(frame[startY:endY,startX:endX]) lu if (face_crop.shape[0]) 10 else startY + 10 n va ac th si 62 # Hiển thị nhãn độ xác khung nhận diện cv2.putText(frame, label, (startX, Y), cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2) # Hiển thị liệu cv2.imshow("gender detection", frame) # Nhấn phíp (Q) để lu if cv2.waitKey(1) & 0xFF == ord('q'): an n va break tn to webcam.release() p ie gh cv2.destroyAllWindows() d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si

Ngày đăng: 21/07/2023, 09:15

Tài liệu cùng người dùng

Tài liệu liên quan