Lưu đồ chương trình hệ thống báo động

Một phần của tài liệu Báo trộm dùng camera và kit raspberry (Trang 49)

Trước tiên, hệ thống khai báo các thư viện cần thiết cho chương trình, khai báo các biến giá trị. Kế tiếp, khởi tạo nhận, gửi và ngắt UART cho quá trình nhận chuỗi tin nhắn từ người dùng, gửi tin nhắn văn bản cảnh báo đến người dùng và điều khiển thiết bị. Khai báo các chương trình con như chương trình gửi tin nhắn, chương trình kiểm tra sự hoạt động của Sim900, chương trình kiểm tra có tín hiệu điều khiển. Cuối cùng là mạch sẽ hoạt động theo chương trình chính. Chương trình chính bao gồm các cơng đoạn cấu hình cổng, so sánh các giá trị (với giá trị tương ứng như việc phát hiện dáng người hoặc nhận diện khuôn mặt), báo động qua các thiết bị như đèn, còi, tin nhắn và gọi điện thoại đến cho người dùng.

BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP 41 - Lưu đồ chương trình chính Hình 4.11. Lưu đồ chương trình chính Đúng Sai Đúng Sai Đúng Sai Cấu hình cổng A0 = 1 A1 = 1 Gửi tin nhắn 1 Trì hỗn 15s Gửi tin nhắn 2

Gọi đến thuê bao

Trì hỗn 3s

Thiết bị 1 bật Thiết bị 2 bật

Điều khiển thiết bị từ người dùng Ngat = 0 Hiển thị LCD Hiển thị LCD Gửi tin nhắn phản hồi Hiển thị LCD Bắt đầu Kết thúc

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 42 Bắt đầu chương trình chính, ta sẽ cấu hình cổng bao gồm kiểm tra việc Sim900 đã được kích hoạt chưa và gửi tin nhắn kiểm tra và chờ tín hiệu điều khiển. Nếu có tín hiệu điều khiển từ Raspberry kích vào chân A0 - tương ứng phát hiện khn mặt, thiết bị 1 sẽ được bật, LCD hiển thị tin nhắn được gửi và thiết bị nào sẽ được bật lên. Hệ thống sẽ trì hỗn khoảng 15s và tiến hành gọi đến số thuê bao đã được đặt trước (quá trình gọi kéo dài khoảng 3s) để người dùng biết đã phát hiện đối tượng. Ngược lại, nếu chân A1 được kích thì tương ứng phát hiện dáng người, thiết bị 2 được bật, đồng thời cũng gọi cho người dùng biết có người xuất hiện. sau đó hệ thống sẽ vào trạng thái chờ lệnh điều khiển từ người dùng. Nếu phát hiện có lệnh điều khiển, hệ thống sẽ xét xem là người dùng lệnh điều khiển nào để xử lý lệnh tương ứng, hiển thị LCD và gửi tin nhắn phản hồi lại người dùng. Hình 4.11 biểu diễn lưu đồ của chương trình gửi tin nhắn cảnh báo.

4.5. HƯỚNG DẪN SỬ DỤNG, THAO TÁC

4.5.1. Hướng dẫn sử dụng

a. Cấp nguồn cho hệ thống làm việc

Hệ thống có các nguồn: nguồn Kit Raspberry, nguồn cho mạch điều khiển gửi tin nhắn. Nguồn Kit Raspberry : sử dụng nguồn có điện áp 5V-1A để tránh bị hư

hỏng và hoạt động ổn định. Nguồn cho mạch điều khiển: cấp điện áp vào cho mạch

nguồn, mạch này được thiết kế để tạo ra 2 nguồn riêng để cấp cho vi xử lý và Sim900.

b. Kết nối phần cứng

Ta tiến hành kết nối các mạch, các thiết bị liên quan với nhau. Hình 4.12 a) kết nối nguồn cho mạch báo động, nguồn cho kit Raspberry và cáp truyền tín hiệu giữa máy tính và Raspberry. Hình 4.12 kết nối Camera pi vào Raspberry, lắp đặt mạch điều khiển vào hộp.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 43

Hình 4.12. Kết nối các thiết bị và mạch báo động c. Khởi động chương trình xử lý 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 toà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 q 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 khuôn 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 Q 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 Quá 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 khuôn 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ệ

Một phần của tài liệu Báo trộm dùng camera và kit raspberry (Trang 49)

Tải bản đầy đủ (PDF)

(100 trang)