Với việc thực hiện luận văn này, học viên muốn phát triển một hệ thống machine learning sử dụng phương pháp Convolutional Neural Network có khả năng nhận diện, phân loại các loại biển bá
Trang 1ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
TRƯƠNG VĨNH PHÚC
XÂY DỰNG GIẢI THUẬT NHẬN DIỆN VÀ PHÂN LOẠI BIỂN BÁO GIAO THÔNG DỰA VÀO MÔ HÌNH CONVOLUTIONAL NEURAL NETWORK
Chuyên ngành: Kỹ Thuật Điều Khiển Và Tự Động Hóa
Mã số: 60520216
LUẬN VĂN THẠC SĨ
TP.HỒ CHÍ MINH, tháng 1, năm 2018
Trang 2CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG – HCM
Cán bộ hướng dẫn khoa học : TS Nguyễn Đức Thành
2 Thư ký: TS Phạm Việt Cường
3 Phản biện 1: TS Võ Công Phương
4 Phản biện 2: TS Nguyễn Trọng Tài
5 Ủy viên: PGS.TS Huỳnh Thái Hoàng
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)
Trang 3ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: TRƯƠNG VĨNH PHÚC MSHV : 13153241 Ngày, tháng, năm sinh: 28/02/1990 Nơi sinh: Tiền Giang Chuyên ngành: Kỹ Thuật Điều Khiển Và Tự Động Hóa Mã số : 60520216
I TÊN ĐỀ TÀI:XÂY DỰNG GIẢI THUẬT NHẬN DIỆN VÀ PHÂN LOẠI BIỂN BÁO GIAO THÔNG DỰA VÀO MÔ HÌNH CONVOLUTIONAL NEURAL NETWORK
II NHIỆM VỤ VÀ NỘI DUNG:
- Tìm hiểu và xây dựng hệ thống phát hiện và phân loại biển báo giao thông dựa trên phương pháp Convolutional Neural Networks (CNNs) Kết quả sẽ được thông báo cho tài xế lái xe
- Đánh giá kết quả thực nghiệm đối với giải thuật của phương pháp Convolutional Neural Networks trong việc phân loại biển báo giao thông
- Thiết kế hệ thống xử lý gồm một camera thu dữ liệu hình ảnh kết nối với một
hệ thống xử lý trên máy tính cá nhân, kết quả sẽ được hiển thị trên màn ảnh
III NGÀY GIAO NHIỆM VỤ : 10/07/2017
IV NGÀY HOÀN THÀNH NHIỆM VỤ: 03/12/2017
Trang 4LỜI CẢM ƠN
Trong cuộc sống cũng như trong nghiên cứu khoa học, một sự thành công dù lớn hay nhỏ của một cá nhân hay một tập thể đều được gắn liền với sự giúp đỡ có thể là trực tiếp hoặc gián tiếp từ những người khác Để hoàn thành nghiên cứu trong luận văn này tôi xin được gửi lời cảm ơn đến quý Thầy Cô ở Bộ môn Điều Khiển Tự Động, Khoa Điện - Điện tử, Trường đại học Bách Khoa - Đại học quốc gia TP Hồ Chí Minh với tri thức và tâm huyết của mình đã truyền đạt vốn kiến thức quý báu trong suốt thời gian tôi học tập và nghiên cứu tại trường
Với lòng biết ơn sâu sắc đến TS Nguyễn Đức Thành người thầy luôn nhiệt tình hướng dẫn chỉ bảo cho tôi những kiến thức chia sẽ cho tôi những kinh nghiệm trong suốt khoảng thời gian thực hiện nghiên cứu này
Tôi cũng mong muốn gửi lời cảm ơn đặc biệt đến cha mẹ tôi đã dành nhiều tình cảm và động viên để tôi hoàn thành nghiên cứu này Bên cạnh đó cha mẹ cũng là chỗ dựa vững chắc về mặt tinh thần cho tôi trên con đường nghiên cứu khoa học
Tôi xin chân thành cảm ơn các bạn học của tôi đã nhiệt tình đóng góp ý kiến giúp tôi hoàn thành luận văn được tốt hơn
Một lần nữa tôi xin gửi lời cám ơn chân thành đến tất cả mọi người
Trang 5Tóm Tắt Luận Văn Thạc Sĩ
Với sự tiến bộ của khoa học kĩ thuật trong những năm gần đây, thế giới đã giới thiệu ra những sản phẩm công nghệ nổi bật, có thể hỗ trợ con người tốt hơn trong nhiều hoàn cảnh khác nhau.Các hệ thống trở nên thông minh hơn, có khả năng xử lí được nhiều tác vụ trong thời gian ngắn Để làm được điều đó, xu hướng huấn luyện
để máy tính có thể hiểu được môi trường xung quanh ngày càng được đẩy mạnh và đạt được những bước tiến vượt bậc Kết hợp với việc phát triển của hệ thống phần cứng, những hệ thống máy học (Machine Learning) có khả năng thách thức con người trong các trò chơi đánh cờ, cũng như khả năng phân biệt được những đối tượng khác nhau
Với việc thực hiện luận văn này, học viên muốn phát triển một hệ thống machine learning sử dụng phương pháp Convolutional Neural Network có khả năng nhận diện, phân loại các loại biển báo giao thông khác nhau Hệ thống được xây dụng trên máy tính cá nhân kết hợp camera thu thập dữ liệu hình ảnh xung quanh, xử lý đưa ra kết qua trong thời gian thực
Trang 6LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi rõ trong luận văn, các công việc trình bày trong luận văn này do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường này hoặc trường khác
Ngày 12/12/2017
Trương Vĩnh Phúc
Trang 7Mục Lục
CHƯƠNG 1 TỔNG QUAN VỀ MÔ HÌNH NHẬN DIỆN VÀ PHÂN LOẠI
BIỂN BÁO GIAO THÔNG 11
1.1 Đ ẶT VẤN ĐỀ 11
1.2 T ỔNG QUAN CÁC CÔNG TRÌNH LIÊN QUAN ĐẾN ĐỀ TÀI 13
1.2.1 Các nghiên cứu liên quan đến phát hiện và nhận diện biển báo giao thông: 13
1.2.2 Các nghiên cứu liên quan đến đến phương pháp CNN 26
1.3 M ỤC TIÊU NGHIÊN CỨU 29
1.4 C ẤU TRÚC LUẬN VĂN 30
CHƯƠNG 2 LÝ THUYẾT MẠNG NEURON TRONG NHẬN DIỆN VÀ PHÂN LOẠI… 31
2.1 L Ý THUYẾT VỀ MẠNG NEURON ( NEURAL NETWORKS ) 31
2.1.1 Mạng thần kinh nhân tạo: 31
2.1.2 Quá trình xử lý thông tin của tế bào thần kinh: 32
2.1.3 Phân loại mạng thần kinh nhân tạo: 32
2.1.4 Phương pháp huấn luyện mạng thần kinh: 33
2.2 M Ô HÌNH C ONVOLUTIONAL N EURAL N ETWORK (CNN S ) 36
2.2.1 Giới thiệu: 36
2.2.2 Các thành phần cơ bản của mạng CNNs: 37
2.2.2.1 Lớp Convolution: 37
2.2.2.2 Lớp Pooling: 41
2.2.2.3 Lớp ReLU: 42
2.2.2.4 Lớp Full-Connected: 43
2.3 V ẬN DỤNG MẠNG CNN S VÀO HỆ THỐNG PHÂN LOẠI BIỂN BÁO GIAO THÔNG : 43
2.4 H Ệ THỐNG KHÔNG GIAN MÀU SẮC : 44
2.4.1 Không gian màu RGB: 44
2.4.2 Không gian màu CMYK: 45
2.4.3 Không gian màu HSV: 47
2.5 B Ộ LỌC TRUNG VỊ (M EDIAN F ILTER ): 48
CHƯƠNG 3 XÂY DỰNG GIẢI THUẬT NHẬN DIỆN VÀ PHÂN LOẠI 49
3.1 T HU THẬP DỮ LIỆU : 49
3.2 H UẤN LUYỆN MẠNG CNN S : 50
3.3 X ÂY DỰNG GIẢI THUẬT NHẬN DIỆN VÀ PHÂN LOẠI BIỂN BÁO GIAO THÔNG : 53
3.3.1 Phân tích bài toán nhận diện và phân loại biển báo giao thông: 53
3.3.2 Giải thuật phát hiện vùng biển báo giao thông: 54
3.3.3 Mô hình phân loại biển báo giao thông: 57
3.3.4 Lưu đồ giải thuật cả hệ thống: 63
CHƯƠNG 4 HỆ THỐNG THỰC NGHIỆM NHẬN DIỆN VÀ PHÂN LOẠI BIỂN BÁO GIAO THÔNG 64
4.1 P HẦN CỨNG HỆ THỐNG NHẬN DIỆN VÀ PHÂN LOẠI : 64
4.1.1 Máy tính: 64
4.1.2 Camera: 65
4.2 C HƯƠNG TRÌNH TRÊN MÁY TÍNH : 66
4.3 K ẾT QUẢ : 67
4.3.1 Kiểm tra ảnh chứa biển báo ngẫu nhiên: 67
4.3.2 Kiểm tra ảnh đầu vào camera: 68
4.4 K ẾT LUẬN 70
Trang 84.4.1 Đánh giá kết quả luận văn 70 4.4.2 Hướng phát triển 70
Tài liệu tham khảo 71
Trang 9Danh sách các hình đã sử dụng trong luận văn
Hình 1.1: Sơ đồ thiết kế dựa trên phân loại màu và mạng Neural
Hình 1.2: Ngõ vào của bộ SVM
Hình 1.3: Cấu trúc của bộ phân loại DTBSVMs
Hình 1.4: Sơ đồ thiết kế dựa trên phương pháp DTBSVMs
Hình 1.5: Sơ đồ 49 điểm trong FOSTS
Hình 1.6: Sơ đồ giải thuật HOG kết hợp SVM
Hình 1.7: Vùng không gian màu “Đỏ, xanh dương, vàng”
Hình 1.8: Ví dụ về mối liên hệ giữa những vật thể gần nhau
Hình 1.9: Sơ đồ tiền xử lý ảnh đầu vào cho mạng thần kinh
Hình 1.10: Mô hình CNNs sử dụng 2 GPUs
Hình 1.11: Kết quả phân loại đối tượng trong nghiên cứu [8]
Hình 1.12: Ví dụ về kết quả của phương pháp Bounding Box
Hình 1.13: Kết quả phân loại và theo dõi đối tượng của nghiên cứu [10]
Hình 2.1: Tế bào thần kinh nhân tạo
Hình 2.2: Mô hình phương pháp học có giám sát
Hình 2.11: Không gian màu RGB
Hình 2.12: Không gian màu CMYK
Hình 2.13: Không gian màu HSV
Hình 2.14: Cách sắp xếp phần tử trong bộ lọc trung vị
Hình 3.1: Hình ảnh biển báo giao thông dùng cho việc training
Hình 3.2: Ảnh hưởng của hệ số tốc độ học đến sai số
Trang 10Hình 3.3: Hình ảnh chứa biển báo giao thông gốc
Hình 3.4: Kết quả lấy ngưỡng HSV
Hình 3.5: Ảnh sau khi lọc trung vị
Hình 3.6: Ảnh sau khi lấy contour
Hình 3.7: Ảnh sau khi phân loại bằng CNNs
Hình 3.8: Mô hình sử dụng TensorFlow trên GPU cho việc training
Hình 3.9: Mô hình CNN 1 và kết quả huấn luyện
Hình 3.10: Mô hình CNN 2 và kết quả huấn luyện
Hình 3.11: Mô hình CNN 3 và kết quả huấn luyện
Hình 3.12: Lưu đồ giải thuật cả hệ thống
Hình 3.13: Kết quả cả quá trình nhận diện và phân loại
Hình 4.1: Máy tính Lenovo ThinkPad W540
Hình 4.2: Thông số kĩ thuật máy tính Lenovo
Hình 4.3: Camera Logitech
Hình 4.4: Giao diện người dùng thể hiện kết quả phân loại
Hình 4.5: Ảnh ngẫu nhiên
Hình 4.6: Kết quả phân loại ảnh ngẫu nhiên
Hình 4.7: Một số kết quả nhận diện trực tiếp từ camera
Hình 4.8: Kết quả phân loại ảnh bị nghiêng
Trang 11Danh sách bảng:
Bảng 3.1: Loại biển báo và số lượng mẫu
Bảng 3.2: Kết quả huấn luyện cho mô hình 3
Trang 12Chương 1 TỔNG QUAN VỀ MÔ HÌNH NHẬN DIỆN
VÀ PHÂN LOẠI BIỂN BÁO GIAO THÔNG
1.1 Đặt vấn đề
Xã hội ngày càng phát triển về khoa học kĩ thuật và thiết bị công nghệ trở nên phổ biến, nhu cầu của con người trong tất cả mọi lĩnh vực của cuộc sống cũng ngày càng tăng lên, trong số đó việc nâng cao tính an toàn cũng như những hệ thống hỗ trợ tài xế lái xe không còn là viễn cảnh trên những bộ phim khoa học nữa Thời nay, việc lái xe ngày càng đơn giản hóa kèm theo độ an toàn cho hành khách được nâng cao Đó điều là nhờ vào sự tiến bộ của khoa học kĩ thuật Tiếp theo xu hướng này, hệ thống hỗ trợ nhận diện biển báo giao thông cũng không phải là một ngoại lệ
Tự động nhận diện biển báo giao thông là một nhiệm vụ đầy thử thách đã có từ nhiều năm qua, và với xu hướng xe tự động hóa như hiện nay, nó trở nên một phần không thể thiếu trong lĩnh vực xe thông minh Mặc dù những công trình nghiên cứu đầu tiên đã có từ những năm 1960, chỉ khi vấn đề về hệ thống tự lái thông minh cũng như tiêu chuẩn an toàn cho người ngồi trên xe được chú ý trên toàn thế giới, những thành quả quan trọng mới được giới thiệu vào đầu thập niên 90 Tuy nhiên, ta dễ dàng nhận thấy vẫn còn những khoảng cách giữa những việc con người và máy có thể làm Biển báo giao thông có những đặc tính riêng như màu sắc, hình dạng, chữ số… giúp chúng ta có thể phân biệt với những vật khác ngoài trời Những đặc tính này chính
là ngõ vào vô cùng quan trọng trong việc xây dựng một hệ thống phát hiện và nhận diện biển báo hoạt động một cách hiệu quả, chính xác nhất Tuy nhiên, không thể phủ nhận cũng có rất nhiều yếu tố ảnh hưởng mạnh mẽ đến kết quả cuối cùng của hệ thống Những yếu tố có thể dễ dàng nhận thấy như: sự thay đổi ánh sáng (giữa đêm và ngày, hay do ảnh hưởng của đèn xe, sương mù, mưa bão…), cảnh nền, vật che khuất, biển báo bị phai mờ theo thời gian hay bị xoay chuyển vị trí…Do đó, độ chính xác chính
là chìa khóa quyết định độ thành công của hệ thống bởi vì một quyết định sai hoặc bỏ
lỡ một biển báo có thể dẫn đến hậu quả nghiêm trọng trong quyết định của tài xế
Trang 13Việc nghiên cứu và phát triển thuật toán để xây dựng hệ thống phát hiện và nhận diện biển báo giao thông, hỗ trợ tài xế là một trong những vấn đề quan trọng Thêm vào đó thuật toán được nghiên cứu cần có quyết định phân loại chính xác cao và cũng
có thể chuyển đổi kết quả được đề xuất thành thông tin để người sử dụng hiểu rõ ràng Tuy nhiên với các hệ thống phức tạp trên thực tế không thể mô tả chính xác bởi các phương trình toán học truyền thống, những cách tiếp cận kinh điển dựa trên kỹ thuật phân tích và các phương trình toán học nhanh chóng tỏ ra không còn phù hợp Vấn đề này có thể được giải quyết bằng cách áp dụng phương pháp trí tuệ nhân tạo
Trí tuệ nhân tạo căn cứ trên các đặc điểm, hành vi của con người và tự nhiên để đưa ra các quyết định hợp lý trong điều kiện không chính xác và không chắc chắn, nó
là kỹ thuật bắt chước trí thông minh của con người Trí tuệ nhân tạo ngày càng được nghiên cứu và ứng dụng vào nhiều lĩnh vực khác nhau trong cuộc sống và trong những công việc liên quan đến đưa ra những quyết định dựa trên kết quả phân tích dữ liệu như: hệ thống giám sát và chuẩn đoán trong y tế, hệ thống xử lý ảnh và rút trích những đặc trưng ảnh, hệ thống điện và điện tử, hệ thống dự đoán trong kinh tế và những hệ thống điều khiển trong ngành công nghiệp xe hơi Tất cả những hệ thống yêu cầu phải có sự phân loại và dự đoán chính xác để từ đó đưa ra quyết định đúng
Những phương pháp của trí tuệ nhân tạo gồm có logic mờ, mạng thần kinh nhân tạo, giải thuật di truyền… Mỗi phương pháp có đặc điểm tính toán phù hợp với những vấn đề riêng biệt, trong khi mạng thần kinh nhân tạo được ứng dụng tốt vào vấn đề phân loại mẫu nhưng nó không giải thích được tại sao lại đưa ra quyết định phân loại mẫu đó Ngược lại, hệ mờ có thể đưa ra nguyên nhân tại sao lại có quyết định phân loại của chính nó, nhưng nó lại không thể tự động xây dựng những quy tắc để làm những quyết định đó Tuy nhiên, trong khoảng 5 năm trở lại đây, mô hình CNNs (Convolution Neural Networks) đã chứng minh được sức mạnh trong việc xử lý và liên kết các đặc trưng khác nhau của từng vật thể, tập trung vào việc nhận biết được cấu trúc của vật thể đó thông qua vô số các mảng đặc trưng riêng lẽ đã được huấn luyện và bắt đầu được nghiên cứu ứng dụng trong ngành công nghiệp ô tô
Trang 14Mô hình mạng thần kinh này bao gồm nhiều lớp cấu thành nên có cấu trúc rộng, phức tạp và đòi hỏi nhiều tài nguyên cho quá trình học và đánh giá Dù có có độ chính xác cao và có khả năng linh động thay đổi nhằm đáp ứng yêu cầu nhận dạng, phân loại nhiều đối tượng khác nhau, nhưng CNNs có nhược điểm lớn khi cần có một lượng dữ liệu rất lớn cho quá trình học và cần hệ thống phần cứng đáp đủ mạnh, nhanh cho việc
xử lý khối dữ liệu đó Nhược điểm này đã và đang dần được khắc phục với sự xuất hiện của nhiều kiến trúc vi xử lý mới có khả năng xử lý nhiều tác vụ hơn và nhanh hơn
Với những quan điểm được liệt kê bên trên, mục đích của nghiên cứu này là tìm hiểu và xây dựng hệ thống phát hiện và phân loại biển báo giao thông dựa vào mô hình CNNs có thể áp dụng theo thời gian thực trên máy tính cá nhân
1.2 Tổng quan các công trình liên quan đến đề tài
Ngày nay, ngày càng nhiều nhà khoa học quan tâm nghiên cứu về các ứng dụng,
hệ thống hỗ trợ trong lĩnh vực ô tô, đặc biệt liên quan đến hệ thống tự hành trên xe bốn bánh Việc tự động phát hiện, nhận diện biển báo giao thông là một phần không thể bỏ qua trong một hệ thống xe tự hành
Luận văn này sẽ đề cập một số nghiên cứu sử dụng một trong những phương pháp từ cổ điển đến những phương pháp hiện đại trong việc phát hiện và nhận diện biển báo giao thông
1.2.1 Các nghiên cứu liên quan đến phát hiện và nhận diện biển báo
giao thông:
Nghiên cứu đầu tiên có thể kể đến của nhóm tác giả M Sajjad Hossain, M
Mahmudul Hasan, M Ameer Ali, Md Humayun Kabir and A B M Shawkat Ali [1], trong nghiên cứu này tác giả đã sử dụng giải thuật phân chia dựa trên màu sắc để
phát hiện vùng ảnh chứa biển báo Không gian màu RGB được sử dụng để tối ưu sự đơn giản và có thể sử dụng trực tiếp, không cần chuyển đổi không gian màu Trong phương pháp này, những giá trị ngưỡng của từng màu sắc được cập nhật cho những điều kiện ánh sáng khác nhau, đặc biệt là giữa ngày và đêm Vùng ảnh màu đỏ và màu xanh được tập trung nhận diện từ ảnh đầu vào bởi vì chúng là 2 màu chính trên các
Trang 15biển báo Sau khi tìm được các ROIs với màu xanh và đỏ riêng biệt, một mạng Neural Network dựa trên giải thuật “moments invariants” được sử dụng cho việc phân loại dựa trên các đặc tính về hình dạng của biển báo (tròn, tam giác) Việc phân loại này được thực hiện riêng biệt giữa hai nhóm màu xanh dương và đỏ Để nhận diện nội dung bên trong của từng biển báo, mạng Neural thứ 2 được sử dụng Nó cũng được luyện tập bởi những “monments invariants” Tóm lại, trong bài nghiên cứu này, các tác giả dựa trên ngưỡng màu sắc để tìm vùng ảnh và mạng Neural để phân tích và xác định nội dung từng biển báo
Nhóm tác giả Hossein Pazhoumand-Dar and Mehdi Yaghobi [2] đưa ra một
giải pháp khác trong việc giải quyết vấn đề phát hiện và nhận diện biển báo giao thông Trong phần nghiên cứu này, tác giả đã sử dụng các ngưỡng giá trị trong không gian màu HSI Hệ màu này có ưu điểm về các thành phần H(Hue) và S(Saturation) tỏ ra ổn định và không bị ảnh hưởng nhiều bởi sự thay đổi của điều kiện ánh sáng Các giá trị
Hình 1.1: Sơ đồ thiết kế dựa trên phân loại màu và mạng Neural
Trang 16ngưỡng được chọn dựa trên những ảnh mẫu thật trong nhiều điều kiện ánh sáng khác nhau Dựa vào màu sắc để phân ra 3 vùng ảnh khác nhau là xanh, đỏ và phần còn lại Ngoài ra, tỉ lệ về kích thước của vùng ảnh cũng được cân nhắc để loại ra những vùng ảnh không phù hợp:
Sau khi tìm được phân vùng chứa biển báo dựa trên màu sắc, ở bước tiếp theo nhóm tác giả sử dụng phương pháp Support Vector Machines (SVM) để phân loại hình dạng của biển báo Ngõ vào của phương pháp SVM là khoảng cách của điểm ảnh đến viền của tấm ảnh SVM sẽ phân tích để tìm ra mối liên hệ với những hình dạng phổ biến của biển báo Trong bài báo tác giả chỉ quan tâm đến hình tam giác và hình tròn (hai hình phổ biến nhất của biển báo) và loại bỏ những ảnh không tìm được mối liên quan
Ở bước cuối cùng, phương pháp Self-adaptive image segmentation được sử dụng để lấy những đặc trưng của ảnh chứa biển báo Sau đó, những đặc trưng này cũng
là ngõ vào cho bộ DTBSVMs (Decision-tree_based SVMs) để nhận diện nội dung bên trong biển báo
Hình 1.2: Ngõ vào của bộ SVM
Trang 17Hình 1.3: Cấu trúc của bộ phân loại DTBSVMs
Hình 1.4: Sơ đồ thiết kế dựa trên phương pháp DTBSVMs
Trang 18Bên cạnh đó, nhóm tác giả X.W Gao, L Podladchikova, D Shaposhnikov,
K Hong và N Shevtsova [3] cũng công bố thành tựu trong việc nghiên cứu, đưa ra
giải pháp cho vấn đề phát hiện và nhận diện biển báo giao thông Trong bước phân vùng ảnh có thể chứa biển báo, tác giả dùng thông tin màu sắc trong không gian màu CIECAM97 Hình ảnh đầu vào được chuyển đổi từ RGB sang CIE XYZ và sau đó là không gian LCH (Lightness, Chroma, Hue) sử dụng mô hình CIECAM97 Yếu tố độ sáng sẽ thay đổi như nhau cho các màu sắc khác nhau, do đó, yếu tố Chroma và Hue được sử dụng chủ yếu Nhóm tác giả đã đưa ra bảng miền giá trị cho cho từng màu ứng với từng điều kiện khác nhau:
Dựa trên miền giá trị này, hình ảnh đầu vào sẽ được chia ra nhiều vùng khác nhau và chỉ giữ lại phần có khả năng chứa biển báo Việc phân chia này được hỗ trợ bởi phương pháp “Quad-tree histogram”
Ở bước tiếp theo, nhóm tác giả đã sử dụng phương pháp FOSTS (foveal system for traffic signs) để trích thông tin liên quan đến hình dạng của biển báo (tròn, tam giác, chữ nhật) Việc áp dụng FOSTS, ứng với mỗi ảnh ngõ vào sẽ cho ra tương ứng một vector chứa những đặc trưng về hình dạng của biển báo tại 49 điểm khác nhau Ngoài ra để nâng cao tỉ lệ nhận diện chính xác nội dung bên trong, việc xác định trọng tâm của biển báo là điều cần thiết Tác giả đã sử dụng thông tin màu sắc của phân viền trên biển báo để xác định vị trí trọng tâm
Trang 19Ở bước cuối cùng, tác giả sử dụng thông tin tại 49 điểm được tính toán ở bước phía trước và so sánh với nội dung có sẵn trong kho dữ liệu để phân loại ra nhóm biển báo tương ứng và sau đó là nội dung bên trong biển báo Với phương pháp này, nhóm tác giả đã đạt được tỉ lệ nhận diện chính xác lên đến 95% mẫu được kiểm tra
Tập trung cho việc phát hiện biển báo giao thông, nhóm tác giả W.G Shadeed,
D.I Abu-Al-Nadi và M.J Mismar [4] đã nghiên cứu, đưa ra giải pháp dựa trên biểu
đồ cân bằng (histogram equalization), kiểm soát độ sáng (light control) và phân vùng màu (colour segmentation) Trong hệ màu YUV, giá trị Y đại diện cho độ sáng, (U,V) đại diện cho màu sắc, do đó khi chỉ có Y thay đổi thì ta vẫn có bức ảnh cùng màu sắc Với những tính chất đó, YUV được chọn cho cân bằng histogram, trình tự được thực hiện theo các bước:
➢ Bước 1: chuyển đổi ảnh đầu vào RGB sang không gian màu YUV theo công thức bên dưới:
Y = 0.229*R + 0.587*G + 0.114*B
U = 0.492*(B-Y)
V = 0.877*(R-Y)
➢ Bước 2: Tính histogram của kênh màu Y
➢ Bước 3: Thực hiện cân bằng histogram
𝑌𝑛𝑒𝑤 = 256 ∗𝑁𝑌
𝑁𝑡Hình 1.5: Sơ đồ 49 điểm trong FOSTS
Trang 20Với: Ynew là giá trị mới sau cân bằng, Ny là số lượng pixel có độ sáng <
Y, Nt là tổng số pixel có trong ảnh
➢ Bước 4: Thay thế giá trị Y bằng giá trị Ynew
Tiếp theo, nhóm tác giả đã sử dụng giải thuật kiểm soát độ sáng của ảnh đầu vào để nhằm hạn chế ảnh hưởng của việc thay đổi điều kiện sáng Việc này được thực hiện theo các bước bên dưới:
➢ Bước 1: Tính giá trị trung bình Yav của kênh màu Y
➢ Bước 2: Tính giá trị trung bình YHav của nửa trên của giá trị Y sau cần bằng (Y>Yav)
➢ Bước 3: Tính giá trị trung bình LHav của nửa dưới của giá trị Y sau cần bằng (Y<Yav)
➢ Bước 4: Chọn giá trị trung bình mong muốn YDav, giá trị trung bình trên mong muốn YDHav, giá trị trung bình dưới mong muốn YLav
➢ Bước 5: Gán giá trị (0 – YLav) vào (0 – YDLav), (YLav-Yav) vào (YDLav – YDav), (Yav – YHav) vào (YDav – YDHav) và (YHav – 255) vào (YDHav – 255)
➢ Bước 6: Chuyển đổi ảnh mới nhận được trở lại hệ màu RGB
Cuối cùng, tác giả kết hợp sử dụng cả 2 không gian màu HSV và YUV cho việc phân vùng ảnh có khả năng chứa biển báo Lý do sử dụng:
Trong HSV, giá trị H sẽ thay đổi từ 0o đến 360o khi màu của ảnh thay đổi Các giá trị khác (S,V) không thay đổi khi yếu tố màu thay đổi Trong YUV, giá trị V sẽ dương khi phần trăm điểm ảnh màu đỏ lớn hơn xanh dương và xanh lá cây, ngược lại V sẽ âm Ngoài ra, U sẽ dương nếu màu xanh dương nhiều hơn đỏ và xanh lá cây Do đó, nếu muốn lấy phân vùng màu đỏ thì V phải dương và U phải âm Tương tự cho màu xanh dương
Kết hợp hai đặc điểm trên của HSV và YUV, tác giả đã phân vùng thành công vùng ảnh cần quan tâm
Trang 21Trong một nghiên cứu khác, nhóm tác giả I.M Creusen, R.G.J Wijnhoven,
E Herbschleb và P.H.N de With [5] đã sử dụng giải thuật Histogram of Oriented
Gradient (HOG) để phát hiện và nhận diện biển báo giao thông Trong giải thuật này, ảnh đầu vào được chuyển đổi thành các đặc tính HOG và sau đó một cửa sổ trượt sẽ được quét qua toàn bộ ảnh, việc này được thực hiện với sự hỗ trợ của mô hình Support Vector Machine (SVM) Bộ phân loại SVM được huấn luyện bởi hai bộ ảnh mẫu: một
bộ gồm những hình ảnh có chứa biển báo và một bộ gồm những ảnh chỉ chứa ảnh nền Việc luyện tập được thực hiện qua nhiều vòng lặp, qua mỗi vòng lặp những đặc tính không liên quan sẽ được loại bỏ dần Do đó, độ chính xác của bộ phân loại cuối cùng
sẽ được nâng cao
Để kiểm tra kết quả của phương pháp trên, nhóm tác giả đã thử nghiệm huấn luyện và kiểm tra cho nhiều không gian màu khác nhau: RGB, HSV, CIELab và YcbCr Thông qua kết quả, ta có thể nhận thấy được không gian màu CIELab và YcbCr cho kết quả với độ chính xác cao nhất:
Bài nghiên cứu này bổ sung cho ta thêm một phương pháp trong việc nhận diện
và phát hiện biển báo giao thông Phương pháp này thích hợp với những hệ thống hạn
Hình 1.6: Sơ đồ giải thuật HOG kết hợp SVM
Trang 22chế về tài nguyên xử lý đồng thời ta có thể nâng cao tỉ lệ chính xác bằng việc tăng số lượng mẫu dùng để luyện tập cho hệ thống
Bên cạnh đó, nhóm tác giả Krzysztof Dyczkowski, Paweł Gadecki, Adam
Kułakowski [6] đã đưa ra một nghiên cứu với kết quả có khả năng sử dụng trong
những ứng dụng thực tế Trong phần đầu tiên, thay vì sử dụng hệ màu thông dụng RGB, nhóm tác giả sử dụng không gian màu HSB (Hue, Saturation, Brightness) Sau
đó, giả sử 3 màu chính thông thường trên biển báo là đỏ, xanh dương và vàng, tác giả
đã xây dựng tương ứng 3 mô hình hay còn gọi là 3 bộ mờ cho 3 màu Mô hình này được xây dựng dựa trên các giá trị ngưỡng về màu sắc như hình bên dưới:
Tiếp theo, tác giả tiến hành phân tích những vật thể bên trong tấm ảnh Ở đây, giả sử phần chứa biển báo được chia làm 2 hoặc nhiều phần chính, tác giả xây dựng một hệ thống dựa trên những luật mờ để kiểm tra mối liên hệ giữa các phần này với nhau Ngõ vào của hệ thống mờ gồm những thông tin bên dưới:
Hình 1.7: Vùng không gian màu “Đỏ, xanh dương, vàng”
Trang 23Dựa trên những giá trị đầu vào này, tác giả định nghĩa những quy tắc khác nhau cho bộ mờ để kiểm tra mối quan hệ giữa hai vật thể gần nhau Từ đó, những cặp vật thể không liên quan được loại bỏ Ví dụ: những vật thể quá nhỏ, tỉ lệ giữa 2 vật thể quá lớn hay khoảng cách giữa chúng quá lớn…
Trang 24Ở bước tiếp theo, nhóm tác giả muốn so sánh những vùng ảnh thu thập được ở bước trên với những ảnh mẫu có trong cơ sở dữ liệu để xác định thông tin có trong biển báo Đầu tiên, tác giả tạo ra 6 vector chứa thông tin giá trị các pixel tương ứng với 6 cách phân chia bức ảnh:
Hình 1.8: Ví dụ về mối liên hệ giữa những vật thể gần nhau
Trang 25Tương ứng, tác giả cũng xây dựng một bộ vector cho các ảnh mẫu dùng để làm
cơ sở dữ liệu Sau đó, thông qua việc so sánh những giá trị trong 2 bộ vector để đánh giá mức độ giống nhau giữa ảnh đầu vào và những ảnh trong cơ sở dữ liệu Nội dung của biển báo đầu vào được quyết định theo bộ vector mẫu có chỉ số giống nhau cao nhất Với phương pháp này, nhóm tác giả đã đạt được tỉ lệ nhận diện chính xác trung bình 84%
Ngoài ra, trong nghiên cứu của nhóm tác giả P Shopa, N Sumitha và P.S.K
Patra [7] đã sử dụng những kĩ thuật trong OpenCV để giải quyết bài toán nhận diện
biển báo Hình ảnh được đọc vào ở cả hai trạng thái ảnh màu và ảnh trắng đen Trong
đó ảnh trắng đen được sử dụng với mục đích tìm giá trị ngưỡng cho việc chuyển đổi
từ ảnh trắng đen sang ảnh nhị phân Tuy nhiên, trước đó ảnh đầu vào được cho qua bộ lọc Gaussians và sử dụng phương pháp phát hiện cạnh Canny để làm mượt ảnh đầu vào, việc này sẽ giúp nâng cao hiệu quả trong việc tách phân vùng chứa biển báo Sau khi có được ảnh nhị phân, phương pháp nhận diện đường viền được sử dụng
để lọc ra những phân vùng chứa hình ảnh biển báo Phân vùng này được kiểm tra dựa vào kích thước và diện tích để loại bỏ những phần không phù hợp với biển báo giao thông Những phân vùng được chọn sẽ được tách ra từ ảnh gốc để làm những giá trị đầu vào trong phần nhận diện
Trang 26Lợi ích chính của việc lựa chọn phương pháp ngưỡng, bộ lọc Gaussian, phát hiện cạnh Canny hay phát hiện đường viền… chính là làm giảm được khối lượng tính toán, giúp hệ thống có thể hoạt động trong những điều kiện thực tế
Ở phần nhận diện các giá trị bên trong biển báo, nhóm tác giả sử dụng phương pháp Neural Networks (mạng thần kinh) được huấn luyện bởi những ảnh mẫu đầu vào Những phân vùng ảnh (tách ra từ các bước phía trên) được chuyển thành các vector đặc tính, đây cũng chính là những giá trị đầu vào của mạng thần kinh
Hình 1.9: Sơ đồ tiền xử lý ảnh đầu vào cho mạng thần kinh
Trang 271.2.2 Các nghiên cứu liên quan đến đến phương pháp CNN
Nói về các vấn đề trong việc xử lý ảnh như phát hiện, nhận diện, phân loại… hiện tại có khá nhiều phương pháp khác nhau được áp dụng như SIFT, HOG, SVM, HMM, CNNs… Trong đó, phương pháp CNNs đã chứng minh được sức mạnh trong việc xử lý và liên kết các đặc trưng khác nhau của từng vật thể, tập trung vào việc nhận biết được cấu trúc của vật thể đó thông qua vô số các mảng đặc trưng riêng lẽ đã được huấn luyện Đây là phương pháp tương đối mới so với phần còn lại, phù hợp với sự phát triển không ngừng của các kiến trúc xử lý phần cứng với khả năng xử lý nhiều tác vụ và nhanh hơn
Trong nghiên cứu [8], nhóm tác giả Alex Krizhevsky, Ilya Sutskever và
Geoffrey E Hinton đã xây dựng mô hình CNNs nhằm phân loại đối tượng khác nhau
nằm trong tập dữ liệu hình ảnh ImageNet Tập dữ liệu này bao gồm 1.2 triệu ảnh có
độ phân giải cao của 1000 đối tượng khác nhau Kết quả độ chính xác của mô hình này ứng với tập dữ liệu này là 17%, bao gồm 60 triệu hệ số, 650000 neuron và 5 lớp
Để đạt được kết quả trên, nghiên cứu đã sử dụng 2 bộ GPU để tăng hiệu năng tính toán Bài báo này đã gây ra sự chú ý rất lớn trong cuộc thi ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 2012 và trở thành nền tảng cho nhiều nghiên cứu sau này Hai phương pháp quan trọng được sử dụng để tăng độ chính xác, giảm thời gian huấn luyện là bộ hiệu chỉnh trọng số Dropout và hàm kích hoạt Rectified Linear Units (ReLUs) Nhằm ngăn chặn hiện tượng overfitting, tác giả sử dụng phương pháp Dropout ở 2 lớp đầu Phương pháp này sẽ triệt tiêu một số neurons trong một lớp và giá trị ngõ ra của chúng sẽ bằng 0 Trong quá trình cập nhật giá trị các trọng số, việc sử dụng hàm ngõ ra không tuyến tính f(x) = tanh(x) hoặc hàm f(x) = (1 + e-x)-1 sẽ chậm hơn hàm max(x,0) (hàm ReLUs)
Trang 28Ngoài ra, nhóm tác giả Pierre Sermanet, David Eigen, Xiang Zhang, Michael
Mathieu, Rob Fergus và Yann LeCun trong nghiên cứu [9] đã giới thiệu một phương
pháp sử dụng CNNs cho quá trình xác định bằng cách kết hợp với phương pháp cửa
sổ trượt sliding window và bounding boxes Trong phương pháp cửa sổ trượt, các cửa
sổ có kích thước khác nhau sẽ quét trên toàn ảnh gốc, các cửa sổ này chính là hình ảnh ngõ vào của CNNs đã được huấn luyện Các cửa sổ có độ chính xác cao sẽ được đánh dấu giữ lại Phương pháp này có độ chính xác cao nhưng rất tốn kém về thời gian và tài nguyên tính toán Phương pháp bounding boxes được thực hiện bằng cách chạy đồng thời quá trình phân loại và quá trình huấn luyện cho kích thước và vị trí của các hộp ước lượng Kích thước của các hộp ước lượng sẽ giảm dần và số lượng của chúng
sẽ tăng dần Phương này đạt được độ chính xác cao và tối ưu hơn phương pháp cửa sổ trượt nhưng không nhận dạng được nhiều đối tượng trong hình
Hình 1.10: Mô hình CNNs sử dụng 2 GPUs
Hình 1.11: Kết quả phân loại đối tượng trong nghiên cứu [8]
Trang 29Ứng dụng trong lĩnh vực giao thông, nghiên cứu [10] của tác giả S Shruthi xây
dựng hệ thống theo dõi phương tiện giao thông sử dụng mô hình CNN Hệ thống này không những sử dụng CNNs nhằm mục đích phân loại mà còn nhằm mục đích theo dõi đối tượng Phương pháp sử dụng bộ lọc Kalman có dữ liệu ngõ vào từ vị trí các vùng màu khác nhau, nhằm ước lượng trạng thái tiếp theo của đối tượng trong hình và xác định đối tượng trong hình mới CNNs sẽ được học dữ liệu từ hình mới và so sánh với hình cũ dựa vào độ sai lệch của hàm ra nhằm nhận dạng được phương tiện và tiếp tục cập nhật trọng số của bộ học
Hình 1.12: Ví dụ về kết quả của phương pháp Bounding Box
Trang 301.3 Mục tiêu nghiên cứu
Mục tiêu chính của nghiên cứu trong đề tài này là tìm hiểu và xây dưng một hệ thống hỗ trợ tài xế lái xe thông qua camera theo thời gian thực Cụ thể, hệ thống sẽ sử dụng hình ảnh thu được như những thông tin đầu vào, xử lý để phát hiện và nhận diện, phân loại biển báo giao thông Kết quả sẽ được thông báo cho tài xế lái xe
Để phát triển hệ thống này, đề tài cũng sẽ nghiên cứu giải thuật và khả năng ứng dụng thực tế của phương pháp Convolutional Neutal Networks (CNNs) trong việc xử
lý ảnh Đây là phương pháp tương đối mới thời gian gần đây trong các ứng dụng xử
lý ảnh với ưu điểm về độ chính xác và khả năng học
Ngoài ra, trong luận văn cũng kết hợp sử dụng phương pháp lấy ngưỡng màu sắc trong hệ màu HSV, hình dạng, tỉ lệ các cạnh, diện tích để phát hiện vùng có khả năng chứa biển báo
Đồng thời việc thiết kế hệ thống gồm một camera thu dữ liệu hình ảnh kết nối với một hệ thống xử lý trên máy tính cá nhân, kết quả sẽ được hiển thị trên màn ảnh
Hình 1.13: Kết quả phân loại và theo dõi đối tượng của nghiên cứu [10]
Trang 311.4 Cấu trúc luận văn
Hệ thống tự động phát hiện và nhận diện biển báo giao thông là một phần quan trọng trong việc phát triển các hệ thống nâng cao an toàn, tiện lợi trên xe ôtô, đặc biệt hữu ích cho các hệ thống hỗ trợ xe tự lái trong tương lai gần Với mục tiêu đó, phần còn lại của luận văn này sẽ được tổ chức như sau:
Chương 2 trình bày lý thuyết cơ sở được sử dụng cho hệ thống như những lý thuyết cơ sở về mạng thần kinh nhân tạo, mô hình Convolutional Neural Network, hệ thống không gian màu, bộ lọc trung vị
Chương 3 sẽ trình bày về quá trình thu thập dữ liệu huấn luyện, xây dựng các mô hình CNNs khác nhau để tìm ra mô hình tốt nhất Đồng thời, trong chương này cũng
sẽ trình bày về cách phát hiện vùng chứa biển báo giao thông
Chương 4 mô tả chi tiết phần cứng liên quan đến hệ thống, kết quả thực tế của
mô hình, trình bày nhận xét kết luận về ứng dụng giải thuật CNNs kết hợp với các phương nhận diện cơ bản, đồng thời sẽ đề xuất một số hướng phát triển trong tương lai
Trang 32Chương 2 LÝ THUYẾT MẠNG NEURON TRONG
NHẬN DIỆN VÀ PHÂN LOẠI
Đưa ra quyết định phân loại cho một tập hợp dữ liệu phức tạp là một quyết định khó khăn ngay cả khi việc đó được thực hiện bởi con người Vấn đề sẽ trở nên dễ dàng hơn khi áp dụng phương pháp của trí tuệ nhân tạo là mạng thần kinh nhân tạo
2.1 Lý thuyết về mạng neuron (neural networks)
2.1.1 Mạng thần kinh nhân tạo:
Mạng thần kinh nhân tạo được xem như mô hình toán học đơn giản của hệ thống giống bộ não con người Khác với những mô hình toán học thông thường để thực hiện cho một công việc xác định, mạng thần kinh nhân tạo phải được dạy và được huấn luyện trước khi sử dụng
Mạng thần kinh gồm có nhiều tế bào thần kinh liên kết lại với nhau, mỗi tế bào thần kinh gồm ba thuộc tính: trọng số liên kết (𝑤), ngưỡng (𝜃) và hàm kích hoạt như hình 2.1 Trọng số đặc trưng cho đặc tính kích thích hay kiềm chế giữa các tế bào thần kinh, ngưỡng là giá trị biên độ độ lệch nó tác động đến sự kích hoạt ngõ ra của tế bào thần kinh như công thức sau:
𝑓 = 𝑊𝑇𝑋 − 𝜃 Trong đó: 𝑋 = [𝑥1, 𝑥2, … , 𝑥𝑛]𝑇là vector tín hiệu vào tế bào thần kinh
Hình 2.1: Tế bào thần kinh nhân tạo
Trang 332.1.2 Quá trình xử lý thông tin của tế bào thần kinh:
Quá trình xử lý thông tin của tế bào thần kinh gồm xử lý ngõ vào và xử lý ngõ ra Hàm xử lý ngõ vào thường là hàm tổng và nó thường có các dạng:
Hàm tuyến tính: 𝑓 =(∑𝑚𝑗=1𝑤𝑗𝑥𝑗)− 𝜃 = 𝑊𝑇𝑋 − 𝜃
HHàm toàn phương: 𝑓 = (∑𝑚𝑗=1𝑤𝑗𝑥𝑗2) − 𝜃
2.1.3 Phân loại mạng thần kinh nhân tạo:
Mạng thần kinh nhân tạo có thể được phân loại dựa vào các tính chất:
• Mạng 1 lớp: mạng chỉ gồm 1 lớp tế bào thần kinh
• Mạng nhiều lớp: mạng gồm nhiều lớp tế bào thần kinh
• Mạng truyền thẳng: tín hiệu trong mạng chỉ truyền theo 1 chiều từ ngõ vào đến ngõ ra
• Mạng hồi quy: các tín hiệu hồi tiếp từ ngõ ra trở về ngõ vào
Bên cạnh đó mạng thần kinh nhân tạo còn được phân loại dựa vào quá trình học:
• Học thông số (parameter learning): dùng để cập nhật các trọng số liên kết giữa các tế bào thần kinh trong mạng
Trang 34• Học cấu trúc (structure learning): dùng để thay đổi cấu trúc của mạng bao gồm cả tế bào thần kinh và cách liên kết giữa chúng
Phương pháp học thông số thường được sử dụng nhiều trong ứng dụng thực tế
và được phân loại vào những loại như sau:
• Học có giám sát (supervised learning)
• Học không có giám sát (unsupervised learning)
• Học củng cố (Reinforcement Learning)
2.1.4 Phương pháp huấn luyện mạng thần kinh:
Phương pháp học có giám sát (supervised learning):
Phương pháp này huấn luyện mô hình để xác định ra ngõ ra giá trị Y từ các giá trị ngõ vào X bằng các tập dữ liệu huấn luyện đã được biết trước đối tượng Ngõ ra Y
có thể bao gồm 1 đối tượng hoặc nhiều đối tượng khác nhau Phương pháp này gồm 2 bước chính là huấn luyện và kiểm tra mô hình Đầu tiên, chúng ta sẽ phân tích dữ liệu huấn luyện ngõ vào và xây dựng mô hình phân loại Sau đó, mô hình này sẽ được kiểm chứng bằng cách đưa các dữ liệu ngõ vào mới vào mô hình và kiểm tra kết quả phân loại ngõ ra Một số giải thuật nằm trong phương pháp này như Suport Vector Machine (SVM), Nearest Neighbor (NN), Neural Networks
Trang 35Phương pháp học không có giám sát (unsupervised learning):
Trong phương pháp này chúng ta không biết trước được ngõ ra của các tập dữ liệu huấn luyện ngõ vào Thay vào đó, chúng ta sẽ sử dụng các kỹ thuật phân loại, gom nhóm, tổng hợp nhằm xác định được quy tắc chung của các nhóm trong tập dữ liệu này Một số giải thuật nằm trong phương pháp này như k-mean, phân loại kế thừa (Hierarchical Clustering),
Phương pháp học củng cố (reinforcement learning):
Phương pháp học tăng cường liên tục thực hiện việc huấn luyện mô hình bằng các kết quả thử và lỗi của quá khứ nhằm đưa ra quyết định tốt nhất, ví dụ như giải thuật Markov Decision Process
Bài toán phân loại dữ liệu trong thực tế thường sử dụng phương pháp mạng thần kinh nhân tạo, bởi khả năng tự động điều chỉnh trọng số để tối ưu cách thức xử lý như phân loại mẫu và đưa ra quyết định Đối với mạng truyền thẳng ba lớp như hình 2.3
và thuật toán học lan truyền ngược như sau:
Hình 2.2:Mô hình phương pháp học có giám sát
Trang 36Bước 1: Chọn tốc độ học 𝜂 > 0, chọn sai số cực đại 𝐸𝑚𝑎𝑥
Bước 2: Gán các trị ban đầu sai số 𝐸 = 0, biến chạy 𝑘 = 1 và gán các giá trị
ngẫu nhiên cho các trọng số 𝑣𝑗𝑞(𝑘), 𝑤𝑞𝑖(𝑘) ( 𝑗 = 1, 𝑚̅̅̅̅̅̅ , 𝑞 = 1, 𝑙̅̅̅̅, 𝑖 = 1, 𝑛̅̅̅̅̅ )
Bước 3: Tính ngõ ra của mạng với tín hiệu vào 𝑥(𝑘)
Bước 6: Nếu k < K thì gán k = k+1 và quay lại bước 3
Hình 2.3:Mạng truyền thẳng 3 lớp