c. Khởi động chương trình xử lý
Raspberry Pi 2 sử dụng ngôn ngữ Matlab để điều khiển hoạt động, giao diện điều khiển được thiết kế bằng phần mềm Matlab chạy trên máy tính. Ta cần tìm thư mục
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 44 chứa chương trình GUI và mở chương trình đó lên bằng cách nhấn “RUN” hoặc nhấn “F5” trên bàn phím máy tính.
d. Dùng các phím bấm trên giao diện điều khiển
Các phím bấm trên giao diện điều khiển đều có những chức năng riêng. Dựa vào bảng tra cứu 4.2, ta có thể biết được chức năng từng phím và điều khiển hệ thống được chính xác hơn.
Bảng 4.2. Bảng phím bấm trên giao diện điều khiển
STT Tên nút bấm Chức năng
1 Video Khởi động Camera pi bắt đầu chương trình chính. 2 Stop video Tắt hệ thống chương trình
3 Image Chọn ảnh mẫu để nhận dạng
4 Run Đưa kết quả nhận dạng khi chọn ảnh mẫu 5 Restart Khởi động lại tồn bộ chương trình. 6 About Hiện thơng tin tác giả và chương trình.
e. Bắt đầu chương trình hoạt động
Sau khi cấp nguồn theo yêu cầu như phần trên, hệ thống sẽ bắt đầu làm việc nếu ta thực hiện các bước sau đây:
- Nhận dạng bằng khởi động Camera:
Bước 1: kiểm tra xem Kit Raspberry và máy tính đã kết nối với nhau chưa bằng
cách mở phần mềm PUTTY, sau đó dựa vào địa chỉ IP của máy, tên đăng nhập và password để mở hệ điều hành. Hoặc có thể kiểm tra trực tiếp trên Matlab với câu lệnh: “>> myotherpi = raspi('169.254.0.4','pi','raspberry')”, với 169.254.0.4 là IP của Raspberry, pi là tên đăng nhập và raspberry là password đăng nhập.
Bước 2: cần đăng nhập trên phần mềm Matlab và kiểm tra kết nối với Camera pi
trước khi thực hiện bước tiếp theo.
Bước 3: trên giao diện Matlab, bấm nút “Video”, hệ thống sẽ tự khởi động Camera
pi trên kit Raspberry và tiến hành quay video quan sát. Ta thử đưa Camera qua sát dáng người và khn mặt bất kì để kiểm tra sự hoạt động của hệ thống.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 45
Bước 4: Bấm chọn vào nút “Stop video” hoặc phím tắt là “q” trên bàn phím để
thốt tồn bộ chương trình.
Bước 5: nếu muốn thu ảnh lại từ đầu, ta nhấn “Restart”. Hoặc để biết thêm thông
tin về hệ thống, ta nhấn “About”.
- Nhận dạng bằng chọn ảnh từ máy tính:
Trong phần này, ta sẽ chọn ảnh có sẳn trong máy tính để tiến hành tìm và nhận dạng khn mặt người. Tiến hành theo các bước sau để chạy chương trình:
Bước 1: Từ giao diện điều khiển của hệ thống, ta nhấn “Image” một cửa sổ mới
sẽ mở lên, tìm và chọn một ảnh để nhận dạng. Hình 4.13 là cửa sổ mới được mở khi ta nhấn chọn ảnh từ máy tính.
Hình 4.13. Cửa sổ mới để lấy ảnh từ máy tính
Khi người dùng nhấp đúp chuột để chọn một ảnh để so sánh, ảnh vừa được chọn sẽ hiện trên màn hình làm việc như hình 4.14.
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 46
Hình 4.14. Ảnh đang chờ để nhận dạng
Bước 2: Sau khi chọn ảnh từ máy xong, hình vừa chọn cũng sẽ được hiện lên trên
màn hình làm việc. Kế tiếp ta nhấn “Run” để chương trình nhận dạng bắt đầu và sau đó sẽ đưa ra kết quả. Hình 4.15 là kết quả của quá trình nhận dạng khn mặt.
Hình 4.15. Kết quả quá trình nhận dạng
Nếu ảnh được chọn có những đặc điểm mà hệ thống có thể tìm và nhận dạng được, nó sẽ hiển thị kết quả như trên. Nếu khơng nhận dạng được, hệ thống sẽ hiển thị ảnh để biết là khơng nhận dạng được trên màn hình.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 47
Bước 3: nếu người dùng muốn chọn một ảnh khác để nhận dạng, trở lại bước 1
trong phần hướng dẫn này để chọn một ảnh khác.
f. Một số lỗi có thể gặp
Trong quá trình vận hành hệ thống, đơi lúc có thể mắc phải một số lỗi kỹ thuật. bảng tra cứu lỗi cung cấp cho người dùng
Bảng 4.3. Bảng tra cứu lỗi kỹ thuật
STT Mô tả lỗi Nguyên nhân Khắc phục
1 Đèn báo nguồn Raspberry không ổn định. - Nguồn cung cấp bị mất áp, áp nguồn dưới 5V. - Nguồn không ổn định. - Dùng nguồn đúng điện áp, dịng thích hợp. 2 Camera khơng sáng đèn.
- Mất kết nối giữa máy tính và kit Raspberry.
- Camera và kit không kết nối được, đứt cáp kết nối
- Enable lại Camera.
- Kiểm tra lại cáp kết nối (thay cáp mới) 3 Không đăng nhập vào hệ điều hành kit. - Lỏng cáp nối hoặc cáp bị đứt. - Thẻ nhớ lỏng, hư thẻ nhớ - IP máy tính thay đổi
- Cố định đầu cắm cáp.
- Thay cáp, thẻ nhớ mới.
- Đổi lại IP cho đúng.
4 Hệ thống gửi tin nhắn không làm việc.
- Mất nguồn, hoặc kết nối các dây có thể khơng tiếp xúc với nhau, đứt dây dẫn.
- Vi xử lý bị hỏng.
- Kiểm tra kết nối dây dẫn.
- Thay vi xử lý và nạp lại chương trình.
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 48
4.5.2. Quy trình vận hành hệ thống
Hình 4.16. Sơ đồ hướng dẫn quy trình vận hành hệ thống
Quy trình vận hành hệ thống được trình bày theo sơ đồ khối như hình 4.16. Kết nối phần cứng và cấp nguồn cho hệ thống: đã được trình bày trong phần hướng dẫn sử dụng. Một điều chắc chắc rằng, các thiết bị đã được kết nối với nhau và được cấp nguồn theo yêu cầu.
Dùng Matlab kết nối Raspberry, mở giao diện điều khiển và chạy chương trình: như đã trình bày trong phần trên, ta bắt buột phải làm những bước này mới có thể chạy được chương trình. Nếu như có lỗi xảy ra, có thể xem thêm ở phần bảng tra cứu lỗi để khắc phục.
Kết quả: kết quả của chương trình sẽ được hiển thị trên màn hình giao diện của hệ thống, đồng thời tin nhắn cảnh báo cũng sẽ xuất hiện trên máy điện thoại.
Kết thúc chương trình Kết nối cấu hình phần cứng
Cung cấp nguồn cho hệ thống
Dùng matlab kết nối Kit
Mở giao diện điều khiển
Chạy chương trình
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 49 Kết thúc chương trình: khi khơng dùng hệ thống hoặc muốn tắt hệ thống, ta có thể nhấn nút “Stop video” trên giao diện máy tính. Sau đó dùng lệnh “sudo init 0” để tắt kit Raspberry và cuối cùng ngắt nguồn điện cho hệ thống để tránh hư hỏng.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 50
Chương 5. KẾT QUẢ- NHẬN XÉT - ĐÁNH GIÁ
5.1. KẾT QUẢ
Bài tốn nhận dạng dáng người có khá nhiều thách thức cần giải quyết để đảm bảo nhận đúng người. Một số thác thức gặp phải khi nhận dạng như sau:
- Sự đa dạng về hình dáng của các đối tượng ở mức khác nhau.
- Sự đa dạng về cách thể hiện (phong cách ăn mặc, màu sắc, quần áo). - Sự thay đổi mạnh mẽ về độ sáng.
- Sự che khuất đối tượng cần nhận diện.
- Sự khác nhau về màu nền khi hệ thống nhận dạng.
Đối với q trình nhận dạng khn mặt, khó khăn trong việc chụp lại khn mặt một cách rõ nhất trong tư thế nhìn thẳng, nhìn trái, nhìn phải và tùy thuộc vào khoảng cách. Chương này sẽ trình bày các kết quả của những trường hợp vừa nêu. Đồ án này sử dùng Matlap để cài đặt và hiển thị hình ảnh của Camera Pi lên giao diện được thiết kế. Tiếp sau đó là q trình hệ thống nhận dạng đối tượng và nhận dạng khn mặt nếu có. Khi đối tượng nằm trong vùng quan sát của Camera, hệ thống sẽ khoanh vùng đối tượng bị phát hiện. Hình 5.1 là hình ảnh đối tượng được khoanh vùng khi Camera quay lại được và được hệ thống xử lý tách phần người hiển thị trên giao diện.
a) Ảnh từ Camera b) Ảnh sau khi tách
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 51 Quá trình nhận dạng đối tượng con người bao gồm:
- Hệ thống sẽ kích hoạt Camera để quan sát môi trường mà người dùng muốn quan sát.
- Nếu đối tượng xuất hiện, hệ thống sẽ khoanh vùng đối tượng lại (khung màu vàng) bằng hàm vision.PeopleDetector đã được trình bày ở chương 2. Hàm này trong Matlab dùng để nhận dạng được dáng người đứng thẳng và sử dụng thêm một số lệnh khác để tạo khung quanh đối tượng được phát hiện. Cuối cùng là dùng lệnh để hiển thị ảnh lên giao diện để dễ quan sát.
- Khi phát hiện, hệ thống sẽ dùng lệnh để cắt hình ảnh vừa mới nhận dạng được để tiến hành các công việc xử lý sau. Trong đồ án này, nhóm thực hiện chỉ nhận dạng được đối tượng và sau đó gửi tin nhắn và gọi cho người dùng biết là đã phát hiện được đối tượng.
Q trình nhận dạng khn mặt của hệ thống được trình bày như sau:
- Trong trường hợp Camera ghi nhận lại được khuôn mặt, hệ thống sẽ xử lý ảnh vừa chụp được.
- Hình 5.2 a) là hình ảnh khn mặt người được phát hiện bởi Camera và ảnh b) đã được hệ thống khoanh vùng tách phần khn mặt. Sau đó là chuyển ảnh qua ảnh xám để tiếp tục xử lý.
a) Ảnh từ Camera b) Ảnh sau khi tách
BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP 52 Q trình nhận dạng khn mặt tương tự q trình nhận dạng dáng người. Hàm để nhận diện khuôn mặt người là vision.CascadeObjectDetector, được Mathwork xây dựng để dùng cho quá trình nhận dạng khn mặt người. Tiếp đó là các lệnh để tách lấy khn mặt và hiển thị ảnh lên giao diện. Ảnh được tách lấy hiển thị trên giao diện GUI đã được hệ thống tiền xử lý trước khi được huấn luyện và so sánh với dữ liệu nguồn của hệ thống để nhận dạng, phân biệt được đối tượng lạ hay quen. Ảnh từ Camera là ảnh màu, sau khi hệ thống nhận dạng sẽ tách lấy khuôn mặt và chuyển sang ảnh xám.
5.2. ĐÁNH GIÁ HỆ THỐNG
Sau khi kết thúc quá trình nghiên cứu đồ án này, hệ thống cơ bản đã hoạt động như yêu cầu đã đặt ra trước đó là nhận dạng được người và nhận dạng khuôn mặt đối tượng phát hiện là lạ hay quen từ việc lấy ảnh trực tiếp từ Camera Pi của kit Raspberry. Tuy nhiên, hệ thống khi xử lý chịu ảnh hưởng lớn từ mơi trường bên ngồi khá nhiều như ánh sáng, màu nền, khoảng cách xa gần, chất lượng của Camera. Vì vậy, để hệ thống hoạt động tốt nhất ta cần thỏa các yêu cầu về khoảng cách, ánh sáng, tư thế.
Đối với trường hợp hệ thống nhận dạng dáng người: Khoảng cách nhận dạng tầm khoảng 3m đến 5m, ánh sáng tốt để có thể thấy dáng người chuyển động. Khoảng cách lớn hơn hoặc nhỏ hơn, hệ thống đơi khi khơng thể nhận dạng được. Hình 5.3 là kết quả thu được trong môi trường ánh sáng tốt tại phòng đọc thư viện trường đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 53
Hình 5.4. Khoảng cách 4 m
Ở vị trí khác xa hơn hệ thống vẫn nhận dạng được, hình 5.4 nhận dạng đối tượng khác ở khoảng cách 4m. Nhận dạng trong mơi trường ánh sáng có độ sáng kém hơn, hệ thống vẫn nhận dạng tốt dù có sự thay đổi về độ sáng. Hình 5.5 hệ thống nhận dạng tốt trong mơi trường ánh sáng ngồi hành lang, nơi có ánh sáng kém hơn so với trong phòng.
Hình 5.5. Mơi trường ánh sáng hành lang
Trong khi có nhiều người xuất hiện trong phạm vi Camera có thể quan sát và khu vực cho phép. Hệ thống sẽ nhận dạng được nhiều đối tượng cùng lúc. Hình 5.6 là kết quả được hệ thống ghi lại được trong quá trình nghiên cứu. Hình 5.6 a) Số lượng là hai người và hình 5.6 b) Số lượng là ba người.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 54
a) b)
Hình 5.6. Nhận dạng nhiều đối tượng
Nhận dạng người vào ban đêm có đèn chiếu sáng. So với mơi trường có ánh sáng vào ban ngày, nhận diện người vào ban đêm sẽ khó khăn hơn rất nhiều. Hệ thống chỉ nhận dạng được người khi có ánh sáng chiếu vào phạm vi quan sát của Camera. Ánh sáng đủ sáng để mắt người có thể nhìn thấy được, lúc đó Camera mới có thể quan sát thấy. Hình 5.7 là kết quả nhận dạng được người vào ban đêm. Tương tự với hình 5.8 nhưng với môi trường thử nghiệm là khác nhau.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 55
Hình 5.8. Nhận dạng vào buổi tối có ánh đèn
Đối tượng mặc áo màu tối được nhận dạng, khi xuất hiện ở vùng có ánh sáng mà Camera có thể quan sát thấy được, lúc đó, hệ thống mới có thể nhận dạng. Hệ thống nhận dạng được đối tượng đối tượng mặc áo màu sáng ( hình 5.9 ), xuất hiện trong phạm vi quan sát của Camera.
Hình 5.9. Nhận dang đối tượng có trang phục sáng
Trường hợp nhận dạng người ở khoảng cách gần nhưng không thể nhận dạng được khuôn mặt, hoặc khơng thể nhận dạng tồn bộ dáng một người. Hệ thống sẽ nhận dạng một phần của cơ thể con người. Hình 5.10 là kết quả nhận dạng người khi người đó ở khoảng cách gần và đồng thời không phát hiện mặt do quay ngược với Camera quan sát.
BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP 56
Hình 5.10. Nhận dạng một phần người
Đối với động vật bình thường trong đời sống như chó, mèo hay gà. Hệ thống khơng nhận dạng được. Đây được xem là ưu điểm của việc dùng xử lý ảnh so với các hệ thống mạch điện tử phát hiện đối tượng chuyển động như mạch PIR, mạch sử dụng hồng ngoại. Chỉ cần có vật thể chuyển động dù dó khơng phải khơng phải là con người, hệ thống cũng sẽ cảnh báo ngay. Hình 5.11 bên dưới là kết quả khi cho Camera quan sát một con gà chuyển động. Kết quả là hệ thống không nhận dạng và cũng không cảnh báo.
Hình 5.11. Hình ảnh động vật được Camera ghi nhận
Các trường hợp như xuất hiện chỉ có ½ cơ thể, người khi đi khom, ngồi hoặc một số trường hợp khác như xa hơn, gần hơn so với Camera hệ thống cũng sẽ khơng
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 57 nhận ra được. Hình 5.12 a) Một phần cơ thể b) Khom người là những trường hợp mà hệ thống không thể nhận dạng được. Kết quả được thực hiện và trình bày như hình 5.12:c) Tư thế ngồi, d) Quá gần Camera.
a. Một phần cơ thể b. Khom người
Hình 5.12. Những trường hợp hệ thống khơng thể nhận dạng được
c. Tư thế ngồi d. Quá gần Camera
Hình 5.12. Những trường hợp hệ thống không thể nhận dạng được
Hệ thống cũng không thể nhận dạng được đối tượng trong điều kiện ánh sáng và màu sắc như sau:
- Trong điều kiện quá tối, ngay cả với con người nhận dạng được đối tượng trong điều kiện ánh sáng kém như thế cũng sẽ khó nhận ra được. Đối với hệ thống dùng Camera thường, có độ phân giải thấp thì việc nhận dạng được dáng người trong điều kiện ánh sáng như thế thì rất khó khăn.
- Có trang phục màu tối, đặt biệt là ánh sáng rất kém vào ban đêm. Hình 5.13 là kết quả mà hệ thống đã kiểm tra.
BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 58
Hình 5.13. Đối tượng không được hệ thống nhận dạng
- Đối với nhận dạng khn mặt khi nhìn thẳng:
Khoảng cách nhận dạng khuôn mặt tốt nhất tầm 60 cm, ánh sáng tốt để Camera có thể chụp ảnh với độ nét cao, màu sắc khơng bị mờ, tối. Hình 5.14 và 5.15 bên dưới là kết quả quá trình nhận dạng khuôn mặt thực hiện.
Hình 5.14. Khn mặt đối tượng 1
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 59 - Đối với nhận dạng khn mặt khi nhìn nghiêng:
Hình 5.16. Nhận dạng khn mặt nhìn sang trái
Trường hợp nghiêng sang trái như hình 5.16, hệ thống vẫn nhận diện được. Ảnh nghiêng sang trái tầm 30° so với phương nằm ngang. Nếu khuôn mặt nghiêng