L ời cảm ơn
3.3. Thiết kế giao diện điều khiển hệ thống
Giao diện của chương trình được xây dựng trên nền GUI (Graphic User Interface) của Matlab R2007a.
Giao diện của chương trình điều khiển như hình vẽ dưới. Giao diện này có thể thay đổi tại thời điểm bảo vệ.
Chức năng
Chọn thông sốcủa cổng RS232 đểthiết lập giao tiếp RS232 với mạch phần cứng bên dưới. Mặc định chọn cổng COM1, tốc độ 115200. Có thể lựa chọn kết nối hoặc ngắt kết nối với RS232, có hộp thoại hiển thịtrạng thái của giao tiếp RS232.
Kích hoạt chip Video Decoder trên 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, có thể phát triển
thêm đểlựa chọn các cổng LPT khác nữa.
Cho phép download trực tiếp file cấu hình cho FPGA hoặc Flash qua cổng LPT, nhờcác nút bấm ởphần LPT FPGA Programming.
Cho phép lựa chọn thuật toán thực hiện và có led hiển thị sốthứ tự thuật
toán tương ứng. Do chưa có tên cụthểcủa từng thuật toán cụthể nên mới chỉ đặt tên là thuật toán 1, thuật toán 2, … Mỗi khi kết thúc thuật toán đều có bức
điện thông báo đã thực hiện thành công.
Cho phép kích hoạt để capture ảnh từ camera và tự hiện lên màn hình
VGA. Đang phát triển để thực hiện lựa chọn giữa capture một ảnh và chụp liên tục khoảng 30 hình/s.
3.4. Mô phỏng và kết quả
Phương án mô phỏng
Yêu cầu của bài toán mô phỏng: thực hiện tốt các thuật toán xử lý ảnh để đếm sốvật trên một frame, và định vịtừng vật.
Phương án mô phỏng ở đây được thực hiện như sau: dùng camera chiếu vào một tấm bảng một mầu (đen) có các vật có kích thước khác nhau. Khi đó, dùng chương trình giao tiếp trên PC để điều khiển camera capture một ảnh rõ nét, sau đó tiến hành thực hiện từng thuật toán theo trình tự nhất định và
xác định số vật. Từng kết quảchạy mỗi thuật toán đều hiển thịtrực tiếp trên màn hình VGA.
Trình tự thực hiện như sau:
Thuật toán 1 : Lọc ảnh bằng phép lọc Gausse, đồng thời tính ngưỡng trung bình
Thuật toán 2 : Phân ngưỡng ảnh theo thuật toánphân ngưỡng, sử
dụng ngưỡng vừa tính.
Thuật toán 3 : Làm mảnh.
Thuật toán 4 : Làm đầy, khôi phục ảnh.
Thuật toán 5 : Thực hiện gán nhãn đối tượng, hiển thịsố đối tượng trong frame.
Thuật toán 6 : Tính toán các đặc tính của lần lượt từng đối tượng, đồng thời hiện đối tượng đó lên., hiển thị các đặc tính của đối tượng cần xác định ra giao diện. Hoàn thành lượt mô phỏng.
Kết quả
Kết quả mô phỏng cho thấy việc thực thi các thuật toán và thiết kế hệ
thống thực hiện đúng như mong muốn. Việc phần vùng và đánh nhãn ảnh thành công. Tuy nhiên, nếu ảnh có những nhiễu tương đối lớn ( độ dày khoảng hơn 3 pixel ) thì cần nhiều quá trình làm mảnh liên tiếp mới xóa bỏ hoàn toàn được nhiễu.
Kết luận
Trong các 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, có thể thầy FPGA là một trong những giải pháp phù hợp nhất. Với FPGA, chúng ta có thể thiết kế hệ thống theo từng 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ý tuần tự. Điều này là rất quan trọng đối với những hệ thống đòi hỏi tốc độ xử lý nhanh, chẳng hạn
như những cánh tay robot gắp đồvật đang chuyển động nhanh.
Trong đồ án này, chúng em đã thực thi thành công một hệ thống thị giác máy với nhiệm vụ là tách các đối tượng trong một ảnh, gán nhãn và xác định cácđặc trưng hình học của đối tượng. Với khả năng xửlý như vậy, chúng em nhận thấy hoàn toàn có thể mở rộng đề tài ra giải quyết các bài toán xử lý
nâng cao như :
Nhận dạng : dựa trên các đặc trưng hình học của đối tượng, ta còn có thểnhân dạng đối tượng, phục vụcho bài toán nhân dạng đồvật hoặc chữ
cái và sốvề sau. Việc nhận dạng có thểbằng mạng neural xây dựng trực tiếp trên FPGA, bằng cách tạo ra các neural như các đơn vịxử lý kết nối với nhau.
Xác định đối tượng chuyển động: Đối tượng được xử lý ở đây mới chỉlà
đối tượng tĩnh, trong khi camera truyền ảnh liên tục về đối tượng. Nếu kết hợp các quá trình xửlý trong những thời điểm khác nhau, ta có thể giải quyết
bài toán xác định đối tượng chuyển động và cảtốc độchuyển động của nó. Việc giải quyết bài toán này có ý nghĩa thực tiễn rất lớn đối với các cơ cấu
bám đối tượng chuyển động.
Xác định khoảng cách vật trong không gian : Mạch XST 3S 1000 có 2 cổng video. Thêm vào đó, project của chúng ta chưa chiếm hết một nửa tài nguyên của hệthống, trong khi nếu thêm một project nữa, ta vẫn có thể tận dụng những tài nguyên cũ. Do đó chúng ta hoàn toàn có thểthực thi một hệ
thống với 2 camera cùng hoạt động. Điều này cho phép ta có thểquan sát các
đối tượng trong không gian 3D, thậm chí xác định hình dạng,kích thước và thểtích của chúng. Ta cũng có thể xác định khoảng cách giữa các đối tượng trong không gian nếu kết hợp kết quảxử lý được với các phép tính quang
giác máy giúp cho việc di chuyển của xe tựhành và các thao tác của hệ thống
CNC đối với vật thể 3 chiều.
Mởrộng khả năng giao tiếp của cảm biến thị giác để phù hợp với nhiều chuẩn chứkhông chỉ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 các hệthống điều khiển phân tán thật sự.
Cải thiện các thuật toán nhằm làm tăng khả năng xửlý, chất lượng ảnh sau tiền xử lý.
Đó đều là những ứng dụng rất có giá trị thực tiễn trong nhiều lĩnh vực,
đặc biệt là Tự động điều khiển, và có khả năng thực thi nếu đi sâu nghiên
cứu.
Qua quá trình thực hiện đồ án này, chúng em cảm thấy đã học được rất nhiều điều.
Đó là kỹ năng tựnghiên cứu trong những lĩnh vực còn hết sức mới mẻ đối với sinh viên Điều khiển tự động : đó là Xử lý ảnh số, Thị giác máy tính và công nghệ FPGA, trên nền tảng những kiến thức cơ sở đã học được ở nhà
trường.
Đó là kỹ năng làm việc theo nhóm : bằng cách phân công tương đối hợp
lý, chúng em đã chia tách công việc ra một cách khá cân bằng, đảm bảo mỗi
người phát huy hết sở trường của mình, đểthực hiện đồ án một cách tốt nhất trong khả năng có thể. Đây là một trong những kỹ năng quan trọng nhất cho công việc của một kĩ sư vềsau
Đó là kỹ năng trình bày những ý tưởng , hiểu biết và kiến thức của mình vào một đồ án, nhằm truyền tải một cách đầy đủ nhất có thể những gì mình hiểu vềlĩnh vực mà mình đang nghiên cứu.
Cuối cùng, cũng phải nói rằng dù đã cố gắng rất nhiều, nhưng chúng em
vẫn không tránh khỏi những sai sót, trong việc xây dựng hệthống, trong việc trình bày luận văn. Nhưng chúng em vẫn luôn ý thức được rằng, những sai
án về sau một cách hoàn chỉnh hơn. Đó tất cảlà nhờsự theo dõi, hướng dẫn , phản biện tận tình và nghiêm túc của các thầy, cô trong hội đồng bảo vệ.
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 7 – 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.
[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 bài toán thịgiác máy trên nền 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.
Các nguồn tham khảo trên Internet
[1]. http://tech.groups.yahoo.com/group/xsboard-users/: thảo luận của XESS Board group về thiết kế hệ thống nhúng dùng các board của XESS.
Trưởng nhóm là D. Vanden Bout có rất nhiều bài viết hay. Nhóm chúng emđã được sự hỗtrợtận tình từphía Dave.
[2]. http://www.xilinx.com/: Trang web cung cấp mọi công cụ, hướng dẫn để