THIẾT kế hệ THỐNG xử lý ẢNH số TRÊN nền FPGA

84 550 1
THIẾT kế hệ THỐNG xử lý ẢNH số TRÊN nền FPGA

Đ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

Ketnooi.com k t n i công dân n t ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN – BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG THIẾT KẾ HỆ THỐNG XỬ LÝ ẢNH SỐ TRÊN NỀN FPGA Nhóm sinh viên thực hiện: Ngô Hải Bắc Đỗ Trung Hiếu Lớp Điều khiển tự động – K48 Giáo viên hướng dẫn: HÀ NỘI - 2008 Ts Lưu Hồng Việt Ketnooi.com k t n i công dân n t Lời cảm ơn Trước hết, chúng em xin gửi lời cảm ơn sâu sắc đến thầy giáo TS Lưu Hồng Việt, người giúp đỡ nhiều định hướng nghiên cứu, thiết bị thí nghiệm phục vụ cho nghiên cứu Chúng em xin chân thành cảm ơn thầy cô giáo giảng dạy chúng em, đặc biệt thầy cô giáo Bộ môn Điều khiển tự động – Khoa Điện, TS Phạm Ngọc Nam – Phó Trưởng môn Điện tử - Tin học – Khoa Điện tử Viễn Thông – Trường Đại học Bách Khoa Hà Nội tạo điều kiện giúp đỡ chúng em hoàn thành đồ án tốt nghiệp Xin chân thành cảm ơn Dave Vanden Bout, kĩ sư công ty XESS Corporation trả lời tận tình thắc mắc chúng em KIT XSA3S1000 XST-3.0 Và cuối cùng, chúng em xin dành tất lòng biết ơn kính trọng sâu sắc tới bố mẹ chúng em, người sinh thành, nuôi dưỡng chúng em nên người, lo lắng, bảo từ việc nhỏ nhất, tạo điều kiện cho chúng em sống học tập cách tốt để vươn tới ước mơ hoài bão Mặc dù nỗ lực cố gắng để hoàn thành luận văn tốt nghiệp này, song chắn tránh khỏi sai sót Vì vậy, chúng em mong bảo thầy cô giáo để đề tài tốt nghiệp hoàn thiện Ketnooi.com k t n i công dân n t Mục lục Lời cảm ơn Mục lục Danh mục hình vẽ đồ án tốt nghiệp Mở đầu Phần : Cơ sở lý thuyết xử lý ảnh số 10 1.1 Khái quát hệ thống Thị giác máy tính Cảm biến thị giác 10 1.3 Các thành phần hệ thống xử lý ảnh: 16 1.3.1 Thành phần thu thập ảnh, Camera vấn đề định dạng ảnh 16 1.3.2 Thành phần xử lý ảnh 17 1.4 1.3.2.1 Các khái niệm xử lý ảnh số 17 1.3.2.2 Các thuật toán xử lý ảnh số 18 Một số giải pháp phần cứng cho hệ thống thị giác máy 28 FPGA 28 DSP Processor 28 Mainboard, laptop 29 Phần : Khái quát FPGA mạch phát triển XST 3S1000 XESS 31 2.1 Giới thiệu chung FPGA ngôn ngữ VHDL 31 2.1.1 Khái niệm ứng dụng FPGA 31 2.1.2 Kiến trúc FPGA 32 2.1.2.1 Kiến trúc chung FPGA 32 Configurable Logic Blocks (CLBs) 33 Configurable I/O Blocks 34 Programmable Interconnect 34 Mạch đồng hồ (Clock Circuitry ) 35 2.1.2.2 So sánh cấu trúc nhỏ cấu trúc lớn 36 2.1.2.3 So sánh SDRAM Programming Anti-fuse programming 36 2.1.2.4 Cấu trúc FPGA Spartan 37 2.1.3 Trình tự thiết kế chip 38 Ketnooi.com k t n i công dân n t Ghi đặc điểm kĩ thuật 39 Chọn công nghệ 40 Chọn hướng tiếp cận thiết kế 40 Chọn công cụ tổng hợp 40 Thiết kế chip 41 Mô – nhìn tổng quan thiết kế 41 Tổng hợp 41 Place and Route 41 Mô lại – tổng quan cuối 42 Kiểm tra 42 2.1.4 Ngôn ngữ mô tả phần cứng VHDL 42 Trình tự thiết kế chíp dựa VHDL 43 2.2 Giới thiệu mạch phát triển XST 3S 1000 hãng XESS 44 2.2.1 XSA-3S1000 45 2.2.2 XST-3.0 (XStend Board) 46 2.3 Giới thiệu hãng Xilinx công cụ lập trình: 49 Hãng Xilinx 49 ISE 9.2 49 LogicCore 9.2 49 EDK 9.2 50 System Generator 9.2 50 Phần : Xây dựng hệ thống xử lí ảnh động FPGA 51 3.1 Sơ đồ cấu trúc hệ thống xử lí ảnh động 51 3.2 Xây dựng hệ thống thu thập, lưu trữ, xử lý hiển thị ảnh 53 3.2.1 Thành phần thu thập ảnh Framegrabber 53 3.2.2 Lưu liệu từ Framegrabber vào SDRAM 55 3.2.3 Các chế ghi đọc SDRAM: SDRAM Controller, Dual Port SDRAM 55 SDRAM Controller 55 Pipeline Read Operation 56 Pipeline Write Operation 56 Dualport Module for the SDRAM Controller 58 Ketnooi.com k t n i công dân n t 3.2.4 Image Processing core 60 3.2.5 Hiển thị ảnh lên VGA: VGA Generator 67 VGA Color Signals 67 VGA Signal Timing 68 Nguyên tắc hoạt động VGA Generator 69 3.2.6 Picoblaze hệ thống điều khiển trung tâm 71 3.2.6.1 Khái quát PicoBlaze 71 KCPSM3 Module 73 Kết nối với nhớ ROM chương trình 73 3.2.6.2 Sơ đồ cấu trúc khối xử lý trung tâm 75 Thuật toán chương trình 75 3.3 Thiết kế giao diện điều khiển hệ thống 76 Chức 77 3.4 Mô kết 77 Phương án mô 77 Kết 78 Kết luận 79 Tài liệu tham khảo 82 Ketnooi.com k t n i công dân n t Danh mục hình vẽ đồ án tốt nghiệp Hình 1.1 Một tay máy thực gắp đối tượng với trợ giúp hệ thống thị giác máy tính Hình 1.2 Các bước xử lý ảnh số Hình 1.3 Những kiểu liên kết điểm ảnh Hình 1.4 Những kiểu đường liên kết điểm ảnh Hình 1.5 Kết phép lọc Gaussian với cửa sổ 3x3 Hình 1.6 Kết thuật toán dò biên Hình 1.7 Phân ngưỡng theo lược đồ xám Hình 1.8 Loại bỏ nhiễu khôi phục đối tượng trình làm mảnh-làm đầy Hình 1.9 Sơ đồ thuật toán gán nhãn đối tượng Hình 2.1 Kiến trúc chung FPGA Hình 2.2 Một Logic Block điển hình Hình 2.3 Configurable Logic Blocks Hình 2.4 Programmable Interconnect Hình 2.5 Cấu trúc thành phần Spartan 3A Hình 2.6 Design Flow Hình 2.7 Qui trình thiết kế chip dựa VHDL Hình 2.8 KIT XSA-3S1000 Hình 2.9 Sơ đồ cấu trúc XSA-3S1000 Hình 2.10 XST-3.0 Board Hình 2.11 XST-3S1000 Hình 3.1 Một ảnh cần xử lý Hình 3.2 Sơ đồ chung hệ thống Hình 3.3 Pixel stream waveform Hình 3.4 Framegrabber state machine Hình 3.5 Pipelined Read Operation timing waveforms Hình 3.6 Pipelined Write Operation timing waveforms Hình 3.7 Ghép nối với SDRAM Controller Hình 3.8 Ghép nối dualport với SDRAM Controller Hình 3.9 Xây dựng ports SDRAM interface Hình 3.10 Sơ đồ khối xử lý ảnh Hình 3.11 Khối ghi liệu từ read_fifo vào Buffer Ketnooi.com k t n i công dân n t Hình 3.12 Khối thuật toán xử lý ảnh Hình 3.13 Cơ chế ghi đọc buffer Hình 3.14 Khối đọc liệu từ buffer Hình 3.15 Sơ đồ khối ghi dịch Pixel register Hình 3.16 Cấu trúc nhân chập Hình 3.17 Cấu trúc xử lý đồng cấu ảnh nhị phân Hình 3.18 Khối gán nhãn đối tượng Hình 3.19 VGA Connection Hình 3.20 màu Hình 3.21 CRT Display Timing Example Hình 3.22 640 x 480 Mode VGA Control Timing Hình 3.23 Sơ đồ khối cấu trúc VGA Generator Hình 3.24 Sơ đồ khối cấu trúc PicoBlaze Hình 3.25 Sơ đồ cấu trúc PicoBlaze Microcontroller Hình 3.26 Sơ đồ khối điều khiển trung tâm giao tiếp UART Hình 3.27 Giao diện điều khiển Ketnooi.com k t n i công dân n t Mở đầu Thị giác máy lĩnh vực phát triển Khái niệm 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 toá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 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à Mục đích đồ án nghiên cứu khái niệm Thị giác máy tính xử lý ảnh số Đồng thời sở đó, chúng em xây dựng hệ thống cảm biến thị giác phần cứng vi mạch khả trình FPGA Cảm biến thực chức sở cảm biến thị giác : tiếp nhận thông tin từ hình ảnh thu để xử lý phục vụ cho trình phân tích cao Ketnooi.com k t n i công dân n t Trong phần đồ án, chúng em đề cập đến khái niệm hệ thống thị giác máy tính, ứng dụng thành phần Đồng thời chúng em trình bày sở kiến thức xử lý ảnh số dùng việc xây dựng hệ thống cảm biến thị giác Trong phần 2, chúng em trình bày khái niệm chip khả trình FPGA, hãng Xilinx công cụ lập trình phát triển hệ thống với FPGA Chúng em đề cập đến vi mạch tích hợp XST 3S 1000 hãng XESS, sử dụng đồ án Phần 3, chúng em trình bày phương án thực thi hệ thống thị giác máy FPGA Việc xây dựng thành phần thu thập ảnh, lưu trữ ảnh, xử lý ảnh thị ảnh mạch tích hợp XST 3S 1000 đề cập chi tiết phần Trong phần này, chúng em trình bày phương án chạy mô kiểm tra hoạt động hệ thống Và cuối cùng, chúng em tổng kết kết đạt được, ưu điểm, nhược điểm giải pháp, hiệu giải pháp hướng phát triển Ketnooi.com k t n i công dân n t Phần : Cơ sở lý thuyết xử lý ảnh số 1.1 Khái quát hệ thống Thị giác máy tính Cảm biến thị giác Theo định nghĩa từ [1] : Hệ thống thị giác - bao gồm thị giác máy (machine vision) thị giác máy tính (computer vision)- hệ thống tiếp nhận thông tin từ cảm biến thị giác (vision sensor) với mục đích cho phép máy móc đưa định thông minh Thị giác máy tính ngành khoa học phát triển Mặc dù có ứng dụng xử lý ảnh số thập niên đầu kỉ XX vào số lĩnh vực, phải đến năm 1970, nghiên cứu lĩnh vực bắt đầu máy tính quản lý trình xử lý lượng lớn liệu ảnh số Lĩnh vực nghiên cứu thị giác máy rộng, đặc điểm chung toán thị giác máy tính đề chung cách giải Mỗi giải pháp giải vấn kết định cho trường hợp cụ thể Ta thấy tương quan Computer vision với lĩnh vực khác sau: 10 sync generator có đầu tín hiệu gate chu kì trùng khớp với sườn lên xung đồng ngang ( horizontal sync pulse), tín hiệu gate nối với tín hiệu clock-enable vertical sync generator nên clock-enable cập nhật đếm thời gian sau dòng pixel (line of pixels) Tín hiệu gate vertical sync generator dùng tín hiệu báo kết thúc frame cho khối liệu pixel bên ngoài, đồng thời reset xóa toàn nội dung pixel buffer nên VGA generator khởi động từ trạng thái xóa hoàn toàn với frame Bộ tạo tín hiệu đồng tạo tín hiệu horizontal vertical blanking Khi dùng phép toán OR logic ta tín hiệu blanking toàn cục Các tín hiệu blanking kết hợp với bit có trọng số thấp đếm horizontal pixel counter để xác định đọc pixel từ đệm Ví dụ, pixel có độ rộng 16 bit, từ 16 bit cần đọc sau chu kì clock Vì nên hoạt động đọc khởi tạo tín hiệu video không trống bit thấp đếm pixel Hình 3.23 : Sơ đồ khối cấu trúc VGA Generator 70 Tín hiệu full signal gửi nguồn liệu pixel bên để báo cho biết dừng việc điền liệu vào đệm Với đệm FIFO 256, tín hiệu full lên cao bit cao tín hiệu FIFO level 11111 Khiến cho bỏ trống bit FIFO để điền pixel nguồn liệu bên chót gửi liệu vào pipe Đây gọi chế đệm an toàn 3.2.6 Picoblaze hệ thống điều khiển trung tâm 3.2.6.1 Khái quát PicoBlaze Vi điều khiển PicoBlaze vi điều khiển nhúng bit có cấu trúc RISC tối ưu phát triển cho họ FPGA Spartan 3, Virtex II Virtex II Pro Xilinx Với vi điều khiển làm điều khiển dựa vi điều khiển hiệu quả, hay xử lý liệu đơn giản Vi điều khiển PicoBlaze tối ưu mặt hiệu suất chi phí phát triển thấp Nó chiểm khoảng 96 FPGA slices, hay 12.5% XC3S50 FPGA chiếm phần nhỏ mức 0.3% XC3S5000 FPGA Bình thường block RAM FPGA lưu trữ tới 1024 câu lệnh chương trình (program instructions) lệnh tự động load cấu hình FPGA, vi điều khiển PicoBlaze hoạt động từ 44000 tới 100000 câu lệnh giây (MIPS – million instructions per second) tùy thuộc vào họ FPGA dùng loại tốc độ họ Nhân vi điều khiển PicoBlaze nhúng hoàn toàn FPGA không cần nguồn thêm Đơn giản ngoại vi PicoBlaze tự lựa chọn cho phù hợp với mục đích đặc biệt, chức yêu cầu giá sản phẩm cuối PicoBlaze nhúng vào dạng mã nguồn VHDL nhúng vào đời FPGA sau project có tính kế thừa cao Được nhúng FPGA, vi điều khiển PicoBlaze giảm kích thước mạch, giá thiết kế thực PicoBlaze FPC hỗ trợ số công cụ phát triển phù hợp bao gồm assembler môi trường phát triển đồ họa tích hợp (IDE – integrated development environment), graphical instruction set simulator mã nguồn 71 VHDL khối mô Và đơn giản vi điều khiển PicoBlaze hỗ trợ môi trường phát triển Xilinx System Generator hay ISE Hình 3.24 : Sơ đồ khối cấu trúc PicoBlaze Vi điều khiển PicoBlaze có đặc điểm sau:  16 ghi liệu chức chung có độ rộng bit  Lưu trữ 1K lệnh chương trình có thê lâp trình chip tự động nạp cấu hình FPGA hay khởi động FPGA  Khối tính toán logic (Arithmetic Logic Unit – ALU) với cờ CARRY ZERO  Một bảng RAM 64 byte  256 đầu vào 256 đầu dễ dàng mở rộng thêm  Automatic 31 location CALL/RETURN stack  Predictable performance, luôn dùng xung nhịp hệ thống cho câu lệnh, đạt tới 200 MHz 100 MIPS Virtex – II Pro FPGA  Đáp ứng ngắt nhanh; worst-case clock cycles  Được tối ưu cho cấu truc Spartan – 3, Virtex II, Virtex II Pro FPGA Xilinx chiếm 96 slices 0.5 tới block RAM  Hỗ trợ mô tệp lệnh assembler Vi điều khiển PicoBlaze cung cấp file nguồn VHDL gọi KCPSM3.vhd, tối ưu việc thực thi hiệu chắn họ Spartan-3, Virtex-II hay Vertex-II Pro Các mã nguồn phù hợp với trình tổng hợp mô phát triển kiểm tra dùng công cụ 72 Xilinx Synthesizs Tool (XST) cho tổng hợp logic ModelSim cho mô Các nhà thiết kế thành công dùng công cụ tổng hợp logic mô khác Các mã nguồn VHDL không nên bị chỉnh sửa hoàn cảnh KCPSM3 Module Module KCPSM3 bao gồm ALU, register file, scratchpad RAM, … Chỉ chức không nằm KCPSM3 nhớ chương trình Khai báo component gắn chân sau: Kết nối với nhớ ROM chương trình 73 Bộ nhớ ROM chương trình PicoBlaze dùng thiết kế VHDL Từ file assembler tạo file VHDL, định nghĩa block RAM khởi tạo nội dung cho RAM File VHDL dùng cho tổng hợp logic mô vi điều khiển Sau khai báo component gán thực thể nhớ chương trình FPGA: Do đó, sơ đồ cấu trúc vi điều khiển PicoBlaze sau: Hình 3.25: Sơ đồ cấu trúc PicoBlaze Microcontroller Để viết mã lệnh cho chương trình (với tên mở rộng psm) dùng trình soạn thảo để lập trình dựa theo 31 lệnh cung cấp Và dùng file thực thi KCPSM3.exe form định nghĩa sẵn 74 ROM dạng file vhd, coe, v để dịch file vhd, v cho vào chương trình FPGA Để phối hợp hoạt động tất thành phần trên, đảm bảo hệ thống hoạt động xác, ta phải có hệ thống điều khiển trung tâm Trong đồ án này, chúng em sử dụng vi xử lý nhúng có tên PicoBlaze để điều khiển hoạt động khối xử lý FPGA, đồng thời giao tiếp với máy tính thông qua cổng RS232 khối điều khiển giao tiếp RS232 : UART Controller 3.2.6.2 Sơ đồ cấu trúc khối xử lý trung tâm Sơ đồ cấu trúc khối xử lý dùng PicoBlaze: Hình 3.26 : Sơ đồ khối điều khiển trung tâm giao tiếp UART Ngoài vi điều khiển PicoBlaze, có sử dụng thêm component UART Receive UART Transmit Hai component cung cấp miễn phí Xilinx, bao gồm đệm tín hiệu trạng thái để giao tiếp với cổng RS232 Vi điều khiển PicoBlaze có nhiệm vụ nhận lệnh điều khiển từ chương trình PC lệnh điều khiển để capture ảnh từ camera tín hiệu lựa chọn thuật toán kích hoạt khối xử lý frame ảnh lưu SDRAM, đồng thời nhận tín hiệu done báo giao diện để biết thuật toán xử lý xong Thuật toán chương trình 75 Chương trình luôn nhận kí tự từ giao diện người dùng kiểm tra xem gửi lệnh với cú pháp Ví dụ: lệnh bắt đầu chữ ‘C’ dùng để capture ảnh, bắt đầu chữ M để chọn thuật toán xử lý M1 để lọc nhiễu, M2 để phân vùng, … tín hiệu điều khiển tương ứng vào chân Algorithm Selection khối xử lý ảnh Khối xử lý ngắt kích hoạt có tín hiệu done từ xử lý ảnh xóa tín hiệu kích hoạt khối xử lý ảnh gửi messenger lên PC 3.3 Thiết kế giao diện điều khiển hệ thống Giao diện chương trình xây dựng GUI (Graphic User Interface) Matlab R2007a Giao diện chương trình điều khiển hình vẽ Giao diện thay đổi thời điểm bảo vệ Hình 3.27 : Giao diện điều khiển 76 Chức Chọn thông số cổng RS232 để thiết lập giao tiếp RS232 với mạch phần cứng bên Mặc định chọn cổng COM1, tốc độ 115200 Có thể lựa chọn kết nối ngắt kết nối với RS232, có hộp thoại hiển thị trạng thái giao tiếp RS232 Kích hoạt chip Video Decoder mạch phần cứng qua nút I2C để giao tiếp I2C với chip qua cổng LPT Mặc định chọn cổng LPT1, phát triển thêm để lựa chọn cổng LPT khác Cho phép download trực tiếp file cấu hình cho FPGA Flash qua cổng LPT, nhờ nút bấm phần LPT FPGA Programming Cho phép lựa chọn thuật toán thực có led hiển thị số thứ tự thuật toán tương ứng Do chưa có tên cụ thể thuật toán cụ thể nên đặt tên thuật toán 1, thuật toán 2, … Mỗi kết thúc thuật toán có điện thông báo thực thành công Cho phép kích hoạt để capture ảnh từ camera tự lên hình VGA Đang phát triển để thực lựa chọn capture ảnh chụp liên tục khoảng 30 hình/s 3.4 Mô kết Phương án mô Yêu cầu toán mô phỏng: thực tốt thuật toán xử lý ảnh để đếm số vật frame, định vị vật Phương án mô thực sau: dùng camera chiếu vào bảng mầu (đen) có vật có kích thước khác Khi đó, dùng chương trình giao tiếp PC để điều khiển camera capture ảnh rõ nét, sau tiến hành thực thuật toán theo trình tự định xác định số vật Từng kết chạy thuật toán hiển thị trực tiếp hình VGA 77 Trình tự thực sau:  Thuật toán : Lọc ảnh phép lọc Gausse, đồng thời tính ngưỡng trung bình  Thuật toán : Phân ngưỡng ảnh theo thuật toán phân ngưỡng, sử dụng ngưỡng vừa tính  Thuật toán : Làm mảnh  Thuật toán : Làm đầy, khôi phục ảnh  Thuật toán : Thực gán nhãn đối tượng, hiển thị số đối tượng frame  Thuật toán : Tính toán đặc tính đối tượng, đồng thời đối tượng lên., hiển thị đặc tính đối tượng cần xác định giao diện Hoàn thành lượt mô Kết Kết mô cho thấy việc thực thi thuật toán thiết kế hệ thống thực mong muốn Việc phần vùng đánh nhãn ảnh thành công Tuy nhiên, ảnh có nhiễu tương đối lớn ( độ dày khoảng pixel ) cần nhiều trình làm mảnh liên tiếp xóa bỏ hoàn toàn nhiễu 78 Kết luận Trong giải pháp phần cứng cho việc xây dựng hệ thống thị giác máy tính, thầy FPGA giải pháp phù hợp Với FPGA, thiết kế hệ thống theo khối hoạt động song song, cho phép tăng tốc độ xử lý lên nhiều lần so với xử lý Điều quan trọng hệ thống đòi hỏi tốc độ xử lý nhanh, chẳng hạn cánh tay robot gắp đồ vật chuyển động nhanh Trong đồ án này, chúng em thực thi thành công hệ thống thị giác máy với nhiệm vụ tách đối tượng ảnh, gán nhãn xác định đặc trưng hình học đối tượng Với khả xử lý vậy, chúng em nhận thấy hoàn toàn mở rộng đề tài giải toán xử lý nâng cao :  Nhận dạng : dựa đặc trưng hình học đối tượng, ta nhân dạng đối tượng, phục vụ cho toán nhân dạng đồ vật chữ số sau Việc nhận dạng mạng neural xây dựng trực tiếp FPGA, cách tạo neural đơn vị xử lý kết nối với  Xác định đối tượng chuyển động: Đối tượng xử lý đối tượng tĩnh, camera truyền ảnh liên tục đối tượng Nếu kết hợp trình xử lý thời điểm khác nhau, ta giải toán xác định đối tượng chuyển động tốc độ chuyển động Việc giải toán có ý nghĩa thực tiễn lớn cấu bám đối tượng chuyển động  Xác định khoảng cách vật không gian : Mạch XST 3S 1000 có cổng video Thêm vào đó, project chưa chiếm hết nửa tài nguyên hệ thống, thêm project nữa, ta tận dụng tài nguyên cũ Do hoàn toàn thực thi hệ thống với camera hoạt động Điều cho phép ta quan sát đối tượng không gian 3D, chí xác định hình dạng, kích thước thể tích chúng Ta xác định khoảng cách đối tượng không gian kết hợp kết xử lý với phép tính quang học xác Xa nữa, ta hoàn toàn xây dựng hệ thống thị 79 giác máy giúp cho việc di chuyển xe tự hành thao tác hệ thống CNC vật thể chiều  Mở rộng khả giao tiếp cảm biến thị giác để phù hợp với nhiều chuẩn không riêng RS232: chuẩn Ethernet, USB, CAN, RS 485 giúp cho thiết bị dễ dàng tích hợp vào hệ thống điều khiển phân tán thật  Cải thiện thuật toán nhằm làm tăng khả xử lý, chất lượng ảnh sau tiền xử lý Đó ứng dụng có giá trị thực tiễn nhiều lĩnh vực, đặc biệt Tự động điều khiển, có khả thực thi sâu nghiên cứu Qua trình thực đồ án này, chúng em cảm thấy học nhiều điều Đó kỹ tự nghiên cứu lĩnh vực mẻ sinh viên Điều khiển tự động : Xử lý ảnh số, Thị giác máy tính công nghệ FPGA, tảng kiến thức sở học nhà trường Đó kỹ làm việc theo nhóm : cách phân công tương đối hợp lý, chúng em chia tách công việc cách cân bằng, đảm bảo người phát huy hết sở trường mình, để thực đồ án cách tốt khả Đây kỹ quan trọng cho công việc kĩ sư sau Đó kỹ trình bày ý tưởng , hiểu biết kiến thức vào đồ án, nhằm truyền tải cách đầy đủ hiểu lĩnh vực mà nghiên cứu Cuối cùng, phải nói dù cố gắng nhiều, chúng em không tránh khỏi sai sót, việc xây dựng hệ thống, việc trình bày luận văn Nhưng chúng em ý thức rằng, sai sót hội cho chúng em rèn luyện kỹ : kỹ sửa chữa sai sót khiếm khuyết, để thực đề tài, dự 80 án sau cách hoàn chỉnh Đó tất nhờ theo dõi, hướng dẫn , phản biện tận tình nghiêm túc thầy, cô hội đồng bảo vệ Chúng em xin chân thành cảm ơn thầy cô tận tụy ấy! 81 Tài liệu tham khảo [1] Volnei A Pedroni, Circuit Design with VHDL, MIT Press Cambridge, Massachusetts London, England, 2004 [2] Texas Instruments, TVP5150PBS Ultralow-Power NTSC/PAL Video Decoder, Texas Instruments Incorporated, May 2006 [3] D Vanden Bout, XSA Board SDRAM Controller, XESS Corporation, July 12, 2005 [4] D Vanden Bout, VGA Generator for the XSA Boards, XESS Corporation, October 12, 2004 [5] D Vanden Bout, Dualport Module for the SDRAM Controller, XESS Corporation, July 12, 2005 [6] Karthikeyan Palanisamy, Interfacing Spartan-3 Devices with 166 MHz or 333 Mb/s DDR SDRAM Memories, Xilinx Corporation, October 14, 2004 [7] Anil K.Jail , Fundamentals Digital Image Processing, University of California [8] Xilinx Ltd, PicoBlaze 8-bit Embedded Microcontroller User Guide UG129, www.xilinx.com, November 21, 2005 [9] Xilinx Ltd, Spartan-3E Starter Kit Board User Guide UG230 (v1.0), www.xilinx.com , March 9, 2006 [10] Xilinx Ltd, Chapter – Implementing DDR SDRAM Controller – MIG User Guide UG086 (V2.0), www.xilinx.com, September 18, 2007 [11] Xilinx Ltd, System Generator for DSP Userguide Release 9.2.00, www.xilinx.com, August 2007 [12] Xilinx Ltd, System Generator for DSP Reference Guide Release 9.2.00, www.xilinx.com, August, 2007 82 [13] Xilinx Ltd, System Generator for DSP Getting Started Guide Release 9.2.00, www.xilinx.com, August, 2007 [14] Gregory K.McMillan, Douglas M.Considine, Process/Industrial Instruments and Controls Handbook, McGraw-Hill, 1999 [15] O.Gassman, H.Meixner, Sensors in Intelligent buildings, Wiley-VHC, 2001 [16] Trung tâm công nghệ FPT, Giới thiệu giải pháp phần cứng cho toán thị giác máy Linux nhúng [17] Nguyễn Đức Thành, Nguyễn Đức Minh, Computer Vision using Neural Network, Application for Robot Manipulator Control, Bộ Môn Điều khiển tự động, khoa Điện-Điện tử, Đại học Bách Khoa Thành phố Hồ Chí Minh, 2004 [18] Anthony Edward Nelson, Implementation of Image Processing Algorithms on FPGA Hardware, Nashville, 2000 [19] Bruce Draper, Walid Najjar, Wim Böhm, Jeff Hammes, Bob Rinker, Charlie Ross, Compiling and Optimizing Image Processing Algorithms for FPGA’s, Colorado State University, 2000 [20] Ben Cope, Implementation of 2D Convolution on FPGA, GPU and CPU, Imperial College London, 2000 [21] Bill Silver , An Introduction to Digital Image Processing, Cognex Corporation, 2000 [22] Richard G Shoup, Parameterized Convolution Filtering in a Field Programmable Gate Array, California, 2000 [23] Chi-Jeng Chang, Pei-Yung Hsiao, Zen-Zi Hoang, Intergrated Operation of Image Capturing in FPGA, Chang Gung University, Tao-Yuan, Taiwan, 2006 [24] Anil K.Jail , Fundamentals Digital Image Processing, University of California 83 Các nguồn tham khảo Internet [1] http://tech.groups.yahoo.com/group/xsboard-users/ : thảo luận XESS Board group thiết kế hệ thống nhúng dùng board XESS Trưởng nhóm D Vanden Bout có nhiều viết hay Nhóm chúng em hỗ trợ tận tình từ phía Dave [2] http://www.xilinx.com/: Trang web cung cấp công cụ, hướng dẫn để thực thi FPGA 84 [...]... những lý do đó, hệ thống thị giác máy và cảm biến thị giác đang ngày càng được ứng dụng nhiều trong những hệ thống phức tạp và hiện đại, hoạt động liên tục và đòi hỏi yêu cầu về độ chính xác và xử lý thông tin cao 1.2 Khái quát quá trình xử lý ảnh số trong hệ thống thị giác máy tính Hệ thống thị giác máy tính bao gồm nhiều lĩnh vực, trong đó xử lý ảnh số đóng một vai trò quyết định 13 Hệ thống xử lý ảnh. .. cho một hệ thống xử lý ảnh số như : Main công nghiệp, Single Board Computer(SBC) sử dụng Single on Chip (SoC) Trong đồ án này, chúng em sử dụng giải pháp là vi mạch khả trình FPGA để xây dựng toàn bộ hệ thống xử lý ảnh và điều khiển trung tâm Mục đích của đề tài là xây dựng một hệ thống xử lý ảnh trên nên FPGA, trong đó thực hiện được một số thuật toán cơ bản như lọc, phân ngưỡng, phân vùng, xử lý đồng... Các thành phần của hệ thống xử lý ảnh: 1.3.1 Thành phần thu thập ảnh, Camera và vấn đề định dạng ảnh Giới thiệu chung về camera : Trong hệ thống xử lý ảnh số, camera là một thiết bị rất quan trọng có chức năng quan sát và thu nhận ảnh đầu vào của hệ thống Nó thường được coi là hộp đen trong đó có các quá trình biến đổi để chuyển một ảnh thành dạng lưu trữ trong máy tính Các bước xử lý này bao gồm sự... 13 Hệ thống xử lý ảnh số bao gồm một phạm vi rộng các kiến thức về phần cứng, phần mềm và cơ sở lý thuyết Các bước cơ bản của xử lý ảnh số được mô tả trong sơ đồ dưới đây: Phân vùng, phân ngưỡng Biểu diễn Tiền xử lý Cơ sở kiến thức Xử lý và nhận dạng Thu nhận ảnh Hình 1.2 : Các bước cơ bản của xử lý ảnh số Thu thập ảnh( image acquision) : Ảnh số được thu thập bằng một cảm biến ảnh có khả năng biến thông... độ và hiệu suất xử lý, đòi hỏi những nền phần cứng đủ mạnh với khả năng xử lý và tính thời gian thực cao Dưới đây là một số giải pháp phần cứng thường được sử dụng cho một hệ thống xử lý ảnh số FPGA Đây là giải pháp về phần cứng mà hay được sử dụng hiện nay Tận dụng đặc tính của FPGA là linh hoạt và tốc độ xử lý nhanh (cứng hoá các giải thuật), đặc biệt với khả năng xử lý song song, FPGA rất phù hợp... trữ và xử lý Các chuẩn video thường gặp như IUT-R-BT 656, 601 Tiền xử lý ảnh : Sau khi ảnh số được thu thập dưới dạng tín hiệu số, cần phải trải qua giai đoạn tiền xử lý Chức năng chủ yếu của tiền xử lý là cải thiện ảnh, nâng cao các tính chất của ảnh giúp cho các quá trình xử lý về sau 14 được thuận tiện hơn Các công đoạn cơ bản của tiền xử lý là : nâng cao độ tương phản, lọc nhiễu Phân vùng ảnh: ... xử lý cao hơn Đầu ra của quá trình phân vùng ảnh là các pixel chưa được lọc, bao gồm liên kết của 1 vùng hoặc tất cả các điểm ảnh trong vùng đó Số liệu này cần được biến đổi thành dạng thích hợp cho máy tính xử lý Phân tích ảnh: đây là giai đoạn xử lý bậc cao trong hệ thống xử lý ảnh số Ảnh sau khi được phân vùng thành các đối tượng riêng biệt, đã được đánh số phân biệt, sẽ được phân tích để phục vụ... hợp Một số kiến trúc FPGA hiện nay còn có thể cho phép cấu hình lại từng phần (partial re-configuration) Có nghĩa là cho phép một phần của thiết kế được cấu hình lại trong khi những thiết kế khác vẫn tiếp tục hoạt động Một ưu điểm khác của FPGA, là người thiết kế có thể tích hợp vào đó các bộ xử lý mềm (soft processor) hay vi xử lý tích hợp (embedded processor) Các vi xử lý này có thể được thiết kế như... ngưỡng, phân vùng, xử lý đồng cấu ảnh nhị phân, đánh nhãn đối tượng và cuối cùng là tính toán các đặc trưng của đối tượng (vị trí, diện tích ) Hệ thống được xây dựng với mục đích thử nghiệm những thuật toán xử lý ảnh số đã được nghiên cứu, sử dụng công nghệ FPGA, đồng thời tạo nền tảng cho hệ thống thị giác máy tính với những thuật toán xử lý cao hơn 30 Phần 2 : Khái quát về FPGA và mạch phát triển XST 3S1000... một hệ thống xử lý thống nhất những thông tin về quá trình và đối tượng công nghiệp Trong lĩnh vực tự động hóa tòa nhà, hệ thống thị giác máy cũng đóng một vai trò ngày càng quan trọng 12 Với sự phát triển của các thuật toán xử lý dữ liệu ảnh, ứng dụng các thành tựu mới nhất của công nghệ xử lý và trí tuệ nhân tạo, các cảm biến thị giác ngày nay có thẻ thực hiện những chức năng thông minh như đếm số

Ngày đăng: 02/06/2016, 09:27

Từ khóa liên quan

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

Tài liệu liên quan