Tải bản đầy đủ (.pdf) (116 trang)

Đồ án tốt nghiệp: Thiết kế thi công hệ thống điều khiển tín hiệu đèn giao thông thông qua xử lý ảnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.01 MB, 116 trang )

TRƯỜNG ĐH. SƯ PHẠM KỸ THUẬT
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TP. HỒ CHÍ MINH
ĐỘC LẬP - TỰ DO - HẠNH PHÚC
KHOA ĐIỆN-ĐIỆN TỬ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

Tp. HCM, ngày 16 tháng 07 năm 2018

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên:
Chuyên ngành:
Hệ đào tạo:
Khóa:

Nguyễn Thái Dương Duy
Kỹ thuật Điện Tử Truyền Thông
Đại học chính quy
2013

MSSV: 13141040
Mã ngành:
01
Mã hệ:
01

I. TÊN ĐỀ TÀI: THIẾT KẾ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN TÍN HIỆU
ĐÈN GIAO THÔNG THÔNG QUA XỬ LÝ ẢNH.
II. NHIỆM VỤ
1. Các số liệu ban đầu:
- Video đầu vào: 6 video, 2 video khi đường ít xe, 2 video khi làn nhiều xe.


- Matlab phiên bản 2017a.
- Kit điều khiển chính: Arduino Mega 2560, 2 Module Led 7 đoạn đôi, 6 led đơn
(2 đỏ, 2 vàng, 2 xanh).
2. Nội dung thực hiện:
Đề tài thực hiện nội dung xây dựng hệ thống đếm đối tượng qua hình ảnh với
đầu vào là từ video là ảnh chứa các đối tượng (phương tiện giao thông). Kết quả đếm
được sẽ được gửi xuống kit Arduino để điều khiển 2 cặp module led 7 đoạn và led
đơn. Nhóm sẽ thực hiện các nội dung như sau:
 Tìm hiểu về kit Arduino Mega 2560.
 Tìm hiểu về phần mềm matlab.
 Cài đặt nguồn thư viện cho kit Arduino, cách kết nối Arduino với Matlab.
 Tìm hiểu các thuật toán phát hiện phương tiện giao thông.
 Xây dựng quá trình xử lý ảnh đầu vào.
 Xây dựng hệ thống đếm phương tiện trong ảnh, lập trình giao diện sử dụng để
mô phỏng quá trình thu thập dữ liệu và gửi dữ liệu xuống kit Arduino.
 Xây dựng chương trình điều khiển điều tín hiệu đèn giao thông trên kit
Arduino.
 Đánh giá kết quả thực hiện.
ii


III. NGÀY GIAO NHIỆM VỤ:
21/03/2018
IV. NGÀY HOÀN THÀNH NHIỆM VỤ:
03/07/2018
V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS. Võ Đức Dũng.
CÁN BỘ HƯỚNG DẪN

BM. ĐIỆN TỬ CÔNG NGHIỆP – Y SINH


iii


TRƯỜNG ĐẠI HỌC SPKT TPHCM

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc

Khoa Điện - Điện Tử
Bộ Môn Điện Tử Công Nghiệp – Y Sinh

Tp. Hồ Chí Minh, ngày 12 tháng 07 năm 2018

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP
Họ tên sinh viên: Nguyễn Thái Dương Duy.
Lớp: 13141DT3A

MSSV: 13141040

Tên đề tài: THIẾT KẾ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN TÍN HIỆU
ĐÈN GIAO THÔNG THÔNG QUA XỬ LÝ ẢNH.
Tuần/ngày

Nội dung

Xác nhận
GVHD

- Gặp giáo viên hướng dẫn để phổ biến quy
1

(19-25/3)

định: thực hiện chọn đề tài, tên đề tài, thời gian
làm việc.
- Duyệt đề tài.
- Viết đề cương cho đề tài.

2
(26/3-1/4)
3
(2/4-8/4)

4
(9/4-15/4)

5
(16/4-22/4)

6
(23/4-29/4)

- Tìm hiểu hoạt động Arduino và Matlab.
- Cài đặt Matlab, Arduino.
- Lập trình Arduino với các chân I/O để nhúng
dữ liệu.
- Tìm hiểu các thuật toán xử lý ảnh đầu vào.
- Các hàm cơ bản xử dụng cho việc sử lý ảnh
đầu vào.
- Thiết kế sơ đồ khối giải thuật xử lý ảnh đêm
đối tượng ảnh đầu vào.


- Tìm hiểu cách giao tiếp Arduino với module
Led 7 đoạn 2 digit.
- Tính toán các thông số dòng và áp. Để lựa
iv


chọn các linh kiện phù hợp.
7
(30/4-6/5)

- Viết lưu đồ chương trình đèn giao thông.
- Tiến hành viết chương trình và hiệu chỉnh
chương trình.

8

- Tìm hiểu cách kết nối giữa matlab và adruino.

(7/5-13/5)

- Tiến hành gửi dữ liệu từ Matlab sang arduino.
- Xây dựng mô hình.

9
(14/5-20/5)

- Kiểm tra, hoàn thiện mô hình, chạy thử và sửa
lỗi.
Viết báo cáo.


10
(21/5-27/5)
11
(28/5-3/6)
12
(4/6-10/6)

- Kiểm tra, hoàn thiện mô hình, chạy thử và sửa
lỗi.
- Viết báo cáo.
- Hoàn thiện, chỉnh sửa báo cáo gửi cho GVHD
để xem xét góp ý lần cuối trước khi in báo cáo.
- Nộp quyển báo cáo và làm Slide báo cáo.

GV HƯỚNG DẪN
(Ký và ghi rõ họ và tên)

v


LỜI CAM ĐOAN
Chúng tôi cam đoan đồ án tốt nghiệp là công trình nghiên cứu của bản thân
chúng tôi dưới sự hướng dẫn của thạc sĩ Võ Đức Dũng.
Các kết quả công bố trong đồ án tốt nghiệp “Thiết kế thi công hệ thống điều
khiển tín hiệu đèn giao thông thông qua xử lý ảnh” là trung thực và không sao
chép từ công trình nào khác.

Người thực hiện đề tài.


Nguyễn Thái Dương Duy

vi


LỜI CẢM ƠN
Trong quá trình làm đồ án tốt nghiệp, chúng em đã nhận được rất nhiều sự
ủng hộ, giúp đỡ đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và
bạn bè.
Chúng em xin gửi lời cảm ơn chân thành đến Th.S Võ Đức Dũng - Trường
Đại học Sư phạm Kỹ thuật Tp.HCM đã tận tình hướng dẫn chỉ bảo trong suốt
thời gian làm luận án tốt nghiệp. Thầy đã tạo nhiều điều kiện và cho những lời
khuyên quý báu giúp chúng em hoàn thành tốt khóa luận.
Xin chân thành cảm ơn thầy cô giáo trong Trường Đại học Sư phạm Kỹ
thuật Tp.HCM nói chung, các thầy cô trong Bộ môn Điện tử Công Nghiệp – Y
Sinh nói riêng đã tận tình giảng dạy, truyền đạt cho chúng em những kiến thức
quý báu và tạo điều kiện giúp đỡ trong suốt quá trình học tập trong những năm
học vừa qua, giúp chúng em có được cơ sở lý thuyết vững vàng.
Cuối cùng, chúng em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo
điều kiện, quan tâm, ủng hộ, giúp đỡ, động viên chúng em trong suốt quá trình
học tập và hoàn thành đồ án tốt nghiệp.
Chúng em xin chân thành cảm ơn!

Người thực hiện đề tài.

Nguyễn Thái Dương Duy.

vii



MỤC LỤC
Trang bìa .................................................................................................................... i
Nhiệm vụ đồ án ......................................................................................................... ii
Lịch trình ................................................................................................................ iv
Cam đoan ................................................................................................................ vi
Lời cảm ơn .............................................................................................................. vii
Mục lục .................................................................................................................. viii
Liệt kê hình vẽ ......................................................................................................... xi
Liệt kê bảng vẽ ....................................................................................................... xiv
Tóm tắt ................................................................................................................... xv

CHƯƠNG 1. TỔNG QUAN .......................................................................... 1
1.1 Đặt vấn đề........................................................................................................ 1
1.2 Mục tiêu .......................................................................................................... 3
1.3 Nội dung nghiên cứu........................................................................................ 3
1.4. Giới hạn .......................................................................................................... 3
1.5 Bố cục ............................................................................................................. 4

CHƯƠNG 2. CƠ SỞ LÝ THUYẾT .............................................................. 6
2.1 Giới thiệu xử lý ảnh......................................................................................... 6
2.2 Tổng quan về Matlab....................................................................................... 7
2.3 Giới thiệu về lịch xử hình thành Arduino ........................................................ 8
2.4 Giới thiệu phần cứng ..................................................................................... 10
2.4.1 Kit arduino mega 2560 ............................................................................... 10
2.4.2 Led quét 7 đoạn loại 2 digit ........................................................................ 13
2.4.2.1 Led 7 đoạn............................................................................................... 13
2.4.2.2 Led quét 7 đoạn loại 2 digit ..................................................................... 14
2.4.3 Led đơn ...................................................................................................... 15
2.5 Quy trình xử lý ảnh ....................................................................................... 15
2.5.1 Xử lý ảnh là gì? .......................................................................................... 15

2.5.2 Quá trình thu nhận ảnh ............................................................................... 16
2.5.3 Quá trình tiền xử lý ảnh ............................................................................. 16
2.5.4 Quá trình phân đoạn ảnh............................................................................. 16
2.5.5 Biểu diễn và mô tả...................................................................................... 17
viii


2.5.6 Nhận dạng và nội suy ảnh........................................................................... 17
2.5.7 Cơ sở tri thức.............................................................................................. 18
2.6 Các phương pháp xử lý cơ bản với một đối tượng ảnh đầu vào ..................... 18
2.6.1 Chuyển đổi ảnh màu sang ảnh màu xám ..................................................... 18
2.6.2 Nhị phân hóa ảnh ....................................................................................... 20
2.6.3 Các phương pháp lọc nhiễu ảnh nhằm cải thiện ảnh ................................... 21
2.6.4 Làm trơn nhiễu bằng lọc tuyến tính ............................................................ 21
2.6.5 Làm trơn nhiễu bằng lọc phi tuyến ............................................................. 24
2.6.6 Phân vùng ảnh ............................................................................................ 24
2.7 Các hàm cơ bản được sử dụng trong quá trình phát hiện và đếm số lượng
phương tiện trong đề tài ................................................................................ 25
2.7.1 Hàm imread() ............................................................................................. 25
2.7.2 Hàm imshow() và imagesc() ....................................................................... 25
2.7.3 Hàm rgb2gray() .......................................................................................... 26
2.7.4 Hàm imadjust() .......................................................................................... 27
2.7.5 Hàm tự tính ngưỡng để chuyển sang ảnh nhị phân graythresh(), và hàm
chuyển đổi ảnh nhị phân imbinarize() ........................................................... 28
2.7.6 Hàm imdilate() ........................................................................................... 28
2.7.7 Hàm imerode() ........................................................................................... 29
2.7.8 Hàm bwareaopen() ..................................................................................... 30
2.7.9 Hàm bwlable .............................................................................................. 31

CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ. ............................................... 32

3.1 Giới thiệu....................................................................................................... 32
3.2 Tính toán và thiết kế hệ thống ........................................................................ 32
3.2.1 Thiết kế sơ đồ khối hệ thống ....................................................................... 32
3.2.2 Thiết kế các khối hệ thống................................................................................. 33
3.2.3 Thiết kế mô hình đèn giao thông ................................................................. 40
3.2.4 Sơ đồ nguyên lý của toàn mạch ................................................................... 41

CHƯƠNG 4. THI CÔNG HỆ THỐNG .................................................... 43
4.1 Giới thiệu. ...................................................................................................... 43
4.2 Thi công hệ thống............................................................................................ 43
4.2.1 Thi công bo mạch ......................................................................................... 43
4.2.2 Lắp ráp và kiểm tra ....................................................................................... 44
ix


4.2.3 Thiết kế giao diện cho người điều khiển ....................................................... 45
4.3 Đóng gói và thi công mô hình .................................................................................... 45

4.4 Lập trình hệ thống ........................................................................................... 46
4.4.1 Lập trình trên phần mềm matlab ................................................................... 46
4.4.1.1 Lưu đồ tổng quát trên matlab ..................................................................... 46
4.4.1.2 Chi tiết về hệ thống.................................................................................... 46
4.4.2 Lập trình trên kit arduino mega 2560 ............................................................ 53
4.4.2.1 Lưu đồ tổng quát trên arduino.................................................................... 53
4.4.2.2 Chương trình điều khiển trên arduino ........................................................ 54
4.5 Viết tài liệu hướng dẫn sử dụng, tháo tác ......................................................... 60
4.5.1 Viết tài liệu hướng dẫn sử dụng .................................................................... 60
4.5.2 Quy trình thao tác trên giao diện................................................................... 60

CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ................................ 61

5.1 Kết quả ............................................................................................................ 61
5.2 Nhận xét .......................................................................................................... 72
5.3 Đánh giá .......................................................................................................... 73

CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN. .......................... 74
6.1 Kết luận........................................................................................................... 74
6.2 Hướng phát triển ............................................................................................. 74

TÀI LIỆU THAM KHẢO
PHỤ LỤC

...........................................................................................................

x


LIỆT KÊ HÌNH VẼ
Hình

Trang

Hình 2.1 Máy in 3D Makerbot điều khiển bằng Arduino Mega 2560 ................... 9
Hình 2.2: Xe tự hành ............................................................................................ 10
Hình 2.3: Ambilight dùng Arduino uno ............................................................... 10
Hình 2.4: Sơ đồ và chức năng chân Arduino Mega 2560 ...................................... 11
Hình 2.5: Giao tiếp 2 hệ thống dùng chuẩn UART ............................................... 13
Hình 2.6: Nguyên lý hoạt động chuẩn UART ....................................................... 13
Hình 2.7 Sơ đồ chân LED 7 thanh Anode ............................................................. 14
Hình 2.8: Cấu tạo thanh led 7 đoạn 2 digit ............................................................ 14
Hình 2.9: Sơ đồ chân Led 7 đoạn loại 2 digit. ....................................................... 15

Hình 2.10: Led đơn sắc......................................................................................... 15
Hình 2.11: Sơ đồ chân led đơn sắc........................................................................ 15
Hình 2.12: Kết quả đầu ra của quá trình xử lý ảnh ................................................ 16
Hình 2.13: Sơ đồ quá trình xử lý ảnh .................................................................... 16
Hình 2.14: Chuyển ảnh màu thành ảnh xám ......................................................... 19
Hình 2.15: Lược đồ xám....................................................................................... 20
Hình 2.16: Ảnh xám và ảnh nhị phân ................................................................... 20
Hình 2.17: Ví dụ bộ lọc trung bình ....................................................................... 22
Hình 2.18: Hiển thị ảnh bằng hàm imshow() ......................................................... 26
Hình 2.19: Hiển thị ảnh bằng hàm imagesc() ........................................................ 26
Hình 2.20: Chuyển đổi ảnh màu thành ảnh xám ................................................... 27
Hình 2.21: Tăng cường độ tương phản của anh bằng hàm imadjust() ................... 27
Hình 2.22: Chuyển đổi ảnh xám sang ảnh nhị phân .............................................. 28
Hình 2.23: Ảnh đầu vào........................................................................................ 29
Hình 2.24: Ảnh sau khi giản nở ............................................................................ 29
Hình 2.25: Ảnh đầu vào........................................................................................ 30
Hình 2.26: Ảnh sau khi xói mòn ........................................................................... 30
Hình 2.27: So sánh ảnh gốc và ảnh sau khi xử lý bằng hàm bwareaopen() ........... 31
Hình 3.1: Sơ đồ khối hệ thống .............................................................................. 32
Hình 3.2: Sơ đồ nối dây vi điều khiển trong Broad Arduino Mega ....................... 34
Hình 3.3: Sơ đồ nối dây mạch nạp trong Arduino Mega ....................................... 35
xi


Hình 3.4: Sơ đồ nguyên lý led 7 đoạn 2 digit anode chung ................................... 36
Hình 3.5: Led 7 đoạn 2 digit thực tế ..................................................................... 36
Hình 3.6: Led đơn màu xanh, đỏ, vàng thực tế ..................................................... 38
Hình 3.7 Sơ đồ kết nối led đơn với điện trở .......................................................... 38
Hình 3.8 Sơ đồ kết nối led 7 đoạn với điện trở...................................................... 38
Hình 3.9: Mặt trên của mô hình sau khi thiết kế ................................................... 40

Hình 3.10: Mặt dưới của mô hình sau khi thiết kế ................................................ 41
Hình 3.11: Sơ đồ nguyên lý toàn mạch ................................................................. 42
Hình 4.1 Mô hình sau khi thi công........................................................................ 43
Hình 4.2. Hỉnh ảnh thực tế sau khi thi công .......................................................... 44
Hình 4.3. Giao diện điều khiển chính trên PC ....................................................... 45
Hình 4.4. Mô hình sau khi thi công....................................................................... 46
Hình 4.5. Sơ đồ khối tổng quát chính của hệ thống đếm đối tượng trên matlab .... 46
Hình 4.6. Lưu đồ xử lý ảnh đầu vào...................................................................... 48
Hình 4.7. Ảnh đầu vào .......................................................................................... 49
Hình 4.8. Ảnh nền ................................................................................................ 49
Hình 4.9. Ảnh được nhị phân................................................................................ 50
Hình 4.10. Ảnh sau khi giản nở điểm ảnh ............................................................. 51
Hình 4.11. Ảnh sau khi lấp lỗ trống ...................................................................... 51
Hình 4.12. Ảnh sau khi sói mòn ........................................................................... 52
Hình 4.13. Ảnh sau xóa các đối tượng nhỏ ........................................................... 52
Hình 4.14. Kết quả sau khi xử lý .......................................................................... 53
Hình 4.15. Sơ đồ khối chương trình nhận dữ liệu từ Matlab sang Aruduino ......... 53
Hình 4.16. Lưu đồ chương trình điều khiển ứng dụng trên Arduino ..................... 54
Hình 4.17. Quy trình thao tác với thuật toán đếm số lượng phương tiện ............... 60
Hình 5.1 Giao diện điều khiển chính .................................................................... 61
Hình 5.2. Giao diện lựu chọn lưu lượng phương tiện để quan sát ......................... 61
Hình 5.3. Kết quả quan sát trên giao diện làn 1 khi ít xe ....................................... 62
Hình 5.4. Kết quả quan sát trên mô hình làn 1 khi ít xe ........................................ 63
Hình 5.5. Kết quả quan sát trên giao diện làn 2 khi ít xe ....................................... 63
Hình 5.6. Kết quả quan sát trên mô hình làn 2 khi ít xe ........................................ 64
Hình 5.7. Kết quả quan sát trên giao diện làn 1 khi vừa xe ................................... 65
Hình 5.8. Kết quả quan sát trên mô hình làn 1 khi vừa xe ..................................... 66
xii



Hình 5.9. Kết quả quan sát trên giao diện khi làn 2 vừa xe ................................... 66
Hình 5.10. Kết quả quan sát trên mô hình khi làn 2 vừa xe ................................... 67
Hình 5.11. Kết quả quan sát trên giao diện làn 1 khi đông xe ............................... 68
Hình 5.12. Kết quả quan sát trên mô hình làn 1 khi đông xe ................................. 69
Hình 5.13. Kết quả quan sát trên giao diện làn 2 khi đông xe ............................... 69
Hình 5.14. Kết quả quan sát trên mô hình làn 2 khi đông xe ................................. 70
Hình 5.15. Kết quả điều khiển bằng tay làn 1 ....................................................... 71
Hình 5.16. Kết quả điều khiển bằng tay làn 2 ....................................................... 71

xiii


LIỆT KÊ BẢNG
Bảng

Trang

Bảng 3.1: Mã hiển thị từ 0 – 9 loại anode chung .....................................................37
Bảng 3.2 Số giây đèn xanh ứng với số xe đếm được ................................................39
Bảng 3.3 Liệt kê điện áp và dòng các linh kiện sử dụng trong mạch ........................39
Bảng 4.1 Danh sách các linh kiện ............................................................................47
Bảng 5.1 Kết quả đếm xe làn 1 khi ít xe ..................................................................64
Bảng 5.2 Kết quả đếm xe làn 2 khi ít xe ..................................................................65
Bảng 5.3 Thống kê kết quả đếm xe làn 1 khi vừa xe ................................................67
Bảng 5.4 Thống kê kết quả đếm xe làn 2 khi vừa xe ................................................68
Bảng 5.5 Kết quả đếm xe làn 1 khi đông xe .............................................................70
Bảng 5.6 Kết quả đếm xe làn 2 khi đông xe .............................................................71

xiv



TÓM TẮT
Sự phát triển nhanh chóng của nền kinh tế và lượng dân cư đông đúc. Nhu
cầu đi lại, vận chuyển cũng tăng lên nhanh chóng đi kèm theo nó là bài toán tắc
nghẽn ùn tắc giao thông. Ùn tắc giao thông gây thiệt hại không nhỏ cho sự phát
triển kinh tế quốc gia, giảm hiệu suất lao động và tăng các chi phí không cần
thiết trong quá trình sản xuất. Trong bối cảnh kinh tế lạm phát và khó khăn như
hiện nay, lãng phí trong giao thông lại đặt thêm một gánh nặng đối với đời sống
kinh tế của người dân. Nguyên nhân của vấn đề này một phần là do cơ sở hạ tầng
chưa đáp ứng được nhu cầu lưu thông hiện nay, một phần là do việc phân chia,
định thời gian của hệ thống đèn giao thông hiện tại ở các giao lộ chưa hợp lý
khiến cho số lượng phương tiện giao thông bị ùn tắc theo thời gian rồi dẫn đến
tắc nghẽn giao thông. Qua thực trạng đó, nhóm muốn xây dựng một hệ thống
điều thiết giao thông tự động, phân luồng trực tiếp và hiệu quả hơn phần nào đó
giảm bớt tình trạng ùn tắc giao thông. Đồng thời tiêu tiếp cận, bổ sung các kiến
thức mới, cũng như củng cố lại những kỹ năng kiến thức trong suốt quá trình học
tập tại trường.
Do đó, nhóm thực hiện đồ án chọn đề tài: “Thiết kế thi công hệ thống điều
khiển tín hiệu đèn giao thông thông qua xử lý ảnh”.
Nghiên cứu này nhằm mục tiêu phát triển giải thuật điều khiển hệ thống
đèn giao thông cho một giao lộ, với chu kỳ đèn tín hiệu tùy thuộc vào tình trạng
xe lưu thông trên hai tuyến đường quan sát được bởi 2 camera. Giải thuật đếm số
lưu lượng xe trên đường được xây dựng để quyết định thời gian của chu kỳ đèn
xanh kế tiếp cho tuyến đường tương ứng. Hình ảnh thu được từ camera sẽ được
phần mềm mô phỏng giả lập để kiểm chứng giải thuật điều khiển. Kết quả mô
phỏng cho thấy tuyến đường nào có lưu lương xe lớn hơn thì chu kỳ đèn xanh
của tuyến đường đó dài hơn và ngược lại.
Người thực hiện đề tài.

Nguyễn Thái Dương Duy.

xv


xvi


CHƯƠNG 1. TỔNG QUAN

Chương 1. TỔNG QUAN.
1.1 ĐẶT VẤN ĐỀ.
Trong những năm gần đây, mặc dù còn mới mẻ trong lĩnh vực khoa học và
công nghệ nhưng xử lý ảnh đang được nghiên cứu và phát triển với tốc độ nhanh
chóng bởi các trung tâm nghiên cứu, trường đại học và học viện… với rất nhiều
ứng dụng trên các lĩnh vực khác nhau [1]. Việc áp dụng công nghệ xử lý ảnh để
tạo ra các thiết bị điện tử tự động hóa, phần nào đó thay thế được số lượng các
cảm biến cần sử dụng giúp nhà đầu tư và người sử dụng vừa tiết kiệm được chi
phí và nâng cao hiệu suất làm việc. Trên thực tế các có rất nhiều bài toán đa
dạng về các lĩnh vực công nghiệp, nông nghiệp, an ninh thậm chí là y tế được
giải quyết nhờ việc áp dụng công nghệ xử lý ảnh.
Hiện nay với sự phát triển nhanh chóng của nền kinh tế nước nhà và lượng
dân cư đông đúc. Nhu cầu đi lại, vận chuyển cũng tăng lên nhanh chóng đi kèm
theo nó là bài toán tắc nghẽn ùn tắc giao thông. Ùn tắc giao thông gây thiệt hại
không nhỏ cho sự phát triển kinh tế quốc gia, giảm hiệu suất lao động và tăng
các chi phí không cần thiết trong quá trình sản xuất. Trong bối cảnh kinh tế giảm
phát và khó khăn như hiện nay, lãng phí trong giao thông lại đặt thêm một gánh
nặng đối với đời sống kinh tế của người dân. Nguyên nhân của vấn đề này một
phần là do cơ sở hạ tầng chưa đáp ứng được nhu cầu lưu thông hiện nay, một
phần là do việc phân chia, định thời gian của hệ thống đèn giao thông hiện tại ở
các nút giao thông chưa hợp lý khiến cho số lượng phương tiện giao thông bị ùn
tắc theo thời gian rồi dẫn đến tắc nghẽn giao thông. Hiện tại có rất nhiều giải

pháp để nâng cao hiểu phia chia thời gian các làn đường ở các nút giao thông
trọng điểm. Như lập trình bộ điều khiển tín hiệu theo khung giờ cao điểm, hay
trực tiếp phân luồng bởi con người. Tuy vậy các giải pháp chỉ mang tính tương
đối và tốn tài nguyên về con nguời.
Ở các quốc gia tiên tiến, giải pháp đưa ra là lắp đặt các hệ thống camera để
tự động điều tiết giao thông tại các giao lộ trọng yếu. Trong quá trình phát triển
hệ thống kiểm soát giao thông, đã có rất nhiều công bố về việc nghiên cứu thông

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

1


CHƯƠNG 1. TỔNG QUAN

qua mô phỏng và thực nghiệm nhằm tối ưu hóa các bộ điều khiển đèn tín hiệu.
Trong đó, các nghiên cứu điển hình về việc sử dụng kỹ thuật xử lý ảnh kết hợp
với điều khiển mờ (fuzzy control) đèn tín hiệu đã được áp dụng thành công [69]. Các hệ thống này có giá rất cao, ví dụ một hệ thống đèn giao thông thông
minh thương mại sử dụng máy tính công nghiệp và các camera giám sát được
giới thiệu bởi AdvanTech lên đến hàng tỉ đồng cho mỗi chốt giao thông[10].
Ở nước ta, hầu hết các hệ thống đèn giao thông hiện đại đều được nhập
khẩu với giá thành cao và kèm theo hàng loạt các vấn đề cần khắc phục, do
chúng ta chưa làm chủ được công nghệ. Chẳng hạn, để lắp đặt 121 trụ đèn giao
thông do Tây Ban Nha sản xuất, trong dự án “Tăng cường năng lực giao thông
thành phố Hồ Chí Minh”, cần đến 3,5 triệu USD. Tuy nhiên, chưa đầy một năm
sử dụng, chúng ta đã “phơi nắng” số tiền khổng lồ này, do các trụ đèn giao
thông trên không hoạt động được[11]. Năm 2007, Sở Giao Thông Công Chánh
thành phố Hồ Chí Minh triển khai lắp đặt 48 chốt đèn gắn cảm biến để điều tiết
giao thông tự động, bằng nguồn vốn ODA[12]. Tuy vậy, mới sau một thời gian
ngắn sử dụng, các chốt đèn giao thông này đã bị bệnh “nan y”. Ủy Ban Nhân

Dân thành phố Hồ Chí Minh phải chi hơn 8.456USD để mời chuyên gia nước
ngoài “chẩn bệnh”[13]. Rõ ràng làm chủ công nghệ đèn giao thông là nhu cầu
thiết thực mà xã hội đã và đang đặt ra.
Nghiên cứu này hướng tới việc kiểm chứng giải pháp thiết kế đèn giao
thông có thể thay đổi được số giây đèn xanh cho mỗi làn đường để điều tiết lưu
lương cho hợp lý dựa trên công nghệ xử lý ảnh. Hệ thống dùng 2 camera hồng
ngoại để quan sát 2 tuyến đường của 1 giao lộ. Tuyến đường nào có lưu lượng
xe cao hơn thì chu kì đèn xanh tương ứng cho tuyến đường đó sẽ dài hơn tuyến
đường còn lại.
Do đó, nhóm thực hiện đồ án chọn đề tài: “Thiết kế thi công hệ thống điều
khiển tín hiệu đèn giao thông thông qua xử lý ảnh”. Nhằm góp phần vào việc
xây dựng một phương pháp điều khiển đèn tín hiệu giao thông một cách hợp lý
hơn, giúp tình trạng giao thông tại các ngã tư ở nước ta được ổn định hơn.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

2


CHƯƠNG 1. TỔNG QUAN

1.2 MỤC TIÊU.
Mục tiêu của đề tài là xây dựng hệ thống đếm đối tượng (phương tiện) qua
hình ảnh với đầu vào là ảnh có chứa đối tượng cần đếm từ ảnh chụp. Thông qua
quá trình xử lý ảnh sẽ cho ra kết quả là số lượng phương tiện của mỗi làn đường
từ đó sẽ gửi dữ liệu xuống kít điều khiển arduino để điều khiển tín hiệu đèn giao
thông điều tiết giao thông.

1.3 NỘI DUNG NGHIÊN CỨU.
Mục tiêu xây dựng đề tài: “Thiết kế thi công hệ thống điều khiển tín hiệu

đèn giao thông thông qua xử lý ảnh” nhóm sẽ thực hiện những nội dung như
sau:
 NỘI DUNG 1: Tìm hiểu về kit Arduino Mega 2560.
 NỘI DUNG 2: Tìm hiểu về phần mềm matlab.
 NỘI DUNG 3: Cài đặt thư viện cho kit Arduino, cách kết nối Arduino với
Matlab.
 NỘI DUNG 4: Tìm hiểu các thuật phát hiện phương tiện giao thông,
nguyên lý hoạt động của đèn giao thông ở ngoài thực tế.
 NỘI DUNG 5: Xây dựng quá trình xử lý ảnh đầu vào.
 NỘI DUNG 6: Xây dựng hệ thống đếm phương tiện trong ảnh, lập trình
giao diện sử dụng để mô phỏng quá trình thu thập dữ liệu và gửi dữ liệu
xuống kit Arduino.
 NỘI DUNG 7: Xây dựng chương trình điều khiển điều tín hiệu đèn giao
thông trên kit Arduino.
 NỘI DUNG 8: Đánh giá kết quả thực hiện.

1.4 GIỚI HẠN.
 Mô hình gồm có kit Arduino Mega 2560, 2 Module led 7 đoạn loại 2
digit, 6 led đơn hiển thị đèn đỏ, xanh, vàng, máy tính laptop để thực hiện
hệ thống đếm đối tượng qua hình ảnh trên phần mềm Matlab sau đó gửi
dữ liệu xuống kit Arduino điêu khiển mô hình đèn giao thông.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

3


CHƯƠNG 1. TỔNG QUAN

 Hệ thống đếm đối tượng ảnh đầu vào với ngõ vào là ảnh chụp từ camera,

sau đó được xử lý bằng các phương pháp tiền xử lý ảnh đầu vào, thuật toán
dán nhãn đối tượng, phát hiện và đếm số lương phương tiện có trong ảnh.
Do điều kiện phải đặt camera ở trên cột đèn giao thông ngoài thực tế, điều
đó là bất khả thi với nhóm thực hiện đề tài. Nên trong đề tài này nhóm thực
hiện sẽ quay video của 2 làn đường ngoài thực tế bằng điện thoại. Với mật
độ vừa phải trong điều kiện ánh sáng, thời tiết tốt vào ban ngày, sau đó
nhúng vào Matlab được cài đặt trên PC để mô phỏng camera quay 2 làn
đường.

1.5 BỐ CỤC.
Đồ án tốt nghiệp: “Ứng dụng xử lý ảnh thiết kế thi công hệ thống hệ thống
điều khiển đèn tín hiệu giao thông” trình bày trong 6 chương với bố cục như
sau:
 Chương 1: Tổng quan.
Chương này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội
dung nghiên cứu, các giới hạn thông số và bố cục đồ án.
 Chương 2: Cơ sở lý thuyết.
Giới thiệu về phần Matlab, giới thiệu về Arduino, giới thiệu về xử lý ảnh
Giới thiệu về kit Arduino, Module led 7 đoạn đôi.
Giới thiệu về các phương pháp trong quá trình xử lý ảnh đầu vào. Giới
thiệu về thuật toán phát hiện và đếm số lượng phương tiện.
 Chương 3: Thiết kế và tính toán.
Phân tích, xây dựng sơ đồ khối, sơ đồ phần cứng, thiết kế chương trình
cho hệ thống đếm phương tiện qua hình ảnh được viết trên phần mềm
Matlab. Thiết kế giao diện mô phỏng quá trình thực hiện việc lấy ảnh và
gửi dữ liệu qua Arduino. Thiết kế chương trình nhận dữ liệu và điều khiển
hệ thống đèn giao thông trên Arduino.
 Chương 4: Thi công hệ thống.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH


4


CHƯƠNG 1. TỔNG QUAN

Xây dựng chương trình hoàn chỉnh cho toàn hệ thống, các hàm, các lưu
đồ, các chương trình được sử dụng. Lắp ráp và chạy chương trình. Viết tài
liệu hướng dẫn sử dụng, quy trình thao tác.
 Chương 5: Kết quả, nhận xét và đánh giá.
Nêu các kết quả đạt được khi thực hiện chương trình, phân tích, nhận xét,
đánh giá kết quả thực thi được.
 Chương 6: Kết luận và hướng phát triển.
Tóm tắt những kết quả đạt được, những hạn chế và nêu lên các hướng
phát triển trong tương lai.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

5


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

Chương 2. CƠ SỞ LÝ THUYẾT.
2.1 GIỚI THIỆU 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 tao, 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[1].
Để 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

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

6


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT


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.

2.2 TỔNG QUAN VỀ MATLAB.
MATLAB là viết tắt của "matrix laboratory", là ngôn ngữ lập trình cao cấp
thế hệ thứ 4 của Mathworks. MATLAB cung cấp môi trường tương tác để thực
hiện tính toán và lập trình[3], …
MATLAB là ngôn ngữ lập trình do MathWorks phát triển, cho phép người
dùng xây dựng ma trận, vẽ đồ thị hàm số hay biểu đồ dữ liệu, thực hiện các phép
toán, tạo các giao diện người dùng, liên kết các chương trình máy tính được viết
trên nhiều ngôn ngữ khác nhau, bao gồm cả C, C++, Java, và FORTRAN, phân
tích dữ liệu, phát triển các thuật toán, tạo ra các mô hình và ứng dụng.
MATLAB được tích hợp nhiều lệnh và các hàm toán học, giúp người dùng
thực hiện tính toán các con số, vẽ đồ thị và thực hiện các phương pháp số.
MATLAB được sử dụng rộng rãi trong mọi khía cạnh tính toán. Dưới đây
là một số phép tính toán MATLAB được sử dụng phổ biến nhất:
Giải quyết các vấn đề ma trận và mảng.
 Đồ thị 2-D và 3-D.
 Đại số tuyến tính.
 Phương trình đại số.
 Các hàm phi tuyến tính.
 Số liệu thống kê.
 Phân tích dữ liệu.
 Giải tích và phương trình vi phân.
 Tính toán số, tích phân, chuyển đổi, hồi quy, các hàm đặc biệt khác.
Hệ thống Matlab gồm 5 phần chính:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH


7


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

 Ngôn ngữ Matlab: Cho phép lập trình từ các ứng dụng nhỏ đến phức tạp.
Đó là các ngôn ngữ cao về ma trận và mảng, các dòng lệnh, các hàm, cấu trúc
dữ liệu vào.
 Môi trường làm việc: Bao gồm các phương tiện cho việc quản lý các biến
trong không gian làm việc Workspace cũng như xuất nhập dữ liệu. Nó cũng bao
gồm các công cụ phát triển, quản lý, gỡ rối và định hình M-file.
 Xử lý đồ họa: Bao gồm các lệnh cao cấp cho trực quan hóa dữ liệu hai
chiều và
ba chiều, xử lý ảnh, ảnh động. Cung cấp các giao diện tương tác giữa người sử
dụng và máy tính.
 Thư viện toán học: Các hàm cơ bản như cộng, trừ, nhân, chia, sin, cos,
…và các hàm phức tạp như tính ma trận nghịch đảo, trị riêng, chuyển đổi
fourier, laplace, symbolic library.
 Giao diện người dùng (Application Program Interface): Cho phép viết
chương trình tương tác với các ngôn ngữ khác C, Fortran, ...
Simulink là một chương trình đi kèm với Matlab, là một hệ thống tương tác
với việc mô phỏng các hệ thống động phi tuyến, mô phỏng mạch.

2.3 GIỚI THIỆU LỊCH SỬ HÌNH THÀNH ARDUINO.
Arduino là một bo mạch vi xử lý được dung để lập trình tương tác với các
thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác đặc điểm
nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với
một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít
am hiểu về điện tử và lập trình và điều hiển làm nên hiện tượng Arduino chính

là mức giá thấy với tính chấ nguồn mở từ phần cứng tới phần mềm chỉ với
khoảng $30, người dung đã có thể sở hữu board Arduino có 20 ngõ I/O có thể
tương tác và điều khiển chừng ấy thiết bị.
Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị
vua vào thế kỷ thứ 9 là King Arduino, Arduino chính thức được đưa ra giới
thiệu vào năm 2005 như là một công cụ khiêm tốn dành cho các sinh viên của
giáo sư Massimo Banzi, là một trong những người phát triển Arduino, tại trường
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

8


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

Interaction Design Instistute Ivrea (IDII). Mặt dù hầu như không được tiếp thị gì
cả, tin tức về arduino vẫn lan truyền với tốc độ chóng mặt nhờ những lời truyền
miệng tốt đẹp của những người dùng đầu tiên. Hiện nay Arduino nổi tiếng tới
nỗi có người tìm đến thị trấn Ivrea chỉ để tham quan nói đã sản sinh ra Arduino.
Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY (là những
người tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây.
Ngay cả những sinh viên và nhà nghiên cứu tại các trường đại học danh tiếng
như MIT, Stanford, Carnegie Mellon phải sử dụng; hoặc ngay cả Google cũng
muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng để phát triển các
ứng dụng Android tương tác với cảm biến và các thiết bị khác.
Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn giản đến
phức tạp. Trong số đó có một vài ứng dụng thực sự chứng tỏ khả năng vượt trội
của Arduino do chúng có khả năng thực hiện nhiều nhiệm vụ rất phức tạp. Sau
đây là một số ứng dụng nổi bật của Arduino[4].
 Máy in 3D


Hình 2.1. Máy in 3D Makerbot điều khiển bằng Arduino Mega 2560.
 Xe tự hành.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

9


CHƯƠNG 2. CƠ SỞ LÝ THUYẾT

Hình 2.2. Xe tự hành.
 Ambilight.

Hình 2.3. Ambilight dùng Arduino uno.

2.4 GIỚI THIỆU PHẦN CỨNG.
2.4.1 Kit Arduino Mega 2560.
Trong mô hình này, những người thực hiện dùng Board Arduino Mega
2560 được tích hợp sẵn Vi điều khiển Atmega2560 cho số ngoại vi, các chuẩn
giao tiếp và số chân nhiều nhất, bộ nhớ rất lớn (256KB), dễ dàng kết nối với
Module Arduino Motor Shield, nếu có những ứng dụng cần mở rộng thêm nhiều
chân, nhiều ngoại vi thì đây là một sự lựa chọn đáng giá, board hoàn toàn có cấu
trúc chân tương thích với các board như Uno và chạy điện áp 5VDC. Tất cả các
Shield của Arduino Uno đều chạy được với Arduino Mega và Adruino Mega
không dùng được thư viện SoftwareSerial vì đã có sẵn 4 bộ UART[4].
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH

10



×