Thiết kế và hiện thực mô hình đếm xe hơi trên BOAR OMAP 3530 OVM của TEXAS INSTRUMENT

42 755 2
Thiết kế và hiện thực mô hình đếm xe hơi trên BOAR OMAP 3530 OVM của TEXAS INSTRUMENT

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thiết kế và hiện thực mô hình đếm xe hơi trên BOAR OMAP 3530 OVM của TEXAS INSTRUMENT

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH BÁO CÁO THỰC TẬP TỐT NGHIỆP Đề tài : THIẾT KẾ VÀ HIỆN THỰC MÔ HÌNH ĐẾM XE HƠI TRÊN BOARD OMAP 3530 EVM CỦA TEXAS INSTRUMENTS Giáo viên hướng dẫn: Thầy Nguyễn Hòa Hưng Thành Phố Hồ Chí Minh, Tháng 06 năm 2011 Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM MỤC LỤC MỤC LỤC HÌNH .3 Chương : Giới thiệu đề tài .5 Chương : Động lực mục tiêu đề tài Chương : Cơ sở lý thuyết công cụ Hình 3.1 Board OMAP 3530 EVM Texas Instruments .11 Hình 3.2 : Chi tiết phần cứng board OMAP3530 EVM .12 Hình 3.3 : Cấu hình Minicom .14 Hình 3.4 : Bootloader OMAP3530 EVM 15 Hình 3.5 : Chọn platform download toolchain từ CodeSourcery 17 Hình 3.6 : Hoàn tất cài đặt toolchain 18 Hình 3.7 : Camera Creative 20 Hình 3.7 : Màn hình hiển thị sau chạy xong lệnh configure .23 Hình 3.8 : Kết sau chạy xong lệnh make install 23 Hình 4.1 : Màn hình hiển thị sau configure 26 Hình 4.1 : Mô hình codeword .31 Hình 5.4 : Ảnh nhị phân cần tìm đường bao 36 Hình 5.5 : Một ảnh ví dụ áp dụng giải thuật tìm đường bao chia làm hai loại: đường bao (countour) lỗ (hole) 37 Hình 5.6: Cách thức quản lý điểm nút 38 Hình 5.7 (a) Ảnh foreground (b) Mô đường bao (đỏ) lỗ (xanh) 38 Chương : Hiện thực .41 Chương : Tổng kết đề tài .41 Chương : Hướng phát triển tài liệu tham khảo 41 Trang | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM MỤC LỤC HÌNH Hình 3.1 Board OMAP 3530 EVM Texas Instruments 11 Hình 3.2 : Chi tiết phần cứng board OMAP3530 EVM 12 Hình 3.3 : Cấu hình Minicom 14 Hình 3.4 : Bootloader OMAP3530 EVM 15 Hình 3.5 : Chọn platform download toolchain từ CodeSourcery .17 Hình 3.6 : Hoàn tất cài đặt toolchain 18 Hình 3.7 : Camera Creative 20 Hình 3.7 : Màn hình hiển thị sau chạy xong lệnh configure 23 Hình 3.8 : Kết sau chạy xong lệnh make install .23 Hình 4.1 : Màn hình hiển thị sau configure 26 Hình 4.1 : Mô hình codeword 31 Hình 5.4 : Ảnh nhị phân cần tìm đường bao .36 Hình 5.5 : Một ảnh ví dụ áp dụng giải thuật tìm đường bao chia làm hai loại: đường bao (countour) lỗ (hole) 37 Hình 5.6: Cách thức quản lý điểm nút 38 Hình 5.7 (a) Ảnh foreground (b) Mô đường bao (đỏ) lỗ (xanh) 38 Trang | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM LỜI CẢM ƠN Đầu tiên xin gửi lời cảm ơn chân thành đến Thầy Nguyễn Hòa Hưng, giáo viên hướng dẫn, người tận tình hướng dẫn thực đề tài Thầy tận tình động viên, giúp đỡ lúc khó khăn, lúc bế tắc thực Đó nguồn động viên lớn giúp hoàn thành đề tài Bên cạnh đó, xin chân thành cảm ơn Khoa, Bộ môn Kỹ Thuật Máy Tính, đặc biệt Câu Lạc Bộ Phần Cứng hỗ trợ kiến thức, hỗ trợ thiết bị giúp hoàn thành đề tài Thành Phố Hồ Chí Minh, tháng 06 năm 2011 Trang | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM Chương : Giới thiệu đề tài 2.1 Yêu cầu đề tài Thiết kế thực hệ thống đếm xe sử dụng board nhúng thông qua camera kết nối usb Sử dụng Embedded Linux hệ điều hành board mạch 2.2 Phân tích đề tài Đề tài “Thiết kế thực hệ thống đếm xe sử dụng board nhúng” phức hợp nhiều thành phần module nhỏ với chức hoạt động riêng biệt Sau phân tích dựa thực lực nhu cầu xã hội, chia đề tài thành phần sau • Module : Hệ thống gồm camera kết nối với board nhúng có chức nhận diện đếm xe • Module : Các máy trạm trung chuyển thông tin từ board nhúng sau đếm số lượng phương tiện • Module : Máy chủ trung tâm xử lý số liệu, kết hợp đưa giải pháp Tuy nhiên, để thực thành công hệ thống module module quan trọng Nếu không thành công từ module module lại không vận hành Vì tính chất quan trọng, phần trình bày tập trung vào phát triển đưa giải pháp cho module “Hệ thống gồm camera kết nối với board nhúng có chức nhận diện đếm xe” 2.3 Thiết kế ý niệm Sau trình nghiên cứu phân tích yêu cầu đề tài, định chia đề tài thành hai vấn đề : Tìm hiểu giải thuật thực board nhúng  Trong phần tìm hiểu giải thuật ta cần giải vấn đề sau :  Tìm hiểu thư viện OpenCV  Sử dụng hàm thư viện hỗ trợ cho đề tài  Kết hợp với công cụ toolchain board nhúng, cross compiler xuống board để thực giải thuật Trang | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM  Trong phần thực board nhúng ta cần giải vấn đề sau :  Nghiên cứu nạp hệ điều hành Linux xuống board  Kết hợp camera board  Xây dựng công cụ cross compiler để sử dụng thư viện OpenCV board Chương : Động lực mục tiêu đề tài 3.1 Động lực Từ sau đời năm 1960, hệ thống nhúng ngày khẳng định vai trò quan trọng vượt trội tất lĩnh vực đời sống Hệ thống nhúng (Embedded System) định nghĩa hệ thống chuyên dụng, có khả tự hành thiết kế thích hợp vào hệ thống lớn để thực chức chuyên biệt Khác với máy tính đa chức (multi-purposes computer), ví dụ máy ví tính cá nhân (PC), hệ thống nhúng thường thực vài chức định Hệ thống nhúng bao gồn thiết bị phần cứng phần mềm, hầu hết phải thỏa mãn yêu cầu hoạt động theo thời gian thực (real-time) Tùy theo tính chất yêu cầu, mức độ đáp ứng hệ thống phải nhanh (ví dụ hệ thống thắng xe điều khiển thiết bị nhà máy), chấp nhận mức độ chậm trễ tương đối (ví dụ điện thoại di động, máy lạnh, tivi…) Để dễ hình dung, ta xem ví dụ sau : xe trung bình có khoảng 70 đến 80 chip vi xử lý (micro controller unit), vi xử lý đảm nhiệm nhiệm vụ đóng mở cửa, điều khiển đèn tín hiện, đo nhiệt độ xe, điều khiển cần gạt nước… Mỗi phận hệ thống nhúng, tất thiết kế thích hợp vào thống chung lớn xe Một ví dụ khác gần gũi với sống hàng ngày điện thoại di động Các chức máy nghe nhạc, nghe radio, chụp hình, hệ thống định vị toàn cầu (GPS)….tất hệ thống nhúng tích hợp chung vào điện thoại Hệ thống nhúng vốn đa dạng phong phú, nhiên có người biết tầm quan trọng hữu chúng giới quanh ta Từ hệ thống phức tạp hàng không vũ trụ, phòng thủ quân đến phương tiện di chuyển thông thường Trang | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM máy bay, xe điện, xe hơi, trang thiết bị y tết bệnh viện…đâu đâu có xuất hệ thống nhúng Trong chin (09) tỷ vi xử lý sản suất hàng năm, có khoảng 150 triệu (1,5%) sử dụng cho máy tính cá nhân, phần lại (98,5%) dành cho hệ thống nhúng Theo thống kê khác BBC Research Group đến năm 2009, tổng doanh số thị trường hệ thống nhúng toàn cầu đạt khoảng 88 tỷ USD, với phần cứng chiếm 78 tỷ USD phần mềm chiếm 3,5 tỷ USD, phần lại board mạch nhúng Tốc độ tang trưởng trung bình hàng năm phần mềm nhúng đạt mức 16% Theo chuyên gia, đến năm 2010 doanh số thị trường phần mềm nhúng toàn cầu ước đạt tỷ USD Điều dự báo nói với xuất ngày nhiều đối tác lới lĩnh vực Việt Nam mở hương cho thị trường ngành phần mềm nhúng tương lai Ngày nay, mà phần mềm nhúng trở nên phức tạp việc phát triển sản phẩm phần mềm nhúng đơn lẻ trở nên không phù hợp Để thực ứng dụng nhúng phức tạp phần cần đến hệ điều hành nhúng nhỏ gọn có khả hỗ trợ tốt cho việc phát triển phần mềm nhúng Các hệ điều hành dung hệ thống nhúng bật bao gồm Embedded Linux, QNX, uITRON, VxWorks, Windows CE, Symbian… Với nhiều lợi thế, Embedded Linux phát triển mạnh mẽ giới chiếm vị trí số hệ điều hành nhúng Ưu điểm vượt trội Embedded Linux so với hệ điều hành khác không đòi hỏi chi phí quyền, cung cấp kernel ổn định, hỗ trợ không giới hạn, có khả sửa đổi tái xây dựng mã nguồn Theo nghiên cứu Venture Development Corp 18% kỹ sư nhúng sử dụng Embedded Linux hệ điều hành ứng dụng nhúng Đi theo xu hướng chung giới, Việt Nam việc phát triển hệ thống nhúng có sử dụng hệ điều hành nhúng xu hướng mới, chưa có nhiều sản phẩm nhúng ứng dụng vào thực tế hướng hứa hẹn đưa nên công nghiệp Việt Nam lên tầm cao mới, bắt kịp với quốc gia tiên tiến khác giới Hiện dân số Việt Nam tăng trưởng với mức độ nhanh, đặc biệt dân số trẻ Hơn với mật độ dân số phân phố không đồng đều, tập trung chủ yếu khu vực thành Trang | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM thị nên dẫn đến thành phố lớn nơi tập trung dân cư đông đúc Kéo theo phân bố không đồng nhiều vấn đề phát sinh cần giải điện đường trường trạm, bật nhức nhối vấn đề giao thông Với sở hạ tầng giao thông xây dựng cách thập kỷ với gia tăng không ngừng dân số sở hạ tầng giao thông không kịp đáp ứng mức gia tăng Kẹt xe, đường xá xuống cấp, số lượng xe cộ tăng lên nhanh chóng câu hỏi lớn cho đội ngũ quản lý điều hành đô thị Với lý thúc thực đề tài “Xây dựng Ứng dụng Hệ thống đếm xe board nhúng” để đưa ý tưởng ứng dụng công nghệ thông tin vào giải vấn đề xã hội mà tiêu biểu vấn đề giao thông đô thị Mặt khác, mong muốn ý tưởng sản phẩm có tính thực tiễn cao, góp phần đẩy mạnh xu hướng lập trình nhúng Việt Nam tương lai 3.2 Mục tiêu đề tài 3.2.1 Mục tiêu chung đề tài: Mục tiêu chung đề tài thực công cụ gồm board nhúng, camera kết nối với board có khả đếm xe Công cụ đặt trời, giao lộ cung đường cần khảo sát mật độ lưu lượng xe lưu thông Kết đếm hiển thị lên hình LCD kèm board lưu vào tập tin output sau lần đếm 3.2.2 Mục tiêu riêng giai đoạn: Quá trình thực đề tài trải qua giai đoạn sau :  Giai đoạn 1: Nghiên cứu hoàn thành giải thuật thực thành công máy tính Giai đoạn hoàn thành anh Nguyễn Lừng Danh chị Nguyễn Thị Ngọc Anh  Giai đoạn 2: Ở giai đoạn tập trung giải vấn đề sau :  Về hệ điều hành Embedded Linux board OMAP 3530 EVM  Về board OMAP 3530 EVM Texas Instruments  Về cross compiler  Về loại toolchain  Nghiên cứu tối ưu hóa giải thuật xử lý ảnh dựa kết từ giai đoạn Trang | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM  Giai đoạn 3: giai đoạn giải vấn đề sau :  Hoàn thiện đưa giải pháp tốt cho cross compiler  Lựa chọn toolchain phù hợp  Hiện thực demo với board OMAP 3530 EVM  Tối ưu giải thuật sau thực board  Các chức phụ khác Chương : Cơ sở lý thuyết công cụ 4.1 Hệ điều hành Embedded Linux Hiện nay, Embedded Linux có nhiều phiên khác nhau, từ phiên tự xây dựng (DIY version) phiên thương mại độc lập MontaVista, WindRiver…Số lượng công ty sử dụng phiên Embedded Linux tiếp tục tang nhanh Các hang lớn Motorola, NEC, Panasonic áp dụng thành công phiên MontaVista Linux hàng triệu sản phẩm điện thoại di động, hang Yamaha chọn OS để xây dựng xảm phẩm MOTIF XS (bộ tổng hợp âm thanh) sử dụng nhạc sĩ ca sĩ tiếng.Sự sang tạo điểm dừng Các nhà thiết kế sử dụng Embedded Linux tạo sản phẩm vượt mong đợi đồ chơi, người máy công nghiệp, vệ tinh địa tĩnh, máy đọc sánh… Năm 2008, nhà máy sản xuất TV hình tinh thể lỏng (LCD) nhãn hiệu Bravia hãng điện tử tiếng Sony tăng gấp đôi từ triệu sản phẩm/năm lên triệu sản phẩm/năm để đáp ứng nhu cầu thị trường tăng cao từ Châu Âu Sony thành công với Bravia bán 20 triệu sản phẩm, điều đặc biệt phần mềm hệ thống (firmware) TV Bravia xây dựng tảng Embedded Linux Theo điều tra hãng Embedded Systems Design năm 2007 có 21% tổng số nhà phát triển sử dụng Embedded Linux hệ điều hành thiết bị họ Và năm 2008 số tăng lên 36,7% theo nghiên cứu Embedded Market Forecasters Với nhiều ưu điểm vượt trội so với hệ điều hành nhúng khác, Embedded Linux ngày khẳng định vai trò dần đầu lĩnh vực lập trình hệ thống nhúng.Ưu điểm lớn Embedded Linux so với hệ điều hành khác việc không đòi hỏi chi phí quyền mã nguồn mở (open source), điều cho phép người thiết kế Trang | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM can thiệp sâu vào dịch vụ module mà hệ điều hành cung cấp Người thiết kế hiểu rõ hàm mà họ gọi chí thay đổi, tối ưu hàm cho thiết bị sử dụng Người thiết kế dựa vào module driver có sẵn để tham khảo cho driver thiết bị mà họ viết Có đặc điểm quan trọng khác Embedded Linux tiêu chuẩn chất lượng mã nguồn (source code) cao.Một hệ thống dùng Linux thường ổn định có tỉ lệ lỗi thấp Trước đưa vào kernel source tree, source code test nhiều cộng đồng phát triển.Embedded Linux hệ điều hành hỗ trợ tốt, dễ dàng có patch cập nhật cho Linux hệ điều hành khác Thậm chí có lỗi xảy có patch thay thời gian ngắn Hơn nữa, driver cho Linux thường có sẵn vài tuần sau sản phẩm phần cứng giới thiệu thị trường Với tất đặc điểm cho ta thấy tính mức độ hiệu hệ thống nhúng sử dụng hệ điều hành Embedded Linux Những ưu điểm vượt trội làm cho xu hướng phát triển Embedded Linux ngày trở nên quan trọng mạnh mẽ lĩnh vực hệ thống nhúng Ngày có nhiều công ty, kỹ sư chọn Linux hệ điều hành thiết bị Trang 10 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM  Trong trường hợp đối tượng ngưng chuyển động khoảng thời gian bị xem background 4.5.1.2 Phương pháp Running Average Trong phương pháp frame differencing đề cập Do việc xác định đối tượng dựa vào khác biệt hai frame liên tiếp Do độ xác thuật toán tương đối thấp Để khắc phục nhược điểm phương pháp Running Average đề hướng giải xây dựng nên mô hình background Sau mô hình background sử dụng để tìm foreground Mô hình background xây dựng cách học qua n frame liên tiếp Giá trị pixel vị trí (x,y) mô hình background tính cách lấy trung bình cộng tất giá trị pixel vị trí (x,y) n frame học  Trong đó: o B(x, y): giá trị pixel vị trí (x, y) mô hình background o Fi(x, y): giá trị pixel vị trí (x, y) frame thứ i o n: tổng số frame học Sau xây dựng mô hình background, việc xác định đâu đối tượng foreground thực cách so sánh frame ảnh với mô hình background Dựa vào giá trị ngưỡng chọn trước tương tự phương pháp frame differencing Độ xác thuật toán phụ thuộc vào mô hình background Do để cải tiến thuật toán tốt ta cập nhật mô hình background qua bước chạy thuật toán (α thường chọn 0.05.) Như vậy, mô hình background cập nhật liên tục sau frame Vì giúp tăng độ xác phương pháp - Ưu điểm:  Độ xác cao phương pháp frame differencing Trang 28 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM - Khuyết điểm:  Tốn chi phí học mô hình background  Thuật toán áp dụng tốt trường hợp background tĩnh không thay đổi Phương pháp khắc phục khuyết điểm phương pháp Frame Differencing Các điểm bên lòng đối tượng chuyển động hay đối tượng dừng chuyển động khoảng thời gian dài không bị xem background Tuy nhiên phương pháp chạy không tốt video có background chuyển động 4.5.1.3 Phương pháp Running Media Tương tự phương pháp Running Average Bước phương pháp Median xây dựng mô hình background qua trình học n frame Giá trị pixel vị trí (x, y) mô hình background xây dựng cách chọn giá trị trung vị n frame vị trí (x, y) Giá trị trung vị xác định cách sau: Ví dụ, với dãy frame từ F1 tới Fn, ta xét pixel vị trí (x, y) giá trị F1(x, y), F2(x, y),…, Fn(x,y) tạo thành dãy giá trị pixel (x, y) ứng với frame ảnh  Bước ta xắp xếp dãy pixel theo thứ tự tăng dần  Giá trị trung vị phần tử nằm dãy pixel xếp thứ tự Sau xây dựng mô hình background theo phương pháp bước sau thực tương tự thuật toán Running Average Về phương pháp gần giống với phương pháp Running Average Tuy nhiên, phương pháp Running Median đòi hỏi chi phí lưu trữ tính toán lớn Nếu phương pháp Running Average, ta cần lưu lại tổng giá trị pixel vị trí phương pháp Running Median, ta phải lưu lại tât giá trị điểm ảnh frame - Ưu điểm:  Độ xác cao phương pháp frame differencing - Khuyết điểm:  Tốn chi phí học mô hình background Trang 29 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM 4.5.1.4 Phương pháp Gaussian Average Phương pháp Wren, Azarbayejani, Darrell, Pentland đưa vào năm 1997 Phương pháp đặt phân phối Gaussian lên biến thiên giá trị pixel đoạn video Ví dụ, với dãy frame từ F1 tới Fn, ta xét pixel vị trí (x, y) giá trị F1(x, y), F2(x, y), …, Fn(x,y) tạo thành dãy giá trị pixel (x, y) ứng với frame ảnh Bằng cách tính trung bình phương sai dãy pixel ta xác định pixel background (giá trị trung bình) ngưỡng (độ lệch nhân với số đó) Những pixel có giá trị thỏa xem foreground th chọn k - Ưu điểm: Xác định ngưỡng cho điểm ảnh frame - Khuyết điểm: Dễ bị ảnh hưởng độ sáng 4.5.1.5 Phương pháp Codebook Ý tưởng phương pháp vị trí pixel mô hình nền, tập cluster với tâm giới hạn không gian màu xây dựng nhằm thể phân bố pixel không gian màu Mỗi cluster gọi codeword, tập cluster vị trí pixel gọi codebook Sau chi tiết việc xây dựng codebook: Xét vị trí pixel, gọi X = {x1, x2, …, xn} dãy giá trị huấn luyện cho pixel đó, C = {c1, c2, …, cL} codebook cho vị trí pixel Codebook gồm L codeword Mỗi codeword ci với I = 1, 2, …, L gồm thành phần:  Vector RGB  Bộ thành phần  Trong đó: : Độ sáng lớn nhỏ pixel i gán cho codeword  : Tần số codeword thứ i xuất Trang 30 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM  : Maximum negative run-length xác định khoảng thời gian lâu trình huấn luyện mà codeword i không xuất hiện, λi lớn ngưỡng cho trước chứng tỏ codeword i mang tính tạm thời cần phải loại khỏi codebook  : Thời gian cuối codeword i xuất Hình 4.1 : Mô hình codeword Trong huấn luyện mô hình, giá trị xt (được lấy mẫu thời điểm t) so sánh với codebook để tìm xem codeword khớp với xt Để xác định xem codeword khớp tốt dùng độ đo mà sắc độ sáng Chi tiết giải thuật sau Trang 31 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM I II L ← 0, C ← ∅ For t=1 to N i ii (← phép gán) , tìm codeword khớp với dựa hai điều kiện (a) (b) sau a b iii Nếu C = ∅ không tìm khớp (ii) Khởi tạo codeword cL với III Ngược lại, cập nhật codeword khớp cm với cách đặt - Với codeword , i = 1, , L đặt codebook Xây dựng Với ngưỡng cho trước - Hai điều kiện (a) (b) thỏa màu xt cm đủ gần độ sáng xt nằm vùng bao độ sáng cm - Tiếp theo ta xem màu sắc độ sáng thay đổi có ảnh hưởng đến phương pháp trên: - Khi có pixel xt = (R, G, B) codeword ci với   Trang 32 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM  Color distortion tính cách sau: - Thuật toán phân đoạn foreground-background cho bảng sau: - Với codeword ta tìm - Cập nhập codeword khớp với x dựa điều kiện: II-iv thuật toán xây dựng codebook - Sau có foreground, ta sử dụng lọc median phép morphology để loại bỏ vùng pixel nhỏ riêng lẻ (thường pixel nhiễu) Cuối gom nhóm pixel kế cận để có foreground blob - Ưu điểm:  Do việc sử dụng hệ màu YcbCr nên phương pháp xử lý video môi trường sáng yếu tốt - Khuyết điểm:  Cài đặt phức tạp  Tốc độ chậm Trang 33 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM 4.5.2 Nhận diện xử lý đường bao Theo nghiên cứu tảng giải thuật nhận diện xử lý đường bao giai đoạn đề tài sau có hình ảnh foreground, ta cần phải làm rõ nét hơn, kết nối chi tiết rời rạc lại để tạo nên hình foreground hoàn chỉnh Phần trình bày rõ ràng chi tiết báo cáo giai đoạn đề tài, xin phép trích lại nguyên văn Hai kỹ thuật sử dụng trình lọc hình thái học dilation erosion Hai phương pháp sử dụng nhiều ứng dụng giảm nhiễu, cô lập cá thể kết hợp thành phần bị rời rạc ảnh - Dilation kết tích chập khu vực ảnh, gọi khu vực A nhân gọi B Hạt nhân B có kích thước hình dạng chọn trước có điểm nhân định nghĩa điểm mốc Hầu hết trường hợp, nhân hình vuông nhỏ với điểm mốc trung tâm, nghiên cứu sử dụng nhân hình vuông có kích thước 3x3 Khi nhân B quét qua ảnh, tính toán giá trị cực đại chồng lấp B thay pixel bên điểm mốc giá trị cực đại Hình 5.2 : Morphological dilation: thay giá trị lớn cho pixel nhân B - Erosion tính toán ngược lại dilation Các thao tác với erosion tương đương với việc tính toán khu vực nhỏ cách sử dụng nhân B Erosion sinh ảnh Trang 34 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM từ ảnh nguyên thủy ban đầu theo giải thuật tương tự dilation Hạt nhân B quét qua toàn ảnh tính toán giá trị pixel nhỏ bị chồng lấp B thay pixel điểm mốc giá trị nhỏ Hình 5.3 : Morphological erosion: thay giá trị nhỏ cho pixel nhân B Ảnh xử lý hình thái học thường ảnh nhị phân, ảnh kết qủa sau so sánh với giá trị ngưỡng Các ảnh thu sau áp dụng kỹ thuật lọc hình thái học đem lại kết ảnh foreground chứa đối tượng dễ nhận dạng nhiều so với việc điều chỉnh giá trị ngưỡng cho phù hợp Kết nhận sau áp dụng kỹ thuật lọc hình thái học ảnh foreground mô rõ nét đối tượng chuyển động khung ảnh Phương thức erosion hỗ trợ giảm nhiễu sau ảnh foreground tách khỏi ảnh nền, phương thức dilation hỗ trợ kết nối phần rời rạc phần tử giúp cho đối tượng dễ nhận diện Nhưng sử dụng phương thức hình thái học cần ý điều chỉnh mức độ lấy tích chập cho phù hợp, tránh tình trạng dùng phương thức erosion mạnh làm cho phẩn tử bị đứt lìa khó nhận dạng Hoặc sử dụng phương thức dilation mạnh làm cho nhiễu sau thu nhỏ erosion lại bị mở rộng gây nhầm lẫn với đối tượng nhận dạng đối tượng di chuyển gần bị kết nối thành đối tượng Trang 35 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM 4.5.3 Theo dấu đối tượng 4.5.3.1 Xác định quản lý đường bao Sau tách ảnh foreground khỏi ảnh nền, việc cần thực phải tìm khu vực thỏa mãn kích thước tương đối đối tượng đưa vào quản lý khu vực Ảnh foreground ảnh nhị phân với khu vực màu trắng khu vực đại diện cho đối tượng chuyển động khu vực màu đen khu vực không thuộc đối tượng chuyển động Trong số kỹ thuật xử lý ảnh có kỹ thuật hỗ trợ xác định khu vực có độ tương phản màu sắc với khu vực khác gọi kỹ thuật tìm đường bao Hình 5.4 : Ảnh nhị phân cần tìm đường bao Mỗi pixel ảnh có giá trị Thành phần mang giá trị khu vực W1, W2 W3 bên khung ảnh B1 Khu vực B2 B3 mang giá trị chứa bên khu vực W1 Khu vực W5 W6 bên khu vực B4, tất chứa khu vực W3 hai khu vực W5 W6 gián tiếp nằm khu vực W3 Tuy nhiên khu vực W5 W6 không bao quanh khu vực nên có mức (level) Một khu vực mang giá trị bị bao quanh khu vực mang giá trị gọi lỗ khu vực mang giá trị Điểm biên khu vực mang giá trị pixel thuộc thành phần có chứa bốn pixel mang giá trị kết nối với Ngược lại khu vực mang giá trị có đường biên đơn lẻ, phân chia khu vực mang giá trị bị bao khu vực mang giá trị gọi đường biên Các loại đường biên gọi Trang 36 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM đường bao Khi thực giải thuật tìm đường bao, loạt đường bao bao quanh thành phần khung ảnh tìm đưa vào cấu trúc để lưu giữ Trong OpenCV hỗ trợ loạt cấu trúc lưu trữ mô tả sau: Hình 5.5 : Một ảnh ví dụ áp dụng giải thuật tìm đường bao chia làm hai loại: đường bao (countour) lỗ (hole) Mỗi đường bao lỗ tập hợp điểm nằm đường biên bao quanh vùng không gian trắng ( mang giá trị 1) vùng không gian đen ( mang giá trị 0) Mỗi tập hợp trả điểm nút chuỗi mảng dựa số quy tắc : Trang 37 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM Hình 5.6: Cách thức quản lý điểm nút Tùy vào loại tham số CV_RETR_EXTERNAL, CV_RETR_TREE, CV_RETR_CCOMP CV_RETR_LIST nêu sơ đồ mà ta có phương pháp quản lý đường bao hiệu quả, tùy thuộc vào mục đích sử dụng Chúng lựa chọn phương pháp quản lý đơn giản quản lý theo dạng danh sách Các đường bao lỗ đưa vào danh sách theo thứ tự mức từ Mỗi đường bao tập điểm bao quanh khu vực đen trắng ảnh, điểm lưu lại với dạng tọa độ Mỗi đường bao kiểm tra so sánh với độ lớn với kích thước tương đối phương tiện di chuyển hình Nếu đường bao bao quanh khu vực có kích thước đủ lớn tương ứng với kích thước đối tượng đường bao lưu trữ lại đưa vào danh sách quản lý Hình 5.7 (a) Ảnh foreground (b) Mô đường bao (đỏ) lỗ (xanh) Trong ảnh đường màu đỏ đường bao bao quanh khu vực màu trắng đường màu xanh đường bao quanh lỗ Tất lỗ đường bao đưa vào danh sách liên kết theo thứ tự từ Cứ thành Trang 38 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM phần xác nhận đường bao lỗ chèn vào đầu danh sách theo thứ tự mức từ vào 4.5.3.2 Theo dấu đối tượng Trong trình theo dõi đối tượng chuyển động qua khung ảnh nối tiếp nhau, gặp phải bốn tượng: (1) Đối tượng xuất khung ảnh (2) Đối tượng theo dõi đột ngột biến khung ảnh (3) Một khu vực chuyển động khung ảnh bị phân thành nhiều phần khung ảnh (4) Một số khu vực ảnh bị hợp thành khu vực khung ảnh Ở hai trường hợp cuối, muốn đề cập tới tượng hai đối tượng di chuyển gần sát dẫn đến việc khu vực chuyển động hợp với thành một, không đề cập đến vấn đề đối tượng bị tách thành nhiều phần trình xử lý hình ảnh không hiệu lựa chọn giá trị ngưỡng cao thấp Các phương pháp hỗ trợ xử lý hình ảnh để đạt chất lượng cần thiết trình bày mục Những phần tử xác định đối tượng cần nhận dạng phần tử che phủ số lượng lần định Những đối tượng xuất vài khung ảnh đơn lẻ sau dấu xem nhiễu loại khỏi trình theo dõi Để theo dấu đối tượng xác định có phải đối tượng cần nhận dạng hay không phương pháp đơn giản xác định độ che phủ vùng không gian đối tượng khung ảnh vùng không gian đối tượng khung ảnh trước Nếu đối tượng khung ảnh có độ che phủ phân nửa so với đối tượng khung ảnh trước ta xem hai đối tượng cập nhật giá trị tọa độ đối tượng theo khung ảnh Các đối tượng xuất tiếp tục theo dõi khung ảnh Đối tượng theo dõi từ xuất khỏi phạm vi theo dõi quy định trước Trang 39 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM Trong nghiên cứu thực tế, ảnh hưởng ánh sáng màu sắc nên xe đôi lúc có màu gần tương đồng với màu đường làm cho công tác tách đối tượng khỏi ảnh khó khăn Khi màu sắc độ sáng làm cho xe có màu tương đồng với màu đường giá trị pixel thuộc đối tượng có độ sai lệch tương đối thấp so với màu ảnh nền, sai khác nhỏ giá trị ngưỡng dẫn đến tượng đối tượng chuyển động qua khung ảnh có nguy bị dấu đột ngột Như vậy, làm để xác định đối tượng phạm vi theo dõi? Trong phạm vi nghiên cứu sử dụng thêm phương pháp theo dấu dựa nhận dạng góc đối tượng, phương pháp theo dấu góc giới thiệu cuối mục Trong trường hợp đối tượng bị dấu đột ngột, nghĩa không tìm thấy đường bao đóng đối tượng ảnh tại, giải thuật tìm ảnh góc tương đồng với góc khu vực xác định khu vực đối tượng ảnh trước Nếu tồn số lượng góc tương đồng đáng kể, ta xác định đối tượng phạm vi theo dõi cập nhật thông tin đối tượng dựa dịch chuyển góc Thông tin xác định dựa tốc độ quỹ đạo di chuyển đối tượng Các phần tử tách khỏi ảnh qua giai đoạn pre-processing giai đoạn lọc hình thái học loại bỏ nhiều nhiễu tác động ngoại cảnh tạo nhiễu tương đối lớn gây nhầm lẫn trình nhận diện Để khắc phục việc nhận nhầm đối tượng chuyển động với nhiễu lớn, sử dụng phương pháp theo dấu góc đối tượng để xác định xác hai phần tử có độ che phủ lớn ảnh ảnh trước Đối với phần tử xuất ảnh có che phủ khoảng không gian đối tượng ảnh trước đó, không chứa góc tương đồng kết luận vật thể Do trình làm mượt ảnh vô tình làm giảm độ sắc nét góc đối tượng chất lượng hình ảnh nhận từ camera không cao nên số lượng góc theo dấu đối tượng không nhiều Chính phương pháp theo dấu góc nghiên cứu mang tác dụng hỗ trợ xác định đối tượng để tránh nhầm lẫn đối tượng với nhiễu lớn Trang 40 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM Chương : Hiện thực Hiện nay, với mục tiêu đề ra, nhóm hoàn thành yêu cầu đề tài gồm - Nghiên cứu hoàn thiện giải thuật xử lý ảnh - Nghiên cứu sử dụng thư viện OpenCV - Nghiên cứu sử dụng board OMAP3530 EMV môi trường phát triển - Cross compile thành công thư viện OpenCV xuống board Chương : Tổng kết đề tài 6.1 Thuận lợi Khi tiến hành tiếp tục nghiên cứu đề tài giai đoạn hai, nhận nhiều hỗ trợ từ phía nhà trường, phía Khoa Khoa Học Kỹ Thuật Máy Tính việc mượn thiết bị, phòng thí nghiệm…Bên cạnh đó, anh Lừng Danh chị Ngọc Anh tận tình hướng dẫn cho phần thực giai đoạn đề tài 6.2 Khó khăn Hiện tại, khó khan lớn nhóm vấn đề thời gian Vì vừa phải hoàn thành việc học trường thời gian cho nghiên cứu đề tài nên nỗ lực Bên cạnh board OMAP3530 EVM chưa phổ biến với cộng đồng nên việc tìm kiếm gặp nhiều khó khan 6.3 Tổng kết chung Đề tài đến giai đoạn thành công Tuy nhiên với mức độ nhóm phải hoàn thiện nhiều đến giai đoạn bắt đầu Tuy nhiên với bước tiến việc sẵn sang cho giai đoạn điều chắn chắn làm Chương : Hướng phát triển tài liệu tham khảo 7.1 Hướng phát triển Ở giai đoạn thực tập, cố gắng tìm hiểu nắm giải thuật xử lý ảnh việc quản lý thiết bị, lập trình board OMAP3530 EVM, thực Trang 41 | Thiết kế hệ thống đếm xe dùng board OMAP3530 EVM phần việc cross compile thư viện OpenCV vào công cụ compiler board Tuy không hoàn thành 100% đề từ đầu giai đoạn, chúng tin tưởng vào hướng mà chọn Sẽ nỗ lực giai đoạn Luận văn tốt nghiệp để hoàn thành phần lại chuyển lên hướng sử dụng Core DSP board OMAP để tăng tốc độ xác giải thuật xử lý thị giác máy tính 7.2 Tài liệu tham khảo [1] Luận Văn Tốt Nghiệp : Tìm hiểu thực hệ thống đếm xe sử dụng Camera Epson – Nguyễn Lừng Danh Nguyễn Thị Ngọc Anh [2] http://www.fit.hcmus.edu.vn/~phvu/ - Thầy Phạm Hoài Vũ, Đại Học Khoa Học Tự Nhiên với phương pháp Background Subtraction [3] http://wiki.chumby.com/index.php/GNU_Toolchain Cài đặt toolchain dựa tảng board ARM [4] http://www.stanford.edu/~zxwang/cross_compilation.html Hướng dẫn Cross Compiler [5] http://as.tech.free.fr/wiki/index.php? title=How_to_setup_a_development_environment_for_OMAP3530 xây dựng môi trường phát triển cho board OMAP 3530 EVM Trang 42 | [...].. .Thiết kế hệ thống đếm xe hơi dùng board OMAP3 530 EVM 4.2 Board OMAP 3530 EVM 4.2.1 Giới thiệu tổng quan Hình 3.1 Board OMAP 3530 EVM Texas Instruments Hiện nay trên thị trường thiết bị phát triển hệ thống nhúng có khá nhiều sự lựa chọn cho các nhà phát triển cũng như kỹ sư thiết kế Mỗi thiết bị đều được sản suất với những mục đích chuyên dụng cho những tác vụ khác nhau Thị trường gia công thiết. .. 192.168.1.1 Trang 18 | Thiết kế hệ thống đếm xe hơi dùng board OMAP3 530 EVM  Chọn kết nối OMAP  Thiết lập ip trên board  Tiến hành thiết lập môi trường theo đoạn script sau  Boot board và dừng chế độ auto boot OMOMAP3EVM # setenv ethaddr 00:50:c2:XX:XX:XX(kèm theoboard) OMOMAP3EVM # setenv ipaddr 192.168.1.3 OMOMAP3EVM # setenv serverip 192.168.1.2 OMOMAP3EVM # setenv netmask 255.255.255.0 OMOMAP3EVM # setenv... như một user bình thường Kết nối board với máy tính thông qua cáp serial tại cổng UART1/2 Boot board và khi trên terminal xuất hiện như hình thì kết nối đã thành công Trang 14 | Thiết kế hệ thống đếm xe hơi dùng board OMAP3 530 EVM Hình 3.4 : Bootloader OMAP3 530 EVM 4.2.3.2 Cài đặt phần mềm OMAP3 5XXDVEVM Chuẩn bị cài đặt: - Tạo folder /temp để chứa các file cài đặt sau • AM35x -OMAP3 5x-PSP-SDK-##.##.##.##.tgz... quyết định chọn board OMAP 3530 EVM của Texas Instruments làm thiết bị chính để hiện thực đề tài này 4.2.2 Cấu trúc và thông số kỹ thuật Hình 3.2 : Chi tiết phần cứng trên board OMAP3 530 EVM Board OMAP3 530 EVM dựa trên nền tảng ARM 8 sử dụng vi xử lý ARM Contex A8 có thể chạy với xung clock tối đa lên 600 MHz Board được sản xuất hướng đến người dùng phát triển ứng dụng, điều khiển các thiết bị công nghiệp,... thống đếm xe hơi dùng board OMAP3 530 EVM Ho$ arm-none-linux-gnueabi-gcc hello.c –o hello  Copy file thực thi sang board vào thử mục hello Ho$ scp /home/[user]/code/hello root@192.168.1.3:/home/root/hello  Tiến hành chạy file trên board /./hello  Kết quả xuất ra “Hello world” trên màn hình terminal 4.2.4 Camera Hình 3.7 : Camera Creative Với khả năng hỗ trợ cổng kết nối USB 2.0 thì board OMAP 3530. .. gian đầu tiên và cuối cùng codeword i xuất hiện Hình 4.1 : Mô hình codeword Trong khi huấn luyện mô hình, mỗi giá trị xt (được lấy mẫu tại thời điểm t) được so sánh với codebook hiện tại để tìm xem codeword nào khớp với xt Để xác định xem codeword nào khớp tốt nhất chúng ta dùng độ đo mà sắc và độ sáng Chi tiết giải thuật như sau Trang 31 | Thiết kế hệ thống đếm xe hơi dùng board OMAP3 530 EVM I II... nghiệt và khả năng làm việc liên tục mà không gây lỗi Trang 11 | Thiết kế hệ thống đếm xe hơi dùng board OMAP3 530 EVM Board OMAP 3530 EVM là một sản phẩm đặc trưng của TI được thiết kế với nhiều công cụ phục vụ cho các tác vụ đa phương tiện, hỗ trợ tốt các chuẩn kết nối Bên cạnh đó, với những cổng mở, TI cho phép kết nối them những module phụ nhằm hỗ trợ tốt hơn cho các công việc khác Với những lý do trên, ... thì board OMAP 3530 EVM có thể kết nối với tất cả những loại camera thông thường đang bày bán trên thị trường Tuy nhiên để đảm bảo chất lượng và độ chính xác của board khi nhận diện và đếm xe nên nhóm chúng tôi đã chọn Webcam Creative VF0520 Chi tiết phần cứng của camera như sau Sensor VGA 640x480 CMOS image sensor Trang 20 | Thiết kế hệ thống đếm xe hơi dùng board OMAP3 530 EVM Video Resolution Picture... arm-2008q1-126-arm-none-linux-gnueabi-i686-pclinux-gnu.tar.bz2 Thiết lập môi trường phát triển: Trang 17 | Thiết kế hệ thống đếm xe hơi dùng board OMAP3 530 EVM - Thêm thư mục /home/[user]/toolchain/arm-2009q1/bin vào đường dẫn bằng cách thêm dòng sau vào file bashrc Ho$ sudo vim ~/.bashrc PATH=”/home/[user]/toolchain/arm-2009q1/bin:$PATH” - Lưu file bashrc và thực hiện câu lệnh sau $ source ~/.bashrc - Tiến hành kiểm tra việc thiết lập biến môi trường... điều khiển các thiết bị công nghiệp, phát triển các thiết bị di động và các thiết bị có chức năng đa phương tiện (multi media functions) OMAP3 530 EVM là một trong những board phát triển hệ thống ARM 8 thực tế với giá thành thấp (168 đô-la Mỹ bao gồm màn hình cảm ứng LCD), được đánh giá với hiệu suất Trang 12 | Thiết kế hệ thống đếm xe hơi dùng board OMAP3 530 EVM cao, phù hợp cho công việc học tập, nghiên ... hành thiết bị Trang 10 | Thiết kế hệ thống đếm xe dùng board OMAP3 530 EVM 4.2 Board OMAP 3530 EVM 4.2.1 Giới thiệu tổng quan Hình 3.1 Board OMAP 3530 EVM Texas Instruments Hiện thị trường thiết. .. dùng board OMAP3 530 EVM MỤC LỤC HÌNH Hình 3.1 Board OMAP 3530 EVM Texas Instruments 11 Hình 3.2 : Chi tiết phần cứng board OMAP3 530 EVM 12 Hình 3.3 : Cấu hình Minicom 14 Hình. .. Hình 3.1 Board OMAP 3530 EVM Texas Instruments .11 Hình 3.2 : Chi tiết phần cứng board OMAP3 530 EVM .12 Hình 3.3 : Cấu hình Minicom .14 Hình 3.4 : Bootloader OMAP3 530

Ngày đăng: 01/02/2016, 10:15

Từ khóa liên quan

Mục lục

  • 1 MỤC LỤC HÌNH

  • 2 Chương 1 : Giới thiệu đề tài

    • 2.1 Yêu cầu đề tài

    • 2.2 Phân tích đề tài

    • 2.3 Thiết kế ý niệm

    • 3 Chương 2 : Động lực và mục tiêu của đề tài

      • 3.1 Động lực

      • 3.2 Mục tiêu của đề tài

        • 3.2.1 Mục tiêu chung của đề tài:

        • 3.2.2 Mục tiêu riêng từng giai đoạn:

        • 4 Chương 3 : Cơ sở lý thuyết và các công cụ

          • 4.1 Hệ điều hành Embedded Linux

          • 4.2 Board OMAP 3530 EVM

            • 4.2.1 Giới thiệu tổng quan

            • 4.2.2 Cấu trúc và thông số kỹ thuật

            • 4.2.3 Hướng dẫn cài đặt

              • 4.2.3.1 Cài đặt chương trình giao tiếp với board

              • 4.2.3.2 Cài đặt phần mềm OMAP35XXDVEVM

              • 4.2.3.3 Cài đặt trình biên dịch và môi trường phát triển

              • 4.2.3.4 Chương trình mẫu

              • 4.2.4 Camera

              • 4.3 Các phương pháp cross compile

                • 4.3.1 Cross compile dùng OpenCV 2.2.0 và arm-none-linux-gnueabi

                • 4.3.2 Cross compile dùng OpenCV 2.0.0 và arm-linux

                • 4.4 Giới thiệu về OpenCV

                  • 4.4.1 Giới thiệu tổng quan

                  • 4.4.2 Hướng dẫn cài đặt OpenCV trên hệ điều hành Linux

                  • 4.5 Các phương pháp xử lý ảnh được xử dụng trong đề tài

                    • 4.5.1 Phương pháp trừ ảnh và xây dựng ảnh nền

                      • 4.5.1.1 Phương pháp Frame Differencing

Tài liệu cùng người dùng

Tài liệu liên quan