Theo tinh thần và tiêu chí trên, đề tài này đã được lựa chọn và từng bước đáp ứng: xây dựng hệ thống các phương trình động học, động lực học, thiết kế hệ thống chuyển động băng chuyền, n
Trang 1621 TRƯỜNG ĐẠI HỌC VINH
KHOA ĐIỆN TỬ - VIỄN THÔNG
- -
ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
ĐỀ TÀI:
THIẾT KẾ HỆ THỐNG ROBOT BÁM MỤC TIÊU TRÊN CƠ SỞ XỬ LÝ ẢNH
Sinh viên thực hiện : Nguyễn Đình Thân
Giảng viên hướng dẫn : KS Đinh Văn Nam
Nghệ An, năm 2015
Trang 2MỤC LỤC
Trang
MỤC LỤC 1
DANH MỤC HÌNH VẼ 4
LỜI CẢM ƠN 6
MỞ ĐẦU 7
TÓM TẮT ĐỒ ÁN 8
CHƯƠNG 1: TỔNG QUAN VỀ ĐỂ TÀI 9
1.1.Giới thiệu về đề tài 9
1.1.1 Lý do chọn đề tài 9
1.1.2 Mục đích chọn đề tài 9
1.1.3 Đối tượng và phạm vi nghiên cứu 9
1.1.4 Ý nghĩa của đề tài 10
1.2 Tổng quan về hệ thống Robot bám mục tiêu 10
1.2.1.Giới thiệu chung về hệ thống Robot 10
1.2.2 Hệ thống Robot bắn bóng bám mục tiêu di động trên cơ sở xử lý ảnh 14
1.3 Tổng quan về công nghệ xử lý ảnh và hệ thống phân loại ảnh 15
1.3.1 Tổng quan về hệ thống xử lý ảnh 18
1.3.1.1 Phần thu nhận ảnh (Image Acquisition) 19
1.3.1.2 Tiền xử lý (Image Processing) 19
1.3.1.3 Phân đoạn (Segmentation) hay phân vùng ảnh 19
1.3.1.4 Biểu diễn ảnh (Image Representation) 19
1.3.1.5 Nhận dạng và nội suy ảnh (Image Recognition and Interpretation 20
1.3.1.6 Cơ sở tri thức (Knowledge Base) 20
1.3.1.7 Mô tả (biểu diễn ảnh) 20
1.3.2 Giới thiệu đôi nét về ảnh và phân loại ảnh 22
1.3.2.1 Ảnh số 22
1.3.2.2 Biểu diễn ảnh số 23
1.3.2.3 Ảnh màu 23
1.3.2.4 Các định dạng ảnh cơ bản trong xử lý ảnh 25
1.3.2.5 Pixel và các vấn đề liên quan 27
1.3.3 Giới thiệu về LabView và công cụ xử lý ảnh dùng LabView 29
1.3.3.1 Giới thiệu về LabView 29
1.3.3.2 Công cụ xử lý ảnh IMAQ vision toolbox của LabView 35
1.4 Giới thiệu thiết bị camera 40
Trang 3CHƯƠNG 2 THIẾT KẾ THI CÔNG PHẦN CỨNG, VÀ LẬP TRÌNH
PHẦN MỀM CHO HỆ THỐNG ROBOT 42
2.1 Thiết kế thi công hệ thống cơ khí 42
2.1.1 Thiết kế Hệ thống cơ khí cho Robot 42
2.1.2 Loại Camera được sử dụng 43
2.2 Thiết kế thi công mạch điều khiển 45
2.2.1 Lựa chọn linh kiện 45
2.2.2 Giới thiệu dòng vi điều khiển Arm Cortex M4 và vi điều khiển STM32F429I- Discovery 46
2.2.2.1 Giới thiệu dòng vi điều khiển ARM Cortex M4 46
2.2.1.2 Giới thiệu bộ kit STM32F429I- Discovery 47
2.2.2 Modul điều khiển động cơ dùng IC L298 49
2.2.3 Khối nguồn 51
2.3 Lập trình phần mềm 52
2.3.1 Hệ điều hành thời gian thực RTOS 52
2.3.1.2 Đặc điểm chung của Hệ điều hành 52
2.3.1.3 Định nghĩa Hệ điều hành thời gian thực RTOS 53
2.3.2 Các thành phần có trong RTOS 54
2.3.3 Các đối tượng ( Objects) trong RTOS: 54
2.3.4 Các đặc điêm của RTOS 55
2.4 Hệ điều hành RTOS RTX 56
2.4.1 Sơ lược về hệ điều hành RTOS RTX 56
2.4.2 Yêu cầu, chức năng 57
2.4.3 Lưu đồ thuật toán nhúng trong vi điều khiển máy tính 58
2.5 Thiết kế giao diện người dùng HMI 58
2.6 xây dựng chương trình cho vi điều khiển 63
CHƯƠNG 3 CHẾ TẠO THỬ NGHIỆM VÀ PHÁT TRIỂN 65
3.1 Các kết quả đạt được 65
3.1.1 Hệ thống điều khiển 65
3.1.2 Text webcam 65
3.1.3 Xác định mục tiêu thông qua màu sắc 66
3.2 Đánh giá kết quả đạt được 66
3.3 Định hướng phát triển của đề tài 67
KẾT LUẬN 68
TÀI LIỆU THAM KHẢO 69
PHỤ LỤC 70
Trang 4DANH MỤC HÌNH VẼ
Bảng 1.1 Tóm tắt lịch sử phát triển của công nghệ Robot 11
Hình 1.2 Robot được triển khai sử dụng trong công nghiêp 12
Hình1.3 Robot phát triển các hệ thống máy vi cơ điện tử ( MEMS) 13
Hình 1.4 Một số hệ thống Robot triển mạng nouron vào trong robot 13
Hình 1.5 Hệ thống robot đã được triển khai thực tế 14
Hình 1.6 Tổng quan về một hệ thống Robot bám muc tiêu dựa trên cơ sở xử lý ảnh 14
Hình 1.7 Các giai đoạn chính trong xử lý ảnh 15
Hình 1.8 Robot MMP-30 của The Machine Lab 16
Hình 1.9 Robot sử dụng công nghệ in 3D 17
Hình 1.10 Các bước cơ bản trong xử lý ảnh 19
Hình 1.11 Sơ đồ phân tích và xử lý ảnh lưu đồ thông tin giữa các khối 22
Hình 1.12 Ảnh đen trắng và ảnh màu 23
Hình 1.13 Các màu cơ sở 24
Hình 1.14 Mô hình màu RGB 25
Hình 1.15 Ảnh GIF 26
Hình 1.16 Ảnh dạng JPEG 27
Hình 1.17 Pixel p và các pixel lân cận của p 28
Hình 1.18: Công cụ Lab View 30
Hình 1.19 Bảng giao diện( the front panel) 30
Hình 1.20 Thanh công cụ giao diện 31
Hình 1.21 Sơ đồ khối của LabView 32
Hình 1.22 Một chương trình Lab View đơn giản 32
Hình 1.23 Các kiểu dây nối trên sơ đồ khối 33
Hình 1.24 Bảng Tools palette 33
Hình 1.25 Bảng điều khiển (controls palette) 34
Hình 1.26 Bảng Function 34
Hình1.27 Cấu trúc khối Vision Acquisition 35
Hình 1.28 Sử dụng IMAQ vision toolbox Vision Acquisition Express 36
Hình 1.29 RGB and Grayscale Image Acquisition 37
Hình 1.30 Biểu đồ ảnh xám 37
Hình 1.31 biểu đồ ảnh màu RGB 38
Hình 1.32 Sơ đồ khối bộ lọc smoothing 38
Trang 5Hình 1.33 Bộ lọc trung bình, a) Vision Express, b) Original Image, c) Sơ đồ
khối, d) Hình ảnh làm mịn 39
Hình 1.34 Sơ đồ khối hệ thống nhận dạng mẫu 40
Hình 1.35: Sơ đồ hoạt động của một Camera trong thực tế 41
Hình 2.1 Tổng quan về hệ thống Robot bám muc tiêu dựa trên cơ sở xử lý ảnh 42
Hình 2.2: hệ thống cơ khí Robot 43
Hình 2.3 loại Camera được sử dụng trong đồ án 44
Hình 2.4 ARM STM32F4 46
Hình 2.5 Bộ kit STM32F429I-Discovery 47
Hình 2.6 Hình dạng thực của bô kit STM32F429I Discovery 48
Hình 2.7 Các chân tín hiệu của modul điều khiển động cơ dung IC L298 49
Hình 2.8 Sơ đồ nguyên lý của L298 50
Hình 2.9 Khối nguồn 3.3V 51
Hình 2.10 Kiến trúc hệ điều hành 52
Hình 2.11 Thời gian thực cứng và thời gian thực mềm 53
Hình 2.12 Các đối tượng trong RTOS 54
Hình 2.13 Trạng thái phục vụ 55
Hình 2.14 Kiến trúc của hệ điều hành RTX RTOS 56
Hình 2.15 Lưu đồ thuật toán trong vi điều khiển và máy tính 58
Hìnhb 2.16 Vision Assistant 59
Hình 2.21 Thư viện Vision Development Module 60
Hình 2.18 Giao diện HMI 61
Hình 2.19: Bảng RECOGNIZE 61
Hình 2.20 Bảng thiết lập hoạt động 62
Hình 2.21 Ảnh và biểu đồ hoạt động của ảnh xám 62
Hình 2.22: Ảnh và biểu đồ hoạt động của ảnh màu 63
Hình 2.23 Bảng color location 63
Hình 3.1 Nhúng hệ điều hành cho bộ kit STM32F429I DISCOVERY 65
Hình 3.2 Hình ảnh mục tiêu thu được từ Webcame 65
Hình 3.3: Cửa sổ thiết lập nhận dạng mẫu 66
Hình 3.4 Sơ đồ khối nhận dạng màu trên Labview 66
Trang 6LỜI CẢM ƠN
Đầu tiên Xin được bày tỏ lòng biết ơn sâu sắc đến những người thầy, cô tận tụy trên giảng đường đã dạy cho em nhiều điều hơn kiến thức đó là kĩ năng, sự kiên nhẫn tìm tòi, đam mê học hỏi… không chỉ trong học tập mà trong cuộc sống Những tháng ngày được học tập và rèn luyện dưới mái trường Đại Học Vinh thân yêu là hành trang vào đời không chỉ những điều thầy cô đã dạy mà còn mang theo
cả bản lĩnh tuổi trẻ mà ta có được sau 5 năm rèn luyện tại trường
Em xin gửi lời cảm ơn chân thành đến thầy giáo K.S Đinh Văn Nam đã
hướng dẫn tận tình, quan tâm, tạo điều kiện thuận lợi về mặt tinh thần, định hướng, kiến thức cho em trong thời gian qua, giúp đề tài được hoàn thành tốt nhất
Em xin trân trọng cảm ơn các thầy cô trong khoa Điện Tử Viên Thông, và các đơn vị liên quan của trường Đại Học Vinh là những người đã tạo nền tảng,truyền đạt, hướng dẫn, trang bị cho em những kiến thức quý báu đã góp phần to lớn trong quá trình nghiên cứu phát triển và hoàn thành đồ án
Cuối cùng em xin cảm ơn gia đình, thầy cô, bạn bè đã động viên chia sẻ giúp
đỡ nhiệt tình, đóng góp cho em các ý kiến quan trọng Là những người tạo động lực, tiếp thêm sức mạnh vô hình cho em có được ngày hôm nay
Em nhận thấy, do hạn chế về mặt kinh nghiệm thực tiễn, khả năng bản thân, thời gian thực hiện, chắc chắn sẽ không tránh khỏi những thiếu sót, những phương
án chưa tốt, và cần sự tranh luận góp ý để phát triển Vì vậy, em hy vọng sẽ nhận được nhiều lời khuyên, định hướng, góp ý từ các Thầy Cô
Em xin chân thành cảm ơn!
Trang 7mà camera mang lại, việc đầu tư vào lĩnh vực này là cần thiết, quan trọng đối với các nhà khoa học, doanh nghiệp, và chính sách định hướng, quan tâm của nhà nước Lĩnh vực nào cũng vậy, để phát triển bền vững, vươn lên tầm cao mới, điều kiện tiên quyết là cần phải đi đôi xây dựng cơ sở khoa học làm nền tảng, cập nhật, ứng dụng các công nghệ hiện đại, và triển khai thành các sản phẩm ứng dụng phù hợp nhu cầu thực tế Theo tinh thần và tiêu chí trên, đề tài này đã được lựa chọn và từng bước đáp ứng: xây dựng hệ thống các phương trình động học, động lực học, thiết kế
hệ thống chuyển động băng chuyền, nghiên cứu về công nghệ xử lý ảnh, thiết kế, thi công hệ thống cơ khí, mạch điều khiển, lập trình phần mềm cho hệ thông Robot, chạy thử nghiệm, đánh giá và định hướng để tốt hơn, đáp ứng thực tế cũng như các
tiêu chí khoa học hơn Đề tài thực hiện: “Thiết kế hệ thống Robot bám mục tiêu
trên cơ sở xử lý ảnh”
Em xin gửi lời cảm ơn chân thành đến thầy giáo K.S Đinh Văn Nam đã
hướng dẫn tận tình, quan tâm, tạo điều kiện thuận lợi về mặt tinh thần, định hướng, kiến thức cho em trong thời gian qua, giúp đề tài được hoàn thành tốt nhất Em nhận thấy, do hạn chế về mặt kinh nghiệm thực tiễn, khả năng bản thân, thời gian thực hiện, chắc chắn sẽ không tránh khỏi những thiếu sót, những phương án chưa tốt, và cần sự tranh luận góp ý để phát triển Vì vậy, em hy vọng sẽ nhận được nhiều lời khuyên, định hướng, góp ý từ các Thầy Cô
Em xin chân thành cảm ơn!
Nguyễn Đình Thân
Trang 8TÓM TẮT ĐỒ ÁN
Đồ án này đã trình bày về hệ thống Robot bám mục tiêu trên cơ sở xử lý ảnh Nội dung đồ án là nghiên cứu thiết kế về hệ thống Robot có thể nhận diện được màu sắc và có thể bám theo màu sắc được lập trình trước bởi người lập trình Để thực hiện được đồ án chúng ta phải nắm được về nguyên tắc hoạt động, cấu trúc, và một
số kiến thức quan trọng về Camera, Vi Điều Khiển ARM CORTEX M4, Modul điều khiển động cơ sử dụng IC L298N, Các động cơ một chiều Ngoài ra các kiến thức về xử lí ảnh, cách sử dụng phần mềm Lab View và Lập trình cho Vi Điều Khiển… là những yếu tố cốt lõi để Robot hoạt động được theo ý muốn, ổn định Trên cơ sở đó ta đưa ra các lý thuyết về ảnh, Xử lý ảnh, và các kiến thức liên quan
để chúng ta có thể áp dụng vào đồ án, sau đó đi sâu vào phân tích sâu vào thiết kế cấu trúc của hệ thống, chức năng nhiệm vụ các thành phần trong hệ thống Thiết kế phần cơ khí và phần mềm cho hệ thống Robot bám mục tiêu trên cơ sở xử lý ảnh
PROJECT SUMMARY
This project presented the Robot cling target system based on image processing Contents are research projects designed robot system can recognize colors and color can follow preprogrammed by a programmer To make the scheme
we have to grasp the operating principle, structure, and some important knowledge about Camera, ARM CORTEX M4 microcontrollers, motor control modules using
IC L298N, The DC motors Also the knowledge of image processing, using software Lab View and Programming for Microcontrollers… is the core element for Robot operation is desired, stable On that basis we made the image theory, image processing, and the relevant knowledge so that we can apply to the scheme, then go into deep analysis into the design of the system structure, functions and duties of the components in the system Designing mechanical components and software for robot grip system on the basis of the target image processing
Trang 9CHƯƠNG 1: TỔNG QUAN VỀ ĐỂ TÀI 1.1.Giới thiệu về đề tài
1.1.1 Lý do chọn đề tài
Nhận thức được xu hướng trong tương lai của lĩnh vực Robot, là tâm điểm của cuộc cách mạng lớn sau Internet, với những ưu điểm mà Robot mang lại đã tạo cho bản thân em một sự hấp dẫn thu hút và muốn tự bản thân mình tìm hiểu về nguyên tắc hoạt động, các cơ cấu chấp hành, các thành phần tạo nên nó,… là lý do chủ yếu
mà em đã chọn đề tài “Xây dựng hệ thống Robot bắn bóng bám mục tiêu dựa trên cơ sở xử lý ảnh”
Lý do thứ hai là Robot là một luồng xu hướng nghiên cứu mới của nước ta cũng như trên thế giới, nó phát triển rất nhanh chónggiúp em có được nền tảng kiến thức vững chắc hơn về mặt lý thuyết và thực tiễn để có thể tiến sâu hơn trong quá trình nghiên cứu và phát triển về Robot trong tương lai
Lý do còn lại là do nhận thấy sự phát triển và ứng dụng rộng rãi của thiết bị Camera vào đời sống sinh hoạt của con người, sự hoạt động của các máy móc trong công nghiệp và thậm chí cả trong lĩnh vực an ninh, quân sự và thám hiểm vũ trụ
Tạo cho ta khản năng tự tìm tòi tiếp thu những kiến thức mới, niềm đam mê nghiên cứu khoa học kỹ thuật để phát triển bản thân không chỉ về các kiến thức ta học được, mà còn cả tinh thần ý chí nghị lực sống, sự kiên trì nhẫn nại của bản thân
1.1.3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu chung của đồ án là hệ thống phân Robot bám mục tiêu
di động trên cơ sở xử lý ảnh
- Nghiên cứu tìm hiểu về phần mềm LABVIEW để xử lý ảnh Xây dựng hệ thống điều khiển với bộ điều khiển sử dụng các ứng dụng của phần mềm lập trình đồ họa LabView
- Tìm hiểu về chức năng và nguyên lý hoạt động của Camera
- công nghệ xử lý ảnh, xây dựng các ứng dụng trong thị giác máy tính
- Nghiên cứu thiết kế 1 cơ cấu bắn bóng và lấy bóng bằng các động cơ
- Nghiên cứu thiết kế 1 mô hình Robot di chuyển bằng các động cơ
Trang 101.1.4 Ý nghĩa của đề tài
Ý nghĩa của đề tài cơ bản gồm 2 ý nghĩa là về mặt ý nghĩa khoa học và ý nghĩa thực tiễn
Ý nghĩa về mặt khoa học:
xây dựng hệ thống các phương trình động học, động lực học, thiết kế hệ thống Robot, nghiên cứu về công nghệ xử lý ảnh, thiết kế, thi công hệ thống cơ khí, mạch điều khiển, lập trình phần mềm cho hệ thông phân loại sản phẩm Đó là những cơ sở cần thiết, quan trọng để tiếp tục phát triển các hệ thống phức tạp hơn, hiện đại hơn
Ý nghĩa mặt thực tiễn:
Đề tài phần nào đưa ra một cái khung cơ bản cho quá trình xây dựng và phát triển một hệ thống Robot con Nó là cơ sở cho quá trình phát triển, ứng dụng ra các sản phẩm thực tế Đã có sự vận dụng công nghệ hiện đại: công nghệ xử lý ảnh và thử nghiệm thuật toán thông minh Là nền tảng cơ bản cho các hệ thống phức tạp hơn thông minh và hiện đại hơn
1.2 Tổng quan về hệ thống Robot bám mục tiêu
1.2.1 Giới thiệu chung về hệ thống Robot
Đinh nghĩa:
(hiện nay có nhiều định nghĩa về Robot Và sau đây là một định nghĩa theo tiêu chuẩn AFNOR của Pháp) “Robot là một cơ cấu chuyển động tự động có thể lập trình, lặp lại các chương trình, tổng hợp các chương trình đặt ra trên các trục tọa độ,
có khả năng định vị, định hướng, di chuyển các đối tượng vật chất: chi tiết, dao cụ,
gá lắp… theo những hành trình thay đổi đã chương trình hóa nhằm thực hiện các nhiệm vụ công nghệ khác nhau.”
Lịch sử ra đời và phát triển của robot
Robot là loại máy có thể lập trình điều khiển tự động bằng máy tính ( máy tính ở đây có thể được hiểu là một bộ vi điều khiển hoặc một máy tính PC) để thực hiện các di chuyển, cầm nắm các vật, hoàn thành các công việc dưới tác động của môi trường Thường robot được sử dụng để thực hiện các công việc lặp đi lặp lại, các công việc dễ gây nhàm chán, nó cho các kết quả chính xác hơn nếu được thực hiện bởi con người
Gần một nửa thế kỷ tiếp theo, khái niệm Robot đã liên tục được phát triển, đóng góp thêm bởi nhiều nhà nghiên cứu, nhiều công ty chuyên về lĩnh vực Robot Dưới đây là bảng tóm tắt quá trình lịch sử hình thành và phát triển của công nghệ chế tạo Robot, và những tác động của khoa học cũng như xã hội đối với từng thời kỳ
Trang 11Bảng 1.1 Tóm tắt lịch sử phát triển của công nghệ Robot
Khái niệm Robot xuất
hiện trong tiểu thuyết
Phát minh ra cánh tay máy
Phát sinh khái niệm Robot
thông minh
Giới thiệu về Robot được
điều khiển bằng máy tính
Tăng cường nghiên cứu
Robot có trí thông minh
Ứng dụng ở NASA
và NAVY
Sự bộc phát về lần đầu tiên của Robot
Robot công nghiệp thực tế và các ứng dụng rộng rãi khác
Giới thiệu về robot thông minh trong sản xuất
Robot giống người
Giới thiệu về
bộ nhớ vòng
Máy tính dùng transistor
Điều khiển logic Nghiên cứu về trí thông minh nhân tạo
Các tiến bộ về
cơ khí
Sự hạn chế của nền kinh
tế
Nhu cầu tăng cường
tự động
Robot gây lên thất nghiệp
Trang 12Trước năm 1970, người ta chỉ tập trung vào việc phát triển những robot tay máy hoạt động trong các nhà máy công nghiệp Sau đó mới xuất hiện những khái niệm
về robot thông minh, và các nghiên cứu bắt đầu tập chung vào robot di động Một trong những chuyên gia đầu nghành về robot di động là Hans P.Moravec (bắt đầu nghiên cứu từ năm 1964), và hiện nay, chuyên nghiên cứu về robot di động là Sebastien Thruns
Các robot di động có người điều khiển đã được sử dụng cho các mục đích quân
sự, các nhiệm vụ nguy hiểm như dò mìn, thám hiểm đáy đại dương, hầm mỏ, kiểm tra các đường ống ngầm, hay thăm dò sao Hỏa cHình phục không gian Các robot ứng dụng trong y học đặc biệt là trong phẫu thuật mổ nội soi, các robot hỗ trợ người tàn tật, hay tăng cường sức mạnh hỗ trợ việc đi lại
Các sản phẩm thương mại ứng dụng trong đời sống hằng ngày như Robot hút bụi, robot “ô- sin”, robot nấu ăn, giúp đỡ người già, chăm sóc người bệnh… hay các sản phẩm robot giống người như ASIMO của hãng Honda của Nhật Bản, robot giống người hỗ trợ cho các phi hành gia trên trạm vũ trụ ISS của Nasa Mỹ…
Các xu hướng hướng phát triển của Robot hiện đại trong tương lai
Các robot hiện đại trong tương lai sẽ có xu hướng giúp con người tạo ra các sản phẩm mới, bảo vệ cơ sở hạ tầng của thế giới, chăm sóc nhà cửa và mua bán, thực hiện nhưng công việc khó khăn, đòi hỏi độ phức tạp, chính xác cao… nhưng công việc con người khó hoặc không thể làm nhưng Robot có thể thực hiện được
Hình 1.2 Robot được triển khai sử dụng trong công nghiêp
Trang 13Một xu hướng quan trọng trong nghiên cứu và phát triển robot là phát triển các
hệ thống máy vi cơ điện tử ( MEMS) có kích thước nhỏ từ vài cm tới mm thậm chí nhỏ hơn µm Các robot rất nhỏ này có thể di chuyển trong các mạch máu để phân phối và làm vệ sinh mạch máu, chúng có thể di chuyển trong các máy tính lớn để chẩn đoán các vấn đề xảy ra với máy tính
Hình1.3 Robot phát triển các hệ thống máy vi cơ điện tử ( MEMS)
Một xu hướng phát triển hiện nay là việc nghiên cứu phát triển trí tuệ nhân tạo, mạng nouron vào trong robot nhằm tạo ra các robot thông minh, có khả năng thích nghi với môi trường xung quanh như con người
Hình 1.4 Một số hệ thống Robot triển mạng nouron vào trong robot
Trang 141.2.2 Hệ thống Robot bắn bóng bám mục tiêu di động trên cơ sở xử lý ảnh
Hình 1.5 Hệ thống robot đã được triển khai thực tế
tổng quan về hệ thống Robot bám mục tiêu di động :
Hình 1.6 Tổng quan về một hệ thống Robot bám muc tiêu dựa trên cơ sở xử lý ảnh
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 (Camera) và mục tiêu một cách ổn định và hoàn toàn tự động trong khi tồn tại cả chuyển động tương đối của mục tiêu và chuyển động của đế gắn cảm biến làm nhiễu loạn tới dữ liệu cảm biến hình ảnh Mục tiêu thường được định vị ban đầu, bởi người điều khiển, hoặc hệ thống nhận dạng mục tiêu tự động Sau đó hệ thống bám sẽ khóa chặt mục tiêu và duy trì LOS
Trang 15tự động Hệ thống bám ảnh tự động thường có 3 bộ phận chính: (1) bộ cảm biến hình ảnh (Camera), (2) bộ chấp hành thường gắn động cơ, và (3) máy tính xử lý ảnh
và bo mạch điều khiển Một vòng điều khiển phản hồi, được gọi là vòng bám, liên tục hiệu chỉnh bộ chấp hành để giữ mục tiêu vào tâm của trường nhìn viết tắt là FOV (Field Of View) của Camera Bộ vi xử lý sẽ khép kín vòng này bằng cách tính toán độ lệch để điều khiển cơ cấu chấp hành Hệ thống bám ảnh tự động, các thành phần hoạt động theo thứ tự: (1) bộ vi xử lý định vị tín hiệu mục tiêu trong các dòng hình ảnh từ bộ cảm biến, (2) bộ vi xử lý ước lượng trạng thái mục tiêu và tạo ra các lệnh điều khiển cơ cấu chấp hành trên cơ sở các thông tin trạng thái, (3) lệnh điều khiển được áp dụng vào LOS cảm biến, (4) bộ cảm biến tạo ra một vòng video mới,
và (5) quá trình được lặp lại
Tổng quan về hệ thống Robot tự hành, (1) trên một xe 3 bánh (có 2 bánh được truyền động), (2) phần bo mạch điều khiển, sử dụng vi điều khiển trung tâm là bộ kit STM32F429I Discovery và các modun Driver điều khiển động cơ sử dụng IC L298N, giao tiếp với máy tính qua chuẩn truyền thông RS232, (3) phần tầng bám ảnh, sử dụng Laptop để xử lý ảnh, tính toán cho ra các giá trị đặt để gửi xuống mạch điều khiển qua RS232 Hệ thống Camera và máy tính có nhiệm vụ xác định trọng tâm của ảnh vật, cùng với việc thu về các tín hiệu đo (các góc, vận tốc) được đo từ mạch điều khiển và truyền lên máy tính, qua việc xử lý, tính toán động học cho ra các tín hiệu đặt để gửi xuống bo mạch điều khiển trung tâm gắn trên Robot, mạch điều khiển nhận tín hiệu đặt và tín hiệu đo phản hồi, từ đó tính toán sử dụng thuật toán tính ra các tín hiệu điều khiển 2 động cơ bánh xe, đảm bảo hệ Cơ cấu bắn luôn dõi theo vật, và bắn ra bóng
1.3 Tổng quan về công nghệ xử lý ảnh và hệ thống phân loại ảnh
Một hệ thống xử lý ảnh điển hình được cho như sau:
Hình 1.7 Các giai đoạn chính trong 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
Trang 16tập dữ liệu đa chiều Các thiết bị ngày nay không chỉ nhận tín hiệu đơn lẻ mà còn được tích hợp Thị giác máy giúp có cái nhìn thật hơn với thế giới bên ngoài Thông tin hình ảnh nhận về qua quá trình phân tích, kết hợp với các mô hình giúp hệ thống phân loại sản phẩm tiến dần tới một hệ thống nhân tạo có khả năng ra quyết định thông minh, linh hoạt và đúng đắn nhiều hơn LabView (Laboratory Virtual Instrument Engineering Workbench) là ngôn ngữ lập trình đồ họa mà sử dụng các biểu tượng thay vì các hàng văn bản để tạo ra các ứng dụng, nó đáp ứng được những yêu cầu của lĩnh vực xử lý ảnh
Công nghệ xử lý ảnh được áp dụng hầu hết trên tất các lĩnh vựcMột số lĩnh
vực ứng dụng công nghệ xử lý ảnh mang tính đột phá như lĩnh vực:
Trong lĩnh vực quân sự: Các hệ thống có tích hợp quang hồng ngoại (đóng
vai trò là Thị giác máy) 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 trên trận địa cao xạ, trên xe tăng, tàu chiến, máy bay, vệ tinh Chúng được thay thế, hỗ trợ các dàn radar 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 cùng một lúc, và cũng cần phải kể đến các đầu tự dẫn tên lửa và đạn thông minh
Hình 1.8 Robot MMP-30 của The Machine Lab
Trang 17sử dụng để vô hiệu hóa (hoặc phá dỡ) bom mìn chưa nổ tại Iraq Trọng lượng của robot là khoảng 23kg (bao gồm đã bộ điều khiển), kích thước khoảng 58cm khi bung ra và có thể để gọn lại trong ba-lô Robot được trang bị 1 camera hồng ngoại,
1 camera màu góc rộng và camera màu góc rộng ghi hình phía sau Cánh tay 4 trục
có tầm với 50cm và có thể nâng được trọng lượng 2.3kg khi vươn hết tầm
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 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 Việc ghép nối các ống kính này với hệ thống GPS (Global Positioning System, hệ thống định vị toàn cầu) sẽ cho phép xây dựng các bản đồ số được ứng dụng vào nhiều lĩnh vực cực kỳ quan trọng trong an ninh quốc phòng, phát triển kinh tế-xã hội
Hình 1.9 Robot sử dụng công nghệ in 3D
Nhằm chuẩn bị cho những chuyến thám hiểm sao Hỏa đầu tiên của các nhà du
hành vũ trụ,NASA và một công ty vũ trụ tư nhân đã lên kế hoạch xây dựng một
căn cứ tại đây bằng các robot sử dụng công nghệ in 3D
Đây là thành quả sau nhiều năm nghiên cứu do Behrokh Khoshnevis, kỹ sư NASA đến từ Đại học Nam California dẫn đầu nhằm tìm cách đưa các công nghệ từ Trái Đất lên Sao Hỏa, phục vụ cho sứ mạng cHình phục sao Hỏa của con người trong tương lai Phương pháp in các tòa nhà do Khoshnevis đề xuất được gọi là "kỹ thuật đường viền" Về cơ bản, phương pháp này chỉ khác các kỹ thuật in 3D truyền thống
Trang 18ở chỗ là sử dụng các cỗ máy lớn hơn và sử dụng bê tông thay cho nguyên liệu plastic trước đây
1.3.1 Tổng quan về hệ thống xử lý ảnh
Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó
Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm nay Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức cơ sở khác Đầu tiên phải kể đến xử lý tín hiệu số là một môn học hết sức cơ bản cho xử lý tín hiệu chung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các
bộ lọc hữu hạn… Thứ hai, các công cụ toán như Đại số tuyến tính, xác xuất, thống
kê Một số kiến thứ cần thiết như Trí tuệ nhân tạo, mạng nơ ron nhân tạo cũng được
đề cập trong quá trình phân tích và nhận dạng ảnh
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng ảnh và phân tích ảnh Ứng dụng đầu tiên được biết đến là nâng cao chất lượng ảnh báo được truyền qua cáp từ Luân đôn đến New York từ những năm 1920 Vấn đề nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của ảnh Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm
1955 Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển nhanh tạo điều kiện cho quá trình xử lý ảnh sô thuận lợi Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng ảnh từ mặt trăng và vệ tinh Ranger 7 của Mỹ bao gồm: làm nổi đường biên, lưu ảnh Từ năm 1964 đến nay, các phương tiện xử
lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng Các phương pháp tri thức nhân tạo như mạng nơ ron nhân tạo, các thuật toán xử lý hiện đại và cải tiến, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan
Để dễ tưởng tượng, xét các bước cần thiết trong xử lý ảnh Đầu tiên, ảnh tự nhiên từ thế giới ngoài được thu nhận qua các thiết bị thu (như Camera, máy chụp ảnh) Trước đây, ảnh thu qua Camera là các ảnh tương tự (loại Camera ống kiểu CCIR) Gần đây, với sự phát triển của công nghệ, ảnh màu hoặc đen trắng được lấy
ra từ Camera, sau đó nó được chuyển trực tiếp thành ảnh số tạo thuận lợi cho xử lý tiếp theo (Máy ảnh số hiện nay là một thí dụ gần gũi) Mặt khác, ảnh cũng có thể tiếp nhận từ vệ tinh; có thể quét từ ảnh chụp bằng máy quét ảnh Hình 1.10 dưới đây
mô tả các bước cơ bản trong xử lý ảnh
Trang 19Hình 1.10 Các bước cơ bản trong xử lý ảnh
Sơ đồ này bao gồm các thành phần sau:
1.3.1.1 Phần thu nhận ảnh (Image Acquisition)
Ảnh có thể nhận qua camera màu hoặc đen trắng Thường ảnh nhận qua camera là ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng), cũng có loại camera đã số hoá (như loại CCD – Change Coupled Device) là loại photodiot tạo cường độ sáng tại mỗi điểm ảnh
Camera thường dùng là loại quét dòng ; ảnh tạo ra có dạng hai chiều Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)
1.3.1.2 Tiền xử lý (Image Processing)
Sau bộ thu nhận, ảnh có thể nhiễu độ tương phản thấp nên cần đưa vào bộ tiền xử lý đểnâng cao chất lượng Chức năng chính của bộ tiền xử lý là lọc nhiễu, nâng độ tương phản để làm ảnh rõ hơn, nét hơn
1.3.1.3 Phân đoạn (Segmentation) hay phân vùng ảnh
Phân vùng ảnh là tách một ảnh đầu vào thành các vùng thành phần để biểu diễn phân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) trên phong
bì thư cho mục đích phân loại bưu phẩm, cần chia các câu, chữ về địa chỉ hoặc tên người thành các từ, các chữ, các số (hoặc các vạch) riêng biệt để nhận dạng Đây là phần phức tạp khó khăn nhất trong xử lý ảnh và cũng dễ gây lỗi, làm mất độ chính xác của ảnh Kết quả nhận dạng ảnh phụ thuộc rất nhiều vào công đoạn này
1.3.1.4 Biểu diễn ảnh (Image Representation)
Đầu ra ảnh sau phân đoạn chứa các điểm ảnh của vùng ảnh (ảnh đã phân đoạn) cộng với mã liên kết với các vùng lận cận Việc biến đổi các số liệu này thành dạng thích hợp là cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng (Feature Selection) gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được Ví dụ: trong
Trang 20nhận dạng ký tự trên phong bì thư, chúng ta miêu tả các đặc trưng của từng ký tự giúp phân biệt ký tự này với ký tự khác
1.3.1.5 Nhận dạng và nội suy ảnh (Image Recognition and Interpretation
Nhận dạng ảnh là quá trình xác định ảnh Quá trình này thường thu được bằng cách so sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước Nội suy là phán đoán theo ý nghĩa trên cơ sởnhận dạng Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư có thể được nội suy thành mã điện thoại Có nhiều cách phân loai ảnh khác nhau về ảnh Theo lý thuyết về nhận dạng, các mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản:
- Nhận dạng theo tham số
- Nhận dạng theo cấu trúc
Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong khoa học và công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn bản (Text), nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người…
1.3.1.6 Cơ sở tri thức (Knowledge Base)
Như đã nói ở trên, ảnh là một đối tượng khá phức tạp về đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu Trong nhiều khâu xử lý và phân tích ảnh ngoài việc đơn giản hóa các phương pháp toán học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận
và xử lý ảnh theo cách của con người Trong các bước xử lý đó, nhiều khâu hiện nay đã xử lý theo các phương pháp trí tuệ con người Vì vậy, ở đây các cơ sở tri thức được phát huy
1.3.1.7 Mô tả (biểu diễn ảnh)
Từ Hình 1.10, ảnh sau khi số hoá sẽ được lưu vào bộ nhớ, hoặc chuyển sang các khâu tiếp theo để phân tích Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ cực lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ Thông thường, các ảnh thô đó được đặc tả (biểu diễn) lại (hay đơn giản là mã hoá) theo các đặc điểm của ảnh được gọi là các đặc trưng ảnh (Image Features) như: biên ảnh (Boundary), vùng ảnh (Region) Một số phương pháp biểu diễn thường dùng:
• Biểu diễn bằng mã chạy (Run-Length Code)
• Biểu diễn bằng mã xích (Chaine -Code)
• Biểu diễn bằng mã tứ phân (Quad-Tree Code)
Biểu diễn bằng mã chạy
Trang 21Phương pháp này thường biểu diễn cho vùng ảnh và áp dụng cho ảnh nhị phân Một vùng ảnh R có thể mã hoá đơn giản nhờ một ma trận nhị phân:
U(m, n) = 1 nếu (m, n) thuộc R
U( m, n) = 0 nếu (m, n) không thuộc R
Trong đó: U(m, n) là hàm mô tả mức xám ảnh tại tọa độ (m, n) Với cách biểu diễn trên, một vùng ảnh được mô tả bằng một tập các chuỗi số 0 hoặc 1 Giả sử chúng ta mô tả ảnh nhị phân của một vùng ảnh được thể hiện theo toạ độ (x, y) theo các chiều và đặc tả chỉ đối với giá trị “1” khi đó dạng mô tả có thể là: (x, y)r; trong
đó (x, y) là toạ độ, r là số lượng các bit có giá trị “1” liên tục theo chiều ngang hoặc dọc
Biểu diễn bằng mã xích
Phương pháp này thường dùng để biểu diễn đường biên ảnh Một đường bất kỳ được chia thành các đoạn nhỏ Nối các điểm chia, ta có các đoạn thẳng kế tiếp được gán hướng cho đoạn thẳng đó tạo thành một dây xích gồm các đoạn Các hướng có thể chọn 4, 8, 12, 24,… mỗi hướng được mã hoá theo số thập phân hoặc
số nhị phân thành mã của hướng
Biểu diễn bằng mã tứ phân
Phương pháp mã tứ phân được dùng để mã hoá cho vùng ảnh Vùng ảnh đầu tiên được chia làm bốn phần thường là bằng nhau Nếu mỗi vùng đã đồng nhất (chứa toàn điểm đen (1) hay trắng (0)), thì gán cho vùng đó một mã và không chia tiếp Các vùng không đồng nhất được chia tiếp làm bốn phần theo thủ tục trên cho đến khi tất cả các vùng đều đồng nhất Các mã phân chia thành các vùng con tạo thành một cây phân chia các vùng đồng nhất
Trên đây là các thành phần cơ bản trong các khâu xử lý ảnh Trong thực tế, các quá trình sử dụng ảnh số không nhất thiết phải qua hết các khâu đó tùy theo đặc điểm ứng dụng Hình 1.11 cho sơ đồ phân tích và xử lý ảnh và lưu đồ thông tin giữa các khối một cách khá đầy đủ Ảnh sau khi được số hóa được nén, lưu lại để truyền cho các hệ thống khác sử dụng hoặc để xử lý tiếp theo Mặt khác, ảnh sau khi số hóa có thể bỏ qua công đoạn nâng cao chất lượng (khi ảnh đủ chất lượng theo một yêu cầu nào đó) để chuyển tới khâu phân đoạn hoặc bỏ tiếp khâu phân đoạn chuyển trực tiếp tới khâu trích chọn đặc trưng Hình 1.10 cũng chia các nhánh song song như: nâng cao chất lượng ảnh có hai nhánh phân biệt: nâng cao chất lượng ảnh (tăng
độ sáng, độ tương phản, lọc nhiễu) hoặc khôi phục ảnh (hồi phục lại ảnh thật khi ảnh nhận được bị méo) v.v…
Trang 22Hình 1.11 Sơ đồ phân tích và xử lý ảnh lưu đồ thông tin giữa các khối
1.3.2 Giới thiệu đôi nét về ảnh và phân loại ảnh
Ở đồ án này, ảnh ta dùng camera để nhận diện đối tượng trong ảnh, video thu được là ảnh số nên em xin giới thiệu qua đôi nét về ảnh số và các khái niệm liên quan như pixel, pixel lân cận…
1.3.2.1 Ảnh số
Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật Ảnh là một sự vật đại diện cho con người, sinh vật hay sự vật nào đó , ảnh động như ta thấy trên truyền hình thực chất là tập hợp của rất nhiều ảnh tĩnh liên tiếp khi một ảnh được số hóa thì nó trở thành ảnh số và ảnh số này lại là một tập hợp của rất nhiều phần tử ảnh được gọi là điểm ảnh hay là “pixel” Mỗi điểm ảnh lại được biểu diễn dưới dạng một số hữu hạn các bit Ta có thể chia ảnh ra làm
ba loại khác nhau:
Ảnh đen trắng: mỗi điểm ảnh được biểu diễn bởi một bit
Ảnh Gray–scale: mỗi điểm ảnh được biểu diễn bằng các mức chói khác nhau, thường thì ảnh này được biểu diễn bằng 256 mức chói hay là 8 bit cho mỗi diểm ảnh
Ảnh màu: mỗi điểm ảnh chia ra thành tín hiệu chói và tín hiệu màu
Trang 23Hình 1.12 Ảnh đen trắng và ảnh màu
1.3.2.2 Biểu diễn ảnh số
Trong biểu diễn ảnh, người ta thường dùng các phần tử đặc trưng của ảnh là Pixel Nhìn chung có thể xem một hàm 2 biến chưa các thông tin biểu diễn của một ảnh Các mô hình biểu diễn ảnh cho ta một mô tả logic hay định lượng các tính chất của hàm này Việc xử lý ảnh số phải được lấy mẫu và lượng tử hóa Việc lượng tử hóa là chuyển đổi tín hiệu tương tự sang tín hiệu số của một ảnh đã lấy mẫu sang một số hữu hạn mức xám Một số mô hình thường dùng biểu diễn ảnh: mô hình toán, mô hình thống kê
Tất cả các màu được tạo ra từ 3 màu cơ bản (màu sơ cấp) là : đỏ (R), lam (B)
và lục (G) Các màu cơ bản trộn lại với nhau theo một tỉ lệ nhất định để tạo ra các màu thứ cấp
Trang 24Các đặc trưng dùng để phân biệt một màu với màu khác là: độ sáng (brightness), sắc màu (hue) và độ bão hòa màu (Saturation)
+ Màu sắc có liên quan đến bước sóng ánh sáng Thông thường, sắc màu chính
là tên của màu Ví dụ: đỏ, cam, lục…
Trang 25+ Độ sáng thể hiện về cường độ ánh sáng: mô tả nó sáng hay tối như thế nào + Độ bão hòa màu: thể hiện độ thuần khiết của màu Khi độ bão hòa cao, màu
Hình ảnh trong mô hình màu RGB bao gồm 3 mặt phẳng ảnh độc lập (dùng cho các màu sơ cấp)
Thường thì ta giả thiết là tất cả các giá trị màu được chuẩn hóa (tức là khối vuông là khối đơn vị), tất cả các giá trị màu nằm trong khoảng [0,1]
Vì vậy trong hệ màu RGB các màu có thể mô tả như là những điểm bên trong hình lập phương Ở gốc tọa độ (0; 0; 0) là màu đen Trên các trục tọa độ dương là các màu đỏ lục, lam Khi đó ánh sáng từ các điểm riêng biệt sẽ được cộng với nhau
để tạo ra các màu khác nhau
+ (0, 0, 0) là màu đen
+ (255, 255, 255) là màu trắng
+ (255, 0, 0) là màu đỏ
+ (0, 255, 0) là màu xanh lá cây
+ (0, 0, 255) là màu xanh lam
+ (255, 255, 0) là màu vàng
+ (0, 255, 255) là màu xanh ngọc
+ (255, 0, 255) là màu hồng sẫm
1.3.2.4 Các định dạng ảnh cơ bản trong xử lý ảnh
Ảnh thu được sau quá trình số hóa thường được lưu lại cho các quá trình xử
lý tiếp theo hay truyền đi Trong quá trình phát triển của kỹ thuật xử lý ảnh, tồn tại nhiều định dạng ảnh khác nhau từ ảnh đen trắng (với định dạng IMG), ảnh đa cấp xám cho đến ảnh màu: (BMP, GIF, JPEG…)
Lam
Trắng Đen
Lục (0.0.1)
(1.0.0)
(0.1.0)
Trang 26Định dạng ảnh IMG là ảnh đen trắng phần đầu của IMG có 16byte chứa thông tin Định dạng ảnh GIF:GIF (viết tắt của Graphics Interchange Format; trong tiếng Anh nghĩa là "Định dạng Trao đổi Hình ảnh") là một định dạng tập tin hình ảnh bitmap cho các hình ảnh dùng ít hơn 256 màu sắc khác nhau và các hoạt hình dùng ít hơn 256 màu cho mỗi khung hình GIF là định dạng nén dữ liệu đặc biệt hữu ích cho việc truyền hình ảnh qua đường truyền lưu lượng nhỏ Định dạng này được CompuServe cho ra đời vào năm 1987 và nhanh chóng được dùng rộng rãi trên World Wide Web cho đến nay.Tập tin GIF dùng nén dữ liệu bảo toàn trong đó kích thước tập tin có thể được giảm mà không làm giảm chất lượng hình ảnh, cho những hình ảnh có ít hơn 256 màu Số lượng tối đa 256 màu làm cho định dạng này không phù hợp cho các hình chụp (thường có nhiều màu sắc), tuy nhiên các kiểu nén dữ liệu bảo toàn cho hình chụp nhiều màu cũng có kích thước quá lớn đối với truyền dữ liệu trên mạng hiện nay Định dạng JPEG là nén dữ liệu thất thoát có thể được dùng cho các ảnh chụp, nhưng lại làm giảm chất lượng cho các bức vẽ ít màu, tạo nên những chỗ nhòe thay cho các đường sắc nét, đồng thời độ nén cũng thấp cho các hình vẽ ít màu Như vậy, GIF thường được dùng cho sơ đồ, hình vẽ nút bấm và các hình ít màu, còn JPEG được dùng cho ảnh chụp Định dạng GIF dựa vào các bảng màu: một bảng chứa tối đa 256 màu khác nhau cho biết các màu được dùng trong hình
Trang 27mắt người.Phần mở rộng của các file JPEG thường có dạng jpeg, jfif, jpg, JPG, hay JPE; dạng jpg là dạng được dùng phổ biến nhất Hiện nay dạng nén ảnh JPEG rất được phổ biến trong ĐTDD cũng như những trang thiết bị lưu giữ có dung lượng nhỏ Công đoạn chính là chia nhỏ bức ảnh thành nhiều vùng nhỏ (thông thường là những vùng 8x8 pixel) rồi sử dụng biến đổi cosin rời rạc để biến đổi những vùng thể hiện này thành dạng ma trận có 64 hệ số thể hiện "thực trạng" các pixel Điều quan trọng là ở đây hệ số đầu tiên có khả năng thể hiện "thực trạng" cao nhất, khả năng đó giảm rất nhanh với các hệ số khác Nói cách khác thì lượng thông tin của
64 pixels tập trung chủ yếu ở một số hệ số ma trận theo biến đổi trên Trong giai đoạn này có sự mất mát thông tin, bởi không có biến đổi ngược chính xác Nhưng lượng thông tin bị mất này chưa đáng kể so với giai đoạn tiếp theo Ma trận nhận được sau biến đổi cosin rời rạc được lược bớt sự khác nhau giữa các hệ số Đây chính là lúc mất nhiều thông tin vì người ta sẽ vứt bỏ những thay đổi nhỏ của các hệ
số Như thế khi bung ảnh đã nén ta sẽ có được những tham số khác của các pixel Các biến đổi trên áp dụng cho thành phần U và V của ảnh với mức độ cao hơn so với Y (mất nhiều thông tin của U và V hơn) Sau đó thì áp dụng phương pháp mã hóa của Gernot Hoffman: phân tích dãy số, các phần tử lặp lại nhiều được mã hóa bằng ký hiệu ngắn (marker) Khi bung ảnh người ta chỉ việc làm lại các bước trên theo quá trình ngược lại cùng với các biến đổi ngược
Hình 1.16 Ảnh dạng JPEG
1.3.2.5 Pixel và các vấn đề liên quan
Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để xử lý bằng máy tính (số), ảnh cần phải được số hoá Số hoá ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí (không gian) và
độ sáng (mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy gọi là
Trang 28điểm ảnh (PEL: Picture Element) hay gọi tắt là Pixel Trong khuôn khổ ảnh hai chiều, mỗi pixel ứng với cặp tọa độ (x, y)
Vậy điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần
tử ảnh
P1 (x-1,y-1)
P2 (x-1,y)
P3 (x-1,y+1) P4
(x,y-1)
P (x,y)
P5 (x,y+1) P6
(x+1,y-1)
P7 (x+1,y)
P8 (x+1,y+1)
Hình 1.17 Pixel p và các pixel lân cận của p
Một pixel p tại các tọa độ (x, y) có ô pixel lân cận theo chiều dọc và chiều ngang, và tọa độ tương ứng của các pixel này, như hình vẽ 1.9 là:
P2(x-1, y) P7(x+1, y) P4(x, y-1) P5(x, y+1) Tập hợp các pixel này gọi là các lân cận của p và ký hiệ là N4(p) Mỗi pixel lân cận cách (x,y)một đơn vị và nếu (x,y) ở mép của màn hình thì sẽ có một pixel lân cận của p nằm ở ngoài hỉnh ảnh
Ngoài 4 pixel lân cận của p theo chiều dọc và chiều ngang, xung quanh p còn
có 4 pixel chéo góc có các tọa độ tương ứng là:
P1(x-1, y-1) P3(x-1, y+1) P6(x+1, y-1) P8(x+1, y+1) Tập hợp các pixel này được ký hiệu là ND (p) Bốn pixel này cùng với 4 pixel
ở trên tạo thành 8 pixel lân cận của p và được ký hiệu là N8 (p) Tập hợp này cũng
sẽ có một số pixel ở bên ngoài hình ảnh nếu (x, y) nằm ở mép hình ảnh
Các mối liên kết điểm ảnh
Các mối liên kết được sử dụng để xác định giới hạn (Boundaries) của đối tượng vật thểhoặc xác định vùng trong một ảnh Một liên kết được đặc trưng bởi tính liền kề giữa các điểm và mức xám của chúng
Giả sử V là tập các giá trị mức xám Một ảnh có các giá trị cường độ sáng từ thang mức xám từ 32 đến 64 được mô tả như sau :
V={32, 33, … , 63, 64}
Trang 29Có 3 loại liên kết
* Liên kết 4: Hai điểm ảnh p và q được nói là liên kết 4 với các giá trị cường
độ sáng Vnếu q nằm trong một các lân cận của p, tức q thuộc N4(p)
* Liên kết 8: Hai điểm ảnh p và q nằm trong một các lân cận 8 của p, tức q thuộc N8(p)
* Liên kết m (liên kết hỗn hợp): Hai điểm ảnh p và q với các giá trị cường độ sáng Vđược nói là liên kết m nếu
1 q thuộc N4(p) hoặc
2 q thuộc NP(p)
Đo khoảng cách giữa các điểm ảnh
Định nghĩa: Khoảng cách D(p, q) giữa hai điểm ảnh p toạ độ (x, y), q toạ độ (s, t) là hàm
khoảng cách (Distance) hoặc Metric nếu:
1 D(p,q) ≥ 0 (Với D(p,q)=0 nếu và chỉ nếu p=q)
D4(p,q) = | x - s | + | y - t | Giá trị khoảng cách giữa các điểm ảnh r: giá trị bán kính r giữa điểm ảnh từ tâm điểm ảnh đến tâm điểm ảnh q khác Ví dụ: Màn hình CGA 12” (12”*2,54cm = 30,48cm=304,8mm) độ phân giải 320*200; tỷ lệ 4/3 (Chiều dài/Chiều rộng) Theo định lý Pitago về tam giác vuông, đường chéo sẽ lấy tỷ lệ 5 phần (5/4/3: đường chéo/chiều dài/chiều rộng màn hình); khi đó độ dài thật là (305/244/183) chiều rộng màn hình 183mm ứng với màn hình CGA 200 điểm ảnh theo chiều dọc Như vậy, khoảng cách điểm ảnh lân cận của CGA 12” là ≈ 1mm Khoảng cách D8(p, q) còn gọi là khoảng cách bàn cờ (Chess-Board Distance) giữa điểm ảnh p, q được xác định như sau:
D8(p,q) = max (| x-s | , | y-t |)
1.3.3 Giới thiệu về LabView và công cụ xử lý ảnh dùng LabView
1.3.3.1 Giới thiệu về LabView
LabView (viết tắt của nhóm từ Laboratory Virtual Instrumentation Engineering Workbench) là một phần mềm máy tính được phát triển bởi công ty
Trang 30National Instruments, Hoa kỳ LabView còn được biết đến như là một ngôn ngữ lập trình với khái niệm hoàn toàn khác so với các ngôn ngữ lập trình truyền thống như ngôn ngữ C, Pascal Bằng cách diễn đạt cú pháp thông qua các hình ảnh trực quan trong môi trường soạn thảo, LabView đã được gọi với tên khác là lập trình G (viết tắt của Graphical, nghĩa là đồ họa)
Hình 1.18: Công cụ Lab View
LabView bao gồm các thư viện của các hàm chức năng và các công cụ phát triển thiết kế đặc biệt dành cho các thiết bị điều khiển Các chương trình LabView được gọi là các công cụ ảo bởi vì sự xuất hiện và hoạt động của chúng mô phỏng các dụng cụ thực tế Tuy nhiên, chúng là tương tự tới các hàm chức năng từ các ngôn ngữ truyền thống Các VI có cả 2 tương tác đó là: một giao diện người dùng
và một mã nguồn tương đương, và truy nhập các tham số từ các VI tầng cao LabView gồm 3 phần chính đó là: bảng giao diện( the front panel), sơ đồ khối (the block diagram) và biểu tượng đầu nối (the icon/connect) Front pannel là mặt mà người sử dụng hệ thống nhìn thấy
Hình 1.19 Bảng giao diện( the front panel)
Trang 31Các VI bao gồm một giao diện người dùng có tính tương tác, mà được gọi là bảng giao diện vì nó mô phỏng mặt trước của một dụng cụ vật lý Bảng giao diện có thể bao gồm các núm, các nút đẩy, các nút đẩy, các đồ thị và các dụng cụ chỉ thị và điều khiển khác Nhập vào dữ liệu sử dụng bàn phím và chuột rồi sau đó quan sát kết quả trên màn hình máy tính
Trong bảng giao diện bao gồm một thanh công cụ của các nút lệnh và các dụng cụ chỉ báo trạng thái mà bạn sử dụng cho quá trình chạy và xử lý các VI Nó cụng bao gồm những tùy chọn mô phỏng và các tùy chọn phân phối và sắp thành hang cho việc soạn thảo VI
Hình 1.20 Thanh công cụ giao diện
“5” Text setting (màu sắc, định dạng, kích thước phông)
“6” Gióng đều đối tượng theo hang dọc và ngang
“7” Phân bố các đối tượng
“8” Thay đổi kích thước các đối tượng
“9” Lệnh bổ sung
“10”Cửa sổ trợ giúp
Sơ đồ khối (The block diagram) chứa đựng mã nguồn đồ thị, thường biết như là mã G hoặc mã sơ đồ khối, cho đến VI chạy như thế nào Mã sơ đồ khối dử dụng đồ thị biểu diễn cấc chức năng để điều khiển các đối tượng trên giao diện xuất hiện như biểu tượng các thiết bị trên sơ đồ khối Kết nối điều khiển và các đầu của dụng cụ chỉ thị tới express VIs, VIs, và các chức năng Dữ liệu chuyển thông qua dây dẫn từ các điều khiển đến các VI và các hàm chức năng, từ các VI và các hàm chức năng đến các hàm chức năng khác, và từ các VI và các hàm chức năng đến các dụng cụ chỉ thị Sự di chuyển của dữ liệu thông qua các nút trên sơ đồ khối xác định mệnh lệnh thực hiện của các VI và các hàm chức năng Sự di chuyển dữ liệu này được biết như các lưu đồ lập trình
Trang 32Mở sơ đồ khối của một hệ thống nào đó bằng cách chọn window >> show block diagram Hoặc cũng có thế goi tới sơ đồ khối bằng cách trên bảng giao diện nhấn <Ctr E>
Hình 1.21 Sơ đồ khối của LabView
Sơ đồ khối sau đây đại diện cho một ứng dụng LabView hoàn chỉnh, và là một ví dụ của chương trình LabView có thể hiểu 1 cách đơn giản nhất
Hình 1.22 Một chương trình Lab View đơn giản
Trang 33Các dạng dây nối trên sơ đồ khối:
Hình 1.23 Các kiểu dây nối trên sơ đồ khối
Biểu tượng và ô vuông đầu nối
Sau khi xây dựng một VI, ta phải tạo icon và connector pane cho nó để có thể sử dụng được như một sub VI Mỗi VI đều có một icon, nó nằm ở góc trên bên phải của cả 2 cửa sổ front pannel và bock diagram
Các công cụ lập trình trong LabView
Bao gồm các công cụ để tạo ra các thiết bị ảo Nó bao gồm các công cụ trong bảng giao diện và các công cụ trong sơ đồ khối
Tolls palette
LabView sử dụng một bảng cộng cụ nổi, bảng mà bạn có thể
sử dụng để soạn thảo và gỡ lỗi các VI Bạn sử dụng phím <TAB>
tới bảng thông qua các công cụ sử dụng thong thường trên bảng
mẫu Nếu bạn có thể đóng Tools palette, chọn View>> show Tools
palette để hiển thị bảng mẫu Tools palette được minh họa như hình
1.22 dưới đây:
Hình 1.24 Bảng Tools palette
Trang 34 Bảng điều khiển (controls palette)
Hình 1.25 Bảng điều khiển (controls palette)
Bảng control bao gồm một đồ thị, bảng nổi mà tự động mở ra khi bạn khởi động LabView Bạn sử dụng bảng này để đặt các điều khiển và các dụng cụ chỉ thị trên bảng giao diện của một VI Mỗi biểu tượng lớp trên chưa đựng các bảng mẫu con Nếu bảng controls không xuất hiện, bạn có thể mở bảng bằng cách lựa chọn View>>show controls palette từ menu của bảng giao diện Bạn cũng có thể bật lên trên mở một vùng mở trong bảng giao diện để truy nhập một sự sao chép tạm thời của bảng controls Sự minh họa sau đây là hiển thị lớp đầu tiên của bảng controls
Bảng các hàm chức năng (Function palette)
Hình 1.26 Bảng Function
Bảng Function bao gồm một bảng đồ thị, bảng nổi mà tự động mở ra khi bạn chuyển tới sơ đồ khối Bạn sử dụng bảng này để đặt các nút( hằng số, dụng cụ chỉ thị, các VI và…) trên sơ đồ khối một VI Mỗi biểu tượng lớp trên chứa đựng các bảng mẫu con Nếu bảng Function không xuất hiện rõ ràng, bạn có thể chọn View>>show Function palette từ menu cửa sổ của sơ đồ khối để hiển thị nó Bạn có
Trang 35thể mở ra trên một vùng mở trong sơ đồ khối để truy nhập một sựu sao chép tạm thời của bảng Functions
1.3.3.2 Công cụ xử lý ảnh IMAQ vision toolbox của LabView
Xử lý ảnh là một chủ đề thú vị cung cấp cho hệ thông một cái nhìn đa phương và tiếp cận môi trường làm việc của mình một cách tự nhiên và hiệu quả hơn Sự phát triển của các thiết bị mới cho thu nhận hình ảnh tốc độ cao và xử lý hình ảnh tốt hơn nên yêu cầu cần phát triển kỹ thuật xử lý ảnh một cách hiệu quả hơn Do vậy ta cần các công cụ xử lý ảnh để đáp ứng yêu cầu trên, trong đó có IMAQ vision toolbox của LabView
IMAQ vision toolbox là một công cụ tập hợp đầy đủ về xử lý ảnh kỹ thuật số
và chức năng thu thập cải thiện hình ảnh làm giảm đáng kể các nổ lực của người lập trình cho kết quả tốt hơn trong thời gian ngắn hơn Do đó IMAQ vision toolbox là công cụ thú vị cho việc phân tích chi tiết về xử lý hình ảnh kỹ thuật số và các ứng dụng khác nhau trong lĩnh vực thu nhận, chuyển đổi hình ảnh
Sau đây là một số kỹ thuật xử lý ảnh của IMAQ vision toolbox:
Chuyển đổi hình ảnh kỹ thuật số dùng IMAQ vision toolbox
Để có thể thấy được hình ảnh từ webcam ta sử dụng khối NI Vision Acquisition Express Khối này nằm trong vison/vision Express toolbox nó là phương pháp dễ nhất để thiết lập các đặc tính trong webcam
Hình1.27 Cấu trúc khối Vision Acquisition
Bên trong khối này có bốn phần:
- Phần thứ nhất: “chọn nguồn thu” hiển thi tất cả các camera được kết nối vói máy tính
Trang 36- Phần thứ hai: “chọn kiểu thu thập” quyết định chế độ hiển thị hình ảnh và
có 4 chế độ có thể lựa chọn là thu thập chỉ các hình ảnh xử lý, thu thập liên tục với xử lý nội tuyến, thu thập hữu hạn với xử lý nội tuyến, thu thập hữu hạn các hình ảnh xử lý
- Phần thứ 3: “thiết lập cấu hình thu thập” đặc trưng cho kích cỡ, độ sáng, độ tương phản, gamma, độ bảo hòa, … của hình ảnh
- Phần thứ 4: “, và nó có thể lựa chọn điều khiển và các chỉ số để kiểm soát các thông số khác nhau trong giai đoạn này
Ví dụ trong hình dưới đây là một ví dụ về tùy chọn thu thập xử lý nội tuyến, tùy chọn này sẽ hiển thị những hình ảnh thu được liên tục trong chế độ cho đến khi nhấn nút dừng
Hình 1.28 Sử dụng IMAQ vision toolbox Vision Acquisition Express
Thu hình ảnh kỹ thuật số RGB và định dạng grayscale sử dụng hộp công cụ IMAQ
Đầu tiên IMAQ tạo ra một khối nằm trong vision và motion / vision utilities / image maganement, khối này tạo ra một loại hình ảnh mới được chỉ định( RGB, Grayscale, HSl, …) Sau đó tạo ra khối thứ hai là IMAQ read image nằm trong vision và motion / vision utilities / files, khối này có chức năng là để mở mở một file ảnh chỉ định trước đó trong đường dẫn của tập tin của khối và đưa tất cả các thông tin này vào trong hình ảnh mới mà IMAQ vừa tạo Nói cách khác, trong ví dụ sau đây các file picture4.png được mở ra bởi IMAQ Read Image và các thông tin hình ảnh này được lưu trong một hình ảnh mới gọi là imageColor tương ứng với một loại hình ảnh RGB (u32) Nó dễ dàng sửa đổi các loại hình ảnh của hệ thống
Trang 37Trong hình dưới kiểu hình ảnh được thay đổi là ảnh xám và được đặt trong imageGray
Hình 1.29 RGB and Grayscale Image Acquisition