1. Trang chủ
  2. » Luận Văn - Báo Cáo

THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)

134 940 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 134
Dung lượng 9,53 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TÓM TẮT LUẬN VĂN Ngày nay với sự phát triển nhảy vọt của Khoa học kỹ thuật, con người đã tạo nên và phát triển nhiều công trình khoa học mang tính tầm cỡ. Với sự thay thế dần của máy móc cho con người trong các nhiệm vụ mang tính chính xác và tập trung cao thì kết quảđạt được đã hoàn toàn được tin cậy và đánh giá cao. Điều này thực sự có ý nghĩa to lớn và góp phần tăng thêm giá trị và chất lượng cuộc sống. Đề tài luận văn này, nhận dạng danh tính xe và bám đuổi trên cơ sở thị giác máy tính, cũng không nằm ngoài ý nghĩa đó. Đây là một hướng nghiên cứu thú vị và ý nghĩa vì nhu cầu thực tiễn và có nhiều phương pháp tiếp cận.Hướng giải quyết đề tài của sinh viên là nhận dạng danh tính xe bằng nhận dạng biển số xe. Ở Việt Nam phương tiện giao thông chủ yếu là xe gắn máy nên trong luận văn sinh viên chọn biển số xe máy, gồm 2 hàng và 8 ký tự. Bám đuổi xe dựa trên khoảng cách tính được giữa 2 xe. Tất cả các giải thuật, chương trình nhận dạng và tính khoảng cách đều dựa trên cơ sở thị giác máy tính.

Trang 1

KHOA ĐIỆN – ĐIỆN TỬ

BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG

LUẬN VĂN TỐT NGHIỆP

TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE

GVHD : KS LÊ NGỌC ĐÌNH SVTH : LÊ ĐỨC HẠNH MSSV : 40700703

Trang 2

ĐH QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA

- -

Số: /BKĐT KHOA: ĐIỆN - ĐIỆN TỬ BỘ MÔN: ĐIỀU KHIỂN TỰ ĐỘNG 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 TỐT NGHIỆP HỌ VÀ TÊN: LÊ ĐỨC HẠNH MSSV: 40700703 NGÀNH: ĐIỀU KHIỂN TỰ ĐỘNG LỚP: DD07TD1 1 Đầu đề luận văn: THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE 2 Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu): ………

………

………

………

………

………

………

………

3 Ngày giao nhiệm vụ luận văn:………

4 Ngày hoàn thành nhiệm vụ: ………

5 Họ và tên người hướng dẫn: Phần hướng dẫn 1 KS LÊ NGỌC ĐÌNH ……… ………

2 ……… ……….……

Nội dung và yêu cầu LVTN đã được thông qua Bộ Môn Ngày………tháng…………năm……

CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH (Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên) PHẦN DÀNH CHO KHOA, BỘ MÔN: Người duyệt (chấm sơ bộ): ………

Đơn vị:………

Ngày bảo vệ ………

Điểm tổng kết………

Nơi lưu trữ luận văn ………

Trang 3

-✩ - -✩ -

Số: /BKĐT Khoa: Điện – Điện tử Bộ Môn: Tự Động PHIẾU CHẤM BẢO VỆ LVTN (Dành cho người hướng dẫn) 1 Họ và tên SV : ………

MSSV : ……… Ngành (chuyên ngành ) : ………

2 Đề tài : ………

………

3 Họ tên người hướng dẫn: ………

4 Tổng quát về bản thuyết minh : Số trang : Số chương : ………

Số bảng số liệu : Số hình vẽ : ………

Số tài liệu tham khảo : Phần mềm tính toán :…………

Hiện vật (sản phẩm) :

5 Tổng quát về các bản vẽ : Số bản vẽ : bản A1 bản A2 khổ khác Số bản vẽ tay: Số bản vẽ trên máy tính: 6 Những ưu điểm chính của LVTN:………

7 Những thiếu sót chính của LVTN:………

8 Đề nghị : Được bảo vệ  Bổ sung thêm để bảo vệ  Không được bảo vệ  9 Câu hỏi SV phải trả lời trước Hội đồng : a

b

c

Đánh giá chung (bằng chữ : giỏi, khá, TB) : Điểm _/10

Ký tên (ghi rõ họ tên)

Trang 4

-✩ - -✩ -

Số: /BKĐT Ngày tháng năm Khoa: Điện – Điện tử Bộ Môn: Tự Động PHIẾU CHẤM BẢO VỆ LVTN (Dành cho người phản biện) 1 Họ và tên SV : ………

MSSV :……… Ngành (chuyên ngành ) : ………

2 Đề tài : ………

………

3 Họ tên người phản biện:………

4 Tổng quát về bản thuyết minh : Số trang : Số chương : ………

Số bảng số liệu : Số hình vẽ : ………

Số tài liệu tham khảo : Phần mềm tính toán :…………

Hiện vật (sản phẩm) :

5 Tổng quát về các bản vẽ : Số bản vẽ : bản A1 bản A2 khổ khác Số bản vẽ tay: Số bản vẽ trên máy tính: 6 Những ưu điểm chính của LVTN:………

7 Những thiếu sót chính của LVTN:………

8 Đề nghị : Được bảo vệ  Bổ sung thêm để bảo vệ  Không được bảo vệ  9 Câu hỏi SV phải trả lời trước Hội đồng : a

b

c

Đánh giá chung (bằng chữ : giỏi, khá, TB) : Điểm _/10

Ký tên (ghi rõ họ tên)

Trang 5

Trước hết con xin gửi lời cảm ơn đến gia đình, đã luôn khích lệ và là chỗ dựa tinh thần cho con trong suốt quá trình học tập vừa qua

Kính gửi đến thầy Lê Ngọc Đình lời cảm ơn chân thành và sâu sắc, cảm ơn thầy

đã tận tình hướng dẫn và đưa ra lời khuyên để em có thể hoàn thành luận văn tốt nghiệp

Em xin chân thành cảm ơn tất cả các thầy cô của trường Đại Học Bách Khoa TP.HCM nói chung , quý thầy cô của khoa Điện- Điện Tử và bộ môn Điều Khiển Tự Động nói riêng đã tận tình giảng dạy và trang bị những kiến thức cần thiết cho em trong suốt thời gian học tập tại trường

Và tôi xin được cảm ơn những người bạn đã giúp đỡ tôi rất nhiều trong quá trình học tập cũng như khi thực hiện luận văn này

Sau cùng, em xin được gởi lời chúc sức khỏe, hạnh phúc đến quý thầy cô, gia đình

và bạn bè

Tp.HCM, ngày 25 tháng 12 năm 2011

Lê Đức Hạnh

Trang 6

Ngày nay với sự phát triển nhảy vọt của Khoa học kỹ thuật, con người đã tạo nên

và phát triển nhiều công trình khoa học mang tính tầm cỡ Với sự thay thế dần của máy móc cho con người trong các nhiệm vụ mang tính chính xác và tập trung cao thì kết quả đạt được đã hoàn toàn được tin cậy và đánh giá cao Điều này thực sự có ý nghĩa to lớn

và góp phần tăng thêm giá trị và chất lượng cuộc sống

Đề tài luận văn này, nhận dạng danh tính xe và bám đuổi trên cơ sở thị giác máy tính, cũng không nằm ngoài ý nghĩa đó Đây là một hướng nghiên cứu thú vị và ý nghĩa

vì nhu cầu thực tiễn và có nhiều phương pháp tiếp cận

Hướng giải quyết đề tài của sinh viên là nhận dạng danh tính xe bằng nhận dạng biển số xe Ở Việt Nam phương tiện giao thông chủ yếu là xe gắn máy nên trong luận văn sinh viện chọn biển số xe máy, gồm 2 hàng và 8 ký tự Bám đuổi xe dựa trên khoảng cách tính được giữa 2 xe Tất cả các giải thuật, chương trình nhận dạng và tính khoảng cách đều dựa trên cơ sở thị giác máy tính

Cụ thể những vấn đề chính được đặt ra và cần giải quyết ở đề tài này là:

 Tìm hiểu về ngôn ngữ lập trình C++, phần mềm Microsoft Visual Studio 2008 và

thư viện mã nguồn mở OpenCV của Intel

 Nghiên cứu cơ sở lý thuyết của thuật toán Adaboost với đặc trưng Haar-like áp

dụng cho nhận dạng biển số xe từ hình ảnh webcam thu về

 Tìm hiểu các đặc trưng của mạng neural và các phương pháp học cho mạng, áp

dụng cho bài toán nhận diện ký tự

 Tạo cơ sở dữ liệu lưu biển số xe có thể tương tác được

 Tính khoảng cách đến xe cần bám đuổi bằng phương pháp hình học và phương

Trang 7

Đề Mục Trang

Trang bìa

Nhiệm vụ luận văn

Phiếu chấm luận văn

Trang 8

2.3.3 Tiền xử lý ảnh 12

2.4 Các thư viện mã nguồn mở hỗ trợ cho xử lý ảnh 13

Chương 4: THUẬT TOÁN ADABOOST VÀ HUẤN LUYỆN FILE NHẬN DẠNG 27

Trang 9

5.2 Phân loại mạng neural nhân tạo 51

5.4.3 Thuật toán lan truyền ngược ứng dụng trong mang MPL 56 5.5 Ứng dụng của mạng neural trong nhận dạng ký tự và số của biển số xe 59

CHƯƠNG 6: VI XỬ LÝ PIC 16F887 VÀ GIAO TIẾP RS232 63

6.3.1 Ưu điểm của giao tiếp nối tiếp RS232 74

6.3.3 Mạch giao tiếp RS232 dùng IC Max232 75

Trang 10

7.2 Giải thuật và lưu đồ 83

Trang 11

Hình 3.8: Xoay ảnh theo phương pháo reverse mapping 24 Hình 3.9: Nhận diện hình chữ nhật bằng hàm cvPolyLine 25 Hình 3.10: Biển số sau khi được tách riêng 26

Trang 12

Hình 4.2: Ảnh chia nhỏ tại tọa độ (x,y) 29 Hình 4.3: Tổng các giá trị pixel nằm trong vùng A 29

Hình 4.6: Dùng chuỗi cascade để phát hiện cửa sổ con phù hợp 35 Hình 4.7: Cấu trúc các chuỗi cascade song song 35 Hình 4.8: Cấu trúc các chuỗi cascade nối tiếp 36 Hình 4.9: Một số ảnh positive trong tập huấn luyện 39 Hình 4.10: Một số ảnh negative trong tập huấn luyện 39 Hình 4.11: Khoanh vùng chứa đặc trưng của đối tượng 1 41 Hình 4.12: Khoanh vùng chứa đặc trưng của đối tượng 2 41

Hình 4.14: Quá trình huấn luyện file nhận dạng 46

Hình 5.2: Sơ đồ đơn giản về một mạng neural nhân tạo 51

Hình 5.4: Mạng tiến kết nối đầy đủ với một mức ẩn và một mức đầu ra 52 Hình 5.5 : Mạng hồi quy không có neural ẩn, không có vòng lặp tự phản hồi 52

Trang 13

Hình 6.2: Chân reset 65

Hình 6.5: Cấu trúc chân từ RB0 đến RB3 và RB4 đến RB7 67

Hình 6.11: Khởi tạo project trong phần mềm CCS 73

Hình 7.1: Sơ đồ nguyên lý mạch nguồn 5VDC 77

Hình 7.12: Quá trình ánh xạ từ ma trận điểm sang ma trận giá trị 90 Hình 7.13: Mô hình hóa thuật toán ước lượng khoảng cách 91

Trang 14

Hình 8.2: Phát hiện biển số 96 Hình 8.3: Lọc biên và tính góc với houghline 97 Hình 8.4: Biển số sau khi xoay về hình chữ nhật 97 Hình 8.5: Phần biển số được tách không có nền 97

Hình 8.8: Lưu các ký tự và số trong khung kết quả nhận diện 99 Hình 8.9: Kết quả nhận diện bằng mạng neural 100 Hình 8.10: Tính khoảng cách và bám đuổi theo biển số 101

Hình 8.12a: Một số hình ảnh thử nghiệm nhận dạng với ánh sáng trong nhà 103 Hình 8.12b: Một số hình ảnh thử nghiệm nhận dạng với ánh sáng ngoài trời 103

Trang 15

Robot đã có những tiến bộ rõ rệt trong nửa thế kỷ qua Từ những năm 60 robot đã thay thế con người làm việc trong các môi trường độc hại Ngày nay do nhu cầu sử dụng trong môi trường sản xuất phức tạp nên robot công nghiệp cần thích ứng linh hoạt và thông minh hơn Robot cần phải “thấy” được và “suy nghĩ” được Để chế tạo được robot như vậy yếu tố quan trọng không thể thiếu được đó chính là Thị Giác Máy Tính Thị Giác Máy Tính giúp robot có thể nhận biết được môi trường xung quanh và tính toán đưa ra phương án thích hợp nhất

Phát hiện và nhận dạng đối tượng trong Thị Giác Máy Tính là công việc tìm kiếm và ghi nhận đối tượng trong ảnh hoặc video Có nhiều thuật toán giúp robot có thể nhận dạng và nổi bật trong số đó là thuật toán Adaboost, có thể nhận dạng mặt người, ký tự , bàn tay, biển số xe… một cách nhanh chóng và chính xác

Nhận thấy đây là một hướng phát triển nhiều tiềm năng và thú vị nên trong luận văn sinh viên đã sử dụng Thị Giác Máy Tính để nhận diện biển số xe, tính toán khoảng cách

để điều khiển xe tự hành bám đuổi theo một xe khác trong phạm vi cho trước Có thể ứng dụng cho các xe chở hàng hóa tự động bám nhau trong kho hàng, trong nhà máy…

1.2 Mục tiêu luận văn:

- Tìm hiểu về ngôn ngữ lập trình C++, phần mềm Microsoft Visual Studio 2008 và

thư viện mã nguồn mở OpenCV của Intel

Trang 16

- Nghiên cứu cơ sở lý thuyết của thuật toán Adaboost với đặc trưng Haar-like áp

dụng cho nhận dạng biển số xe từ hình ảnh webcam thu về

- Tìm hiểu các đặc trưng của mạng neural và các phương pháp học cho mạng áp

dụng cho bài toán nhận diện ký tự

- Tạo cơ sở dữ liệu lưu biển số xe có thể tương tác được

- Tính khoảng cách đến xe cần bám đuổi bằng phương pháp hình học và phương

Để hiểu rõ hơn về những vấn đề cần giải quyết và xác định phạm vi của đề tài, sinh viên

sẽ mô hình hóa hệ thống như sau:

Tính khoảng cách tới biển

số

Điều khiển động cơ theo khoảng cách

Trang 17

1.4 Giới hạn đề tài:

- Với thời gian không nhiều và lượng dữ liệu huấn luyện thu thập tương đối sinh

viên chưa nhận diện được các biển số màu (xanh, đỏ)

- Thuật toán điều khiển động cơ chỉ là ON OFF và động cơ không có encoder

1.5 Ý nghĩa của đề tài :

- Giúp tự động hóa quá trình di chuyển của các xe chở hàng trong nhà máy, kho

hàng

- Quản lý được các phương tiện di chuyển nhờ vào cơ sở dữ liệu được tự động lưu

Trang 18

Hình 2.1 Các giai đoạn chính trong xử lý ảnh

Quá trình thu nhận ảnh: Ảnh có thể thu nhận qua camera Thường ảnh thu nhận

qua camera là tính hiệu tương tự (loại camera ống kiểu CCIR) nhưng cũng có thể là tín hiệu số hóa (loại CCD-Charge Coupled Device) Ảnh cũng có thể thu về từ vệ tinh thông qua các bộ phận cảm ứng (sensor) hay ảnh được quét trên scanner

Quá trình số hóa (Digitalizer): Ảnh sau khi thu về phải được số hóa, đây là bước

khá quan trọng để chuyển đổi dữ liệu từ analog sang digital thông qua rời rạc hóa (lấy mẫu) và số hóa bằng lượng tử hóa Ảnh được số hóa để xử lý, phân tích hay lưu trữ bằng máy tính

Trang 19

Quá trình xử lý số: bao gồm các công đoạn nhỏ Trước hết là công việc tăng

cường ảnh (Image Enhancement ) để nâng cao chất lượng ảnh Do những nguyên nhân khác nhau: có thể do thiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu, ảnh có thể suy biến Do vậy cần phải tăng cường và khôi phục ảnh (Image Restoration ) để làm nổi bật một số đặc tính của ảnh (Image Segmention), trích lọc các đặc tính (Feature Extraction

…)

Hệ quyết định: Tùy mục đích của ứng dụng mà chuyển sang giai đoạn khác là

hiển thị, nhận dạng, phân lớp, truyền thông…

2.2 CÁC KHÁI NIỆM CƠ BẢN TRONG XỬ LÝ ẢNH:

2.2.1 Phần tử ảnh (pixel)

Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng Để có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hóa ảnh Trong quá trình số hóa, người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hóa về không gian) và lượng tử hóa thành phần giá trị (rời rạc hóa biên độ giá trị) mà

về nguyên tắc mắt thường không phân biệt được hai điểm kề nhau Trong quá trình này người ta sử dụng khái niệm pixel hay phần tử ảnh Như vậy ảnh là tập hợp của các pixel Mỗi pixel gồm một cặp tọa độ m,n và màu sắc Một pixel có thể lưu trữ 1, 4, 8 hay 24 bit

Một ảnh (gồm một tập các điểm ảnh) có thể xem như bao gồm tập các ảnh con

(các vùng ảnh) Thuật ngữ gọi là ROIs – vùng quan tâm (Regions of Interest)

Trang 20

Ảnh số trong không gian rời rạc thu được từ ảnh tương tự trong không gian liên tục thông qua quá trình số hóa Quá trình số hóa có thể hiểu đơn giản như sau:

+ Ảnh tương tự được chia thành M hàng, N cột

+ Giao của hàng và cột được gọi là: pixel

+ Giá trị biên độ của pixel tại tọa độ nguyên (m,n) là s(m,n): là trung bình độ sáng trong pixel đó S(m,n) ≤ L (L số mức xám dùng biểu diễn

ảnh)

M, N thường được chọn là M=N=2 K (K=8,9,10) L =2 B , B là số bít mã hóa cho

độ sáng (biên độ) mỗi pixel

Ảnh số được biểu diễn bởi ma trận 2 chiều Các phần tử của nó là biểu diễn cho các pixel số hóa

Ta ký hiệu 1 ảnh số là S(M,N) Ta nói ảnh có độ phân giải MxN Ký hiệu s(m,n)

để chỉ ra một phần tử ảnh

Hình 2.2 Ảnh tương tự và ảnh số

2.2.3 Mức xám (gray level)

Mức xám là kết quả của sự mã hóa tương ứng với một cường độ sáng của mỗi điểm ảnh với một giá trị số, kết quả của quá trình lượng tử hóa Cách mã hóa kinh điển

là dùng 16, 32 hay 64 mức Mã hóa 256 mức được dùng phổ biến Do 28 = 256 nên mỗi pixel được mã hóa bởi 8 bit

2.2.4 Ảnh đen trắng

Trang 21

Thực tế ảnh đen trắng gồm có ảnh nhị phân và ảnh đa cấp xám Chúng ta phân biệt sự biến đổi thành L mức Nếu L bằng 2, nghĩa là chỉ có hai mức 0 và 1 còn gọi là ảnh nhị phân Nếu L lớn hơn hai mức ta có ảnh đa cấp xám Việc xác định số mức phụ thuộc vào tiêu chí lượng tử hóa L thường được chọn bằng 32, 64, 128 và 256 Trong

đó ảnh đa cấp xám 256 mức là ảnh có chất lượng cao và thường được sử dụng

Với ảnh nhị phân, mỗi pixel được mã hóa trên một bit Còn với ảnh xám 256 mức được mã hóa trên 1 byte = 8 bit Ảnh nhị phân khá đơn giản, các phần tử ảnh có thể coi như phần tử logic Ảnh nhị phân được dùng theo tính logic, để phân biệt ảnh với nền hay đơn giản để phân biệt biên với điểm khác

2.2.5 Ảnh màu

Hình 2.3 Dải phổ điện từ (Electromagnetic Spectrum)

Màu sắc của một tia sáng là cảm giác mà tia sáng đó gây nên ở mắt người Màu sắc của vật thể là màu của ánh sáng phát từ chúng Ánh sáng này nằm trong dải phổ nhìn thấy (visible)

Tùy theo ngữ cảnh nhất định mà ảnh màu được diễn tả theo những mô hình màu khác nhau Không có mô hình màu nào là đầy đủ cho mọi khía cạnh của màu Do đó

Trang 22

người ta sử dụng những mô hình màu khác nhau để mô tả các tính chất được nhận biết khác nhau của màu

Ví dụ:

+ Mô hình màu RGB: ánh sáng Red, Green, Blue ứng dụng cho màn hình,

Ti Vi

+ Mô hình HSV: Nhận thức con người

+ Mô hình CYK: Máy in

Chúng ta đi sâu vào một số mô hình màu sau:

 Mô hình màu RGB

Theo lý thuyết màu do Thomas đưa ra từ năm 1802, mọi màu đều có thể tổ hợp từ

ba màu cơ bản: Đỏ (Red), Lục (Green), Lam (Blue) Ba màu này là các màu cơ bản của

hệ màu cộng (Additive Color System) Hệ màu RGB dựa trên cơ sở hệ thống tọa độ Cartesian – hệ thống tọa độ Decac: mỗi màu cơ bản đều được mã hóa bởi 8 bit, vậy với

ba màu phối hợp nhau tạo thành 2563 = 16.777.216 màu thứ cấp mà mắt người có thể cảm nhận được Ảnh màu được lưu trữ từng màu riêng biệt như ảnh đa cấp xám Ứng với một pixel của ảnh màu sẽ chiếm 3 byte, do đó ảnh màu sẽ chiếm bộ nhớ gấp ba lần ảnh đa cấp xám cùng kích thước

Hình 2.4 Không gian màu và các màu cơ bản RGB

 Mô hình màu CMY:

Trang 23

Gồm ba màu cơ bản: Xanh Lơ (Cyan), Tím (Magenta), Vàng (Yellow), là bù màu của không gian màu RGB, còn gọi là hệ màu trừ (Subtractive Color System) Mối quan

hệ giữa hai không gian:

C = 1 – R

M = 1 – G

Y = 1 – B

Hình 2.5 Các màu cơ bản của hệ màu CMY

 Mô hình màu HSV (Hue, Saturation, Value) :

Dựa trên cảm nhận màu sắc của con người Ánh sáng màu là tổ hợp của ánh sáng đơn sắc Mắt người chỉ có thể cảm nhận được vài chục màu, song lại có thể phân biệt tới hàng ngàn màu Mô hình HSV suy diễn từ mô hình RGB: hãy quan sát hình hộp RGB theo đường chéo từ White đến Black (gốc)  ta có hình chóp nón, sử dụng làm đỉnh hình nón HSV

Có ba thuộc tính chủ yếu trong cảm nhận màu:

+ Hue: bước sóng của ánh sáng, được biểu diển bằng góc từ 0o – 360o giúp ta phân biệt các màu khác nhau

+ Saturation: độ bão hòa, đo độ tinh khiết của ánh sáng gốc S nằm trong khoảng [0-1]

Trang 24

Hình 2.6 Không gian màu HSV

Ảnh IMG: là ảnh đen trắng Phần đầu của ảnh IMG có 16 byte chứa các thông tin

cần thiết của ảnh Ảnh IMG được nén theo từng dòng Mỗi dòng bao gồm các gói, các dòng giống nhau cũng được nén thành các gói Toàn bộ ảnh chỉ gồm có những điểm sáng và điểm tối là các bit 0 hoặc 1

Ảnh PCX: là một trong những định dạng cổ điển nhất Nó sử dụng loạt mã dài

RLE để nén dữ liệu ảnh Quá trình nén và giải nén được thực hiện trên từng dòng ảnh Thực tế phương pháp nén PCX kém hiệu quả hơn kiểu IMG

Trang 25

Ảnh GIF: có lợi về không gian lưu trữ, với ảnh đen trắng kích thước tệp có thể

nhỏ hơn bản gốc từ 5-7 lần; với ảnh 16 màu, kích thước nhỏ hơn ảnh gốc 2-3 lần, có trường hợp xấp xỉ ảnh gốc Tuy nhiên với ảnh 256 màu thì nó bộc lộ khả năng nén rất kém

Ảnh JPEG: sử dụng chuẩn nén cho ảnh tone liên tục Tiêu chuẩn này có thể được

ứng dụng trong nhiều lĩnh vực: lưu trữ ảnh, truyền bá báo chí, ảnh y học, camera số

2.3 CÁC VẤN ĐỀ CƠ BẢN TRONG XỬ LÝ ẢNH

2.3.1 Thiết bị thu nhận ảnh

Các thiết bị thu nhận ảnh thông thường gồm: máy quay (camera) cộng với bộ ADC, máy quét (scanner) chuyên dụng hoặc các bộ cảm biến ảnh (Sensors) Hệ thống thu nhận

ảnh thực hiện hai quá trình:

+ Cảm biến: biến đổi năng lượng quang học thành năng lượng điện

+ Tổng hợp năng lượng điện thành ảnh điện

Trong xử lý ảnh bằng máy tính ta không thể không nói đến các thiết bị monitor để hiển thị ảnh Monitor có nhiều loại khác nhau:

Ảnh thu về từ các thiết bị thu nhận ảnh có thể là ảnh tương tự hoặc ảnh số Trong

trường hợp ảnh tương tự chúng ta phải tiến hành số hóa để có thể xử lý bằng máy tính Phương pháp chung để số hóa ảnh là lấy mẫu theo hàng và số hóa theo hàng

Trang 26

Hình 2.7 Sơ đồ số hóa ảnh

Hình 2.8 Mô tả quét theo hàng, lấy mẫu theo hàng và mã hóa từng hàng

2.3.3 Tiền xử lý ảnh

Tiền xử lý ảnh là quá trình xử lý và nâng cao chất lượng ảnh Ảnh sau khi thu

nhận có nhiều thông tin không quan trọng, bị nhiễu, … Điều này làm cho ảnh có dung lượng lớn và có chất lượng không tốt, gây khó khăn cho việc phân tích ảnh sau này Quá trình tiền xử lý ảnh chính là quá trình biến đổi ảnh, làm thay đổi nội dung của ảnh một cách không cơ bản nhưng vẫn giữ được những thông tin quan trọng đồng thời làm nổi bật một số đặc tính quan trọng của ảnh

Trang 27

2.3.4 Phân tích ảnh

Phân tích ảnh là giai đoạn tiếp theo của tiền xử lý ảnh Quá trình này biến đổi ảnh

để từ đó đưa ra các đặc trưng quan trọng của ảnh Đây là giai đoạn quan trọng nhất của quá trình xử lý ảnh Trong phân tích ảnh, ảnh được tách đường biên hay phân đoạn thành các vùng riêng biệt

2.3.5 Đặc trƣng của ảnh

Ảnh thu được sau khi thực hiện các quá trình tiền xử lý và phân tích ảnh sẽ đưa ra

các thông số của đối tượng cần quan tâm trong ảnh Tiếp theo các thông số này sẽ được tính toán lại để từ đó đưa ra các đặc trưng của đối tượng ảnh Đây là giai đoạn cuối cùng của một quá trình xử lý ảnh Tùy vào mục đích ứng dụng khác nhau mà có thể chọn các đặc trưng phù hợp

2.4 CÁC THƢ VIỆN MÃ NGUỒN MỞ HỖ TRỢ CHO XỬ LÝ ẢNH

Chúng ta có thể sử dụng những thành quả của cộng đồng mã nguồn mở để áp dụng cho ứng dụng xử lý ảnh của mình Hiện nay trên thế giới có rất nhiều thư viện mã nguồn

Trang 28

CHƯƠNG 3:

THƯ VIỆN XỬ LÝ ẢNH OPENCV

OpenCV là một thư viện thị giác máy tính mã nguồn mở của hãng Intel có thể tải

về từ trang web http://SourceForge.net/Projects/opencvlibrary Thư viện được viết bằng C và C++ Intel đưa ra phiên bản OpenCV đầu tiên vào năm 1999 Ban đầu, nó chỉ là thư viện xử lý ảnh của Intel Về sau, tính lệ thuộc đó đã được loại bỏ và bây giờ

ta có thể sử dụng OpenCV như một thư viện độc lập OpenCV là một thư viện đa nền tảng, nó chấp nhận cả Window và Linux, hơn thế nữa gần đây là Mac OSX Mục tiêu của OpenCV là để cung cấp cơ sở cơ bản dễ sử dụng về thị giác máy tính giúp con người có thể tạo nên những ứng dụng xử lý ảnh phức tạp một cách nhanh chóng Thư viện OpenCV chứa trên 50 chức năng nối nhịp nhiều lĩnh vực trong xử lý ảnh Nó có nhiều tác dụng như: nhận dạng mặt, dò tìm mặt, phát hiện mặt, lọc Kalman,

nó thể hiện sự đa dạng của trí tuệ nhân tạo (AI) Thêm vào đó nó cải thiện rất nhiều các thuật toán cơ bản của thị giác máy như các hàm API cấp thấp hơn Nó có thể là giám sát sản phẩm trong nhà máy, xử lý ảnh y khoa, an ninh, giao diện người dùng, lĩnh vực robot…

3.1 NHỮNG CHỨC NĂNG CỦA OPENCV

- Image and Video I/O: Các giao diện này cho phép ta đọc được dữ liệu ảnh từ file hoặc trực tiếp từ video Ta cũng có thể tạo các file ảnh và video với giao diện này

- Thị giác máy nói chung và các thuật toán xử lý ảnh (General computer-vision and image-processing algorithms (mid – and low level APIs)): Sử dụng những giao

diện này, ta có thể thực hành với rất nhiều chuẩn thị giác máy mà không cần phải có

mã nguồn của chúng Chúng bao gồm sự dò tìm viền, đường thẳng và góc, điều chỉnh elip, lấy mẫu và những biến đổi khác nhau (Fourier rời rạc, cosin rời rạc và các biến

đổi khoảng cách,…)

Trang 29

- Modul thị giác máy ở cấp độ cao: OpenCV gồm một vài tác dụng ở cấp độ cao

Ngoài việc dò tìm, nhận dạng và theo dõi khuôn mặt, nó còn bao gồm cả luồng thị giác (sử dụng camera di động để xác định cấu trúc 3D), định kích cỡ camera và âm thanh

nổi

- AI and machine-learning: Các ứng dụng của thị giác máy thường yêu cầu máy

móc phải học ( machine learning) hoặc các hình thức trí tuệ nhân tạo khác (AI) Một

vài trong số chúng là có sẵn trong gói OpenCV

- Lấy mẫu ảnh và phép biến đổi: Nó thường rất tốt cho quá trình xử lý một nhóm

phần tử ảnh như là một đơn vị OpenCV bao gồm lấy tách ra, lấy mẫu ngẫu nhiên,

phục chế, xoay ảnh, làm cong ảnh (warping), thay đổi hiệu ứng của ảnh

- Cách thức tạo và phân tích ảnh nhị phân: Ảnh nhị phân thường xuyên được

dùng trong các hệ thống kiểm tra có khuyết điểm hình dạng hoặc các bộ phận quan

trọng Sự biểu diễn ảnh cũng rất thuận tiện khi chúng ta biết rõ vật thể cần bắt

- Cách thức cho tính toán thông tin 3D (methods for computing 3D

information): Những hàm này rất có ích khi cần sắp xếp và xác định với một khối lập

thể (with a stereo rig) hoặc với không gian nhìn phức tạp (multiple views) từ một

camera riêng

- Các phép toán cho xử lý ảnh, thị giác máy và biểu diễn ảnh (image

interpretation): OpenCV sử dụng các phép toán phổ biến như: đại số tuyến tính, thống kê và tính toán hình học

- Đồ họa: Những giao diện này giúp ta viết chữ và vẽ trên hình ảnh Thêm vào đó

những chức năng này được sử dụng nhiều trong ghi nhãn và đánh dấu Ví dụ nếu bạn viết một chương trình cần nhận dạng nhiểu đối tượng thì nó sẽ rất có ích cho tạo nhãn

ảnh (label image) với kích thước và vị trí

- Phương thức GUI: OpenCV bao gồm cửa sổ giao diện của chính bản thân nó

Trong khi đó những giao diện này được so sánh giới hạn với khả năng có thể thực hiện trong mỗi môi trường Chúng cung cấp những môi trường API đa phương tiện và đơn giản để hiện thị hình ảnh, cho phép người dùng nhập dữ liệu thông qua chuột, bàn

phím và điều khiển quá trình

Trang 30

- Cấu trúc dữ liệu và giải thuật: Với những giao diện này bạn có thể giữ lại, tìm

kiếm, lưu vào cách danh mục điều khiển, các tuyển tập (cũng như các tập hợp lệnh

được gọi), đồ họa và sơ đồ nhánh một cách hiệu quả

- Khả năng tồn tại lâu dài của dữ liệu ( Data persistence): Những phương pháp này cung cấp các giao diện một cách thuận lợi để lưu trữ các dạng khác nhau của dữ liệu vào đĩa để có thể khôi phục khi cần thiết

3.2 CẤU TRÚC CỦA OPENCV:

Hình 3.1 Cấu trúc cơ bản của thư viện OpenCV

- CXCORE bao gồm các dạng dữ liệu cơ bản rõ ràng Ví dụ cấu trúc dữ liệu về ảnh,

điểm, hình chữ nhật được xác định trong file cxtypes.h CXCORE chứa các phép toán đại số tuyến tính và thống kê, các hàm lưu trữ lâu dài (persistence fun…) và các lỗi thao tác Mặc dù vậy các hàm đồ họa phục vụ cho việc vẽ ảnh cũng được lưu trữ tại đây

- CV chứa đựng quá trình xử lý ảnh và các phương pháp đánh giá sơ bộ kích thước

ảnh Những hàm tính toán hình học cũng được lưu trữ tại đây

Trang 31

- CVAUX được mô tả trong văn bản của OpenCV như là module cũ và chỉ dùng để

thí nghiệm Tuy nhiên, giao diện đơn giản nhất cho nhận dạng mặt được nằm trong module này Những mã nguồn nằm trong module này rất phù hợp cho việc nhận dạng mặt và chúng được sử dụng rộng rãi cho mục đích này

- Những hàm còn lại được nằm trong HighGUI và CVCAM Cả hai đều nẳm ở thư

mục có tên “otherlibs”, sử dụng chúng rất dễ gặp lỗi Vì rằng HighGUI chứa các thư viện vào ra cơ bản , nên để chắc ăn hơn, ta không nên bỏ sót nó CVCAM là thư viện chứa các hàm truy nhập video thông qua DirectX trên môi trường Window 32 bit HighGUI cũng có các giao diện video, chứa đựng nhiều cửa sổ đa chức năng, làm việc được trên nhiều môi trường và đặc biệt học OpenCV sẽ đơn giản hơn khi dùng

 Tạo cửa sổ để hiển thị ảnh:

void cvNamedWindow ( const char*name, int flag=CV_WINDOW_AUTOSIZE ); Hàm này tạo ra một cửa sổ với tên “name” để hiển thị ảnh Khi

flag=CV_WINDOW_AUTOSIZE, hàm sẽ tạo ra cửa sổ bằng với kích thước của ảnh

và người sử dụng không thể định lại kích thước của cửa sổ Nếu flag=0, người sử dụng

có thể định lại kích thước của cửa sổ

 Hiển thị ảnh:

void cvShowImage(const char* name, const CvArr* image);

Trang 32

Hàm này dùng để xuất ảnh “image” ra cửa sổ người dùng được xác định bởi tên cửa sổ

“name” Hàm này chỉ được sử dụng trong môi trường hỗ trợ giao diện KDE

 Xóa cấu trúc lấy ảnh từ camera hoặc video:

void cvReleaseCapture( CvCapture** capture );

3.3.2 Các hàm xử lý và phân tích ảnh:

 Hàm lọc ảnh:

a void cvSmooth(const CvArr* src,CvArr* dst,int smoothtype=CV;

GAUSSIAN,int param1=3,int param2=0,double param3=0,double param4=0 );

b void cvMorphologyEx(const CvArr* src, CvArr* dst, CvArr* temp,

IplConvKernel* element, int operation, int iterations=1)

Trang 33

cvMorphologyEx(Anh_Loc_Nhieu_Median,Anhxuly,NULL,NULL,CV_MOP_CLOSE,1);

 Hàm chuyển đổi màu:

void cvCvtColor( const CvArr* src, CvArr* dst, int code );

- src: ảnh nguồn 8 bit, 16 bit hay 32 bit;

- dst: ảnh đích có cùng dữ liệu như ảnh nguồn nhưng có thể khác số kênh màu;

Hàm này có tác dụng chuyển đổi hệ màu của ảnh gốc sang hệ màu khác hoặc sang ảnh xám

 Hàm truy nhập giá trị màu của điểm ảnh:

CvScalar cvGet2D( const CvArr* arr, int row, int col );

- arr: con trỏ chứa dữ liệu ( CvArr*), dữ liệu có thể là hình ảnh có cấu trúc

IplImage;

- row, col: tọa độ của điểm ảnh cần truy cập

Hàm cvGet2D() trả về cấu trúc chứa thông tin màu sắc dạng C là CvScalar được xác định như sau:

typedef struct CvScalar

Với ảnh BGR thì blue = val[0], green = val[1] và red = val[2]

 Hàm chỉnh sửa giá trị điểm ảnh:

void cvSet2D(CvArr*, int row, int col,CvScalar);

Trang 34

- arr: con trỏ chứa dữ liệu ( CvArr*), dữ liệu có thể là hình ảnh có cấu trúc

IplImage;

- row, col: tọa độ của điểm ảnh;

2 hàm trên cvGet2D và cvSet2D áp dụng khi đã xác định được tọa độ của biển số trên khung hình bằng phương pháp Adaboost (phần bao bởi viền đỏ) và cắt lấy khung hình chứa biển số Phục vụ cho các thao tác chỉnh sửa tiếp đó

Hình 3.3: Hàm truy nhập và chỉnh sửa giá trị điểm ảnh

- CvScalar: giá trị màu sắc

Hàm này cho phép ta gán giá trị màu cho điểm ảnh đang xét tại tọa độ (row, col)

3.3.3 Biên của ảnh và các hàm xử lý:

 Hàm tách sườn ảnh theo Canny

void cvCanny(const CvArr* image, CvArr* edges, double threshold1, double threshold2, int aperture_size=3)

- image: ảnh ngõ vào

- edges: ảnh ngõ ra

- threshold1: ngưỡng đầu tiên

- threshold2: ngưỡng thứ 2

Trang 35

Phương pháp Canny rất hiệu quả với ảnh trong điều kiện thông thường về độ sáng

và độ tương phản Tuy nhiên về bản chất phương pháp này dựa trên nguyên tắc đạo hàm nên biên nhận được không phải lúc nào cũng ổn định

Đây là một phương pháp có hiệu quả cao với ảnh có nhiễu

Hình 3.4: Phương pháp Canny với ngưỡng 100 và 500

- method: các thuật toán houghline như CV_HOUGH_STANDARD,

CV_HOUGH_PROBABILISTIC, hay CV_HOUGH_MULTI_SCALE

- rho,theta: độ phân giải mong muốn cho các đường

- threshold: ngưỡng mong muốn

Thuật toán HoughLine dùng để phát hiện ra các đường thẳng trong ảnh, áp dụng trong luận văn sinh viên dùng các đường thẳng này để tính góc lệch của biển số

Trang 36

Hình 3.5: Dò biên houghline

Đoạn code sử dụng trong luận văn để dò biên theo phương pháp houghline

lines = cvHoughLines2( dst, storage, CV_HOUGH_PROBABILISTIC, 1, CV_PI/180, 50, 50, 10 );

double x2,y2;

for( i = 0; i < lines->total; i++ ) {

CvPoint* line = (CvPoint*)cvGetSeqElem(lines,i);

cvLine( color_dst, line[0], line[1], CV_RGB(255,0,0), 3, CV_AA, 0 );

if (i==0) {

Trang 37

biên ảnh và biên của biển số ( dùng phương pháp houghline ) Có hai cách để thực hiện

việc xoay này là ánh xạ xuôi (forward mapping) và ánh xạ ngược (reverse

mapping) Forward mapping sẽ làm cho ảnh có lỗ Với reverse mapping, ảnh mượt hơn

nhưng các mép vẫn không được mềm lắm

 Forward mapping

Trong forward mapping, từ mỗi điểm của ảnh gốc, xác định một điểm của ảnh kết quả

Do phải làm tròn số khi thực hiện phép xoay nên ở ảnh gốc, có những pixel không được "tô màu" làm cho trên ảnh xuất hiện những "lỗ" li ti

Hình 3.7: Minh họa thuật toán xoay điểm

Với reverse mapping, từ mỗi điểm của ảnh kết quả, suy ngược lại từ ảnh gốc để lấy

ra giá trị màu cần thiết Với cách này, tất cả các điểm trên ảnh kết quả đều được gán giá trị màu của một điểm tương ứng (hay ít nhất cũng là điểm lân cận của điểm đó) ở ảnh gốc nên không có hiện tượng "lỗ" như ở trên

Ta tìm ma trận xoay ảnh trong trường hợp này như sau:

Trang 38

|y| |-sin(a) cos(a)| |y'|

Trong luận văn sinh viên sử dụng phương pháp reverse mapping do cho kết quả

for (int i = -120; i < img->width*2; i++)

for (int j = 0; j < img->height*2; j++)

int jN = (int)(j*cos(ALPHA) - i*sin(ALPHA));

if ((iN > 0) && (jN > 0)

Trang 39

&& (iN < img->width) && (jN < img->height))

resData[(j)*res->widthStep + (i+120)*res->nChannels + k] = imgData[jN*img->widthStep + iN*img->nChannels + k];

- img: Đưa bức ảnh cần vẽ vào

- pts: Là một mảng kiểu cvPoint nên cùng một lần gọi ta có thể vẽ được nhiều đa giác

- npts: Là một mảng dùng để chứa số đỉnh của các đa giác được vẽ Cùng một lần vẽ

ta có thể vẽ được nhiều đa giác có số đỉnh khác nhau

- is_closed: Nếu nó bằng true thì sẽ thêm một đoạn nối điểm đầu với điểm cuối lại với nhau

- contours: Số đường viền quanh đa giác

Hình 3.9: Nhận diện hình chữ nhật bằng hàm cvPolyLine

Trang 40

Sau khi tính được tọa độ của 4 đỉnh hình chữ nhật (được bao bởi viền đỏ) và cắt phần ảnh đó riêng ra sẽ được phần biển số ở dạng chuẩn

Hình 3.10: Biển số sau khi được tách riêng

Sau đó sinh viên sẽ tách từng ký tự, số và nhận dạng bằng mạng neural Chi tiết sẽ được trình bày ở các chương sau

Ngày đăng: 22/05/2015, 20:41

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Vương Nhật Thủy (2010). Xử Lý Ảnh Bằng Thuật Toán Adaboost Nhận Dạng Biển Số Xe Thông Minh. Luận Văn Đại Học, Đại Học Bách Khoa TPHCM Sách, tạp chí
Tiêu đề: Xử Lý Ảnh Bằng Thuật Toán Adaboost Nhận Dạng Biển Số Xe Thông Minh
Tác giả: Vương Nhật Thủy
Năm: 2010
[2] Võ Hồng Phong (2008). Nhận Dạng Xe Trên Cơ Sở Thị Giác Máy Tính. Luận Văn Thạc Sĩ, Đại Học Bách Khoa TPHCM Sách, tạp chí
Tiêu đề: Nhận Dạng Xe Trên Cơ Sở Thị Giác Máy Tính
Tác giả: Võ Hồng Phong
Năm: 2008
[3] Lê Ngọc Thạch. Lập Trình Window Với MFC Microsoft Visual C++ 6.0. Nhà Xuất Bản Thống Kê Sách, tạp chí
Tiêu đề: Lập Trình Window Với MFC Microsoft Visual C++ 6.0
Nhà XB: Nhà Xuất Bản Thống Kê
[4] Davis Chapman (2001). Teach Yourself Visual C++6 in 21 day. Sams Publishing, Indianapolis, Indiana, 46290 USA Sách, tạp chí
Tiêu đề: Teach Yourself Visual C++6 in 21 day
Tác giả: Davis Chapman
Nhà XB: Sams Publishing
Năm: 2001
[5] Ngô Hải Bắc (2006). Lập trình giao tiếp máy tính qua cổng RS232. Diễn đàn picvietnam.com Sách, tạp chí
Tiêu đề: Lập trình giao tiếp máy tính qua cổng RS232
Tác giả: Ngô Hải Bắc
Năm: 2006
[6] Bùi Quang Chiến (2007). Ứng dụng mạng neural trong nhận dang ký tự. Luận Văn Đại Học, Đại Học Dân Lập Hải Phòng Sách, tạp chí
Tiêu đề: Ứng dụng mạng neural trong nhận dang ký tự
Tác giả: Bùi Quang Chiến
Năm: 2007
[7] Nguyễn Xuân Đức (2010). Điều khiển robot di động dùng thư viện OpenCV. Luận Văn Đại Học, Đại Học Công Nghệ Sách, tạp chí
Tiêu đề: Điều khiển robot di động dùng thư viện OpenCV
Tác giả: Nguyễn Xuân Đức
Năm: 2010
[8] OpenCV’s Document (2009). CV Reference Manual. Version 2.0 Sách, tạp chí
Tiêu đề: CV Reference Manual
Năm: 2009
[9] Gary Bradski &amp; Adrian Kaebler. Learning OpenCV Computer Vision with the OpenCV Library. O’Reilly Sách, tạp chí
Tiêu đề: Learning OpenCV Computer Vision with the OpenCV Library
Tác giả: Gary Bradski, Adrian Kaebler
Nhà XB: O’Reilly
[10] TS. Nguyễn Đức Thành (2005). Đo lường và điều khiển bằng máy tính. Nhà Xuất Bản Đại Học Quốc Gia TpHCM Sách, tạp chí
Tiêu đề: Đo lường và điều khiển bằng máy tính
Tác giả: TS. Nguyễn Đức Thành
Nhà XB: Nhà Xuất Bản Đại Học Quốc Gia TpHCM
Năm: 2005
[11] OpenCV’s Document (2009). Rapid Object Detection Uwith A Cascade of Boosted Classifiers Based on Haar-like Features. Version2.0 Sách, tạp chí
Tiêu đề: Rapid Object Detection Uwith A Cascade of Boosted Classifiers Based on Haar-like Features
Tác giả: OpenCV’s Document
Năm: 2009
[12] Tutorial: OpenCV haartraining:http://note.sonots.com/SciSoftware/haartraining.html [13] OpenCV: http://www.shervinemami.co.cc/openCV.html Link
[14] Detect objects using Haar-like features: http://www.computer-vision-software.com/blog/2009/06/opencv-haartraining-detect-objects-using-haar-like-features/ Link

HÌNH ẢNH LIÊN QUAN

Hình 2.6 Không gian màu HSV - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 2.6 Không gian màu HSV (Trang 24)
Hình 3.3: Hàm truy nhập và chỉnh sửa giá trị điểm ảnh - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 3.3 Hàm truy nhập và chỉnh sửa giá trị điểm ảnh (Trang 34)
Hình 4.9: Một số ảnh positive trong tập huấn luyện - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 4.9 Một số ảnh positive trong tập huấn luyện (Trang 53)
Hình 4.10: Một số ảnh negative trong tập huấn luyện - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 4.10 Một số ảnh negative trong tập huấn luyện (Trang 53)
Hình 5.2:  Sơ đồ đơn giản về một mạng neural nhân tạo - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 5.2 Sơ đồ đơn giản về một mạng neural nhân tạo (Trang 65)
Hình 5.8: Mạng perceptron nhiều lớp - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 5.8 Mạng perceptron nhiều lớp (Trang 70)
Hình 7.4: Mạch điều khiển PIC16F887 - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 7.4 Mạch điều khiển PIC16F887 (Trang 93)
Hình 7.5: Mạch công suất sau khi thi công - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 7.5 Mạch công suất sau khi thi công (Trang 93)
Hình 7.7: Mạch điều khiển robot - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 7.7 Mạch điều khiển robot (Trang 95)
Hình 7.10: Đường chạy của robot - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 7.10 Đường chạy của robot (Trang 97)
Hình 8.2: Phát hiện biển số - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 8.2 Phát hiện biển số (Trang 110)
Hình 8.8: Lưu các ký tự và số trong khung kết quả nhận diện - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 8.8 Lưu các ký tự và số trong khung kết quả nhận diện (Trang 113)
Hình 8.10: Tính khoảng cách và bám đuổi theo biển số - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 8.10 Tính khoảng cách và bám đuổi theo biển số (Trang 115)
Hình 8.12a: Một số hình ảnh thử nghiệm nhận dạng với ánh sáng trong nhà - THUẬT TOÁN ADABOOST VÀ MẠNG NEURAL  TRONG NHẬN DẠNG VÀ BÁM ĐUỔI BIỂN SỐ XE (có code C++ và board mạch nguyên lý)
Hình 8.12a Một số hình ảnh thử nghiệm nhận dạng với ánh sáng trong nhà (Trang 117)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w