Tóm tắt
Camera tự động phát hiện và bám theo đối tượng di chuyển có ứng dụng rộng rãi cho hệ thống giám sát và an ninh. Hệ thống được trình bày ở đây bao gồm một camera gắn trên một cơ cấu cơ khí có thể quay 360 độ được điều khiển bởi hệ thống nhúng. Hệ thống có nhiệm vụ phát hiện và bám đối tượng đang di chuyển, thông qua điều khiển động cơ DC sao cho ảnh của đối tượng thu được ở chính giữa tâm camera. Hình ảnh thu được sẽ truyền lên internet thông qua giao thức HTTP theo kiểu stream. Báo cáo cũng giới thiệu về phương pháp xử lí ảnh, tự động tìm kiếm và nhận dạng đối tượng di động. Các kết quả nghiên cứu được thực hiện bằng mô hình thực tế và kết quả đạt được như mong muốn.
Đặt vấn đề
Phát hiện đối tuợng di chuyển và bám theo là một trong những ứng dụng quan trọng của hệ thống an ninh và hệ thống giám sát. Ngày nay việc giám sát bằng camera rất phổ biến nhưng việc cho hệ thống tự động phát hiện ra đối tượng và bám theo đối tượng là rất khó khăn vì: Xây hệ thống xử lý ảnh trên nền vi điều khiển khó thực hiện, việc lập trình và mở rộng các ứng dụng có nhiều hạn chế và không thừa hưỡng được những phần mềm hỗ trợ xử lý ảnh cũng như các thư viện có sẵn.
Để giải quyết vấn đề trên, chúng tôi nghiên cứu vấn đề thu thập và xử lý ảnh trên hệ thống nhúng linux. Với cách làm này, hệ thống dễ dàng thu nhận được hình ảnh từ webcam dạng jpeg và xử lý ảnh nhờ các thư viện có sẵn hỗ trợ cho linux như libjpg, uvc lib, opencv…
Hệ thống nhúng
Linux nhúng là hệ điều hành được cài đặt trên các thiết bị nhúng với cấu trúc điển hình như sau:
Thiết bị phần cứng được sử dụng trong đề tài này là KIT ARM9 với các tính năng sau:
CPU AT91SAM9260 32 bit, 180Mhz là bộ xử lý thực hiện điều hành, xử lý tất cả mọi hoạt động của hệ thống. SDRAM là chip MT48LC16M16A2, 32M làm nhiệm vụ load kenel, làm bộ đệm, bộ nhớ tạm thời trong quá trình hoạt động. FLASH là chip K9F2G08UOM 256M làm nhiệm vụ lưu trữ boot loader, lưu trữ nhân của hệ điều hành. Console dùng UART0 để truy cập và thao tác trên hệ thống.
Các thiết bị ngoại vi tùy theo ứng dụng mà kết nối như ethernet DM9161EA 10/100 duplex, usb host, usb device, sd card 4GB, uart, ADC Extension Connector.
Thuật toán phát hiện sự chuyển động và bám theo đối tượng
Thuật toán phát hiện sự chuyển động
Lưu đồ thuật toán phát hiện sự chuyển động |
Có nhiều phương pháp tiếp cận
để phát hiện chuyển động trong hình ảnh
video liên tục. Có thể so sánh khung hình
hiện tại với hình nền chúng ta chụp từ
ban đầu khi bật camera hoặc từ khung
hình trước. Đối với phương pháp thứ
nhất thì đơn giản và giảm được việc xử
lý. Tuy nhiên, cách tiếp cận có một bất
lợi lớn - điều gì sẽ xảy ra, ví dụ nếu có
một đối tượng đang di chuyển ở frame
đầu tiên, nhưng sau đó nó đã biến mất.
Phương pháp thứ hai thì xử lý phức tạp
hơn, xử lý nhiều hơn nhưng lại thích nghi
với mọi môi trường, kể cả môi trường ít
thay đổi hoặc thay đổi nhiều. Nhược
điểm là nếu đối tượng di chuyển một
cách rất chậm thì hệ thống không phát
hiện ra. Nhưng có thể giải quyết bằng
cách tăng số khung hình trên giây.
Thuật toán bám theo đối tượng
Khi có sự di chuyển giữa 2 khung hình ta sẽ xác định được tọa độ lớn nhất và nhỏ nhất trên một hàng mà ở đó pixel của hai khung hình có giá trị khác nhau, sau đó ta sẽ tìm được giá trị trung bình của các tọa độ kia đó là tâm của đối tượng di chuyển. Nếu tâm này nằm ngoài điểm ảnh mà định nghĩa trước là điểm min và max thì điều khiển động cơ quay sang trái hoặc phải tùy vào là vượt điểm max hoặc min. Lưu đồ thuật toán được thể hiện ở hình dưới.
Bài viết rất hay, tại viễn thông tia sáng cũng cung cấp các giải pháp Hệ thống Camera an ninh cho các bạn tham khảo
Trả lờiXóa