Thông tin tài liệu
1 LỜI NÓI ĐẦU Trong những năm gần đây, trên thế giới nghiên cứu ứng dụng công nghệ xử lý và nhận dạng ảnh đang là hướng nghiên cứu tập trung của rất nhiều nhà khoa học trong các lĩnh vực. Từ những năm 1970 khi mà năng lực tính toán của máy tính ngày càng trở nên mạnh mẽ hơn, các máy tính lúc này có thể xử lý được những tập dữ liệu lớn như các hình ảnh, các đoạn video thì một khái niệm nữa về xử lý ảnh nữa ra đời đó là: Thị giác máy - Computer vision.Có thể nói xử lý ảnh số và thị giác máy đã được phát triển và trở thành một lĩnh vực khoa học. Xử lý ảnh số không chỉ nâng cao chất lượng của ảnh mà còn phân tích và lý giải tìm ra giải thuật để ứng dụng vào thực tiễn. Thị giác máy bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục đích tạo ra một hệ thống nhân tạo có thể tiếp nhận thông tin từ các hình ảnh thu được hoặc các tạp dữ liệu đa chiều. Việc kết hợp giữa thị giác máy với các kỹ thuật khác như công nghệ thông tin, truyền thông, điện tử, điều khiển tự động, cơ khí… cho chúng ta rất nhiều ứng dụng trong đời sống hàng ngày cũng như trong khoa học, an ninh, y học, quân sự… Ngày nay, ứng dụng của thị giác máy đã trở nên rất rộng lớn và đa dạng, len lỏi vào mọi lĩnh vực từ quân sự, khoa học, vũ trụ, cho đến y học, sản xuất, và tự động hóa tòa nhà . Trong thời gian qua dưới sự hướng dẫn tận tình của Cô HÀ THỊ KIM DUYÊN em đã dành thời gian nghiên cứu về xử lý ảnh và nhận dạng ảnh hay nói đúng hơn là thuật toán xử lý ảnh bám đối tượng – Tracking. Những nội dung mà em nghiên cứu được ở đây bao gồm: • Nghiên cứu tổng quan về xử lý ảnh số và hệ bám đối tượng • Tìm hiểu và nghiên cứu về thư viện mã nguồn mở OpenCV trên nền C • Nghiên cứu và xây dựng thuật toán bám ảnh di động tối ưu dựa trên thư viện mã nguồn mở OpenCV của Intel • Xây dựng được một hệ thống camera di động (phần cứng lẫn phần mềm) bám theo mục tiêu di dộng ứng dụng thuật toán bám ảnh Camshitf. • Đánh giá được kết quả đạt được trong thời gian nghiên cứu. 2 Để hoàn thành đồ án này đúng tiến độ và có chất lượng, em xin gửi lời cảm ơn chân thành nhất tới Cô Th.s HÀ THỊ KIM DUYÊN là người trực tiếp hướng dẫn em làm đồ án này. Đồng thời em cũng xin gửi lời cảm ơn sâu sắc tới các anh, các bác phòng Quang – điện tử, Viện vật lý – Viện khoa học công nghệ Việt Nam đã tạo điều kiện tối đa giúp đỡ em về mặt thiết bị và dụng cụ thí nghiệm phục vụ quá trình làm đồ án. Và cuối cùng, chúng em xin dành tất cả lòng biết ơn và kính trọng sâu sắc nhất tới bố mẹ chúng em, những người đã sinh thành, nuôi dưỡng chúng em nên người, đã lo lắng, chỉ bảo từ những việc nhỏ nhất, đã tạo mọi điều kiện cho chúng em được sống và học tập một cách tốt nhất để vươn tới những ước mơ và hoài bão của mình. Em xin chân thành cảm ơn! Hà nội ngày 28 tháng 5 năm 2011 Sinh viên thực hiện Hà Tiến Thanh 3 Chương 1: TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ HỆ THỐNG BÁM ĐỐI TƯỢNG 1.1Tổng quan về xử lý ảnh Xử lý ảnh bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục đích tạo ra một hệ thống nhân tạo có thể tiếp nhận thông tin từ các hình ảnh thu được hoặc các tập dữ liệu đa chiều. Đối với mỗi người chúng ta, quá trình “học” thông qua thế giới bên ngoài là một điều dễ dàng. Quá trình nhận thức đó được “học” thông qua quá trình sống của mỗi người. Tuy nhiên với các vật vô tri vô giác như máy tính, robot… thì điều đó quả thực là một bước tiến rất gian nan. Các thiết bị ngày nay không chỉ nhận thông tin ở dạng tín hiệu đơn lẻ mà còn có thể có cái “nhìn” thật với thế giới bên ngoài. Cái “nhìn” này qua quá trình phân tích, kết hợp với các mô hình như máy học, mạng nơron… sẽ giúp cho thiết bị tiến dần tới một hệ thống nhân tạo có khả năng ra quyết định linh hoạt và đúng đắn hơn nhiều. Một số lĩnh vực ứng dụng công nghệ xử lý ảnh mang tính đột phá như sau: 1.1.1 Trong lĩnh vực quân sự Các hệ thống tích hợp quang hồng ngoại có khả năng tự động điều khiển dàn hỏa lực (pháo, tên lửa) được lắp đặt cho các trận địa cao xạ, trên xe tăng, tàu chiến, máy bay, tên lửa hoặc vệ tinh (Hình 1.1). Chúng được thay thế và hỗ trợ các dàn rada dễ bị nhiễu trong việc tự động phát hiện, cảnh giới, bám bắt mục tiêu. Đặc biệt có những loại lắp trên máy bay có khả năng điều khiển hỏa lực đánh phá hàng chục mục tiêu một lúc. Ngoài ra còn phải kể đến các đầu tự dẫn tên lửa và đạ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 cũng như phát hiện, theo dõi, cảnh báo các âm mưu và hoạt động khủng bố. Các xe robốt tự hành có gắn các camera cũng được ứng dụng trong các môi trường độc hại, dò phá bom mìn (Hình 1.1). 4 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 trên các vệ tinh bay quanh trái đất có thể chụp và quan sát được các vật kích cỡ 0,5 m từ độ cao 750 km trong mọi điều kiện thời tiết (Hình 1.1) Việc nối ghép các ống kính này với hệ thống GPS sẽ cho phép xây dựng các bản đồ số có những lĩnh vực ứng dụng cực kỳ quan trọng trong 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ò của các thị giác máy (machine vision) có khả năng tự động đo đạc kiểm tra chất lượng sản phẩm trong các 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 các bản vi mạch và khuyết tật các mối hàn và động cơ Các hệ thống quang điện tử cũng được ứng dụng ngày càng nhiều trong giao thông như đo tốc độ, tự động kiểm soát điều khiển và 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ả năng tự động nhận dạng và đo đếm các tế bào với độ chính xác cao. Các kính hiển vi có hệ thống dẫn đường laser cho phép thực hiện những phẫu thuật rất phức tạp như mổ u não, nơi mà một sự không chính xác cỡ μm cũng gây tổn hại đến các 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 có thể điều khiển các camera kích thước và khối lượng lớn dễ dàng tự động bám theo các đối tượng chuyển động nhanh như bóng đang bay, đua xe 5 Hình 1.1: Một số hệ thống tích hợp quang-điện tử và ảnh nhiệt trong quân s ự và chi ế n đ ấ u Hình 1.3: Hệ thống camera điện tử ứng dụng trong nghiên cứu thời tiết và trong công nghiệp Hình 1.2: Một số hệ thống tích hợp camera giám sát trên tàu viễn thám và trong công nghiệp và công nghệ vũ trụ 6 1.2 Giới thiệu chung về Robot Rô bốt (robot) hay người máy là một loại máy có thể thực hiện công việc một cách tự động hoặc được điều khiển gián tiếp qua máy tính. Rô bốt là một tác nhân cơ khí, nhân tạo, thường là một hệ thống cơ khí-điện tử kết hợp hoàn hảo.Với sự xuất hiện và chuyển động của mình, rô bốt gây cho con người cảm giác là nó cũng có những giác quan như con người. Từ “rô bốt” (người máy) thường được hiểu với hai nghĩa đó là 1 cơ cấu cơ khí chính xác và phần mềm tự hoạt động.Về lĩnh vực người máy thì Nhật Bản đang đi đầu về lĩnh vực này. Ngày nay, Rô bốt đang là tâm điểm của một cuộc cách mạng lớn sau Internet. Rô bốt ngày càng được sử dụng rộng rãi trong công nghiệp, y tế, giáo dục và đào tạo, giải trí và an ninh quốc phòng, thám hiểm không gian. Rô bốt là sản phẩm công nghệ có độ phức tạp cao chứa hàm lượng tri thức vô cùng phong phú về tất cả cac lĩnh vực của khoa học và công nghệ. Ngày nay người ta vẫn còn tranh cãi về vấn đề “Một loại máy đủ những tiêu chuẩn gì để được coi là một rô bốt???” Một cách gần chính xác, rô bốt phải có một vài (không nhất thiết phải đầy đủ) đặc điểm sau đây: 1. Không phải tự nhiên, tức là do con người chế tạo ra. 2. Có khả năng nhận biết môi trường xung quanh. 3. Có thể tương tác với các vật thể trong môi trường. 4. Có sự thông minh và có khả năng đưa ra các lựa chọn dựa trên môi trường và có thể hoạt động theo 1 chu trình đã được lập trình sẵn. 5. Có khả năng điều khiển bằng các lệnh để có thể thay đổi tùy theo yêu cầu của người sử dụng. 6. Có thể di chuyển quay tịnh tiến một chiều hay nhiều chiều. 7. Có sự khéo léo trong vận động. 7 1.3 Giới thiệu tổng quan về hệ thống rô bốt camera bám đối tượng (Tracking mobile robot) Hệ thống rô bốt hoạt động bằng các cảm biến như cảm biến màu sắc, hồng ngoại, cảm biến dò đường, siêu âm giờ đây đã dần dần được phát triển và tích hợp thêm “thị giác”.Với sự phát triển của khoa học công nghệ, việc tích hợp trên rô bốt hệ thống camera thông minh ứng dụng công nghệ xử lý ảnh là rất cần thiết phục vụ cho công nghiệp, quốc phòng và xã hội. Hệ thống thị giác có thể phân thành 2 lớp, theo như cấu trúc của hệ, đó là hệ có camera gắn cố định và hệ có camera gắn trên tay máy (eye-in-hand). Trong hệ camera cố định, camera được gắn cố định so với hệ trục tọa độ thực, thu thập ảnh của cả mục tiêu và cả môi trường. Mục tiêu của hệ camera cố định này là cung cấp tín hiệu điều khiển sao cho tay máy đặt được vị trí mong muốn. Mục đích của cấu trúc eye-in-hand là điều khiển tay máy sao cho ảnh của mục tiêu di động hoặc cố định được duy trì ở vị trí mong muốn trên mặt phẳng ảnh thu được. Camera Máy tính Robot Tín hiệu điều khiển Hình 1.4: Cấu trúc hệ camera cố định điều khiển và giám sát cánh tay rô bốt 8 Các nghiên cứu của môi trường động bị bỏ khá xa so với môi trường tĩnh do ảnh hưởng khá lớn của tốc độ tinh toán cũng như độ chinh xác của việc phân tích ảnh. Do vậy có nhiều thuật toán để cải thiện tốc độ xử lý ảnh và cải thiện can nhiễu trong quá trình thu thập dữ liệu từ camera. Một khó khăn và thách thức của thị giác máy là việc phân loại đối tượng. một rô bốt có thể phải đối mặt với nhiều đối tượng khác nhau, trong khi chỉ một đối tượng được quan tâm còn các đối tượng khác thì không. Để nhận biết được vị trí của mục tiêu trong môi trường động, các đặc trưng của mục tiêu là rất quan trọng. Các điểm lỗ, các góc cạnh, các đặc điểm điển hình có thể dễ dàng tính toán xử lý ở môi trường tĩnh, nhưng trong môi trường động thì rất khó vì chi phí về thời gian là rất lớn, ảnh hưởng của tốc độ làm cho việc xử lý ảnh tách lấy đặc trưng của đối tượng là rất khó. Bài toán bám mục tiêu di động với quỹ đạo không biết trước yêu cầu phải giữ được đối tượng ở một vị trí nhất định trên mặt phẳng ảnh. Thuật toán CamShift trong OpenCV được sử dụng để tính toán tọa độ trọng tâm của đối tượng trên mặt phẳng ảnh. Một số hệ thống tracking rô bốt thực tế đã được triển khai: Hình 1.5: Cấu trúc hệ Camera rô bốt eye-in-hand camera Robot eye - in - hand V ậ t th ể c ầ n giám sát 9 Ngày nay việc xây dựng một hệ thống rô bốt thông minh và có khả năng thay thế con người làm việc trong các điều kiện khắc nghiệt và nguy hiểm là rất cần Hình 1.6: PAN robot và Robot Pops (nguồn: www.mobilerobot.org) Hình 1.7: Robot Talon và Robot MARRS (nguồn Internet) Hình 1.8: Robot thám hiểm sao hỏa và Robot MIDbo 10 thiết, đơn cử như việc làm việc trong các hầm mỏ các nhà máy hạt nhân và các vùng nguy hiểm bom mìn…thì khi ấy các rô bốt như thế này hoàn toàn hữu dụng và là lựa chọn tối ưu. Với mục tiêu hướng tới xây dựng một hệ thống rô bốt camera thông minh có thể phục vụ trong công tác dò mìn cứu trợ cứu nạn, và có khả năng do thám, tôi cũng đã tìm hiểu và đi vào nghiên cứu chế tạo một hệ tracking thông minh có khả năng tự hành và bám mục tiêu di động dựa trên công nghệ xử lý ảnh có giao tiếp và kiểm soát, lưu trữ thông tin bằng máy tính. Có thể hệ thống lại rằng, một hệ thống bám đối tượng bao gồm: Mục đích của hệ thống bám video, ảnh tự động là duy trì một đường ngắm viết tắt là LOS (Line Of Sight) giữa cảm biến – mục tiêu một cách ổn định và hoàn toàn Đế và cảm biến ảnh Bộ xử lý Mục tiêu LOS Hình 1.9: Cảm biến ảnh, gimbal và bộ vi xử lý Hình 1.10: Tổng quan về một hệ thống bám [...]... ảnh. Tính toán được trọng tâm và hướng của vật thể có kết hợp các bộ lọc nhằm loại bỏ nhiễu vào hệ thống 31 3.2 Thuật toán Camshift trong tối ưu hóa hệ bám đối tượng Trong xử lý ảnh việc đi nghiên cứu thuật toán bám đối tượng là rất quan trọng, một số thuật toán thường gặp đó là: thuật toán KLT, phương pháp Correlation-base template matching, thuật toán Meanshift, thuật toán Camshift Thuật toán KLT... DỰNG THUẬT TOÁN XỬ LÝ ẢNH BÁM ĐỐI TƯỢNG TỐI ƯU (TRACKING) 3.1 Giải thuật chung về hệ thống bám (Tracking camera robot) Start Khởi tạo Chụp ảnh Lấy mẫu Tính tọa độ tâm, hướng Giao tiếp RS232,RF Histogram Lọc nhiễu Điều kiện dừng Camshift Dừng Hình 3.1: Lưu đồ thuật toán bám đối tượng Dựa vào lưu đồ thuật toán ta có thể hình dung về một hệ thống bám tổng quan nhất để có thể xây dựng được một thuật toán. .. một hàm của moment thứ 0 tìm được trong bước 2 Bước 4: Lặp lại bước 2 và bước 3 cho đến khi hội tụ Với những ưu điểm của thuật toán Camshift trong việc xử lý ảnh bám đối tượng và nhận diện ảnh, kết hợp với ngôn ngữ C tôi đã lựa chọn và xây dựng riêng cho đề tài của mình một thuật toán tối ưu trong việc xử lý ảnh bám đối tượng Thuật toán Camshift đã được cụ thể hóa bằng lưu đồ hình 3.4 Đầu tiên là một... thuật toán Camshift Thuật toán KLT viết tắt của tên hai nhà nghiên cứu Lucas and Kanade và Tomasi kết hợp với Birchfield vào năm 1991 đã cho ra đời thuật toán xử lý bám các đặc tính của ảnh, được thực thi bằng ngôn ngữ C và được gọi là thuật toán bám KLT (KLT tracker) Thuật toán KLT dùng toán học tính toán ra các đặc tính sau đó cũng dùng toán học để tính ra xác suất xuất hiện của các đặc tính đó trong... viện là tài liệu hướng dẫn và các ví dụ mẫu thể hiện một phần các chức năng của công cụ OpenCV Các chức năng của openCV tập trung vào thu thập ảnh, xử lí ảnh và các thuật toán phân tích dữ liệu ảnh, bao gồm: - Truy xuất ảnh và phim: đọc ảnh số từ camera, từ file, ghi ảnh và phim - Cấu trúc dữ liệu ảnh số và các dữ liệu hỗ trợ cần thiết: ma trận, vector, chuỗi, xâu và cây - Xử lí ảnh căn bản: các bộ lọc... trúc và nội dung OpenCV như thế nào? Để hiểu OpenCV làm việc như thế nào chúng ta bắt đầu từ sự phân chia cấu trúc và nội dung của OpenCV ở 5 phần Cấu trúc của openCV được chia làm 5 phần chính, 4 trong số đó được chỉ ra trong hình 2.2 CV MLL HighGUI Xử lý ảnh và thuật toán về thị giác máy Thống kê và tập hợp các công cụ xử lý Giao diện, truy xuất ảnh và video CXCORE Cấu trúc cơ sở và các thuật toán, ... phức tạp và lập trình tốn bộ nhớ của chương trình, tỷ lệ trượt cao vì khó chọn ra đặc tính của đối tượng và chỉ phù hợp với 1 đối tượng được lập trình từ trước, khi bám đối tượng khác thì phải lập trình và lấy lại đặc tính cho đối tượng mới Phương pháp Correlation-base template matching là phương pháp so sánh với một ảnh hoặc thư viện mẫu có sẵn (template), do vậy phải dùng toàn bộ ảnh của đối tượng chứ... này sẽ được xử lý để khôi phục lại hình ảnh của đối tượng thông qua thiết bị chuyên dụng chuyển đổi 12 Hình 1.11: Cảm biến CCD Có thể nói rằng, khối cảm biến hình ảnh có thể sử dụng các cảm biến màu sắc hoặc camera, tuy nhiên có thể khẳng định rằng, khối này có ảnh hưởng rất lớn đến chất lượng và tốc độ của một hệ bám ảnh Vì tốc độ thu thập dữ liệu để gửi về bộ vi xử lý rất quan trọng, nó ảnh hưởng... chứ không phải dùng một số điểm ảnh như các thuật toán khác, đồng thời không dùng các thông tin chuyển động, tính toán nhiều hơn nên khối lượng chương trình rất lớn Thuật toán Meanshift được phát triển từ phương pháp Gauss dùng ước lượng đối tượng trên một cửa sổ ảnh cố định, chia ảnh của đối tượng thành các ma trận điểm ảnh (pixel) sau đó thực hiện ước lượng các điểm ảnh này bằng phương pháp Gauss,... Histogram có thể sử dụng để chỉ ra sự khác nhau giữa các đối tượng và chỉ ra xác suất phân bố màu sắc Thực hiện quá trình tạo Histogram liên tiếp và quan sát nếu thấy Histogram nào gần giống với Histogram của đối tượng nhất thì sẽ được chọn, đây cũng chính là một trong những yếu tố cần thiết trong thuật toán bám ảnh của công nghệ xử lý ảnh nói chung và thư viện OpenCV nói riêng 30 Hình 3.3: Histogram . gian nghiên cứu về xử lý ảnh và nhận dạng ảnh hay nói đúng hơn là thuật toán xử lý ảnh bám đối tượng – Tracking. Những nội dung mà em nghiên cứu được ở đây bao gồm: • Nghiên cứu tổng quan về xử. thực hiện Hà Tiến Thanh 3 Chương 1: TỔNG QUAN VỀ XỬ LÝ ẢNH VÀ HỆ THỐNG BÁM ĐỐI TƯỢNG 1.1Tổng quan về xử lý ảnh Xử lý ảnh bao gồm lý thuyết và các kỹ thuật liên quan nhằm mục đích tạo ra một hệ. Nghiên cứu tổng quan về xử lý ảnh số và hệ bám đối tượng • Tìm hiểu và nghiên cứu về thư viện mã nguồn mở OpenCV trên nền C • Nghiên cứu và xây dựng thuật toán bám ảnh di động tối ưu dựa trên
Ngày đăng: 13/05/2014, 13:33
Xem thêm: nghiên cứu về xử lý ảnh và thuật toán xử lý ảnh bám đối tượng, nghiên cứu về xử lý ảnh và thuật toán xử lý ảnh bám đối tượng