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

86 12 0
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 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 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên, 2020 ĐẠ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 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 Chuyên ngành: Khoa học máy tính Mã số: 48 0101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: PGS TS Đỗ Năng Toàn Thái Nguyên, 2020 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 Ứ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.” PGS TS Đỗ Năng Toàn hướng dẫn cơng trình nghiên 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 Tác giả xin cam đoan tất nội dung luận văn nội dung đề cương yêu cầu thầy giáo hướng dẫn Nếu sai tơi hồn tồn chịu trách nhiệm trước hội đồng khoa học trước pháp luật Thái Nguyên, ngày 16 tháng năm 2020 Tác giả luận văn Vũ Văn Dương 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 giúp đỡ tơi q trình học tập thực luận văn Sở Giáo dục Đào tạo tỉnh Quảng Ninh nơi công tác tạo điều kiện tối đa cho tơi thực khóa học Tôi xin chân thành cảm ơn bạn bè, đồng nghiệp gia đình động viên, khích lệ, tạo điều kiện giúp đỡ tơi suốt q trình học tập, thực hoàn thành luận văn Thái Nguyên, ngày 16 tháng năm 2020 Tác giả luận văn Vũ Văn Dương 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 PHẦN MỞ ĐẦU Chương 1: KHÁI QUÁT VỀ QUẢN LÝ HỌC SINH NỘI TRÚ VÀ BÀI TOÁN PHÁT HIỆN GIỚI TÍNH HỌC SINH 1.1 Khái quát quản lý học sinh nội trú; 1.1.1 Khái niệm quản lý giáo dục 1.1.2 Những đặc trưng quản lý giáo dục 1.1.3 Quản lý nhà trường 1.1.4 Biện pháp quản lý học sinh nội trú 1.2 Bài toán phát giới tính học sinh; 11 1.2.1 Giới tính 11 1.2.2 Phát giới tính học sinh: 11 Chương 2: 13 NHẬN DẠNG MẶT NGƯỜI VÀ PHÁT HIỆN GIỚI TÍNH TỪ HÌNH ẢNH MẶT NGƯỜI 13 2.1 Cơ sở lý thuyết toán nhận dạng mặt người; 13 2.1.1 Bài toán nhận dạng mặt người .13 2.1.2 Hệ thống nhận dạng mặt tự động 14 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 2.3.2 Cấu trúc mạng CNN 35 2.3.3 Các lớp mạng CNN 36 Chương 3: 42 CHƯƠNG TRÌNH THỬ NGHIỆM 42 3.1 Phân tích u cầu tốn 42 3.2 Phân tích lựa chọn công cụ 43 3.2.1 Ngôn ngữ Python 43 3.2.2 Thư viện Tensorflow 44 3.2.3 Thư viện Skearn 45 3.3 Quá trình phát triển xây dựng chương trình 46 3.3.1 Chương trình huấn luyện 46 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 TÀI LIỆU THAM KHẢO 53 PHỤ LỤC 54 Chương trình huấn luyện 54 Chương trình phát giới tính 60 DANH MỤC CÁC TỪ VIẾT TẮT Từ v C ol C o H ist L oc Li ne L oc Pr in 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 Hình 2.8 Các bước tính vector LPQ ảnh mặt người 33 Hình 2.9 Minh họa phân lớp kNN 34 Hình 2.10 Minh họa cấu trúc mạng CNN 35 Hình 2.11 Minh họa filter tầng convolutonal 37 Hình 2.12 Minh họa thông số Padding 37 Hình 2.13 Minh họa phát đặc trưng feature detector 38 Hình 2.14 Hàm ReLU 39 Hình 2.15 Max Pooling 39 Hình 2.16 Average Pooling 40 Hình 2.17 Hình minh họa lớp Fully connected 40 Hình 2.18 Hình minh kết sau tầng Fully connected 41 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 Hình 3.3 Bảng số liệu kết thử nghiệm 48 Hình 3.4 Hình ảnh kết chạy thử nghiệm thực tế 49 Hình 3.5 Hình ảnh kết chạy thử nghiệm thực tế 50 vii DANH MỤC BẢNG BIỂU Hình 3.1: Bảng số liệu kết thử nghiệm 50 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 nhà khoa học nghiên cứu từ đầu năm 90 kỷ trước Điều có nhiều thơng tin có ích khai thác từ ảnh khn 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 trạng sức khỏe,… Trong số thơng tin suy từ ảnh, giới tính thuộc tính quan trọng có nhiều ứng dụng thực tế, ví dụ quảng cáo có định hướng, thống kê dân số, công tác quản lý dân cư, quản lý học sinh khu nội trú trường học… Công tác quản lý người công việc phức tạp 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 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 sức Đối tượng học sinh nhà trường sinh hoạt học tập 100% nội trú trường, 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 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 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 lớn cho cơng tác quản lý Hình 3.4 Hình ảnh kết chạy thử nghiệm thực tế Hình 3.5 Hình ảnh kết chạy thử nghiệm thực tế 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 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ý Bài tốn phát giới tính từ hình ảnh mặt người tốn cịn có nhiều thách thức, ngồi yếu tố thuật tốn đặc biệt điều kiện ảnh mặt bị tác động yếu tố ánh sáng, thời gian, hướng làm sai lệch kết nhận diện Trong luận văn này, tìm hiểu, phân tích tốn phát giới tính thông qua đặc điểm khuôn mặt thông qua kỹ thuật LPQ CNN, hệ thống phát mặt tự động đề xuất, xây dựng đánh giá hiệu Hệ thống đề xuất sử dụng thuật toán CNN (Convolutional neural network) huấn luyện từ 1173 ảnh khuôn 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 tốn trích rút đặc điểm 1173 ảnh khn mặt giới tính nam 1134 ảnh khn mặt giới tính 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 phát hình ảnh khn mặt trích xuất từ camera đối chiếu với đặc điểm hệ thống trích rút từ tập mơ hình huấn luyện sau 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 nam hay giới tính nữ hiển thị thơng báo phản hồi hình ảnh camera 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 viên, đề tài cịn có số hướng phát triển sau: + Tăng khả phát chính xác điều kiện khác + Kết nối thiết bị để ghi nhận, cảnh báo cho người quản lý; + Thiết kế biểu mẫu thống kê báo cáo phu hợp với yêu cầu thực tế Do giới hạn thời gian nghiên cứu kiến thức thân, luận văn khó tránh khỏi số sai sót định Học viên mong nhận đóng góp ý kiến thầy cơ, bạn đọc quan tâm để luận văn hoàn thiện Một lần học viên xin cảm ơn Thầy PGS TS Đỗ Năng Tồn tận tình giúp đỡ, hướng dẫn thời gian thực đề tài, cảm ơn giúp đỡ gia đình, bạn bè đồng nghiệp thời gian qua Thái Nguyên ngày 16 tháng năm 2020 Người thực Vũ Văn Dương 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 Tồ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 [3] Phung Thi Thu Trang, Ma Thi Hong Thu “a lightweight deep learning moder for age and gender indentity problem using the CNN network” [4] Thông tư 01/2016/TT-BGDĐT ngày 15/01/2016 Bộ Giáo dục Đào tạo ban hành quy chế tổ chức hoạt động trường phổ thông dân tộc nội trú II Tài liệu tiếng Anh [5] Allen Downey, Think Python, How to Think Like a Computer Scientist, Green Tea Press Washburn Ave Needham MA 02492 2015 [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 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 from tensorflow.keras.utils import to_categorical, plot_model from tensorflow.keras.models import Sequential from tensorflow.keras.layers import BatchNormalization, Conv2D, MaxPooling2D, Activation, Flatten, Dropout, Dense from tensorflow.keras import backend as K from sklearn.model_selection import train_test_split import matplotlib.pyplot as plt import numpy as np import random import cv2 import os import glob # Thiết lập thông số ban đầu epochs = 100 lr = 1e-3 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' + "/**/*", recursive=True) if not os.path.isdir(f)] random.shuffle(image_files) # chuyển đổi hình ảnh gắn nhãn for img in image_files: image = cv2.imread(img) image = cv2.resize(image, (img_dims[0],img_dims[1])) image = img_to_array(image) data.append(image) label = img.split(os.path.sep)[-2] # C:\Files\gender_dataset_face\woman\face_1162.jpg if label == "woman": label = else: label = 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, random_state=42) trainY = to_categorical(trainY, num_classes=2) # [[1, 0], [0, 1], [0, 1], ] testY = to_categorical(testY, num_classes=2) # Tăng cường độ xác aug = ImageDataGenerator(rotation_range=25, width_shift_range=0.1, height_shift_range=0.1, shear_range=0.2, zoom_range=0.2, horizontal_flip=True, fill_mode="nearest") # Định nghĩa kiểu def build(width, height, depth, classes): model = Sequential() inputShape = (height, width, depth) chanDim = -1 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 toán CNN) chuẩn hóa sau lớp Conv2D với data_format="channels_first", # Gắn trục = BatchNormalization model.add(Conv2D(32, (3,3), padding="same", input_shape=inputShape)) model.add(Activation("relu")) model.add(BatchNormalization(axis=chanDim)) model.add(MaxPooling2D(pool_size=(3,3))) model.add(Dropout(0.25)) model.add(Conv2D(64, (3,3), padding="same")) model.add(Activation("relu")) model.add(BatchNormalization(axis=chanDim)) model.add(Conv2D(64, (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(Conv2D(128, (3,3), padding="same")) model.add(Activation("relu")) 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()) model.add(Dense(1024)) model.add(Activation("relu")) model.add(BatchNormalization()) model.add(Dropout(0.5)) model.add(Dense(classes)) model.add(Activation("sigmoid")) return model # Xây dựng kiểu model = build(width=img_dims[0], height=img_dims[1], depth=img_dims[2], classes=2) # Biên dịch kiểu opt = Adam(lr=lr, decay=lr/epochs) model.compile(loss="binary_crossentropy", optimizer=opt, metrics=["accuracy"]) # 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 model.save('gender_detection.model') # Lập đồ thị plt.style.use("ggplot") plt.figure() N = epochs plt.plot(np.arange(0,N),H.history["loss"],label="train_los s") plt.plot(np.arange(0,N),H.history["val_loss"],label="val_l oss")++++++ plt.plot(np.arange(0,N), H.history["acc"], label="train_acc") plt.plot(np.arange(0,N), H.history["val_acc"], label="val_acc") plt.title("Training Loss and Accuracy") plt.xlabel("Epoch #") plt.ylabel("Loss/Accuracy") plt.legend(loc="upper right") # 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 import cv2 import os import cvlib as cv # load kiểu model = load_model('gender_detection.model') # Mở webcam webcam = cv2.VideoCapture(0) classes = ['Nam','Nu'] # Tạo khung while webcam.isOpened(): # Đọc khung từ webcam status, frame = webcam.read() # Áp dụng nhận diện khuôn mặt face, confidence = cv.detect_face(frame) for idx, f in enumerate(face): # Lấy điểm góc mặt hình chữ nhật (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]) if (face_crop.shape[0]) 10 else startY + 10 # 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) để thoát if cv2.waitKey(1) & 0xFF == ord('q'): break webcam.release() cv2.destroyAllWindows() ...ĐẠ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 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... thông dân tộc nội trú tỉnh Quảng 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 sức Đối tượng học sinh nhà trường sinh hoạt học tập 100% nội trú trường, khu nội trú nhà trường. .. dụ quảng cáo có định hướng, thống kê dân số, công tác quản lý dân cư, quản lý học sinh khu nội trú trường học? ?? Công tác quản lý người công việc phức tạp công tác quản lý Đối với Trường phổ thông

Ngày đăng: 09/04/2021, 11:31

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan