Luận Văn Thạc Sĩ: Nhận Diện Đối Tượng Trong Thị Giác Máy Tính

Khám phá cách sử dụng Microsoft Word hiệu quả với hướng dẫn chi tiết trên trang 3. Tối ưu hóa kỹ năng soạn thảo văn bản ngay hôm nay.

Trường đại học

Trường Đại học Quy Nhơn

Chuyên ngành

Công nghệ Thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2022

59
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

MỤC LỤC

DANH MỤC CÁC TỪ VIẾT TẮT

DANH MỤC CÁC BẢNG

DANH MỤC CÁC HÌNH

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

1.1. GIỚI THIỆU TỔNG QUAN

1.2. THỊ GIÁC MÁY TÍNH (COMPUTER VISION)

1.3. PHÁT HIỆN ĐỐI TƯỢNG (OBJECT DETECTION)

1.4. MẠNG NƠ-RON

1.5. MẠNG NƠ-RON TÍCH CHẬP (CONVOLUTIONAL NEURAL NETWORK)

1.5.1. Lớp tích chập (Convolutional Layer)

1.5.2. Lớp tổng hợp (Pooling layer)

1.5.3. Lớp kết nối đầy đủ (Fully Connected Layer)

1.5.4. Lớp đầu ra

1.6. NHẬN DIỆN KÝ TỰ QUANG HỌC

1.6.1. Cơ chế hoạt động

1.6.2. Nhận diện text (Text Recognition)

1.7. KẾT LUẬN CHƯƠNG 1

2. CHƯƠNG 2: THUẬT TOÁN PHÁT HIỆN ĐỐI TƯỢNG, CÔNG CỤ TESSRACT OCR

2.1. THUẬT TOÁN PHÁT HIỆN ĐỐI TƯỢNG

2.1.1. Mô hình RetinaNet

2.1.2. Mô hình YOLO

2.2. CÔNG CỤ TESSERACT OCR

2.2.1. Cơ chế hoạt động

2.3. KẾT LUẬN CHƯƠNG 2

3. CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG NHẬN DIỆN BIỂN SỐ XE

3.1. THU THẬP VÀ PHÂN CHIA DỮ LIỆU

3.1.1. Thu thập dữ liệu

3.1.2. Phân chia dữ liệu

3.2. HUẤN LUYỆN MÔ HÌNH

3.2.1. Đánh giá mô hình huấn luyện

3.2.2. Kết quả mô hình huấn luyện

3.3. CHUYỂN ĐỔI WEIGHT SANG TENSORFLOW

3.4. NHẬN DIỆN KÝ TỰ BIỂN SỐ XE

3.5. HIỂN THỊ THÔNG TIN

3.6. KẾT LUẬN CHƯƠNG 3

KẾT LUẬN CHUNG

DANH MỤC TÀI LIỆU THAM KHẢO

QUYẾT ĐỊNH GIAO ĐỀ TÀI (bản sao)

Tóm tắt

I. Tổng Quan Về Luận Văn Thạc Sĩ Về Nhận Diện Đối Tượng

Luận văn thạc sĩ về nhận diện đối tượng trong thị giác máy tính là một lĩnh vực nghiên cứu đang phát triển mạnh mẽ. Với sự bùng nổ của công nghệ trí tuệ nhân tạo, việc áp dụng các thuật toán học sâu vào nhận diện đối tượng đã mang lại nhiều kết quả khả quan. Nghiên cứu này không chỉ giúp cải thiện độ chính xác trong việc nhận diện mà còn mở ra nhiều ứng dụng thực tiễn trong đời sống.

1.1. Khái Niệm Về Nhận Diện Đối Tượng

Nhận diện đối tượng là quá trình xác định và phân loại các đối tượng trong hình ảnh hoặc video. Các thuật toán như CNN, YOLO và RetinaNet đã được áp dụng để cải thiện hiệu suất nhận diện.

1.2. Tầm Quan Trọng Của Thị Giác Máy Tính

Thị giác máy tính đóng vai trò quan trọng trong việc phát triển các hệ thống tự động. Nó cho phép máy tính 'nhìn' và 'hiểu' thế giới xung quanh, từ đó hỗ trợ nhiều lĩnh vực như an ninh, giao thông và y tế.

II. Vấn Đề Và Thách Thức Trong Nhận Diện Đối Tượng

Mặc dù có nhiều tiến bộ trong lĩnh vực nhận diện đối tượng, nhưng vẫn tồn tại nhiều thách thức. Các vấn đề như độ chính xác thấp trong điều kiện ánh sáng kém, sự thay đổi về góc nhìn và độ phân giải hình ảnh vẫn là những trở ngại lớn.

2.1. Độ Chính Xác Trong Điều Kiện Khó Khăn

Độ chính xác của các mô hình nhận diện đối tượng thường giảm khi đối tượng bị che khuất hoặc trong điều kiện ánh sáng không tốt. Nghiên cứu cần tìm ra các phương pháp cải thiện độ chính xác trong những tình huống này.

2.2. Sự Thay Đổi Về Góc Nhìn

Sự thay đổi về góc nhìn có thể làm cho các đối tượng trở nên khó nhận diện hơn. Việc phát triển các mô hình có khả năng nhận diện tốt trong nhiều góc độ khác nhau là một thách thức lớn.

III. Phương Pháp Nghiên Cứu Nhận Diện Đối Tượng Hiệu Quả

Để giải quyết các vấn đề trong nhận diện đối tượng, nhiều phương pháp đã được nghiên cứu và áp dụng. Các mô hình học sâu như CNN, YOLO và RetinaNet đã chứng minh được hiệu quả trong việc phát hiện và phân loại đối tượng.

3.1. Mô Hình CNN Trong Nhận Diện Đối Tượng

Mô hình CNN (Convolutional Neural Network) là một trong những phương pháp phổ biến nhất trong nhận diện đối tượng. Nó sử dụng các lớp tích chập để trích xuất đặc trưng từ hình ảnh, từ đó cải thiện độ chính xác trong việc phân loại.

3.2. YOLO Phát Hiện Đối Tượng Thời Gian Thực

YOLO (You Only Look Once) là một trong những mô hình phát hiện đối tượng nhanh nhất hiện nay. Nó cho phép nhận diện nhiều đối tượng trong một bức ảnh chỉ trong một lần duy nhất, giúp tiết kiệm thời gian và tài nguyên.

IV. Ứng Dụng Thực Tiễn Của Nhận Diện Đối Tượng

Nhận diện đối tượng có nhiều ứng dụng thực tiễn trong đời sống. Từ việc nhận diện biển số xe đến nhận diện khuôn mặt, công nghệ này đang được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau.

4.1. Nhận Diện Biển Số Xe

Hệ thống nhận diện biển số xe giúp cải thiện quản lý giao thông và an ninh. Các mô hình như YOLO và Tesseract OCR đã được sử dụng để phát triển các ứng dụng này.

4.2. Ứng Dụng Trong An Ninh

Nhận diện khuôn mặt là một ứng dụng quan trọng trong lĩnh vực an ninh. Công nghệ này giúp nhận diện và theo dõi các đối tượng trong không gian công cộng, từ đó nâng cao hiệu quả bảo vệ.

V. Kết Luận Và Tương Lai Của Nhận Diện Đối Tượng

Nhận diện đối tượng trong thị giác máy tính đang trên đà phát triển mạnh mẽ. Với sự tiến bộ của công nghệ, tương lai của lĩnh vực này hứa hẹn sẽ mang lại nhiều ứng dụng mới và cải tiến đáng kể.

5.1. Xu Hướng Phát Triển Công Nghệ

Công nghệ nhận diện đối tượng sẽ tiếp tục phát triển với sự hỗ trợ của các thuật toán học sâu và dữ liệu lớn. Điều này sẽ giúp cải thiện độ chính xác và tốc độ nhận diện.

5.2. Thách Thức Cần Đối Mặt

Mặc dù có nhiều tiến bộ, nhưng vẫn cần giải quyết các vấn đề như độ chính xác trong điều kiện khó khăn và sự thay đổi về góc nhìn. Nghiên cứu và phát triển các giải pháp mới là cần thiết để vượt qua những thách thức này.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

24/07/2025
Microsoft word lv ths trang 3

Trích đoạn nội dung tài liệu

phần mở đầu, kết luận, danh mục các từ viết tắt, danh mục bảng biểu, danh mục hình ảnh, danh mục tài liệu tham khảo, luận văn gồm có 3 chƣơng: 3 Chƣơng 1: Cơ sở lý thuyết Chƣơng 2: Thuật toán phát hiện đối tƣợng, Công cụ Tesseract OCR Chƣơng 3: Xây dựng ứng dụng nhận diện biển số xe 4 CHƢƠNG 1: CƠ SỞ LÝ THUYẾT Trong khoảng vài năm trở lại đây sự bùng nổ của Artificial Intelligence (Trí tuệ nhân tạo) hay cụ thể hơn là Machine Learning (Máy học) và Deep Learning, Big Data đã giúp con ngƣời giải quyết đƣợc rất nhiều bài toán khó và đang tạo ra những bƣớc đột phá mới trong lĩnh vực công nghệ thông tin. Trong chƣơng này, tôi sẽ trình bày một số cơ sở lý thuyết, khái niệm cũng nhƣ các nghiên cứu liên quan tới bài toán Phát hiện đối tƣợng bằng phƣơng pháp học sâu. GIỚI THIỆU TỔNG QUAN Machine Learning là một lĩnh vực của Trí tuệ nhân tạo, liên quan tới việc nghiên cứu và xây dựng các thuật toán, mô hình cho phép các hệ thống có khả năng "học" tự động từ dữ liệu để giải quyết những vấn đề cụ thể. Nếu nhƣ trƣớc kia, để giải quyết vấn đề, con ngƣời sử dụng dòng code để đƣa những chỉ thị, hành động cụ thể cho máy tính thực hiện, thì nay chỉ với dữ liệu và các thuật toán, máy tính đƣợc huấn luyện và có thể tự mình đƣa ra những quyết định hoặc dự đoán từ quá trình học hỏi.

Phƣơng pháp này đƣa ra kết quả nhanh, chính xác và hiệu quả, thậm chí còn tốt hơn con ngƣời rất nhiều nhờ áp dụng các thuật toán để phân tích, thống kê từ hàng trăm, hàng nghìn dữ liệu. Tóm lại, Machine Learning là quá trình dạy máy tính có khả năng học hỏi để hoàn thành một nhiệm vụ mà không cần kỹ thuật lập trình phức tạp. Machine Learning là ngành rất rộng về toán, gồm rất nhiều thuật toán và mỗi thuật toán có ứng dụng riêng tùy vào bài toán: • Linear Regression. • Decision Tree và Random Forest.

• Support Vector Machines. • Principal Component Analysis (PCA). Trong số đó, Deep Learning đƣợc bắt nguồn từ thuật toán Neural Network, một trong những thuật toán lấy cảm hứng từ cấu trúc bộ não con ngƣời để xử lý dữ liệu. Dù chỉ là một ngành nhỏ của Machine Learning nhƣng sự phát triển cùng khả năng tính toán vƣợt trội của máy tính và lƣợng dữ liệu khổng lồ mà con ngƣời tạo ra, những ứng dụng của Deep Learning đã và đang tạo ra những bƣớc đột phá thực sự lớn.1: Mối quan hệ giữa AI, Machine Learning và Deep Learning 1.

THỊ GIÁC MÁY TÍNH (COMPUTER VISION) Thị giác máy tính (Computer Vision) là một trong những ứng dụng nổi bất nhất của Deep Learning. Thị giác máy tính là một lĩnh vực bao gồm các phƣơng pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các hình ảnh và, nói chung là dữ liệu đa chiều từ thế giới thực để cho ra các thông tin số hoặc biểu tƣợng. Một số kỹ thuật phổ biến trong Thị giác máy tính gồm: • Nhận diện vật thể (Object Recognition): là một kỹ thuật liên quan đến việc nhận dạng, xác định và định vị các đối tƣợng trong một bức ảnh với một mức độ tin cậy nhất định. 6 • Phân loại hình ảnh (Image Classification): là một kỹ thuật liên quan đến việc dự đoán lớp của một đối tƣợng trong một hình ảnh.

• Định vị vật thể (Object Localization): là một kỹ thuật xác định vị trí của một hoặc nhiều đối tƣợng trong một hình ảnh và vẽ bounding box xung quanh chúng. • Phát hiện đối tƣợng (Object Detection): là một kỹ thuật kết hợp phân loại hình ảnh và định vị vật thể cho một hoặc nhiều đối tƣợng trong hình ảnh. • Phân đoạn đối tƣợng (Object Segmentation): là một kỹ thuật nhận dạng đối tƣợng bằng cách nổi bật các pixel cụ thể của đối tƣợng thay vì bounding box. • Chú thích ảnh (Image Captioning): là một kỹ thuật kết hợp giữa Computer Vision (thị giác máy tính) và NLP (Xử lý ngôn ngữ tự nhiên), Dựa trên một hình ảnh làm dữ liệu đầu vào, chú thích ảnh tạo ra văn bản ngắn gọn mô tả nội dung của bức ảnh đó.2: Sơ đồ các mối liên hệ giữa các tác vụ trong Computer Vision 1.

PHÁT HIỆN ĐỐI TƢỢNG (OBJECT DETECTION) Phát hiện đối tƣợng (Object Detection) là một thuật ngữ chung để mô tả một tập hợp các nhiệm vụ thị giác máy tính có liên quan liên quan đến việc 7 xác định các đối tƣợng trong ảnh kỹ thuật số. Phát hiện đối tƣợng kết hợp hai nhiệm vụ gồm phân loại hình ảnh (Image Classification) và định vị vật thể (Object Localization). Trong đó, ta có thể phân loại các kỹ thuật trên nhƣ sau: • Phân loại hình ảnh (Image Classification): Dự đoán nhãn của một đối tƣợng trong một hình ảnh. o Đầu vào: Một hình ảnh với một đối tượng, chẳng hạn như một bức ảnh.

o Đầu ra: Nhãn lớp (ví dụ: một hoặc nhiều số nguyên được ánh xạ tới nhãn lớp). • Định vị đối tƣợng (Object Localization): Xác định vị trí hiện diện của các đối tƣợng trong ảnh và cho biết vị trí của chúng bằng bounding box. o Đầu vào: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức ảnh. o Đầu ra: Một hoặc nhiều bounding box được xác định bởi tọa độ tâm, chiều rộng và chiều cao.

• Phát hiện đối tƣợng: Xác định vị trí hiện diện của các đối tƣợng trong bounding box và nhãn của các đối tƣợng nằm trong một hình ảnh. o Đầu vào: Một hình ảnh có một hoặc nhiều đối tượng, chẳng hạn như một bức ảnh. o Đầu ra: Một hoặc nhiều bounding box và nhãn cho mỗi bounding box.3: Ví dụ về phát hiện đối tƣợng Thuật toán Object Detection bao gồm 2 nhóm chính: • Two-stage: bao gồm họ các mô hình R-CNN [6] (Region-Based Convolutional Neural Networks), Mask R-CNN… Gọi là two-stage vì model sẽ thực hiện 2 phần gồm trích chọn (extract) các vùng trên ảnh có khả năng chứa đối tƣợng dựa vào các anchor box, sau đó sẽ thực hiện tiếp phân loại đối tƣợng và xác định vị trí nhờ vào việc chia làm 2 nhánh tại phần cuối của mô hình (Object Classification và Bounding Box Regression). Các mô hình này đƣợc dùng để giải quyết các bài toán định vị và nhận diện vật thể tĩnh (hình ảnh) do yêu cầu cao về độ chính xác nhƣng không yêu cầu quá cao về tốc độ.

• One-stage hay còn gọi là single-stage: Bao gồm các mô hình Restina, YOLO (You Only Look Once), SSD (Single Shot MultiBox Detector),. Gọi là one-stage vì model sẽ không có phần trích chọn các vùng đặc trƣng nhƣ two-stage. Các mô hình one-stage sẽ coi việc phát hiện đối tƣợng nhƣ một bài toán hồi quy và dựa trên pre-define box hay còn gọi là anchor để phát hiện đối tƣợng. Các mô hình one-stage thƣờng có tốc độ nhanh hơn tuy nhiên độ chính xác thƣờng kém hơn so với two-stage và thƣờng đƣợc dùng để nhận dạng đối tƣợng, đặc biệt là các đối tƣợng real time.4: So sánh sự khác nhau của mô hình one-stage và two-stage 9 1.

MẠNG NƠ-RON Mạng nơ-ron là một phƣơng thức trong lĩnh vực trí tuệ nhân tạo, đƣợc sử dụng để dạy máy tính xử lý dữ liệu theo cách đƣợc lấy cảm hứng từ bộ não con ngƣời. Lớp đầu tiên bên trái thể hiện cho mạng đầu vào đƣợc gọi là Input Layer. Và layer cuối cùng mang kết quả dự đoán gọi Output Layer. Một mạng nơ-ron có thể có hoặc không có các lớp ở giữa Input Layer và Output Layer gọi là Hidden Layer, các Hidden Layer này giúp cho tỉ lệ dự đoán chính xác cao hơn tuy nhiên việc huấn luyện cũng tốn nhiều thời gian và dung lƣợng hơn.

Mỗi Layer là tập hợp nhiều node, các node của lớp sau kết nối với toàn bộ các node của lớp trƣớc. Mỗi node trong hidden layer và output layer thực hiện các công việc sau: Liên kết với tất cả các node ở layer trƣớc đó với các hệ số w riêng. Mỗi node có 1 hệ số bias b riêng. Từ đó w, b biểu thị mối quan hệ giữa node trƣớc và node sau.5: Mối quan hệ giữa đầu vào và đầu ra của một node Node ở hình 1.5 có đầu vào là X1, X2, trọng số w1, w2.

Đầu ra y là kết quả của một hàm phi tuyến và một hàm tuyến tính. Hàm phi tuyến g còn đƣợc gọi là hàm kích hoạt (activation) giúp tăng khả năng học của mạng nơ- ron. 10 Các hàm phi kích hoạt thƣờng đƣợc sử dụng là: Sigmoid: Giá trị đầu ra đƣợc chuyển về trong khoảng [0,1] bằng công thức: 1  ( x)  1  e x Hàm sigmoid cho đầu ra có giá trị bằng 1 khi đầu vào lớn và đầu ra bằng 0 khi đầu vào bằng 1. Ở thời gian đầu hàm sigmoid rất đƣợc sử dụng rất rộng rãi, tuy nhiên sau này vì hàm luôn dƣơng nên khi lấy gradient, hàm sẽ khó hội tụ.

Mặt khác hàm sigmoid dễ bị bão hòa và không có gradient khi đầu vào rất nhỏ. Vì vậy, sau này hàm sigmoid chỉ đƣợc sử dụng ở những lớp tích chập cuối khi cần tính binary cross-entropy loss. Tanh: Giá trị đầu ra đƣợc chuyển về trong khoảng [-1,1] khiến nó có tính chất tâm không (zero-centered), theo công thức: ( ) Khi đó, đầu ra bằng 1 khi đầu vào lớn và đầu ra bằng -1 khi đầu vào nhỏ. Hàm Tanh với tính chất tâm không giúp các dữ liệu đƣợc phân bố quanh điểm 0, tanh khi lấy đạo hàm có cả phần dƣơng và phần âm giúp việc hội tụ trở nên tốt hơn.

Tuy nhiên hàm tanh không giải quyết đƣợc vấn đề bão hòa khi giá trị đầu vào quá lớn hoặc quá nhỏ của sigmoid.6: Đồ thị hàm sigmoid (a) và hàm tanh (b)[3] 11 ReLU và leaky ReLU: Lấy ngƣỡng giá trị ở 0 (Thay thế các giá trị âm bằng 0): g(x)= max(0,x). Hàm ReLU loại bỏ các giá trị âm, việc hội tụ cũng diễn ra nhanh hơn khi không còn bị bão hòa ở hai đầu nhƣ hàm Sigmoid và hàm Tanh. Tuy nhiên, với các giá trị âm nhỏ gần 0, việc giữ lại đạo hàm vẫn có giá trị khi lấy Gradient, nhƣng lại bị triệt tiêu gây ra hiện tƣợng ―Dying ReLU‖. Để khắc phục việc đó, hàm Leaky ReLU ra đời và là biến thể của ReLU: F(x) = 1(x < 0)(αx) + 1(x >= 0)(x) các giá trị âm lớn gần nhƣ xấp xỉ bằng 0 trong khi các giá trị âm nhỏ vẫn mang giá trị khi đạo hàm.

Nhƣng cả hai hàm ReLU và Leaky ReLU lại không có đạo hàm tại 0.7: Đồ thị hàm ReLU [3] Hình 1.8: Đồ thị hàm Leaky ReLU 12 Mish: Mish là hàm kích hoạt đƣợc sử dụng trong YOLOv4.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ