1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn xử lý ảnh đề tài nhận dạng đối tượng thời gian thực và điều khiển bàn xoay

28 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Nhận dạng đối tượng thời gian thực và điều khiển bàn xoay
Tác giả Trần Ngọc Thuận, Vũ Duy Minh, Hoàng Xuân Đích
Người hướng dẫn TS. Dương Văn Lạc
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Xử lý ảnh
Thể loại Bài tập lớn
Năm xuất bản 2024
Thành phố Hà Nội
Định dạng
Số trang 28
Dung lượng 2,64 MB

Nội dung

- Nội dung sơ sài- Trình bầy kém, mắc nhiều lỗi chính tả- Nội dung khá sơ sài và hạn chế- Trình bầy còn hạn chế- Mắc tương đối nhiều lỗi chính tả- Bố cục rõ ràng- Nội dung khá đầyđủ chín

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG CƠ KHÍKHOA CƠ ĐIỆN TỬ

~~~~~  ~~~~~

BÁO CÁO BÀI TẬP LỚNHỌC PHẦN: XỬ LÝ ẢNH

Đề tài: Nhận dạng đối tượng thời gian thực

và điều khiển bàn xoay Giảng viên hướng dẫn: TS Dương Văn Lạc

Sinh viên thực hiện: Trần Ngọc Thuận 20195192

Vũ Duy Minh 20195100 Hoàng Xuân Đích 20194946

Hà Nội, 1/2024

Trang 2

- Mắc tương đối nhiều lỗi chính tả

- Bố cục rõ ràng

- Nội dung khá đầy

đủ chính xác

- Trình bầy tương đối tốt

- Mắc ít lỗi chính tả

- Bố cục của bài viết rõ ràng

- Nội dung đầy đủ, chính xác

- Tính thẩm mỹ còn hạn chế

- Sản phẩm hoạt động

- Sản phẩm tương đối hoàn thiện, chức năng khá đầy đủ

- Sản phẩm có tính thẩm mỹ

- Sản phẩm hoạt động tốt

- Sản phẩm hoàn thiện, chức năng đầy đủ

- Sản phẩm có tính thẩm mỹ

- Sản phẩm hoạt động tin cậy

- Hiểu, vận dụng các kiếm thức đã học còn hạn chế

- Trả lời tương đối tốt các câu hỏi

- Hiểu, vận dụng các kiếm thức đã học tương đối tốt

- Trả lời đúng và đầy đủ tất các các câu hỏi

- Hiểu, vận dụng tốt kiếm thức đã học

- Có khả năng phân tích, đánh giá, sáng tạo

II ĐIỂM ĐÁNH GIÁ CHÍNH THỨC

STT Họ tên MSSV Điểm quyểnbáo cáo Đ BC

(10%)

Điểm sản phẩm Đ SP

(40%)

Điểm bảo vệ *

Đ BV

(50%)

ĐIỂM KẾT QUẢ

Đ KQ = 10%Đ +40%Đ +50%Đ BC SP BV

1 Trần Ngọc Thuận 20195192

2 Vũ Duy Minh 20195100

3 Hoàng Xuân Đích 20194946

* Lưu ý: Đ BV ≤ min {Đ BC , Đ SP }.

Trang 3

PHÂN CÔNG NHIỆM VỤ

Tìm hiểu thời gianthực, viết codechương trình nhậndạng python, chuẩn bịphần cứng

Tìm hiểu về thuật toánchương trình python vàarduino, chuẩn bị báocáo

3 Hoàng Xuân Đích 20194946

Viết chương trìnharduino, chuẩn bị báocáo

Trang 4

Tuy mới xuất hiện chưa lâu nhưng nó đã rất được quan tâm vì tính ứng dụng thực tếcủa bài toán cũng như sự phức tạp của nó Bài toán nhận dạng có rất nhiều lĩnh vựcnhư: nhận dạng vật chất (nước, lửa, đất, đá, gỗ, ), nhận dạng chữ viết, nhận dạnggiọng nói, nhận dạng vật thể, nhận dạng khuôn mặt, trong đó phổ biến và được ứngdụng nhiều hơn cả là bài toán nhận dạng vật thể Các ứng dụng liên quan đến nhận dạngvật thể có thể kể như: Nhận dạng phương tiện giao thông, Nghiên cứu về việc nhận dạng

và phân loại các đối tượng trong môi trường công nghiệp, hệ thống tìm kiếm thông tintrên ảnh, video dựa trên nội dung, Cho đến tận bây giờ, các nhà nghiên cứu vẫn chưađạt được sự ưng ý trong việc giải quyết các khó khăn của bài toán và cho kết quả hoàntoàn đúng Tuy nhiên, những gì đã đạt được cũng đủ để chúng ta áp dụng rộng rãi vàđem lại những lợi ích to lớn trong cuộc sống

Với sự hấp dẫn của bài toán và những thách thức còn đang ở phía trước, với niềmđam mê công nghệ hiện đại và những ứng dụng thực tế tuyệt với của nó, với khát khaokhám phá và chinh phục những tri thức mới mẻ, nhóm em đã chọn đề tài nghiên cứu:

“Nhận dạng đối tượng thời gian thực và điều khiển bàn xoay” làm để tài bài tập lớnmôn Xử lý ảnh Em xin cảm ơn các thầy cô bộ môn của Trường Cơ khí-Đại học BáchKhoa Hà Nội đã trang bị đầy đủ những kiến thức chuyên ngành cần thiết, đặc biệt emxin gửi lời cảm ơn đến thầy Dương Văn Lạc, đã tận tình hướng dẫn, trực tiếp đánh giá,nhận xét giúp đỡ em rất nhiều trong quá trình hoàn thiện bài tập lớp môn học

Chúng em xin chân thành cảm ơn!

Trang 5

MỤC LỤC

Trang 6

Trang 5

CHƯƠNG 1: KẾT QUẢ 1.1 Nội dung bài toán

Đầu vào: Ảnh và thông tin kèm theo của những người tham gia thực nghiệm

Đầu ra: Nhận diện được khuôn mặt và trả về thông tin của người nhận dạng được

1.2 Các thành phần cơ bản

Phần cứng:

Camera

Máy tính

Trang 7

Chúng ta có thể chạy PyCharm trên Windows, Linux hoặc Mac OS.

Trang 8

Trang 7

Ngoài ra, nó chứa các module và các package giúp các lập trình viên pháttriển phần mềm bằng Python tiết kiệm thời gian và công sức Hơn nữa, nócũng có thể được tùy chỉnh theo yêu cầu của các nhà phát triển

+Python 3.9.10

Trang 9

+ Firebase.

Firebase là một nền tảng do Google cung cấp để hỗ trợ việc phát triểncác ứng dụng web và di động1 Firebase có nhiều chức năng như lưu trữ dữliệu thời gian thực, phân tích ứng dụng, tiếp thị sản phẩm và khắc phục sự cố.Firebase có nhiều dịch vụ khác nhau cho các nhà phát triển ứng dụng Mộttrong số dịch vụ nổi bật là “Realtime Database: lưu trữ và đồng bộ dữ liệungười dùng theo thời gian thực”

+Thư viện Opencv

Project OpenCV được bắt đầu từ Intel năm 1999 bởi Gary Bradsky.OpenCV viết tắt cho Open Source Computer Vision Library OpenCV là thưviện nguồn mở hàng đầu cho Computer Vision và Machine Learning, và hiện

có thêm tính năng tăng tốc GPU cho các hoạt động theo real-time

OpenCV được phát hành theo giấy phép BSD, do đó nó miễn phí cho

cả học tập và sử dụng với mục đích thương mại Nó có trên các giao diện C++, C, Python và Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android.OpenCV được thiết kế để hỗ trợ hiệu quả về tính toán và chuyên dùng cho cácứng dụng real-time (thời gian thực) Nếu được viết trên C/C++ tối ưu, thưviện này có thể tận dụng được bộ xử lý đa lõi (multi-core processing)

Trang 10

Trang 9

+Thư viện Face-Recognition

Thư viện Face-Recognition là một thư viện nhận dạng khuôn mặt rấtnổi tiếng và độ chính xác khá tốt xây dựng dựa trên dlib của python và đượcviết bằng C++1 Thư viện này có thể thực hiện các bài toán như:

Face Detection: phát hiện khuôn mặt trong ảnh hoặc video2

Face Embedding: biểu diễn khuôn mặt bằng một vector số2

Face Recognition: xác định hoặc xác minh người trong ảnh hoặc video23

Độ chính xác của thư viện này trên tập Labeled Faces in the Wild là 99,38%

1.3 Chương trình nhận diện khuân mặt thời gian thực

Tải dữ liệu lên firebase

Trang 11

Nếu khoảng cách giữu 2 lần ghi nh n liêp tiếp

true

Chạy chương trình nhận diện

counter += 1

Trang 12

Vẫn còn xảy ra hiện tượng giật lag do sự truyền tải dữ liệu thời gianthực giữa thiết bị và Firebase.

Một số kết quả thực nghiệm như sau:

Trang 13

1.5 Thảo luận kết quả thực nghiệm

Sau 4 tháng học môn Xử lý ảnh kết hợp với sự tìm tòi, học hỏi, nghiêncứu từ bạn bè, thầy cô giáo và mạng Internet, nhóm đã đạt được mục tiêu đềra:

Sử dụng tốt ngôn ngữ Python, thư viện OpenCV và face_recognition,tìm hiểu và áp dụng thành công cơ sở dữ liệu Firebase, hoàn thiện các thuậttoán đáp ứng yêu cầu đề ra

Đây là lần đầu nhóm thực hiện mô hình nên còn nhiều thiếu xót, cũngnhư chưa hoàn thiện về giao diện phần mềm và các thiết bị về hệ thống cơkhí

Trang 14

Trang 13

CHƯƠNG 3: KẾT LUẬN 3.1 Kết luận

Sau thời gian nghiên cứu dưới sự hướng dẫn của PGS.TS Mạc ThịThoa, hệ thống đã đáp ứng các yêu cầu đề ra Các khối chức năng hoạt độngđúng, đảm bảo cập nhật đầy đủ dữ liệu, hệ thống chạy ổn định trong thời giandài không phát sinh lỗi hoặc xác suất thấp Hệ thống thu được kết quả với độchính xác cao nhưng vẫn chưa xử lý được hiện tượng giật lag Nhu cầu về cácbài toán nhận dạng khuôn mặt đang rất cấp thiết trong cuộc sống, hệ thốngnày tuy còn sơ khai nhưng là bước đầu để xây dựng nên một hệ thống nhậndạng hoàn chỉnh với sự chính xác, tốc độ ưu việt và quy mô cơ sở dữ liệurộng hơn

3.2 Hướng phát triển đề tài trong tương lai

Xử lý nhiễu với các luồng sáng khác nhau

Thiết kế hệ thống cơ khí hoàn chỉnh cho toàn bộ hệ thống

Nhận dạng được khuôn mặt khi đeo khẩu trang hoặc bị che một phầnkhuôn mặt

Phát triển trợ lý ảo hướng dẫn cũng như đưa ra thông tin trong quá trìnhnhận dạng

Trang 15

CHƯƠNG 4: TÀI LIỆU THAM KHẢO

Trang 16

-Trang 15

CHƯƠNG 5: PHỤ LỤC

1.Chương trình tải thông tin lên

firebase import firebase_admin

from firebase_admin import credentials

from firebase_admin import db

Trang 18

from firebase_admin import credentials

from firebase_admin import storage

Trang 19

for img in imagesList:

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

Trang 20

from firebase_admin import credentials

from firebase_admin import db

from firebase_admin import storage

Trang 22

ret, img = cap.read()

imgS = cv2.resize(img,(0,0),None, 0.25, 0.25) #giam kich thước ảnh để xử

lý nhanh hơn

imgS = cv2.cvtColor(imgS, cv2.COLOR_BGR2RGB)

faceCurFrame = face_recognition.face_locations(imgS) #lấy từng khuân mặt và vị trí khuân mặt hiện tại

Trang 23

encodeCurFrame = face_recognition.face_encodings(imgS, faceCurFrame)

y1, x2, y2, x1 = faceLoc

y1, x2, y2, x1 = y1*4, x2*4, y2*4, x1*4

bbox = 55 + x1, 162+y1, x2-x1, y2-y1

imgBackground = cvzone.cornerRect(imgBackground, bbox, rt=0)

Trang 25

if modeType != 3:

if counter <= 10:

imgBackground[44:44 + 633, 808:808 + 414] =imgModeList[modeType]

cv2.putText(imgBackground, str(studentInfo['total_attendance']),(861,125),cv2.FONT_HERSHEY_COMPLEX,1,(255,255,255),1)

cv2.putText(imgBackground, str(studentInfo['major']),

(1000, 550), cv2.FONT_HERSHEY_COMPLEX, 0.5,(255, 255, 255), 1)

cv2.putText(imgBackground, str(id),

(1006, 493), cv2.FONT_HERSHEY_COMPLEX, 0.5,(255, 255, 255), 1)

cv2.putText(imgBackground, str(studentInfo['Class']),

(910, 625), cv2.FONT_HERSHEY_COMPLEX, 0.5,(100,100,100), 1)

cv2.putText(imgBackground, str(studentInfo['total_attendance']),

Trang 26

Trang 25

(1025, 625), cv2.FONT_HERSHEY_COMPLEX, 0.6,(100,100,100), 1)

cv2.putText(imgBackground, str(datetime.now().strftime("%H:%M:

%S")),

(1125,625), cv2.FONT_HERSHEY_COMPLEX, 0.4,(100,100,100), 1)

(w,h), _ = cv2.getTextSize(studentInfo['name'],cv2.FONT_HERSHEY_COMPLEX, 1, 1)

#(width, height), baseline :baseline: vị trí của baseline trong vănbản

# Baseline là đường thẳng ở phía dưới của các chữ cái

if counter>=20:

counter = 0

modeType = 0

studentInfo = []

Trang 27

imgStudent = []

imgBackground[44:44 + 633, 808:808 + 414] =imgModeList[modeType]

Trang 28

Trang 27

MỤC LỤC

BẢN NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 1

PHÂN CÔNG NHIỆM VỤ 2

CHƯƠNG 1: ĐẶT VẤN ĐỀ 3

CHƯƠNG 2: KẾT QUẢ 4

2.1 Nội dung bài toán 4

2.2 Các thành phần cơ bản 4

2.3 Chương trình nhận diện khuân mặt thời gian thực 7

2.4 Kết quả thực nghiệm 9

2.5 Thảo luận kết quả thực nghiệm 10

CHƯƠNG 3: KẾT LUẬN 11

3.1 Kết luận 11

3.2 Hướng phát triển đề tài trong tương lai 11

CHƯƠNG 4: TÀI LIỆU THAM KHẢO 12

CHƯƠNG 5: PHỤ LỤC 13

Ngày đăng: 11/06/2024, 17:52

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w