TRƯỜNG ĐẠI HỌC TÂN TRÀOKHOA KHOA HỌC CƠ BẢN
BỘ MÔN TIN HỌC
BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN: HỌC MÁY VÀ ỨNG DỤNG - NHẬP MÔN XỬ LÝ ẢNH
Đề tài: “Sử dụng một mô hình học máy và phát triển phần mềmphát hiện khuôn mặt rồi chụp ảnh lưu vào ổ đĩa”
Người thực hiện: Ma Thị HàGiáo viên hướng dẫn: Lê Văn Hùng
Tuyên Quang, tháng 11 năm 2023
Trang 21.2 Ngôn ngữ lập trình Python và thư viện CV 2
CHƯƠNG II: THIẾT KẾ PHẦN MỀM 4
Trang 3PHẦN 1: MỞ ĐẦU1 Tên đề tài
- Sử dụng một mô hình học máy và phát triển phần mềm phát hiện khuôn mặt rồi chụp ảnh lưu vào ổ đĩa
2 Tính cấp thiết của vấn đề
Khoảng đầu thế kỉ XXI trở lại đây, phần cứng máy tính và các thiết bị liên quan đã có sự tiến bộ vượt bậc về tốc độ tính toán, dung lượng chứa, khả năng xử lý, v v… và giá trị tiền tệ đã giảm đến mức máy tính và các thiết bị liên quan đến xử lý ảnh đã không còn là thiết bị chuyên dụng nữa Khải niệm ảnh số đã trở nên thông dụng với hầu hết mọi người trong xã hội và việc thu nhận ảnh số bằng các thiết bị cá nhân hay chuyên dụng cùng với việc đưa vào máy tính xử lý đã trở nên đơn giản.
Trong hoàn cảnh đó, xử lý ảnh là một lĩnh vực đang được quan tâm và có tốc độ phát triển rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng của nó Xử lý ảnh là ngành khoa học nghiên cứu các thuật toán thu nhận, xử lý ảnh số trên các hệ thống máy tính với mục đích làm tăng cường chất lượng của hình ảnh thu nhận được, và đồng thời có thể
Trang 4làm nền tảng cho các ngành khoa học ứng dụng khác như Thị giác máy tính, Robotics, xử lý ảnh y học,…
Thừa hưởng những thành tựu của nền khoa học kỹ thuật phát triển Nhận diện khuôn mặt là một công nghệ được ứng dụng rộng rãi trong đời sống hằng ngày của con người như các hệ thống giám sát tại các tòa nhà, sân bay, trạm ATM, hệ thống chấm công, camera chống trộm, xác thực danh tính,…có rất nhiều các phương pháp nhận dạng khuôn mặt để nâng cao hiệu suất tuy nhiên dù ít hay nhiều thì những phương pháp này đang gặp phải những khó khăn, thử thách như về độ sáng, hướng nghiêng, kích thước hình ảnh, hay ảnh hưởng của tham số môi trường
3 Mục tiêu
Đối với thời đại hiện nay, sự phát triển của công nghệ đã góp phần khiến Xử lý ảnh trở nên hữu hiệu và có lợi ích với nhiều ban ngành chứ không chỉ riêng đối với Khoa học máy tính và nghệ thuật Còn đối với các sinh viên chuyên ngành công nghệ thông tin thì Xử lý ảnh là một lĩnh vực đang được quan tâm và đã trở thành môn học chuyên ngành đối với nhiều trường cao đẳng, đại học trên toàn quốc.
Trang 5Phương án thực hiện đề tài là sử dụng OpenCV trên nền tảng ngôn ngữ lập trình Python, dựa trên những kiến thức đã học được từ môn học Xử lí ảnh trong học kì vừa qua.
Sử dụng học máy để giúp máy tính có thể phát hiện khuôn mặt sau đó chụp ảnh và lưu vào ổ đĩa, cho phép máy tính học tự động mà không cần sự trợ giúp hoặc can thiệp của con người.
PHẦN 2: NỘI DUNG
CHƯƠNG 1: GIỚI THIỆU CHUNG
1.1 Giới thiệu về xử ý ảnh
Ảnh: Thông tin về vật thể hay quang cảnh được chiếu sáng mà con người quan sát và cảm nhận bằng mắt và hệ thần kinh thị giác.
Đối tượng của xử lý ảnh là xử lý các ảnh tự nhiên, ảnh chụp, dữ liệu ảnh có nguồn gốc từ tín hiệu ảnh đặc trưng bởi biên độ và dải tần số Có sự phân biệt giữa xử lý ảnh với đồ họa.
Hệ thống xử lý ảnh thu nhận khung cảnh hoặc ảnh ở đầu vào, thực hiện
Trang 6các phép xử lý để tạo ra một ảnh ở đầu ra thỏa mãn các yêu cầu về cảm thụ hoặc trích rút các đặc trưng của ảnh.
Hình 1.1: Giới thiệu về xử lý ảnh
Các vấn đề của xử lý ảnh
• Thu nhận ảnh, chụp ảnh và số hóa ảnh
+ Hệ thống chụp ảnh và tín hiệu ảnh
+ Hệ thống số hóa ảnh: Lấy mẫu, Lượng tử hóa
• Phân tích ảnh và thị giác máy tính
Trang 7+ Cải thiện nâng cấp ảnh, sửa lỗi, khôi phục ảnh
+ Phân tách đặc trưng: tách biên, phân vùng ảnh
+ Biểu diễn và xử lý đặc trưng hình dạng đối tượng ảnh
+ Nhận dạng đối tượng ảnh, phân tích cảnh và hiểu cảnh
• Mã hóa, nén ảnh
+ Các phương pháp nén và các chuẩn nén
Ứng dụng của xử lý chuỗi ảnh
Nén video, truyền thông video, truyền hình số Giám sát theo dõi phát hiện chuyển động Điểu khiển lưu lượng chuyển động
Người máy chuyển động Quốc phòng an ninh Y học, hóa học
Trang 81.2 Ngôn ngữ lập trình Python và thư viện OpenCV Ngôn ngữ lập trình Python
Python là một ngôn ng ữ lập trình bậc cao cho các mục đích lập trình đa năng,
do Guido van Rossum tạo ra và lần đầu ra mắt vào năm 1991 Python được thiết kế với ưu điểm mạnh là dễ đọc, dễ học và dễ nhớ Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu.
Hình 1.2: Ngôn ngữ lập trình Python
Ban đầu, Python được phát triển để chạy trên nền Unix Nhưng rồi theo thời gian, Python dần mở rộng sang mọi h ệ điều hành từ MS - DOS đến Mac OS, OS/2, Windows , Linux và các h ệ điều hành khác thuộc h ọ
Trang 9Unix
Thư viện OpenCV
OpenCV ( Open Source Computer Vision Library ) là một thư viện các
chức năng lập trình chủ yếu hướng đến th ị giác máy tính thời gian thực Ban đầu được phát triển bởi Intel , sau đó được hỗ trợ bởi Willow Garage sau đó là Itseez (sau đó được Intel mua lại ) Thư viện là nền tảng đa nền tảng và được sử dụng miễn phí theo Giấy phép Apache 2 nguồn mở Bắt đầu từ năm 2011, OpenCV có tính năng tăng tốc GPU cho các hoạt động thời gian thực.
Hình 1.3: Thư viện OpenCV
Trang 10Ứng dụng củaOpenCV
• Hình ảnh street view
• Kiểm tra và giám sát tự động
• Robot và xe hơi tự lái
• Phân tích hình ảnh y học
• Tìm kiếm và phục hồi hình ảnh/video
• Phim – cấu trúc 3D từ chuyển động
Trang 11CHƯƠNG II: THIẾT KẾ PHẦN MỀM2.1 CODE
Trang 122.2 Kết quả
1 – Chạy chương trình phát hiện khuôn mặt và chụp ảnh
2 - Ảnh được lưu vào ổ đĩa
Trang 13CHƯƠNG III: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN4.1 Kết luận
Ưu điểm:
Cơ bản đã nắm bắt được các bước phát triển phần mềm
Thực hiện đúng quy trình xây dựng được bố cục phần mềm hợp lý Bước đầu đã thực hiện được việc phát hiện khuôn mặt
Nhược điểm:
Khả năng phát hiện khuôn mặt vẫn còn hạn chế
Cơ sở dữ liệu nhỏ, chức năng phân quyền chưa tối ưu
Chưa thể thực hiện chụp theo nút bấm, mà hoàn toàn là tự động
Trang 144.2 Hướng phát triển
Trong bài tập lớn này, em mới chỉ hoàn thành ở mức độ thu ảnh và lưu vào ổ đĩa Đây là những bước khởi đầu để em có thể phát triển các nền tảng lớn hơn trong tương lai, trong dự án tiếp theo em sẽ xây dựng một phần mềm phát hiện khuôn mặt chuyên nghiệp hơn Có chức năng hiển thị tên người được phát hiện Không những thế còn có thể phát hiện được cảm xúc của khuôn mặt.