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.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.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 do an 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 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.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 do an 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. Đâ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.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) 205 0 25 Z = 0 175 50 115 20 180 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. 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 do an 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.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.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.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 do an Chương 2: Phát hiện người GVHD: TS. Nguyễn Thanh Hải f x, y T g x, y 1 (2.
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.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ẻ: Atv a( ) (2.3) 2 n Nếu n chẵn: Atv a ( ) (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 do an 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.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.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 do an Chương 2: Phát hiện người GVHD: TS. Nguyễn Thanh Hải 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 A 0 1 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 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’.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. SVTH: Nguyễn Trung Hiếu – Nguyễn Bá Vũ 19 do an 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.