báo cáo về nghiên cứu hệ thống camera phát hiện và tự động bám theo đối tượng di chuyển
Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 201 NGHIÊN CỨU HỆ THỐNG CAMERA PHÁT HIỆN VÀ TỰ ĐỘNG BÁM THEO ĐỐI TƯỢNG DI CHUYỂN RESEARCH A CAMERA SYSTEM FOR AUTOMATIC DETECT AND TRACKING OF MOVING OBJECTS SVTH: Phạm Quang Sơn, Lê Đoàn Trương Lớp 05DT1, 05DT3, Khoa Điện tử Viễn thông, Trường Đại học Bách Khoa GVHD: Ths. Nguyễn Duy Nhật Viễn Khoa Điện tử Viễn thông, Trường Đại học Bách Khoa 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 trong báo cáo nà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. ABSTRACT Camera, which automatically detects and tracks motion objects, is used widely for the security and surveillance system. The System introduced in this paper consists of mechanical structure mounted Camera which can rotate 360 degree and be controlled by an embedded system. The target of system is to move camera when anything moves in the vision area of camera to the center of image. The received images will be transmitted over the Internet through HTTP protocol, this image is mjpeg type. This paper also introduces about Image Processing Method, Technique which automatically detect and track motion objects. All research results were obtained by using a practical model and we produced the excellent results as well as we expected. 1. Đặ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, đề 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… 2. 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: Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 202 Hình 1. Cấu trúc tổng quát của một hệ thống Linux Hình 2. Cấu trúc phần cứng hỗ trợ linux nhúng Hình 3. Chức năng phần cứng 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. 3. Thuật toán xử lý ảnh 3.1. JPEG 3.1.1. Khái niệm: Chuẩn JPEG mô tả một họ kỹ thuật nén ảnh cho tone liên tục (mức xám hay màu) của ảnh. JPEG khai thác độ dư thừa sinh lý thị giác trong ảnh. JPEG được tiến nhất trí với giải pháp DCT thích nghi để cải thiện và tăng cường ảnh. 3.1.2. Mã hóa JPEG: Hình 4. Sơ đồ mã hóa JPEG Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 203 3.1.3. Chuyển đổi Cosin rời rạc DCT (Discrete Cosine Transform) DCT thuận: otherwise orf jif vjuivu vuF i j 1 00 2 1 )( ),(. 16 ).12( cos. 16 ).12( cos 4 )()( , 7 0 7 0 (1) DCT ngược: otherwise orf vuF vjui vujif u v 1 00 2 1 )( ),(. 16 ).12( cos. 16 ).12( cos)()( 4 1 ),( 7 0 7 0 ~ (2) 3.2. Thuật toán phát hiện sự chuyển động và bám theo đối tượng 3.2.1. 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. Trong đề tài này giới thiệu theo phương pháp thứ hai. Giả sử rằng chúng ta có một bản gốc 24 bpp RGB là hình ảnh hiện tại (img1) và khung hình trước đó (img2), một bản sao màu xám của nó (gray_img1) và (gray_img2). Trước hết, chúng ta hãy tìm những khu vực nơi hai khung hình khác nhau bằng cách trừ từng pixel Begin Thu khung hình hiện tại, và trước đó Chuyển thành ảnh xám So sánh từng pixel của 2 ảnh xám Giá trị > ngưỡng cho truớc Pixel ảnh đầu ra màu đen Pixel ảnh đầu ra màu trắng Số điểm trắng > mức báo động Không có sự di chuyển End Có sự di chuyển N N Y Y Hình 5. Lưu đồ thuật toán phát hiện sự chuyển động Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 204 của 2 khung hình xám kia và so sánh với một ngưỡng cho trước. Tiếp đó, chúng ta sẽ nhận được một hình ảnh ở đầu ra (result) với các điểm ảnh màu trắng nơi mà những điểm ảnh của khung hiện tại khác với khung hình trước đó với một ngưỡng cho trước ở trên còn lại màu đen. Ta có thể đếm các điểm ảnh màu trắng và nếu số điểm ảnh của nó lớn hơn một mức độ báo động xác định trước chúng ta có thể báo hiệu về một sự kiện chuyển động. Lưu đồ thuật toán được thể hiện ở hình 5. 3.2.2. 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 6. 4. Kết quả Kết quả thi công phần cứng hệ thống cũng như thuật toán xử lý ảnh được thể hiện bằng các hình ảnh dưới đây. 4.1. Thi công hệ thống Hình 7. Hình ảnh thật hệ thống 4.2. Kết quả thực hiện thuật toán xử lý ảnh Hình 8. Ảnh đầu vào 1 và Ảnh đầu vào 2 Hệ thống gồm webcam độ phân giải 5.0 Mpxl, tiêu cự f = 3.58mm, tín hiệu ra 30 hình/s. Quá trình xử lý điều khiển thực hiện bởi chip AT91SAM9260 tốc độ 180MHz. Phần mềm được viết bằng ngôn ngữ C chạy trên nền Linux. Begin Xác định tọa độ điểm khác biệt trên 1 hàng Xác định tâm Tâm > xmax Quay phải động cơ 1 bước Tâm < xmin Quay trái động cơ 1 bước End Y N Y N Hình 6. Lưu đồ thuật toán bám theo đối tượng Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 205 Hình 9. Ảnh sau khi chuyển sang gray Hình 10. Ảnh đầu ra và tâm của sự thay đổi Kết luận Bài báo đã xây dựng được thuật toán xử lý ảnh và điều khiển bám theo đối tượng chính xác. Mô hình thực nghiệm cho kết quả tốt khẳng định tính đúng đắn của thuật toán. TÀI LIỆU THAM KHẢO [1] Ths. Nguyễn Duy Nhật Viễn (2006), “Giáo trình xử lý ảnh”, Ch. 3. Tr. 26-39. [2] Andrew Kirillov, Software Developer (4/2007), “Motion Detection Algorithms” [3] http://www.codeproject.com/KB/audio-video/Motion_Detection.aspx . Sinh viên Nghiên cứu Khoa học lần thứ 7 Đại học Đà Nẵng năm 2010 201 NGHIÊN CỨU HỆ THỐNG CAMERA PHÁT HIỆN VÀ TỰ ĐỘNG BÁM THEO ĐỐI TƯỢNG DI CHUYỂN RESEARCH. Khoa 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