Đồ án Ứng dụng xử lí ảnh phát hiện người và báo động dùng SIM900 (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Ứng dụng xử lí ảnh phát hiện người và báo động dùng SIM900 (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
do_an_ung_dung_xu_li_anh_phat_hien_nguoi_va_bao_dong_dung_si.pdf
Nội dung text: Đồ án Ứng dụng xử lí ảnh phát hiện người và báo động dùng SIM900 (Phần 1)
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG ỨNG DỤNG XỬ LÍ ẢNH PHÁT HIỆN NGƯỜI VÀ BÁO ĐỘNG DÙNG SIM900 GVHD: TS. NGUYỄN THANH HẢI SVTH: NGUYỄN TRUNG HIẾU MSSV: 11941010 SVTH: NGUYỄN BÁ VŨ MSSV: 11941036 S K L 0 0 4 1 8 5 Tp. Hồ Chí Minh, tháng 1/2016
- Ứng dụng xử lý ảnh phát hiện người và báo động dùng Sim900 MỤC LỤC MỤC LỤC 1 DANH MỤC CÁC HÌNH VẼ 3 DANH MỤC CÁC BẢNG BIỂU 6 LỜI CẢM ƠN 8 TÓM TẮT 9 : GIỚI THIỆU 10 1.1 Tổng quan 10 1.2 Mục tiêu đề tài 11 1.3 Nội dung thực hiện 11 1.4 Giới hạn của đề tài 12 1.5 Bố cục của đồ án 12 1.6 Sơ đồ khối của hệ thống 13 : PHÁT HIỆN NGƯỜI 14 2.1 Tổng quan về phương pháp nhận dạng người 14 2.2 Phương pháp thu nhận ảnh 14 2.3 Tiền xử lý 14 2.4 Trích đặc trưng và nhận dạng dùng PCA 20 2.5 Giải thuật của phương pháp PCA 22 2.5.1 Xây dựng tập mẫu 22 2.5.2 Tính mẫu trung bình 23 2.5.3 Sai lệch trung bình của tập mẫu 24 2.5.4 Ma trận hiệp phương sai 24 2.5.5 Phép chiếu 27 2.5.6 Ảnh cần nhận dạng 28 2.5.7 Nhận dạng người 29 2.6 Ưu điểm và hạn chế của phương pháp PCA 29 : THIẾT KẾ HỆ THỐNG BÁO ĐỘNG DÙNG SIM900 31 3.1 Tổng quan về hệ thống 31 3.2 Giới thiệu về tin nhắn SMS 31 3.3 Giới thiệu module Sim900, tập lệnh AT 32 SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 1
- Ứng dụng xử lý ảnh phát hiện người và báo động dùng Sim900 3.3.1 Giới thiệu module breakout Sim900 32 3.3.2 Đặc điểm kỹ thuật của BREAKOUT SIM900 33 3.3.3 Khảo sát sơ đồ chân và cách sử dụng breakout Sim900 34 3.4 Khảo sát vi điều khiển PIC 16F887 36 3.4.1 Giới thiệu về PIC 16F887 36 3.4.2 Sơ đồ khối và chân của PIC 16F887 37 3.4.3 USART 38 3.5 Giao tiếp UART 38 3.5.1 Các thông số cơ bản trong truyền nhận UART 39 3.5.2 Tổng quan về truyền nhận dữ liệu bằng UART trong PIC16F887 39 3.5.3 IC Max232 40 3.6 Thiết kế hệ thống 42 3.6.1 Sơ đồ khối hệ thống báo động 43 3.6.2 Thiết kế phần cứng 44 : KẾT QUẢ CỦA ĐỀ TÀI 54 4.1 Kết quả xử lý ảnh 54 4.1.1 Kết quả phát hiện đúng người 55 4.1.2 Kết quả phát hiện không có người 56 4.1.3 Kết quả phát hiện sai 57 4.2 Kết quả báo động 58 4.3 Kết quả hệ thống ngoài thực tế 60 : KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 61 5.1 Kết luận 61 5.2 Hướng phát triển đề tài 61 TÀI LIỆU THAM KHẢO 62 PHỤ LỤC 63 SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 2
- Ứng dụng xử lý ảnh phát hiện người và báo động dùng Sim900 DANH MỤC CÁC HÌNH VẼ Hình 1.1: Sơ đồ khối của hệ thống 13 Hình 2.1: Sơ đồ khối nhận diện người 14 Hình 2.2: Sơ đồ khối các bước tiền xử lý 14 Hình 2.3: Ảnh nền 15 Hình 2.4: Ảnh chụp có người 15 Hình 2.5: Ảnh thu được sau khi trừ ảnh có người và ảnh nền 15 Hình 2.6: Ảnh trước và sau khi biến đổi thành ảnh xám 16 Hình 2.7: Ảnh xám trước và sau khi được tăng độ tương phản 16 Hình 2.8: Ảnh trước và sau khi phân đoạn ảnh với ngưỡng xác định 17 Hình 2.9: Ảnh trước và sau khi dùng bộ lọc median 18 Hình 2.10: Ảnh trước và sau khi tô lấp lỗ hổng 19 Hình 2.11: Kết quả của bước tiền xử lý 20 Hình 2.12: Lưu đồ thuật toán PCA 21 Hình 3.1: Sơ đồ kết nối giữa vi điều khiển và PC thông qua MAX232 31 Hình 3.2: Cấu trúc 1 tin nhắn SMS 32 Hình 3.3: Mặt trước và mặt sau Brealout Sim900 33 Hình 3.4: Các thành phần chính của Breakout Sim900 34 Hình 3.5: Thứ tự phân bố chân giao tiếp của Breakout Sim900 34 Hình 3.6: Module LM2596 STEP DOWN 35 Hình 3.7: Vi điều khiển PIC 16F887 36 Hình 3.8: Sơ đồ chân của PIC 16F887 37 Hình 3.9: Vị trí và chức năng các chân 37 Hình 3.10: Dạng sóng hoạt động của UART 39 Hình 3.11: Sơ đồ chân IC Max232 40 Hình 3.12: Cổng DB9 42 SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 3
- Ứng dụng xử lý ảnh phát hiện người và báo động dùng Sim900 Hình 3.13: Sơ đồ khối hệ thống điều khiển 42 Hình 3.14: Sơ đồ khối hệ thống báo động bằng SMS 43 Hình 3.15: Sơ đồ nguyên lý mạch báo động dùng Sim900 45 Hình 3.16: Sơ đồ mạch nút reset 46 Hình 3.17: Sơ đồ nguyên lý khối giao tiếp máy tính 47 Hình 3.18: Hình ảnh thực tế khối giao tiếp máy tính 48 Hình 3.19: Lưu đồ giải thuật cho vi điều khiển 1 48 Hình 3.20: Sơ đồ nguyên lý khối Sim900 49 Hình 3.21: Hình ảnh thực tế khối giao tiếp Sim900 49 Hình 3.22: Lưu đồ giải thuật cho vi điều khiển 2 50 Hình 3.23: Sơ đồ kết nối giữa vi điều khiển và LCD 51 Hình 3.24: Sơ đồ kết nối giữa vi điều khiển và khối báo động 51 Hình 3.25: Hình ảnh thực tế khối báo động và hiển thị LCD 53 Hình 4.1: Tập ảnh dữ liệu 54 Hình 4.2: Ảnh chụp nền 55 Hình 4.3: Ảnh chụp có người 55 Hình 4.4: Ảnh nhị phân tách người và nền 55 Hình 4.5: Ảnh đóng khung hình người 56 Hình 4.6: Ảnh nền 56 Hình 4.7: Ảnh có vật 56 Hình 4.8: Ảnh nhị phân tách biệt giữa vật và nền 57 Hình 4.9: Ảnh nền 1 57 Hình 4.10: Ảnh có vật 1 57 Hình 4.11: Ảnh nhị phân tách biệt giữa vật và nền 1 57 Hình 4.12: Hình ảnh mạch báo động thực tế 58 Hình 4.13: Trạng thái hoạt động của hệ thống khi chưa phát hiện người 58 SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 4
- Ứng dụng xử lý ảnh phát hiện người và báo động dùng Sim900 Hình 4.14: Trạng thái hoạt động của hệ thống phát hiện có người 59 Hình 4.15: Trạng thái hiển thị cú pháp tắt báo động trên tin nhắn điện thoại 59 Hình 4.16: Hình ảnh toàn bộ thiết bị trong hệ thống 60 Hình 5.1: Giao diện GUI xử lý ảnh trên matlab 65 Hình 5.2: Giao diện GUI khi phát hiện đúng người 65 Hình 5.3: Giao diện GUI khi phát hiện vật 66 Hình 5.4: Giao diện GUI khi phát hiện sai 66 SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 5
- Ứng dụng xử lý ảnh phát hiện người và báo động dùng Sim900 DANH MỤC CÁC BẢNG BIỂU Bảng 3.1: Số thứ tự và tên chân giao tiếp của Breakout Sim900 34 Bảng 3.2: Chức năng các chân của IC Max232 41 Bảng 3.3: Chức năng các chân của DB9 42 Bảng 4.1: Thống kê kết quả phát hiện 54 SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 6
- Ứng dụng xử lý ảnh phát hiện người và báo động dùng Sim900 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Giáo viên hướng dẫn TS. Nguyễn Thanh Hải SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 7
- Ứng dụng xử lý ảnh phát hiện người và báo động dùng Sim900 LỜI CẢM ƠN Trong suốt thời gian học tập tại trường Đại Học Sư Phạm Kỹ Thuật TP.HCM chúng em đã tiếp thu nhiều kiến thức bổ ích, rèn luyện được nhiều kỹ năng trong học tập và thực tiễn. Được sự quan tâm giúp đỡ tận tình của các thầy cô trong trường, đặc biệt là của thầy Nguyễn Thanh Hải đã giúp chúng em hoàn thành Đồ Án Tốt Nghiệp này. Vì vậy, chúng em xin gửi lời cảm ơn chân thành đến toàn thể Thầy Cô – Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM đã tận tình giảng dạy, truyền đạt kiến thức cũng như những kinh nghiệm quý báu trong suốt quá trình học tập tại trường, thầy Nguyễn Thanh Hải, người thầy đã tận tình hướng dẫn và quan tâm trong suốt quá trình thực hiện đề tài. Mặc dù chúng em đã cố gắng hoàn thành tốt đề tài nhưng cũng không thể tránh khỏi những sai sót nhất định, rất mong được sự thông cảm và chia sẻ cùng quý Thầy Cô. Xin gửi lời chúc sức khỏe và thành đạt tới tất cả quý Thầy Cô. TP.HCM, ngày 22 tháng 01 năm 2016 Sinh viên thực hiện Nguyễn Trung Hiếu Nguyễn Bá Vũ SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 8
- Ứng dụng xử lý ảnh phát hiện người và báo động dùng Sim900 TÓM TẮT Ngày nay, cuộc sống hiện đại luôn có những yêu cầu cao vè tính bảo mật, một người khi ra khỏi nhà sẽ không biết liệu ngôi nhà của mình có được bảo vệ an toàn khỏi sự xâm nhập của kẻ trộm hay không, khi đó, người ta cần có một hệ thống sẽ làm nhiệm vụ giám sát và phát hiện có người đột nhập vào nhà, điều này đòi hỏi phải có một hệ thống có thể phát hiện người và báo động từ xa đến chủ nhà. Xử lý ảnh là lĩnh vực phát triển rất nhanh chóng, được ứng dụng trong rất nhiều lĩnh vực từ công nghiệp, y học, an ninh đến quân sự. Trong đó, nhận dạng và phát hiện đối tượng được nghiên cứu rất rộng rãi. Song hành với đó là sự phổ biến của các hệ thống điều khiển từ xa, mà điều khiển qua tin nhắn điện thoại dung Sim900 là một hướng ứng dụng được quan tâm rất nhiều. Vì vậy, nhóm quyết định thực hiện tìm hiểu về lĩnh vực xử lý ảnh để phát hiện người bằng Matlab sau đó thông báo đến điện thoại thông qua Module Sim900. Ứng dụng này có thể được sử dụng để phát hiện trộm đột nhập và phát tín hiệu cảnh báo SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 9
- Chương 1: Giới thiệu GVHD: TS. Nguyễn Thanh Hải : GIỚI THIỆU 1.1 Tổng quan Hiện nay, cùng với sự phát triển của xã hội, vấn đề an ninh bảo mật đang được yêu cầu khắt khe tại mọi quốc gia trên thế giới. Song song với sự phát triển của xã hội là sự phát triển công nghệ thông tin và ứng dụng công nghệ thông tin phục vụ cho cuộc sống con người. Các hệ thống an ninh công nghệ với độ tin cậy cao được ra đời từ đây, trong đó có hệ thống nhận dạng con người. Bài toán nhận dạng người là một bài toán hấp dẫn, không giới hạn giải pháp sử dụng, vận dụng linh hoạt kiến thức trong nhiều lĩnh vực, đã thách thức nhiều người nghiên cứu vì tính ứng dụng to lớn trong thực tế. Đây là một chủ đề có thể nói còn tương đối mới với những ứng dụng mang tính công nghệ cao như: robot, các thiết bị camera, các hệ thống bảo mật, chống trộm, nhận dạng, đã và đang được chú trọng nghiên cứu nhiều hơn. Đã có rất nhiều công trình nghiên cứu về bài toán nhận dạng. Dưới đây là một số đề tài đồ án tốt nghiệp của các khóa trước mà nhóm đã tìm hiểu được. Đề tài “Ứng dụng xử lý ảnh định hướng pin mặt trời“ [1] được xử lý bằng cách xác định tâm của mặt trời trong hình chụp được, sau đó điều chỉnh góc quay cho động cơ đên khi tâm mặt trời trùng với tâm bức ảnh thì sẽ nhận được nhiều năng lượng nhất. Nhiều nhất là các đồ án “Nhận dạng mặt người” [2] thường sử dụng thuật toán dùng đặc trưng Haar-like và phương pháp PCA. Kết quả nhận dạng được gương mặt trong môi trường ánh sáng yếu. Tuy nhiên, có nhiều trường hợp không nhận dạng chính xác như khuôn mặt bị biến dạng, có râu quai nón, đội mũ, đeo khẩu trang, Một đề tài nhận dạng khuôn mặt là “Ứng dụng xử lý ảnh cảnh báo tài xế ngủ gật” [3] , với thuật toán Adaboost được sử dụng thì kết quả phát hiện được hơn 90% các trường hợp tài xế ngủ gật. Ngoài ra, các đề tài về “Nhận dạng biển báo giao thông dùng kit 6437” [4] kết hợp trích đặc trưng bằng phương pháp PCA và huấn luyện bằng phương pháp mạng Neural cho kết quả tốt nhất là khoảng 75% cho ảnh chụp nghiêng vả khoảng 80% cho ảnh chụp trực diện. Và đề tài “Nhận dạng biển số xe máy” [5] dùng phương pháp tương quan và mạng Neural với kết quả cho phương pháp tương quan là khoảng 70% và phương pháp Neural là 72% với thời gian xử lý ít hơn 3s. Các nghiên cứu đi từ bài toán đơn giản, từ việc nhận dạng một mặt người trong ảnh đen trắng cho đến mở rộng cho ảnh màu và có nhiều mặt người trong ảnh, các bài toán xác định mặt người đã mở rộng với nhiều nghiên cứu như nhận dạng khuôn mặt, định vị khuôn SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 10
- Chương 1: Giới thiệu GVHD: TS. Nguyễn Thanh Hải mặt, theo dõi mặt người Song song với đó là các hướng điều khiển đang được quan tâm nhiều nhất là các đề tài về giải pháp “Điều khiển thiết bị qua sms” [6] hay đề tài về “Giải pháp ngôi nhà thông minh” [7] dùng module sim900 để điều khiển các thiết bị trong nhà thông qua điện thoại, cảnh báo nhiệt độ, rò rỉ khí ga và chống trộm kịp thời. Nhóm em nhận thấy rằng có thể kế thừa các phương pháp nhận dạng của các khóa trước để đưa ra giải thuật phát hiện người, camera thường được dùng để quan sát, ghi nhận hình ảnh, nhưng ở đây nhóm quyết định sử dụng camera và xử lý ảnh để phát hiện người qua đó đưa hướng xử lý ảnh vào một ứng dụng thực tiễn, đó là phát hiện người đột nhập vào nhà và báo động đến chủ nhà bằng tin nhắn điện thoại qua Sim900. Với mong muốn tiếp cận các công nghệ mới, đồng thời bổ sung kiến thức về khoa học kỹ thuật hiện đại, cũng như tổng kết lại những kỹ năng, kiến thức trong suốt quá trình học tập tại trường, nhóm thực hiện xin chọn đề tài “Ứng dụng xử lý ảnh phát hiện người và báo động dùng Sim900. Đây có thể là một bài toán nhỏ nhưng nó cũng giúp nhóm thực hiện đề tài có một cái nhìn khái quát về bài toán, tạo cơ sở tiền đề cho sự tìm tòi và phát triển các hướng cao hơn. 1.2 Mục tiêu đề tài Thiết kế và thi công mô hình có lắp đặt camera phát hiện có người hay không có người. Camera được kết nối với máy tính, khi có người camera sẽ chụp lại hình ảnh và gửi đến máy tính xử lý, máy tính sẽ truyền tín hiệu xuống vi điều khiển thông qua giao tiếp UART để vi điều khiển thực hiện nhiệm vụ gửi tin nhắn báo cho chủ nhà thông qua sim900. 1.3 Nội dung thực hiện Tìm hiểu tổng quát về lý thuyết xử lý ảnh. Tìm hiểu các phương pháp phát hiện người. Đưa ra giải quyết được vấn đề phát hiện, và nhận dạng được thân người người trong những điều kiện nhất định. Dùng thuật toán PCA và viết code giải thuật bằng ngôn ngữ Matlab, giải quyết vấn đề xác định người trên cả ảnh và video. Kết quả mô phỏng bài toán nhận dạng người bằng phần mềm Matlab trên máy tính. SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 11
- Chương 1: Giới thiệu GVHD: TS. Nguyễn Thanh Hải Dùng module Sim900 và vi điều khiển PIC16F887 để xây dựng hệ thống. Thiết kế sơ đồ nguyên lý cho phần cứng. Tính toán thiết kế phần cứng. Thiết kế phần mềm cho khối xử lý trung tâm. Lắp ráp các khối điều khiển vào mô hình. Chạy thử nghiệm tương tác giữa camera và vi điều khiển. Viết báo cáo đề tài tốt nghiệp. 1.4 Giới hạn của đề tài Chất lượng ảnh và video phải tốt, và có độ sắc nét cao. Độ phân giải camera phải từ 2mp trở lên, tức là kích cỡ ảnh lớn hơn hoặc bằng 640x480. Trang phục người cần nhận dạng trong ảnh và video phải có sự khác biệt tương đối với màu nền của khung hình. Nếu màu nền là màu tối thì trang phục người cần nhận dạng phải là màu sáng và ngược lại. Nền của khung hình không quá phức tạp, nhiều chi tiết. Khoảng cách chụp là 4m. Số lượng tập ảnh mẫu càng nhiều thì kết quả có độ chính xác càng cao. 1.5 Bố cục của đồ án Chương 1: Tổng quan Giới thiệu về lý do chọn đề tài, nội dung các công việc cần thực hiện trong đề tài và đề cập giới hạn của đề tài. Chương 2: Phát hiện người Trình bày cách thức thu nhận ảnh, các bước tiền xử lý ảnh và phương pháp nhận dạng dùng PCA: xây dựng tập mẫu, tính mẫu trung bình, sai lệch mẫu trung bình, ma trận hiệp phương sai, phép chiếu và nhận dạng người dựa trên đặc trưng rút trích từ PCA. Chương 3: Thiết kế hệ thống báo động dùng Sim900 Sơ đồ của hệ thống báo động, giải thích các khối, mô phỏng và tính toán các thông số cần thiết của hệ thống. SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 12
- Chương 1: Giới thiệu GVHD: TS. Nguyễn Thanh Hải Chương 4: Kết quả thực hiện Mô tả giao diện phần mềm trên matlab, các kết quả của tiến trình xử lý ảnh trên matlab. Hình ảnh thực tế và hoạt động của phần cứng mạch báo động dùng Sim900. Chương 5: Kết luận và hướng phát triển Trong chương cuối nhóm sẽ trình bày những kết luận rút ra được sau quá trình tìm hiểu và thực hiện đề tài, kết luận về khả năng hoạt động của xử lý ảnh trên matlab và hệ thống báo động. Qua đó đưa ra những kiến nghị để có thể phát triển đề tài tốt hơn nữa. 1.6 Sơ đồ khối của hệ thống Dưới đây là sơ đồ khối của hệ thống (Hình 1.1) để chúng ta có được cái nhìn tổng quát nhất hơn. Hình 1.1: Sơ đồ khối của hệ thống Quá trình hoạt động của hệ thống: Máy tính sẽ nhận tín hiệu hình ảnh thu được từ camera đem đi xử lý và nhận dạng. Sau đó, máy tính sẽ gửi tín hiệu điều khiển xuống vi điều khiển để thực hiện gửi tin nhắn thông qua Module Sim900. SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 13
- Chương 2: Phát hiện người GVHD: TS. Nguyễn Thanh Hải : PHÁT HIỆN NGƯỜI 2.1 Tổng quan về phương pháp nhận dạng người Hiện nay, việc nhận dạng đối tượng có nhiều phương pháp thực hiện khác nhau nhưng phần nhiều đều phải có những bước sau đây (Hình 2.1): Trích đặc Tiền xử lý Nhận dạng trưng Hình 2.1: Sơ đồ khối nhận diện người Việc tiền xử lý sẽ giúp ảnh cần nhận dạng rõ ràng hơn, bỏ bớt những thành phần dư thừa, chỉ giữ lại những thành phần chính. Ảnh sau khi đã được tiền xử lý sẽ được trích lấy những đặc trưng chính để đem đi nhận dạng. 2.2 Phương pháp thu nhận ảnh Đề tài sử dụng webcam tiến hành chụp ảnh từ khoảng cách cố định là 4m, hình ảnh thu được sẽ có kích thước 640x480 pixel. Ảnh thu được sẽ được tiền xử lý và định lại với kích thước nhỏ hơn để tiện cho việc trích đặc trưng và nhận dạng diễn ra nhanh hơn. 2.3 Tiền xử lý Sau quá trình thu nhận, ảnh có thể bị nhiễu, độ tương phản thấp, bị mờ nên cần đưa vào bộ tiền xử lý để nâng cao chất lượng. Chức năng chính của bộ tiền xử lý là tách ra được vật chuyển động, lọc nhiễu, nâng cao độ tương phản để làm ảnh rõ hơn, nét hơn. Lấp lỗ hổng và Biến đổi Tăng Chuyển Trừ ảnh loại bỏ thành cường sang ảnh Lọc ảnh nền thành ảnh xám ảnh nhị phân phần dư thừa Hình 2.2: Sơ đồ khối các bước tiền xử lý SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 14
- Chương 2: Phát hiện người GVHD: TS. Nguyễn Thanh Hải Hình 2.3: Ảnh nền Hình 2.4: Ảnh chụp có người Bước 1: Tiến hành bước tìm sự sai biệt (trừ ảnh) giữa ảnh chụp có người (Hình 2.4) và ảnh nền (Hình 2.3). Đây là bước trừ các giá trị của tương ứng của từng pixel trên mỗi ảnh với nhau, kết quả thu được là là bức ảnh thể hiện sự có mặt của người được nhận biết (Hình 2.5) so với lúc trước khi có người. Ví dụ 2.1: Cho 2 ảnh X và Y tương ứng có 2 ma trận điểm ảnh như sau: X = uint8([ 255 10 75; 44 225 100 ;175 80 240]); Y = uint8([ 50 50 50; 50 50 50; 60 60 60]); Kết quả khi trừ 2 ma trận ta được ma trận Z = X - Y Z = imsubtract(X,Y) 205025 Z = 017550 11520180 Hình 2.5: Ảnh thu được sau khi trừ ảnh có người và ảnh nền Bước 2: Biến đổi ảnh thu được từ bước 1 (Hình 2.5) thành ảnh xám (Hình 2.6). Mục đích của việc chuyển đổi này là biến đổi ảnh màu với ma trận ba chiều sang ma trận hai chiều để dễ dàng xử lý nhận dạng. Ta thực hiện việc chuyển đổi hình ảnh màu SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 15
- Chương 2: Phát hiện người GVHD: TS. Nguyễn Thanh Hải ban đầu thành ảnh xám bằng cách loại bỏ các thông tin màu sắc và độ bão hòa nhưng vẫn giữ độ sáng. Thuật toán chuyển đổi ảnh là chuyển các giá trị RGB sang giá trị grayscale bằng cách chuyển đổi hình thức tổng trọng số của các phần tử R, G và B: I(x, y) = 0.299*R(x, y) + 0.587*G(x, y) + 0.114*B(x, y) (2.1) Hình 2.6: Ảnh trước và sau khi biến đổi thành ảnh xám Bước 3: Mở rộng độ tương phản của ảnh. Đầu tiên, ta tính toán biểu đồ của ảnh và tính các giá trị ngưỡng, các giá trị đưa về dưới dạng phân số trong một vector mà ta có thể truyền theo dạng [low_in high_in]. Ảnh sau khi được điều chỉnh tăng độ tương phản được thể hiện trong hình 2.7. Ví dụ 2.2: Kết quả của việc mở rộng độ tương phản làm sáng đáng kể ảnh ra và cũng mở rộng khoảng động (dynamic range ) của phần tối trong ảnh gốc , làm cho nó dễ dàng nhìn thấy các chi tiết. Hình 2.7: Ảnh xám trước và sau khi được tăng độ tương phản Bước 4: Khi đã có được bức ảnh có độ tương phản cao thì công việc tiếp theo là chuyển ảnh này thành ảnh nhị phân sẽ dễ dàng và cho chất lượng hiển thị tốt hơn. Ảnh nhị phân là một trường hợp đặc biệt của lượng tử cường độ sáng là ảnh chỉ có hai mức lượng tử (2 mức xám): đen và trắng. Ảnh nhị phân rất dễ lưu trữ và xử lý bằng máy tính vì mỗi pixel chỉ được biểu diễn bằng 1 bit. Với ngưỡng T, nếu: SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 16
- Chương 2: Phát hiện người GVHD: TS. Nguyễn Thanh Hải fxyTgxy , , 1 (2.2) fxyTgxy , , 0 trong đó g(x, y) là ảnh binary của ảnh f(x, y). Việc chuyển sang ảnh nhị phân là tìm một ngưỡng của độ chói để căn cứ vào đó có thể tách biệt 2 nhóm ảnh là ảnh nền và ảnh có người ra. Đây được gọi là phân đoạn ảnh. Từ ngưỡng này, chúng ta sẽ phân ra được những pixel nào dưới ngưỡng sẽ có giá trị là 0, và những pixel nào trên ngưỡng này sẽ có giá trị là 1. Hình 2.8: Ảnh trước và sau khi phân đoạn ảnh với ngưỡng xác định Bước 5: Sử dụng bộ lọc median để lọc ảnh, bộ lọc này sẽ thực hiện việc loại bỏ nhiễu tốt và ít làm mờ các cạnh. Lọc trung vị là lọc phi tuyến. Một phép lọc phi tuyến là một kết quả không thể thu được từ một tổng trọng số của các điểm ảnh lân cận. Sau khi đã định nghĩa kích thước vùng lân cận, giá trị điểm ảnh trung tâm được thay bằng trung vị tức là giá trị chính giữa của tất cả các giá trị của các điểm trong vùng lân cận. Các bộ lọc trung vị bảo quản tốt tại các cạnh sắc nét. Giả sử A = {a1, a2, ,an} là các giá trị pixel lân cận với a1 ≤ a2 ≤ ⋯ ≤ an. Thì: n 1 Nếu n lẻ: Aa () (2.3) tv 2 n Nếu n chẵn: Aa () (2.4) tv 2 Ví dụ 2.3: Ta sử dụng một cửa sổ lọc (ma trận 3x3) quét qua lần lượt từng điểm ảnh của ảnh đầu vào. Tại vị trí mỗi điểm ảnh lấy giá trị của các điểm ảnh tương ứng trong vùng 3x3 của ảnh gốc "lấp" vào ma trận lọc. 75 99 36 38 49 10 19 98 22 SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 17
- Chương 2: Phát hiện người GVHD: TS. Nguyễn Thanh Hải Sau đó sắp xếp các điểm ảnh trong cửa sổ này theo thứ tự (tăng dần hoặc giảm dần tùy ý). 10 19 22 36 38 ←giá trị trung vị 49 75 98 99 Cuối cùng, gán điểm ảnh nằm chính giữa (Trung vị) của dãy giá trị điểm ảnh đã được sắp xếp ở trên cho giá trị điểm ảnh đang xét của ảnh đầu ra output. 75 99 36 38 38 10 19 98 22 Hình 2.9: Ảnh trước và sau khi dùng bộ lọc median Bước 6: Tô lấp các lỗ hổng (holes) trong ảnh, nghĩa là những thành phần điểm ảnh trên người trùng với nền quá lớn mà bộ lọc không thể làm mất được thì bước này sẽ thực hiện việc xóa bỏ những thành phần đó, giúp cho việc nhận dạng được chính xác hơn Để minh hoạ , ví dụ sau đây sẽ tô lấp các lỗ trong một ảnh đen trắng. Ví dụ 2.4: Cho ảnh nhị phân A có ma trận điểm ảnh như sau: SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 18
- Chương 2: Phát hiện người GVHD: TS. Nguyễn Thanh Hải 00000000 01111100 01000100 01000100 A 01000100 01111000 00000000 00000000 Ta thay các giá trị cường độ của vùng đen (được bao quanh bởi các vùng trắng hơn) thành cùng mức cường độ với các điểm ảnh xung quanh. Quá trình thay đổi này dừng lại khi chúng đạt đến biên của các đối tượng. Kết quả từ ma trận A tạo ra ma trận ảnh A’. 00000000 01111100 01111100 01111100 A' 01111100 01111000 00000000 00000000 Hình 2.10: Ảnh trước và sau khi tô lấp lỗ hổng Kết luận: Như vậy là từ ảnh đầu vào, sau khi qua các bước tiền xử lý, ta đã tách ra được vật chuyển động, mà cụ thể ở đây là người ra khỏi khung ảnh ban đầu để phục vụ cho việc trích đặc trưng và nhận dạng được trình bày trong phần sau. Kết quả của toàn bước tiền xử lý được thể hiện trong hình 2.11 dưới đây. SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 19
- Chương 2: Phát hiện người GVHD: TS. Nguyễn Thanh Hải Hình 2.11: Kết quả của bước tiền xử lý 2.4 Trích đặc trưng và nhận dạng dùng PCA Ý tưởng chính của phương pháp PCA để nhận dạng người là diễn tả một số lượng lớn vector pixel một chiều được hình thành từ ảnh một chiều bởi các thành phần thiết yếu không gian đặc trưng. Bước này được gọi là chiếu lên không gian đặc trưng mặt. Không gian đặc trưng được tính toán từ định nghĩa vector đặc trưng của ma trận covariance hình thành từ tập các thân người (ở dạng vector). PCA (Principal Component Analysis) là một phương pháp phân tích thành phần chính, có nghĩa là làm giảm hướng đặc thù của tập dữ liệu trong khi đó nó giữ lại nét chuyên biệt của biến đổi gây ảnh hưởng nhiều nhất trong tập dữ liệu. Bởi vì PCA là phương pháp nắm giữ, và phân tích dữ liệu. Thuật toán nhận dạng người áp dụng PCA cần có một cấu trúc thuật giải hỗ trợ. Xây dựng cấu trúc này yêu cầu một số quy định cho thiết kế chương trình. Mỗi quy định thiết kế là tác nhân ảnh hưởng toàn bộ khả năng thực thi của thuật toán nhận dạng người. Các đặc điểm chung mô hình nền tảng PCA của hệ thống nhận dạng thân người. Giá trị thuật toán được quản lý bởi giá trị giao thức. Nó gồm chất lượng của ảnh, số lượng ảnh trong cơ sở dữ liệu, và tập ảnh kiểm tra. Một tham số quan trọng thuật toán là chất lượng ảnh. Đặc điểm chất lượng ảnh theo thời gian giữa tập ảnh trong cơ sở dữ liệu, và ảnh cần kiểm tra. Hệ thống nhận dạng thân người gồm những bước: chuẩn hóa, trích đặc trưng, nhận dạng, và hiển thị kết quả. Mỗi modun bao gồm các bước cơ bản của tiến trình xây dựng hệ thống nhận dạng. Lưu đồ thuật toán PCA Để có thể thực hiện được việc trích được đặc trưng của ảnh để làm cơ sở cho việc nhận dạng, chúng ta có lưu đồ thuật toán gồm các bước sau đây. SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 20
- S K L 0 0 2 1 5 4