tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

36 2.9K 88
tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

Đ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

Tài liệu tham khảo ngành tin học tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

1 MỞ ĐẦU Thị giác máy lĩnh vực phát triển Khái niệm xử lý ảnh thị giác máy – Computer vision có liên quan tới nhiều ngành học hướng nghiên cứu khác Từ năm 1970 mà lực tính tốn máy tính ngày trở nên mạnh mẽ hơn, máy tính lúc xử lý tập liệu lớn hình ảnh, đoạn phim khái niệm kỹ thuật thị giác máy ngày nhắc đến nghiên cứu nhiều ngày Thị giác máy bao gồm lý thuyết kỹ thuật liên quan nhằm mục đích tạo hệ thống nhân tạo tiếp nhận thơng tin từ hình ảnh thu tập liệu đa chiều Việc kết hợp thị giác máy với kỹ thuật khác công nghệ thông tin, truyền thông, điện tử, điều khiển tự động, khí… cho nhiều ứng dụng đời sống hàng ngày khoa học, an ninh, quân sự… Ngày nay, ứng dụng thị giác máy trở nên rộng lớn đa dạng, len lỏi vào lĩnh vực từ quân sự, khoa học, vũ trụ, y học, sản xuất, tự động hóa tịa nhà Trong thời gian thực tập tốt nghiệp, giúp đỡ thầy cô hướng dẫn em bước tiếp cận nghiên cứu sở ban đầu xử lý ảnh số, sử dụng thư viện mã nguồn mở OpenCV, lập trình Visual C++ xây dựng giao diện điều khiển máy tính Cơng nghệ xử lý ảnh bao gồm nhiều hướng nghiên cứu, hướng nghiên cứu em tìm hiểu xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift OpenCV Báo cáo thực tập bao gồm: Chương 1: Tổng quan xử lý ảnh thư viện mã nguồn mở Opencv Chương 2: Cơ sở hệ thống bám ảnh tự động Chương 3: Tìm hiểu thư viện mã nguồn mở OpenCV Intel Visual C++ Chương 4: Xây dựng giao diện điều khiển dùng Visual C++ Chương 1: TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ THƯ VIỆN MÃ NGUỒN MỞ OPENCV 1.1 Giới thiệu số ứng dụng xử lý ảnh Trong năm gần đây, Trên giới nghiên cứu ứng dụng xử lý nhận dạng ảnh (Machine Vision) hướng nghiên cứu tập trung nhiều nhà khoa học đa số lĩnh vực Xử lý ảnh số phát triển trở thành lĩnh vực khoa học Xử lý ảnh số không nâng cao chất lượng ảnh mà cịn phân tích lý giải phục vụ mục đích riêng biệt Các thiết bị ngày ứng dụng công nghệ xử lý điều khiển theo hình ảnh ngày nhiều cho thấy rõ ưu việt nó, có nhiều ứng dụng mang tính cách mạng như: 1.1.1 Trong quân sự: Các hệ thống tích hợp quang hồng ngoại có khả tự động điều khiển dàn hỏa lực (pháo, tên lửa) lắp đặt cho trận địa cao xạ, xe tăng, tàu chiến, máy bay, tên lửa vệ tinh (Hình 1) Chúng thay hỗ trợ dàn rada dễ bị nhiễu việc tự động phát hiện, cảnh giới, bám bắt mục tiêu Đặc biệt có loại lắp máy bay có khả điều khiển hỏa lực đánh phá hàng chục mục tiêu lúc Ngồi cịn phải kể đến đầu tự dẫn tên lửa đạn thơng minh 1.1.2 Trong an ninh, phịng chống tội phạm, bảo vệ pháp luật: Các hệ thống camera nhận dạng khuôn mặt vân tay tự động phát hiện, theo dõi, cảnh báo âm mưu hoạt động khủng bố Các xe robốt tự hành có gắn camera ứng dụng môi trường độc hại, dị phá bom mìn (Hình 1.1) 1.1.3 Trong lĩnh vực hàng khơng vũ trụ: Các hệ thống ống kính chụp ảnh viễn thám (remote sensing) lắp vệ tinh bay quanh trái đất chụp quan sát vật kích cỡ 0,5 m từ độ cao 750 km điều kiện thời tiết (Hình 1.1) Việc nối ghép ống kính với hệ thống GPS cho phép xây dựng đồ số có lĩnh vực ứng dụng quan trọng quốc phòng an ninh, phát triển kinh tế, xã hội 1.1.4 Trong công nghiệp, giao thông, xây dựng : Hệ thống quang điện tử đóng vai trị thị giác máy (machine vision) có khả tự động đo đạc kiểm tra chất lượng sản phẩm dây truyền sản xuất: phân loại hạt ngũ cốc, cà phê; tìm lỗi lắp ráp linh kiện vi mạch khuyết tật mối hàn động Các hệ thống quang điện tử ứng dụng ngày nhiều giao thông đo tốc độ, tự động kiểm soát điều khiển phân luồng giao thơng (Hình 1.2) 1.1.5 Trong nghiên cứu y sinh dược học: Các kính hiển vi có khả tự động nhận dạng đo đếm tế bào với độ xác cao Các kính hiển vi có hệ thống dẫn đường laser cho phép thực phẫu thuật phức tạp mổ u não, nơi mà khơng xác cỡ µm gây tổn hại đến dây thần kinh chằng chịt xung quanh 1.1.6 Trong cơng nghiệp giải trí truyền hình: Các hệ thống tích hợp điều khiển camera kích thước khối lượng lớn dễ dàng tự động bám theo đối tượng chuyển động nhanh bóng bay, đua xe Một số hình ảnh hệ thống sử dụng cơng nghệ xử lý ảnh: Hình 1.1 Một số hệ thống tích hợp quang hồng ngoại, ảnh nhiệt phương tiện di động Hình 1.2 Một số hệ thống camera robot tự hành, hàng không vũ trụ 1.2 Một số giải pháp phần cứng phục vụ xử lý ảnh Để giải tốn xử lý hình ảnh, ta có nhiều giái pháp khác Từ phần cứng phần mềm Ta điểm qua vài phương pháp hay sử dụng có hiệu cao sau 1.2.1 Máy tính PC, laptop Đây phương pháp đơn giản Có thể tận Dụng mainboard máy tính hay chí máy tính xách tay với chức đơn vị xử lý ảnh, đưa định Với việc kết nối camera hay webcam ta hồn tồn chủ động q trình nhận/xử lý ảnh Các giao tiếp ngoại vi phổ biến UART, Parallel, USB hay KeyboarD Việc sử dụng PC, laptop có ưu/ nhược điểm sau: * Ưu điểm: - Rất dễ dàng phát triển ứng dụng dựa phần mềm lập trình C, VisualC, VisualBasic…, phù hợp cho người bắt đầu nghiên cứu lĩnh vực xử lý ảnh đặc biệt có nhiều thư viện mở phục vụ cho xử lý ảnh, thuận tiện cho người bắt đầu tìm hiểu xử lý ảnh - Có tốc độ xử lý không cao - Dễ Dàng lập trình, kiểm lỗi - Hệ điều hành quen thuộc (winDows/linux) - Các cơng cụ lập trình/biên Dịch phổ biến (C, C++, VisualC, VisualBasic ) * Nhược điểm - Kích thước, khối lượng lớn - Dễ hư hỏng Do va đập hay tác nhân khác - Có nhiều thành phần khơng sử Dụng đến - Chỉ giao tiếp với ngoại vi thông qua chuẩn phổ biến UART, USB 1.2.2 Main cơng nghiệp, máy tính nhúng PC 104 Hình 1.3 Main cơng nghiệp PC 104 Ta sử dụng mainboad PC104 với chức máy tính thơng thường Việc sử dụng PC104 có ưu/ nhược điểm sau: Ưu điểm: - Có tốc độ xử lý cao - Dễ Dàng lập trình, kiểm lỗi - Hệ điều hành quen thuộc (windows/linux) - Các cơng cụ lập trình/biên dịch phổ biến (MSVC, C++ ) Nhược điểm: - Kích thước lớn - Có q nhiều thành phần khơng sử dụng đến - Giá thành đắt (>300$) - Chỉ giao tiếp với ngoại vi thông qua chuẩn phổ biến UART, USB 1.2.3 Single Board Computer(SBC) sử dụng Single on Chip (SoC) Hình 1.4 SBC sử dụng SoC SBC (Single board computer) có sử dụng SoC buớc tiến lớn việc xây d ựng thiết bị với khả tính tốn xử lý máy tính thông thường Với nhiều ưu điểm hẳn so với thiết bị khác Sử dụng SoC làm xử lý trung tâm có khả chuyên biệt xử lý hình ảnh hay xử lý mơi trường mạng hữu hiệu Do tuỳ tốn đặt mà ta chọn SBC cho SoC phù hợp với yêu cầu cụ thể Hiện có nhiều SoC có khả tích hợp DSP Processor vào nhân nhằm tăng khả xử lý (sign processing) Ưu điểm: - Kích thước nhỏ - Giá thành rẻ (~Options, hộp thoại Options xuất hiện, chọn tab Directories, giữ nguyên mặc định cho Platform, Show directories for trổ xuống, chọn Include files Tương ứng với Include files Directories bên dưới, thêm đường dẫn sau(nếu bạn biết cài đặt cần thêm nằm đâu _ không biết, bạn nhấn chuột vào tận hàng để tìm đường dẫn tới đó) - C:\DXSDK\Include - C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE - C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE - C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE - C:\PROGRAM FILES\OPENCV\CV\INCLUDE - C:\PROGRAM FILES\OPENCV\CVAUX\INCLUDE - C:\PROGRAM FILES\OPENCV\CXCORE\INCLUDE - C:\PROGRAM FILES\OPENCV\FILTERS\PROXYTRANS - C:\PROGRAM FILES\OPENCV\OTHERLIBS\CVCAM\INCLUDE - C:\PROGRAM FILES\OPENCV\OTHERLIBS\HIGHGUI Chú ý đường dẫn màu xanh dương đường dẫn có trước cài Visual C++ Bạn quan sát tab đây: 24 Cũng từ tab Directories đổ xuống, chọn Library Files, Directories bên dưới, thêm đường dẫn sau Include files - C:\DXSDK\Lib - C:\Program Files\Microsoft Visual Studio\VC98\LIB - C:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB - C:\PROGRAM FILES\OPENCV\LIB Các dòng màu xanh dương dòng có trước Nhấn OK để kết thúc q trìn cài đặt OpenCV DirectShow ứng dụng Visual C++ 25 b) Sử dụng OpenCV DirectShow Microsoft Visual Studio 2008 + Giao điện khởi động Microsoft Visual Studio 2008: Tiếp bạn chọn mục Create>>Project >>chọn MFC Application Sau chọn đường dẫn lưu tên sử dụng dự án 26 Chọn mục Dialog based : Cách Add thư viện OpenCV VC++ 2008: 27 Đầu tiên: Sau đó: 28 Add links OpenCV : cv.lib,cxcore.lib,highgui.lib,cvcam.lib,cxts.lib,trs.lib vào mục Propoty Pages: Sau Nhấn OK để kết thúc trình cài đặt tiến hành xây dựng giao diện lập trình dự án 29 CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG GIAO DIỆN CHƯƠNG TRÌNH 30 31 Thiết kế Dialog Based : Viết chương trình : 32 Và chạy thử chương trình: 33 34 KẾT LUẬN Trong thời gian nghiên cứu với định hướng hướng dẫn quý báu cô Hà Thị Kim Duyên, em hoàn thành đề tài nghiên cứu thực tập Do thời gian nghiên cứu thực tập có hạn nên báo cáo cịn nhiều khiếm khuyết tảng cho em tương lại nghiên cứu sâu vào Đồ án tốt nghiệp cao đưa vào ứng dụng sống Em xin chân thành cảm ơn 35 Tài liệu tham khảo Tiếng việt: Nhập môn xử lý ảnh số, ĐH Bách Khoa Hà Nội Động điện chiều, http://tailieu.vn/ Tiếng anh: http://datasheetcatalog.com, datasheet at91sam7s256 complete www.keil.com/arm, Keil C tutorial, Hardware API Selector: AT91SAM7S256 Main Frame chuyên mục xử lý ảnh DSP hệ thống nhúng, www.dientuvietnam.net http://www.at91.com/forum , Cộng đồng phát triển vi điều khiển ARM AT91SAM7S256 http://sourceforge.net/projects/opencvlibrary MUC LUC Hình 1.1 Một số hệ thống tích hợp quang hồng ngoại, ảnh nhiệt phương tiện di động Hình 1.2 Một số hệ thống camera robot tự hành, hàng không vũ trụ Hình 1.3 Main cơng nghiệp PC 104 Hình 1.4 SBC sử dụng SoC .8 Hình 1.5 CCD Sensor MT9T001 hãng Micron Hình 1.6 board xử lý ảnh sử dụng DSP Chương 2: CƠ SỞ VỀ HỆ THỐNG BÁM ẢNH TỰ ĐỘNG 10 TỔNG QUAN: 10 YÊU CẦU : 10 MƠ HÌNH NỀN THÍCH NGHI: 10 3.1 Chiến lược mơ hình hóa 11 3.2 Một phương pháp mơ hình hóa bền vững .12 Fig 13 GẮN NHÃN THÀNH PHẦN LIÊN KẾT 14 PHÁT HIỆN BÓNG 15 CÁC NGUYÊN LÝ CỦA BÁM ĐỐI TƯỢNG 15 Nền tĩnh: Khi cảnh chứa nhiều đối tượng, không chuyển động tất phần đối tượng vật (foreground) chuyển động .15 MƠ HÌNH HỆ BÁM 16 Hình 1.7 Tổ chức thư viện OpenCV 17 Hình 1.8 Nhận dạng khn mặt với Haar classifier .19 CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG GIAO DIỆN CHƯƠNG TRÌNH 29 36 Thiết kế Dialog Based : 31 Viết chương trình : 31 ... mục tiêu thay đổi: Kích thước mục tiêu giảm mục tiêu di chuyển xa camera Do kỹ thuật xác định tỉ lệ phải kết hợp xử lý bám 16 Mất mục tiêu tạm thời: Trong suốt pha bám mục tiêu bị tạm thời vào... thể hệ bám nên có khả bám xác Phát mục tiêu tự động: Hệ bám nên có khả tự động phát tất mục tiêu bắt đầu bám chúng Thời gian thực: Thuật toán bám nên tính tốn đơn giản tối ưu cho q trình bám. .. Quỹ đạo mục tiêu: Mục tiêu khơng theo quỹ đạo đặc biệt Có thể có thay đổi đột ngột hướng mục tiêu Tốc độ mục tiêu: Tốc độ mục tiêu thay đổi đột ngột; số, tăng hay giảm MƠ HÌNH HỆ BÁM Hệ bám mơ

Ngày đăng: 22/11/2012, 10:12

Hình ảnh liên quan

1.1.6 Trong công nghiệp giải trí truyền hình: - tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

1.1.6.

Trong công nghiệp giải trí truyền hình: Xem tại trang 3 của tài liệu.
Một số hình ảnh hệ thống sử dụng công nghệ xử lý ảnh: - tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

t.

số hình ảnh hệ thống sử dụng công nghệ xử lý ảnh: Xem tại trang 3 của tài liệu.
Hình 1.1 Một số hệ thống tích hợp quang hồng ngoại, và ảnh nhiệt trên các phương tiện di động - tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

Hình 1.1.

Một số hệ thống tích hợp quang hồng ngoại, và ảnh nhiệt trên các phương tiện di động Xem tại trang 4 của tài liệu.
Hình 1.2 Một số hệ thống camera robot tự hành, trong hàng không vũ trụ - tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

Hình 1.2.

Một số hệ thống camera robot tự hành, trong hàng không vũ trụ Xem tại trang 4 của tài liệu.
Hình 1.3 Main công nghiệp PC104 - tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

Hình 1.3.

Main công nghiệp PC104 Xem tại trang 5 của tài liệu.
Hình 1.4 SBC sử dụng SoC - tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

Hình 1.4.

SBC sử dụng SoC Xem tại trang 6 của tài liệu.
Ví dụ ta có thể tham khảo mô hình của CCD Sensor MT9T001 của Micron như sau: - tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

d.

ụ ta có thể tham khảo mô hình của CCD Sensor MT9T001 của Micron như sau: Xem tại trang 7 của tài liệu.
Hình 1.5 CCD Sensor MT9T001 của hãng Micron - tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

Hình 1.5.

CCD Sensor MT9T001 của hãng Micron Xem tại trang 8 của tài liệu.
Hình 1.6 một board xử lý ảnh sử dụng DSP - tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

Hình 1.6.

một board xử lý ảnh sử dụng DSP Xem tại trang 9 của tài liệu.
Hình 1.7 Tổ chức thư viện OpenCV - tìm hiểu và xây dựng hệ thống bám mục tiêu di dộng sử dụng thuật toán xử lý ảnh Camshift của OpenCV

Hình 1.7.

Tổ chức thư viện OpenCV Xem tại trang 17 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan