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

Báo cáo bài tập lớn học phần xử lý ảnh Đề tài nhận dạng biển số xe Đơn giản

19 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 19
Dung lượng 2,51 MB

Nội dung

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁICHƯƠNG 1 GIỚI THIỆU 1.1 - Mục đích của đề tài - Mục đích của đề tài nhận dạng biển số xe trong môn xử lý ảnh là nhằm tìm hiểu và áp dụng các kỹ thuật x

Trang 1

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM VIỆN ĐÀO TẠO CHẤT LƯỢNG CAO KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN HỌC PHẦN XỬ LÝ ẢNH

ĐỀ TÀI:

NHẬN DẠNG BIỂN SỐ XE ĐƠN GIẢN

GIÁNG VIÊN HƯỚNG DẪN : TS Nguyễn Hữu Tuân

Sinh viên thực hiện : NGUYỄN HỒNG THÁI – 86159

Trang 2

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

Mục lục

CHƯƠNG 1 GIỚI THIỆU 5

1.1 - Mục đích của đề tài 5

1.2 - Yêu cầu của đề tài 5

1.3 - Cách giải quyết: 5

1.4 - Dự kiến kết quả: 5

CHƯƠNG 2 XỬ LÝ ẢNH VÀ OPEN CV 6

2.1 - Giới thiệu về nhận dạng 7

2.2 - Bản chất của quá trình nhận dạng 7

2.3 - Các kiểu nhận dạng 7

2.3.1 Nhận dạng dựa theo cấu trúc 7

2.3.2 Nhận dạng dựa theo miền không gian 9

2.4 - Nhận dạng theo phương pháp thống kê 10

CHƯƠNG 3 CÀI ĐẶT VÀ THỬ NGHIỆM 17

3.1 - Cài đặt 17

3.2 - Thử nghiệm 18

CHƯƠNG 4 KẾT LUẬN 20

Trang 3

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

Mục lục hình ảnh

Hình 2-1: Quá trình xử lý ảnh 6

Hình 2-2: Các bước cơ bản trong hệ thống xử lý ảnh 6

Hình 2-3 Cấu trúc nôron nhân tạo 12

Hình 2-4 Hình ảnh về OpenCV 14

Hình 3-1: Thử nghiệm biến số xe 18

Trang 4

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

Lời mở đầu

 Hiện nay, với sự phát triển kinh tế xã hội đã bùng nổ số lượng phương tiện giao thông Gây ra những khó khăn trong công tác quản lý, xử lý vi phạm giao thông mà nguồn nhân lực con người khó có thể đảm đương được Vì vậy vẫn để cần thiết là có một hệ thống quản lý, xử lý vi phạm giao thông tự động

 Để xây dựng hệ thống quản lý giao thông tự động thì “ Bài toán nhận dạng biển số xe

là tiến để để xây dựng những mô hình quản lý đó Tuy nhiên, hiện nay ở Việt Nam nhưng

hệ thống quản lý đó chưa nhiều và lĩnh vực nhận dạng còn đang phát triển

 Từ những thực tế đó, trong thời gian làm đồ án tốt nghiệp em đã quyết định lựa chọn tìm hiểu về bài toán “ nhận dạng” trong đó chú trọng vào việc nhận dạng biển số xe Để phục vụ cho bước đầu trong hệ thống quản lý phương tiện giao thông tại Việt Nam Trong điều kiện năng lực và thời gian có hạn, nên bảo cáo của em không tránh khỏi những sai sót Em kinh mong thầy cô và các bạn đóng góp những ý kiến để em có thể chỉnh sửa và

bổ sung những phần thiếu sót để em hoàn thiện đề tài của mình

 Trong báo cáo lần này em xin trình bày chương sau

Trang 5

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

CHƯƠNG 1 GIỚI THIỆU

1.1 - Mục đích của đề tài

- Mục đích của đề tài nhận dạng biển số xe trong môn xử lý ảnh là nhằm tìm hiểu và áp dụng các kỹ thuật xử lý ảnh và máy học để tự động phân tích và nhận dạng biển số xe trên ảnh hoặc video Điều này có thể được sử dụng trong nhiều lĩnh vực, chẳng hạn như giám sát giao thông, an ninh, quản lý bãi đỗ xe, đếm xe, tự động thu phí, hay đơn giản là cải thiện trải nghiệm người dùng khi điều khiển xe hơi.Sự cần thiết

-Cụ thể, đề tài nhận dạng biển số xe sẽ tập trung vào việc phát triển các thuật toán để xác định vị trí và phân tích các ký tự trên biển số xe, sau đó sử dụng các kỹ thuật máy học để phân loại và nhận dạng ký tự này

1.2 - Yêu cầu của đề tài

-Để thực hiện yêu cầu của đề tài nhận dạng biển số xe, bạn cần thiết kế một hệ thống nhận dạng tín hiệu ảnh của biển số xe và trích xuất thông tin từ tín hiệu đó

1.3 - Cách giải quyết:

Để chạy được đề tài này thì em sẽ sử dụng phần mềm Pycharm để xây dựng nên một module, trong đó có sẵn các hàm để thực hiện các phép xử lý ảnh trên Sau đó, người dùng

có thể thực hiện các phép xử lý ảnh mong muốn bằng cách gọi chương trình Python và truyền đường dẫn đến file ảnh hoặc là video để đọc các chuỗi ký tự Dựa trên những gì người dùng đưa vào, chương trình sẽ xử lý ảnh, video và hiển thị rõ kết quả

1.4 - Dự kiến kết quả:

Kết quả thu được sau khi chạy chương trình đó là hiển thị ra một chuỗi ký tự trong hình ảnh hoặc video khi mà Pycharm đã xử lý thành công các mã lệnh

Trang 6

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

CHƯƠNG 2 XỬ LÝ ẢNH VÀ OPEN CV

Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho quả mong muốn kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh ra két “tốt hơn" (theo ý muốn) hoặc một kết luận

Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem là đặc trưng cường

độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong không gian và có thể xem như hàm n biển Do đó ảnh trong xử lý ảnh có thể xem như ảnh n chiều

Sơ đồ tổng quát xử lý ảnh:

Và ở chương này chung ta sẽ được biết OpenCV hỗ trợ gì cho những bước xử lý ảnh Tiếp sau em sẽ giới thiệu các bước xử lý và OpenCV hỗ trợ xử lý ảnh như thế nào (cung cấp thư viện gì)

Hình 2-1: Quá trình xử lý ảnh

Hình 2-2: Các bước cơ bản trong hệ thống xử lý ảnh

Trang 7

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

Tiền xử lý

-Các thao tác xử lý trên ảnh để chuẩn bị cho những bước phân tích tiếp theo Chẳng hạn như các thao tác chọn ngưỡng để chuyển ảnh đa cấp xám, ảnh màu về dạng nhị phân, giám nhiều để loại bỏ những dữ diệu không liên quan, phân đoạn để phân tách cách thành phần trong ảnh và cuối cùng là làm mảnh hay dò biên để đễ dàng xác định các vùng, các đặc trưng thích hợp và đối tượng cần quan tâm

2.1 - Giới thiệu về nhận dạng

-Nhận dạng là quá trình phân loại các đối tượng biểu diễn theo một mô hình nào đó, gán chúng vào một lớp dựa trên các quy luật và các mẫu chuẩn

Có 2 loại nhận dạng:

 Nhận dạng học có giám sát: supervised learning

 Nhận dạng học không có giám sát: unsupervised learning

2.2 - Bản chất của quá trình nhận dạng

• Qúa trình nhận dạng gồm có 3 giai đoạn sau:

1 Lựa chọn luật ra quyết định và suy diễn quá trình học

2 Lựa chọn mô hình biểu diễn đối tượng

3 Học nhận dạng

Nhận dạng chính là tìm ra các quy luật và các thuật toán có thể gán đối tượng vào một lớp, nói cách khác là gán cho đối tượng cho một tên

 Học có giám sát(Supervised learning):

Học giám sát là kỹ thuật của ngành học máy để xây dựng 1 hàm function từ dữ liệu huấn luyện Trong đó dữ liệu huấn luyện bao gồm các đối tượng đầu vào và đầu ra mong muốn Đầu ra của hàm f có thể là 1 giá trị liên tục hoặc có thể dự đoán một nhãn phân lớp cho đối tượng đầu vào

 Học không có giám sát(Unsupervised learning)

Unsupervised Learning là một nhóm thuật toán hay phương pháp kỹ thuật cho phép máy

tự học hỏi và tìm ra một mô hình hay cấu trúc nào đó ẩn trong một bộ dữ liệu không được gắn nhãn trước

2.3 - Các kiểu nhận dạng

Có 3 cách tiếp cận nhận dạng đối tượng

• Dựa vào cấu trúc

• Dựa vào phân hoạch không gian

• Dựa vào kỹ thuật mạng neural(cơ chế nhận, lưu trữ, phân biệt đối với đối tượng, mô phỏng theo hoạt động hệ thần kinh)

Trang 8

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

2.3.1 Nhận dạng dựa theo cấu trúc

A Biểu diễn định tính

Trong cách biểu diễn này thì người ta quan tâm đến các dạng và các mối quan hệ của chúng

Gỉa thiết rằng mỗi đối tượng được biểu diễn bởi một dãy ký tự Các đặc tính biểu diễn bởi cùng một số ký tự Phương phát để nhận dạng ở đây là nhận dạng logic dựa và hàm phân biệt là hàm Bool Cách nhận dạng là nhận dạng các từ có cùng độ dài

Giả sử hàm phân biệt cho mọi ký hiệu là g a (x), g b (x), , tương ứng với các ký hiệu a, b,

Để dễ dàng hình dung, ta giả sử có từ "abc" được biểu diễn bởi một dãy ký tự X = {x

1 ,x 2 , x 3 , x 4 }

ga(x1) + gb(x2) + gc(x3) + gc(x4)

Các phép cộng ở đây chỉ phép toán OR Trên cơ sở tính giá trị cực đại của hàm phân biệt, ta quyết định X có thuộc lớp các từ "abc" hay không

B Một số khái niệm dựa vào cấu trúc

Thủ tục phân loại và nhận dạng ở đây gồm 2 giai đoạn: Giai đoạn đầu là giai đoạn xác định các quy tắc xây dựng, tương đương với việc nghiên cứu một văn phạm trong một ngôn ngữ chính thống

Giai đoạn tiếp theo khi đã có văn phạm là xem xét tập các dạng cóđược sinh ra từ các dạng đó không? Nếu nó thuộc tập đó coi như ta đã phân loại xong

Tuy nhiên trong dạng này thì chúng ta mới chỉ sự dụng được một phần rất nhỏ

Có một ngôn ngữ có thể được áp dụng trong nhận dạng đó là ngôn ngữ

PLD( Picture Language Descripition)

Ví dụ : Ngôn ngữ PLD

Trong ngôn ngữ này, các từ vựng là các vạch có hướng Có 4 từ vựng cơ bản:

Trang 9

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

Các từ vựng trên các quan hệ được định nghĩa như sau:

C Phương pháp nhận dạng

 Tập Vt chung cho mọi đối tượng

 Các quy tắc sinh P để sản sinh ra một câu và chúng khác nhau đối với mỗi lớp

 Quá trình học với các câu biểu diễn các đối tượng mẫu l nhằm xác định văn phạm

G

 Quá trình ra quyết định: xác định một đối tượng X được biểu diễn bởi một câu lx Nếu lx nhận biết bởi ngôn ngữ L(Gx) thì ta nói rằng X Ck

2.3.2 Nhận dạng dựa theo miền không gian

Trong kiểu kỹ thuật này thì các đối tượng nhận dạng là các đối tượng định lượng Mỗi đối tượng được biểu diễn bởi một vectơ nhiều chiều

Trước tiên, ta xem xét một số khái niệm như: phân hoạch không gian, hàm phân biệt sau

đó sẽ đi vào một số kỹ thuật cụ thể

 Phân hoạch không gian

Giả sử không gian đối tượng X được định nghĩa: X ={Xi, i=1,2,…, m}, với Xi là một vectơ

Người ta nói D là một phân hoạch của không gian X thành các lớp Ci, Ci X nếu:⊂

Ci ∩ C = Với i j và j   Ci = X

Trang 10

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

Đây là trường hợp lý tưởng khi tập X tách được hoàn toàn Trong thực tế, thường gặp không gian biểu diễn tách được từng phần Như vậy, phân loại là dựa vào việc xây dựng một ánh xạ f: X → D

 Hàm phân lớp hay hàm ra quyết định

Để phân đối tượng vào các lớp, ta phải xác định số lớp và ranh giới giữa các lớp đó.Hàm phân lớp hay hàm phân biệt là một công cụ rất quan trọng Gọi {gi} là lớp các hàm phân lớp hay hàm tách biệt Lớp hàm này được định nghĩa như sau:

Nếu ik, g (X) > g (X) thì ta quyết định X lớp kk i 

Như vậy để phân biệt k lớp ta cần k-1 hàm phân biệt Hàm phân biệt g(.) của một lớp nàođó thường được dùng trong thực tế do tính đơn giản, dễ xử lý là hàm tuyến tính Hàm tuyến tính

có dạng:

g(X) = W0 + W1X1 + W2X2 + WKXK

Trong đó:

- Wi là trọng số gán cho các thành phần Xi;

- W0 là trọng số hằng

Trong trường hợp hàm g(.) là tuyến tính, người ta nói việc phân lớp là tuyến tính (trong trường hợp một hay hai chiều) hay siêu phẳng (trong trường hợp nhiều chiều)

Phân lớp dựa theo khoảng cách (Distance) là một công cụ tốt để xác định đối tượng có

“gần nhau” về một đặc trưng nào đó hay không Nếu khoảng cách nhỏ hơn một ngưỡng τ nào đấy thì ta coi hai đối tượng là giống nhau Nếu chúng giống nhau ta gộp gộp chúng, nếu chúng khác nhau và ta tách thành hai hoặc nhiều lớp phân biệt

Phân lớp dựa theo xác suất có điều kiện (Conditional Probability) Trong một số trường hợp, người ta dựa vào xác suất có điều kiện để phân lớp cho đối tượng Lý thuyết xác suất có điều kiện được Bayes nghiên cứu khá kỹ lưỡng và được dùng để phân biệt đối tượng

Trang 11

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

Người ta có dùng phương pháp ra quyết định dựa vào lý thuyết Bayes Lý thuyết Bayes thuộc loại lý thuyết thống kê nên phương pháp nhận dạng dựa trên lý thuyết Bayes có tên là phương pháp thống kê

Quy tắc Bayes:

- Cho không gian đối tượng X ={Xl, l=1,2,…,L},

- Cho không gian diễn dịch Ω={C1, C2…Cr}, với r là số lớp

Quy tắc Bayes phát biểu như sau:

ε: X → Ω sao cho X Ck nếu P(Ck /X) > P(Cl /X) l <>k, l=1,2,…,r.∈ ∀

Trường hợp lý tưởng là nhận dạng đúng (không có sai số) Thực tế, luôn tồn tại sai số ε trong quá trình nhận dạng Vấn đề chính ở đây là xây dựng quy tắc nhận dạng với sai số ε là nhỏ nhất

2.3.3) Nhận dạng dựa theo mạng Nơron

Khái niệm:

Mạng nơron là hệ thống bao gồm nhiều phần tử xử lý đơn giản (nơron) hoạt động song song Tính năng của hệ thống này tuỳ thuộc vào cấu trúc của hệ, các trọng số liên kết nơron

và quá trình tính toán tại các nơron đơn lẻ

A Giới thiệu mạng

Mạng nơron nhân tạo được thiết kế dựa trên mô hình mạng nơron thần kinh với các phần

tử nơron nhân tạo của nó là sự mô phỏng nơron sinh học

Cấu trúc của nơron sinh học

Nơron sinh vật có nhiều dạng khác nhau như dạng hình tháp, dạng tổ ong, dạng rễ cây Tuy khác nhau về hình dạng, chúng có cấu trúc và nguyên lý hoạt động chung Một tế bào nơron gồm bốn phần cơ bản:

Nhánh và rễ: Các nhánh và rễ là các bộ phận nhận thông tin, các đầu nhạy hoặc

các đầu ra của các nơron khác bám vào rễ hoặc nhánh của một nơron

Thân thần kinh: Thân thần kinh chứa các nhân và cơ quan tổng hợp protein Các

ion vào được tổng hợp và biến đổi Khi nồng độ các ion đạt đến một giá trị nhất định, xảy ra quá trình phát xung

Dây thần kinh: Dây thần kinh là đầu ra Đó là phương tiện truyền dẫn tín hiệu.

Trang 12

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

Khớp thần kinh: là bộ phận tiếp xúc của đầu ra nơron với rễ, nhánh của các

nơron khác

Cấu trúc của nơron nhân tạo

Mô hình nơron nhân tạo gồm 3 phần chính: Bộ tổng liên kết đầu vào, bộ động học tuyến tính và bộ phi tuyến

Hình 2-3 Cấu trúc nôron nhân tạo

Trong đó:

Trang 13

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

y(t): Tín hiệu đầu ra nơron

θ: Ngưỡng (là hằng số), xác định ngưỡng kích thích hay ức chế.

Bộ động học tuyến tính: Đầu vào của phần động học tuyến tính là v(t), đầu ra của nó là

u(t) gọi là đầu ra tương tự Mô tả bộ động học tuyến tính dưới dạng:

Bộ phi tuyến: Phần này sử dụng hàm quan hệ phi tuyến f(.) cho đầu ra y, để chặn tính

hiệu ở đầu ra Các hàm đầu ra thông thường là các hàm có giới hạn ngưỡng phù hợp với đặc điểm đầura của nơron sinh học

Hàm này thường được gọi là hàm kích hoạt thể hiện đặc điểm kích hoạt của một nơron

Hàm phi tuyến ở đây có thể chia thành hai nhóm: Nhóm hàm bước nhảy và nhóm hàm liên tục

Khái niệm nơron nhân tạo:

Nơron nhân tạo là sự mô phỏng nơron sinh học Có nhiều cách kết hợp các nơron nhân tạo thành mạng, mỗi cách kết hợp tạo thành một lớp mạng nơron nhân tạo khác nhau

Phân loại:

- Dựa vào số lượng lớp có trong mạng, ta phân thành:

+ Mạng một lớp

+ Mạng nhiều lớp

- Dựa vào đường truyền tín hiệu trong mạng, ta phân thành:

+ Mạng truyền thẳng

+ Mạng phản hồi

+ Mạng tự tổ chức

Trang 14

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

Open CV

Khái niệm về OpenCV

-OpenCV (Open Source Computer Vision Library) là một thư viện mã nguồn mở được phát triển cho các ứng dụng thị giác máy tính và xử lý hình ảnh OpenCV được phát triển bởi Intel vào năm 1999 và được giới thiệu lần đầu tiên vào năm 2000 Hiện nay, OpenCV được duy trì bởi một nhóm các nhà phát triển trên toàn thế giới và được sử dụng rộng rãi trong nhiều ứng dụng thị giác máy tính, như: xử lý ảnh y tế, giám sát an ninh, nhận diện khuôn mặt, phát hiện vật thể, đọc mã vạch, và nhiều ứng dụng khác

Hình 2-4 Hình ảnh về OpenCV

Trang 15

Báo cáo xử lý ảnh NGUYỄN HỒNG THÁI

OpenCV cung cấp cho các nhà phát triển một bộ công cụ mạnh mẽ để xử lý các tác vụ liên quan đến thị giác máy tính và xử lý hình ảnh Thư viện này cung cấp cho người dùng các hàm xử lý hình ảnh, xử lý video, xử lý dữ liệu thời gian thực và các tính năng khác như nhận diện đối tượng và phát hiện khuôn mặt OpenCV còn hỗ trợ các ngôn ngữ lập trình như Python, C++, Java và C#

OpenCV được phát triển với mục đích trở thành một công cụ thực sự đa nền tảng, cho phép người dùng phát triển ứng dụng xử lý hình ảnh trên các hệ điều hành khác nhau như Windows, Linux, Mac OS, iOS và Android OpenCV cũng có sẵn trên các nền tảng nhúng, cho phép các nhà phát triển sử dụng thư viện này trong các ứng dụng IoT (Internet of Things)

Một trong những đặc điểm nổi bật của OpenCV là tốc độ xử lý nhanh và khả năng hoạt động trên các ảnh có độ phân giải cao Thư viện này cũng được thiết kế để hỗ trợ các mô hình học sâu và các công nghệ AI khác, cho phép người dùng dễ dàng tích hợp các tính năng thông minh vào các ứng dụng của họ

Ưu điểm và nhược điểm của openCV

Ưu điểm:

 Được xây dựng trên nhiều ngôn ngữ lập trình, cho phép sử dụng trên nhiều nền tảng khác nhau

 Cung cấp các chức năng xử lý ảnh, thị giác máy tính và học máy phong phú và mạnh mẽ

 Có thể tích hợp với các thư viện khác như NumPy, SciPy, Matplotlib để phân tích và hiển thị dữ liệu

 Có sẵn các hàm xử lý ảnh tiêu chuẩn để thực hiện các tác vụ xử lý ảnh phổ biến như lọc, phân đoạn, tiền xử lý và các thuật toán nhận dạng đối tượng phổ biến như Haar Cascades, HOG, Deep Learning,

 Có một cộng đồng phát triển lớn và tích cực, đóng góp vào các dự án phát triển liên quan đến OpenCV

Ngày đăng: 14/12/2024, 15:44

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

TÀI LIỆU LIÊN QUAN