Đăng ký Đăng nhập
Trang chủ ứng dụng deep learning để đếm số lượng xe ôtô trong nội thành đà nẵng...

Tài liệu ứng dụng deep learning để đếm số lượng xe ôtô trong nội thành đà nẵng

.PDF
61
41
138

Mô tả:

LỜI CẢM ƠN Sau một thời gian nghiên cứu, đến nay luận văn thạc sĩ với đề tài “Ứng dụng Deep Learning để đếm số lượng xe ô tô trong nội thành Đà Nẵng” đã được hoàn thành tại Trường Đại học Bách khoa - Đại học Đà Nẵng với sự nỗ lực của bản thân và sự giúp đỡ, chỉ bảo, hướng dẫn nhiệt tình của các giảng viên, sự động viên của gia đình, bạn bè và đồng nghiệp. Để hoàn thành được luận văn, tác giả xin bày tỏ lòng biết ơn sâu sắc và trân trọng tới thầy giáo TS. Trần Thế Vũ hiện đang công tác tại Viện Nghiên cứu & Đào tạo Việt Anh thuộc Đại học Đà Nẵng đã hướng dẫn và giúp đỡ tác giả rất tận tình trong suốt thời gian thực hiện và hoàn thành luận văn. Tác giả xin cảm ơn đến Ban Giám hiệu Trường Đại học Bách khoa Đà Nẵng, Ban Giám hiệu Trường Đại học Quảng Bình, Ban chủ nhiệm khoa Công nghệ Thông tin, Phòng Đào tạo sau đại học của hai trường đã tạo điều kiện thuận lợi trong quá trình học tập, nghiên cứu và hoàn thành luận văn. Tác giả cũng chân thành cảm ơn tới các bạn đồng nghiệp, bạn bè đã hỗ trợ sắp xếp về mặt thời gian để luận văn được hoàn thành. Mặc dù có rất nhiều cố gắng, nhưng chắc chắn luận văn không tránh khỏi những thiếu sót nhất định, tác giả rất mong nhận được ý kiến góp ý của các Thầy Cô giáo và các bạn để luận văn ngày càng được hoàn thiện hơn. Xin trân trọng cảm ơn! Đà Nẵng, tháng 6 năm 2019 Tác giả luận văn Đặng Thị Mỹ Nhàn MỤC LỤC MỞ ĐẦU .........................................................................................................................1 CHƯƠNG 1. NGHIÊN CỨU TỔNG QUAN .................................................................5 1.1. KHÁI NIỆM VÀ THỰC TRẠNG GIAO THÔNG VIỆT NAM .............................5 1.1.1. Khái niệm về giao thông........................................................................................5 1.1.2. Thực trạng giao thông Việt Nam ...........................................................................5 1.2. KHÁI NIỆM VỀ XỬ LÝ ẢNH, HỌC MÁY VÀ BÀI TOÁN NHẬN DẠNG Ô TÔ QUA HÌNH ẢNH .....................................................................................................5 1.2.1. Khái niệm về xử lý ảnh .........................................................................................5 1.2.2. Tổng quan về Học máy..........................................................................................7 1.2.3. Bài toán nhận dạng ô tô qua hình ảnh .................................................................10 1.3. TỔNG QUAN CÁC KẾT QUẢ NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC...12 1.3.1. Một số các nghiên cứu đã và đang được thực hiện tại nước ta ...........................12 1.3.2. Các kết quả nghiên cứu ngoài nước ....................................................................12 1.4. NHẬN DẠNG ĐỐI TƯỢNG XE Ô TÔ DỰA VÀO DEEP LEARNING ............18 CHƯƠNG 2. PHÂN TÍCH HỆ THỐNG ......................................................................18 2.1. MÔI TRƯỜNG VÀ CÔNG CỤ SỬ DỤNG ..........................................................18 2.1.1. Thư viện mã nguồn Tensorflow Object Detection ..............................................20 2.1.2. Thuật toán SSD (Single Shot Object Detectors) .................................................22 2.1.3. Thuật toán Faster R-CNN ....................................................................................26 2.1.4. Lựa chọn mô hình Object Detectors ....................................................................28 2.2. PHÁT TRIỂN CHƯƠNG TRÌNH .........................................................................30 2.2.1. Thu thập dữ liệu ...................................................................................................31 2.2.2. Đánh nhãn dữ liệu................................................................................................32 2.2.3. Đào tạo mô hình ..................................................................................................34 2.2.4. Nhận dạng ............................................................................................................35 2.2.5. Đếm phương tiện .................................................................................................36 CHƯƠNG 3. THỰC NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ .......................................38 3.1. KẾT QUẢ THỰC NGHIỆM..................................................................................38 3.1.1. Nhận diện xe chuyển động ..................................................................................38 3.1.2. Đếm số lượng xe ..................................................................................................39 3.2. ĐÁNH GIÁ KẾT QUẢ ..........................................................................................39 3.2.1. Nhận diện xe chuyển động ..................................................................................39 3.2.2. Đếm số lượng phương tiện ..................................................................................40 TỔNG KẾT ...................................................................................................................41 1. Kết luận......................................................................................................................41 2. Hướng phát triển ........................................................................................................41 TÀI LIỆU THAM KHẢO .............................................................................................42 TÓM TẮT LUẬN VĂN ỨNG DỤNG DEEP LEARNING ĐỂ ĐẾM SỐ LƯỢNG XE ÔTÔ TRONG NỘI THÀNH ĐÀ NẴNG Học viên: Đặng Thị Mỹ Nhàn Chuyên ngành: Khoa học máy tính Mã số: 60480101 - Khóa: 35 Trường Đại học Bách khoa - ĐHĐN Tóm tắt: Ngày nay, các vấn đề trong giao thông đô thị ngày càng trở nên cấp bách, đặc biệt ở các thành phố đông dân cư. Việc nghiên cứu xử lý hình ảnh video hỗ trợ quan sát, thống kê, dự báo trong lĩnh vực giao thông ngày càng có ý nghĩa quan trọng. Trong luận văn này, tôi đề xuất giải pháp đếm lưu lượng xe ôtô tại một số tuyến đường trong nội thành thành phố Đà Nẵng. Quá trình xử lý bao gồm các bước: (1) Xây dựng cơ sở dữ liệu đầu vào; (2) Sử dụng công cụ gán nhãn hình ảnh; (3) Huấn luyện cơ sở dữ liệu đã gán nhãn bằng kỹ thuật Deep Learning. Kết quả thực nghiệm trên các video giao thông quan sát được gắn trên địa bàn Thành phố Đà Nẵng mang lại kết quả hứa hẹn. Từ khóa: Phát hiện xe, đếm xe, Deep Learning. DEEP LEARNING APPLICATION TO COUNT THE NUMBER OF AUTOMOBILE IN DA NANG CITY Abstract: Nowadays, the problems in city transportation are more and more serious, especially in densely populated cities. Therefore, researching and processing video images will help make the observation, statistics and forecast in the field of transportation more and more important. In this thesis, I should suggest one solution that is countingthe number of vehicles circulating in the inner of Da Nang City to help dealt with the problems. Theprocessing includes the following steps: (1) Building input database; (2) Using image labeling tool; (3) Training labeled databases with deep learning techniques. The experimental results on observed traffic videos attached to the locality of Da Nang brought promising results. Key words: Vehicle detection, vehicle couting, Deep learning. DANH MỤC CÁC TỪ VIẾT TẮT CPU Central Processing Unit TPU Tencer Processing Unit GPU Graphics Processing Unit DPM Dopamine HMM Hidden Markov Model LBP Local Binary Pattern LDA Linear Discriminant Analysis R-CNN Regional Convolutional Neural Network SRM Structural Risk Minimization SSD Single Shot Detectors SVM Support Vector Machine YOLO You Only Look Once DANH MỤC CÁC BẢNG Số hiệu Tên bảng Trang 2.1 Test dữ liệu huấn luyện 33 3.1 Số liệu nhận dạng và đếm xe 40 DANH MỤC CÁC HÌNH Số hiệu Tên hình Trang 1.1 Ví dụ chữ số viết tay làm dữ liệu huấn luyện 8 1.2 AlphaGo là một ví dụ của Reinforcement learning. 9 1.3 Hình ảnh được lấy ra từ CSDL Brad Phillip và Paul Updike 13 1.4 Nhận diện phương tiện qua phương pháp OpenCV và Kalman 14 1.5 Nhận diện phương tiện bằng thuật toán YOLO 15 1.6 Nhận dạng xe qua công cụ OpenCV3, Python3.5, tensorflow 16 1.7 Hình ảnh lưu lại phương tiện và tốc độ được tính toán 17 2.1 Sử dụng Deep Learning nhận dạng xe ô tô 18 2.2 Ví dụ minh họa về Tensor 20 2.3 Kiến trúc của SSD 21 2.4 Kiến trúc VGG (đầu vào là 224 x 224 x3) 22 2.5 Các biến thể của hình ảnh đầu vào 23 2.6 Ví dụ minh họa về R-CNN 25 2.7 Minh họa tốc độ nhận dạng của Faster R-CNN và SSD 28 2.8 Minh họa độ chính xác của Faster R-CNN và SSD 29 2.9 Các bước giải quyết bài toán 32 Số hiệu Tên hình Trang 2.10 Thư mục ảnh được cắt ra từ video 33 2.11 Ví dụ ảnh đã được gán nhãn bằng labelImage – Python 34 2.12 Các file XML thu được sau khi gán nhãn 34 2.13 Kết quả xử lý sau quá trình huấn luyện 35 2.14 TensorflowBoard 36 2.15 Xe ô tô được nhận diện qua thuật toán 37 2.16 Quy trình nhận dạng và đếm xe 38 3.1 Kết quả nhận diện và đếm xem qua video giao thông 39 1 MỞ ĐẦU 1. Lý do chọn đề tài Giao thông luôn là vấn đề được quan tâm nhiều nhất đối với các đô thị lớn ở các nước nói chung và ở Việt Nam nói riêng. Trong những năm gần đây tình trạng kẹt xe vẫn luôn là vấn đề nghiêm trọng và bức thiết nhất. Có nhiều cơ quan chức năng, nhiều nhóm nghiên cứu đã đưa ra nhiều giải pháp tháo gỡ, nhưng đến nay, thực trạng kẹt xe vẫn chưa thuyên giảm và đang còn có chiều hướng gia tăng. Đặc biệt, đối với các thành phố lớn, mật độ dân số gia tăng, kéo theo đó là sự gia tăng các phương tiện giao thông, tốc độ phát triển đường giao thông không theo kịp quá trình đô thị hóa ở nhiều khu vực. Quỹ đất dành cho giao thông quá thấp trong khi đó số xe, nhất là xe ô tô tăng đột biến hàng năm. Tình trạng kẹt xe gây ra rất nhiều phiền toái, lãng phí rất nhiều thời gian và làm gia tăng cao chi phí của giao thông vận tải vì phải tiêu thụ rất nhiều nhiên liệu trong quá trình chờ đợi, tạo ra nhiều vấn đề quan trọng khác ảnh hưởng trực tiếp đến đời sống thường nhật của con người. Đây là vấn đề bức xúc của toàn xã hội, ảnh hưởng đến sự phát triển bền vững về kinh tế, văn hóa, xã hội và hình ảnh của đất nước Việt Nam với bạn bè Quốc tế. Hiện nay, mặc dù đã có những nghiên cứu, nhiều giải pháp tháo gỡ tình trạng tắc nghẽn giao thông nhưng hiệu quả chưa cao và tình trạng kẹt xe vẫn xảy ra thường xuyên trên các trục đường giao thông, đặc biệt là ở các khu đô thị. Xuất phát từ yêu cầu thực tiễn tôi đã chọn đề tài “Ứng dụng Deep Learning để đếm số lượng xe ô tô trong nội thành Đà Nẵng”. Xử lý và nhận dạng là một lĩnh vực từ lâu được nhiều người quan tâm, được ứng dụng trong nhiều lĩnh vực như: Trong y học, cải thiện ảnh X-quang và nhận dạng đường biên mạch máu từ ảnh chụp bằng tia X, ứng dụng vào các xét nghiệm lâm sàng như phát hiện và nhận dạng u não, nội soi cắt lớp… Trong thiên văn học, hệ thống chụp hình gắn trên tàu vũ trụ hạn chế về kích thước và trọng lượng, do đó chất lượng hình ảnh nhận được bị giảm, ảnh bị mờ, méo hình và nhiễu nền. Trong các lĩnh vực công nghiệp, người máy ngày càng đóng vai trò quan trọng. Chúng giúp con người thực hiện các công việc nguy hiểm, đòi hỏi có tốc độ xử lý và độ chính xác cao vượt quá khả năng con người. Người máy sẽ trở nên tinh vi hơn và thị giác máy tính đóng vai trò quan trọng hơn. Người ta sẽ không chỉ đòi hỏi người máy phát hiện và nhận dạng các bộ phận công nghiệp mà còn phải “hiểu” được những gì chúng “thấy” để học và đưa ra hành động phù hợp. 2 Trong giao thông, hệ thống sẽ nhận dạng phương tiện tham gia giao thông, đếm lưu lượng ô tô lưu thông trên đường qua video. Dù đã cố gắng hoàn thành báo cáo nhưng không thể tránh khỏi những sai sót vì vậy tôi rất mong nhận được ý kiến đánh giá của các thầy cô giáo và các bạn để tôi có thể hoàn thiện đề tài của mình một cách tốt nhất. 2. Mục tiêu và nhiệm vụ ➢ Mục tiêu Từ thực trạng trên đòi hỏi mục tiêu đặt ra trước mắt là: - Giảm thiểu số vụ tai nạn giao thông, đặc biệt chú trọng giảm tai nạn liên quan đến người sử dụng ô tô, môtô, xe gắn máy, giảm số vụ ùn tắc giao thông ở các tỉnh, thành phố lớn. - Nâng cao nhận thức và ý thức tự giác chấp hành pháp luật của người tham gia giao thông, nâng cao hiệu quả quản lý Nhà nước trong hoạt động bảo đảm trật tự an toàn giao thông; nâng cao ý thức trách nhiệm của người thực thi công vụ về bảo đảm trật tự an toàn giao thông . - Nghiên cứu và nhân rộng các giải pháp đột phá về khắc phục tình trạng ùn tắc giao thông, đồng thời nâng cao hiệu quả quản lý trật tự đô thị, kiểm soát phương tiện cơ giới cá nhân tham gia giao thông trên các tuyến quốc lộ và các tuyến đường có lưu lượng giao thông lớn. Trong luận văn này, tôi sẽ trình bày giải pháp chóng ùn tắc giao thông bằng ứng dụng nhận dạng phương tiện sử dụng công cụ Deep Learning, cụ thể là trình bày các bước cơ bản để nhận dạng hình ảnh (xe ô tô) trên cơ sở lý thuyết, sau đó đi sâu nghiên cứu để có thể nhận dạng và đếm được số lượng xe. Sản phẩm kết quả sẽ là một chương trình đơn giản mà đầu vào là một video chứa hình ảnh gồm con đường và phương tiện giao thông đang lưu thông trên đường, kết quả đầu ra sẽ là số lượng xe ô tô đếm được ở mỗi thời điểm (frame) trong video được ghi hình từ camera giao thông. ➢ Nhiệm vụ Từ mục tiêu của đề tài, luận văn tập trung nghiên cứu các nhiệm vụ sau: - Tìm hiểu kỹ thuật Deep Learning. - Tìm hiểu các bộ thư viện cài đặt cho mô hình Deep Learning. - Sử dụng công cụ nhận diện để đánh nhãn ôtô trong video giao thông. - Huấn luyện và xây dựng mô hình nhận dạng, đếm xe ôtô. 3. Đối tượng và phạm vi nghiên cứu 3 ➢ Đối tượng nghiên cứu - Dữ liệu thu được từ camera hoặc các bộ dữ liệu tự xây dựng. - Các phương pháp huấn luyện Machine Learning. - Các phương pháp nhận dạng xe ô tô. ➢ Phạm vi nghiên cứu - Nghiên cứu phân tích dữ liệu từ camera giao thông hoặc từ dữ liệu có sẵn, phát hiện xe ôtô và đếm xe. 4. Phương pháp nghiên cứu ➢ Phương pháp nghiên cứu tài liệu - Tìm hiểu các kĩ thuật xử lý ảnh. - Tìm hiểu các tài liệu hiện có về phát hiện xe, đếm xe. ➢ Phương pháp thực nghiệm - Xây dựng dữ liệu, - Thực nghiệm mô hình, - Phân tích, đánh giá kết quả. 5. Ý nghĩa khoa học và thực tiễn - Về khoa học: Áp dụng phương pháp Deep Learning để phát hiện, tính được tốc độ và đếm xe ô tô. - Về thực tiễn: Hỗ trợ xác định lưu lượng ô tô đang tham gia giao thông trên các trục đường giao thông, giúp giải quyết các vấn đề về giao thông. 6. Bố cục luận văn Nội dung của luận văn được trình bày với các phần chính như sau: Chương 1: Nghiên cứu tổng quan Giới thiệu khái niệm về giao thông và thực trạng giao thông Việt Nam; giới thiệu khái niệm về xử lý ảnh, học máy, bài toán nhận dạng ô tô qua hình ảnh và tổng quan các kết quả nghiên cứu liên quan ở trong nước và ngoài nước. Chương 2: Phân tích hệ thống Trong chương này, tác giả giới thiệu về môi trường và công cụ sử dụng bao gồm thư viện mã nguồn Tensorflow Object Detection, thuật toán SSD (Single Shot Object Detectors), thuật toán Faster R-CNN, mô hình Object Detectors; Các bước phát triển 4 chương trình bao gồm 5 bước: Thu thập dữ liệu, đánh nhãn dữ liệu, đào tạo mô hình, nhận dạng và đếm phương tiện. Chương 3: Triển khai thực nghiệm và đánh giá kết quả Trong chương này, tác giả miêu tả kết quả thực nghiệm và đánh giá kết quả nhận dạng và đếm số lượng phương tiện trên một video mẫu được trích xuất từ camera giao thông tại một đoạn đường cụ thể trong nội thành Đà Nẵng. Kết luận và hướng phát triển. 5 CHƯƠNG 1. NGHIÊN CỨU TỔNG QUAN 1.1. KHÁI NIỆM VÀ THỰC TRẠNG GIAO THÔNG VIỆT NAM 1.1.1. Khái niệm về giao thông Giao thông là tất cả các hoạt động, hình thức di chuyển, đi lại được thực hiện một cách công khai. Đối tượng tham gia hoạt động giao thông là người đi bộ, người điều khiển phương tiện xe cơ giới, xe máy, ô tô, tàu điện ngầm hay các phương tiện giao thông công cộng, xe dùng sức kéo và các phương tiện tham gia giao thông khác. Hình thức tham gia giao thông có thể là đơn lẻ hay cùng lúc. 1.1.2. Thực trạng giao thông Việt Nam Đã từ rất lâu rồi, tình trạng giao thông tại Việt Nam, đặc biệt là tại các thành phố lớn như Hà Nội hay Hồ Chí Minh, ùn tắc giao thông luôn là vấn đề nhức nhối đối với người dân sinh sống trong khu vực đó. Ngày nay, tình trạng ùn tắc giao thông, tai nạn giao thông lại càng trở lên nghiêm trọng hơn, xảy ra hầu hết trên các tỉnh thành trong cả nước. Với việc chuyển hướng từ một đất nước có nền kinh tế kế hoạch hóa tập trung sang một nền kinh tế thị trường tạo điều kiện phát triển mạnh cho nền kinh tế Việt Nam. Kinh tế phát triển, đời sống người dân được nâng cao kèm theo đó là những vấn đề liên quan đến giao thông đường bộ, ùn tắc, tai nạn giao thông mà ít ai nhận ra mối liên hệ giữa chúng. Đã có rất nhiều giải pháp đặt ra như đẩy mạnh việc cải tạo và phát triển cơ sở hạ tầng, tổ chức sắp xếp và điều hành hướng dẫn giao thông hợp lý, xử lý mạnh các vi phạm về trật tự an toàn giao thông và giải tỏa hành lang an toàn giao thông; tăng cường tuyên truyền, nâng cao ý thức chấp hành pháp luật khi tham gia giao thông và xây dựng văn hóa giao thông. Nhưng tình trạng ùn tắc giao thông vẫn diễn biến phức tạp, các điểm có nguy cơ xảy ra ùn tắc có chiều hướng gia tăng tại các khu vực đông dân cư, các tuyến giao thông trọng điểm, các trục chính ra vào đô thị,… gây ảnh hưởng lớn đến giao thông đô thị, nhất là vào các dịp lễ Tết, khi diễn ra các lễ hội sự kiện lớn, tai nạn giao thông ngày càng gia tăng đang còn là một vấn đề bức xúc của toàn xã hội. 1.2. KHÁI NIỆM VỀ XỬ LÝ ẢNH, HỌC MÁY VÀ BÀI TOÁN NHẬN DẠNG Ô TÔ QUA HÌNH ẢNH 1.2.1. Khái niệm về xử lý ảnh a. Xử lý ảnh là gì 6 Xử lý ảnh là phương pháp chuyển đổi hình ảnh sang dạng số và thực hiện một số hoạt động trên đó để nâng cao chất lượng hình ảnh hoặc để trích xuất một số thông tin hữu ích từ nó. Đó là một dạng phân bố tín hiệu mà đầu vào là một hình ảnh như các bức ảnh hoặc các khung hình từ video và đầu ra là một hình ảnh khác hoặc các đặc tính gắn liền nó.Thông thường, các hệ thống xử lý ảnh sẽ xem các hình ảnh như các tín hiệu hai chiều để từ đó áp dụng các phương pháp xử lý tín hiệu lên các tín hiệu đó.Nó là một trong các công nghệ phát triển nhanh chóng hiện nay và được áp dụng trong nhiều lĩnh vực khác nhau, tạo thành mảng nghiên cứu cốt lõi trong kỹ thuật và khoa học máy tính. Về cơ bản, xử lý hình ảnh bao gồm 3 bước sau: - Chuyển đổi hình ảnh thành dạng số bằng máy quét quang học hoặc máy ảnh kĩ thuật số; - Phân tích và chỉnh sửa hình ảnh bằng các phương pháp như nén dữ liệu và nâng cao chất lượng điểm ảnh …; - Kết quả sẽ là một hình ảnh khác hoặc báo cáo dựa trên phân tích hình ảnh. Mục đích của việc xử lý ảnh thường được chia làm năm nhóm: - Hiển thị hóa: quan sát các đối tượng không nhìn thấy được; - Phục hồi và làm sắc nét hình ảnh: để tạo ra một hình ảnh với chất lượng tốt hơn; - Tìm kiếm so sánh hình ảnh; - Đo mẫu: đo lường các đối tượng trong hình ảnh; - Nhận dạng đối tượng: phân biệt các đối tượng trong một hình ảnh. b. Một số vấn đề cơ bản trong xử lý ảnh ➢ Các khái niệm cơ bản - Ảnh: là một tập hợp hữu hạn các điểm ảnh kề nhau. Ảnh thường được biểu diễn bằng một ma trận 2 chiều, mỗi phần tử của ma trận tương ứng với một điểm ảnh. - Điểm ảnh: được xem như 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. - Mức xám: là kết quả sự mã hóa tương ứng một cường độ sáng của mỗi điểm ảnh với 1 giá trị số - kết quả của quá trình lượng hóa. ➢ Biểu diễn ảnh: - Trong biểu diễn ảnh người ta thường dùng các phần tử đặc trưng của ảnh là pixel (điểm ảnh). Việc xử lý ảnh số yêu cầu ảnh phải được mẫu hóa và lượng tử hóa. Một số mô hình được dùng trong biểu diễn ảnh: mô hình toán, mô hình thống kê. 7 ➢ Tăng cường ảnh – khôi phục ảnh: - Tăng cường ảnh là bước quan trọng tạo tiền đề cho xử lý ảnh. Nó gồm các kỹ thuật: lọc độ tương phản, khử nhiễu, nổi màu… - Khôi phục ảnh là nhằm loại bỏ các suy giảm trong ảnh. ➢ Biến đổi ảnh: Thuật ngữ biến đổi ảnh thường được dùng để nói tới một lớp các ma trận đơn vị và các kỹ thuật dùng để biến đổi ảnh. Có nhiều loại biến dạng được dùng như: biến đổi Fourier, sin, cosin ....
 ➢ Nhận dạng ảnh: Nhận dạng ảnh là quá trình liên quan đến các mô tả đối tượng mà người ta muốn đặc tả nó. Người ta đã áp dụng kỹ thuật nhận dạng khá thành công với nhiều đối tượng khác nhau như: nhận dạng vân tay, nhận dạng chữ viết... Có bốn cách tiếp cận khác nhau: - Đối sánh mẫu dựa trên các đặc trưng được trích chọn. - Phân loại thống kê. - Đối sánh cấu trúc. - Phân loại dựa trên mạng nơron nhân tạo. ➢ Nén ảnh: Dữ liệu ảnh cũng như các dữ liệu khác cần phải lưu trữ hay truyền đi trên mạng mà lượng thông tin để biểu diễn cho một ảnh là rất lớn. Do đó cần phải giảm lượng thông tin hay nén dữ liệu là một nhu cầu cần thiết. Nén ảnh thường được tiến hành theo cả hai khuynh hướng là nén có bảo toàn và không bảo toàn thông tin. 1.2.2. Tổng quan về Học máy Học máy - Machine Learning là một bộ phận của của trí tuệ nhân tạo (AI), các hệ thống mà sau khi được cung cấp một lượng dữ liệu và thực hiện một hoặc một số thao tác dựa trên những dữ liệu đã được cung cấp để máy có thể học. Machine Learning thường được dùng trong việc xử lý các tác vụ tương tự con người mà khó có thể mô phỏng thành công thức cụ thể, ví dụ như nhận diện, đánh giá lựa chọn, ... Có rất nhiều phương pháp học được sử dụng trong Machine Learning như PCA, Neural Network, KNN, SVM, Hồi quy Gauss, ... Những năm gần đây, Machine Learning và AI được các hãng, các nhà sản xuất nghiên cứu và ứng dụng nhiều vào các lĩnh vực của đời sống xã hội như: xe tự lái của Google và Tesla, hệ thống tự tag khuôn mặt trong ảnh của Facebook, trợ lý ảo Siri của 8 Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi ý phim của Netflix, máy chơi cờ vây AlphaGo của Google DeepMind…, là một vài trong những ứng dụng của AI/Machine Learning. a, Các phương thức Machine Learning Các thuật toán Machine Learning thường được chia làm 4 nhóm: học có giát sát, học không giám sát, học bán giám sát, học tăng cường. ➢ Học có giám sát (dạy học) Học có giám sát là phương pháp với dữ liệu đầu vào đã được gán nhãn; phương pháp này thực hiện phân lớp dữ liệu ở đầu ra dựa trên dữ liệu gán nhãn đã biết trước. Học có giám sát là nhóm phổ biến nhất trong 4 thuật toán này. Xét về khía cạnh toán học, học có giám sát là khi chúng đưa ra có một tập hợp các biến đầu vào X={x1,x2,…,xn} và một tập hợp nhãn tương ứng Y={y1,y2,…,yN}, trong đó xi,yi là các vector. Các cặp dữ liệu biết trước (xi, yi) ∈ X×Y được gọi là tập dữ liệu huấn luyện. Từ tập dữ liệu huấn luyện này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập X sang một phần tử (xấp xỉ) tương ứng của tập Y: yi≈f(xi), ∀i=1,2,…,Nyi≈f(xi), ∀i=1,2,…,N. Chẳng hạn, trong nhận dạng chữ viết tay, ta có ảnh của hàng nghìn ví dụ của mỗi chữ số được viết bởi nhiều người khác nhau. Chúng ta đưa các bức ảnh này vào trong một thuật toán và chỉ cho nó biết mỗi bức ảnh tương ứng với chữ số nào. Sau khi thuật toán tạo ra (sau khi học) một mô hình, tức một hàm số mà đầu vào là một bức ảnh và đầu ra là một chữ số, khi nhận được một bức ảnh mới, nó sẽ dự đoán bức ảnh đó chứa chữ số nào. [Hình 1.1] Ví dụ chữ số viết tay làm dữ liệu huấn luyện. 9 ➢ Học không giám sát (tự học) Phương pháp này, dữ liệu đầu vào chưa được gán nhãn, thuật toán sẽ dựa vào cấu trúc của dữ liệu để thực hiện một công việc nào đó, ví dụ như phân cụm (clustering) hoặc giảm số chiều của dữ liệu (dimension reduction) để thuận tiện trong việc lưu trữ và tính toán. Về toán học, học không giám sát là khi chúng ta chỉ có dữ liệu vào X mà không biết nhãn Y tương ứng. Những thuật toán loại này được gọi là không giám sát. ➢ Học bán giám sát (vừa học vừa tự học) Các bài toán khi chúng ta có một lượng lớn dữ liệu X nhưng chỉ một phần trong chúng được gán nhãn được gọi là Semi-Supervised Learning. Những bài toán thuộc nhóm này nằm giữa hai nhóm được nêu bên trên. Một ví dụ điển hình của nhóm này là chỉ có một phần ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần lớn các bức ảnh/văn bản khác chưa được gán nhãn, được thu thập từ internet. Thực tế cho thấy rất nhiều các bài toán Machine Learning thuộc vào nhóm này vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao. Rất nhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được (ảnh y học chẳng hạn). Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp từ internet. ➢ Reinforcement Learning (học tăng cường) Reinforcement Learning là các bài toán giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (maximizing the performance). Hiện tại, Reinforcement Learning chủ yếu được áp dụng vào Lý Thuyết Trò Chơi (Game Theory), các thuật toán cần xác định nước đi tiếp theo để đạt được điểm số cao nhất. [Hình 1.2] AlphaGo là một ví dụ của Reinforcement learning. 10 b, Các nhóm Machine Learning dựa trên chức năng - Thuật toán phân loại (Classification Algorithms) bao gồm : • Phân loại tuyến tính (Linear Classifier) • Máy hỗ trợ vector (Support Vector Machine – SVM) - Giải thuật dựa vào thể thức (Instance-based Algorithms) • K-Nearest Neighbor (KNN) • Learning Vector Quantization (LVQ) - Giải thuật Bayesian • Naive Bayes • Gaussian Naive Bayes - Giải thuật phân cụm • K-Means clustering • K-Medians - Dimensionality Reduction Algorithms • Phân tích các thành phần độc lập (Principal Component Analysis –PCA) • Phân loại tuyến tính (Linear Discriminant Analysis – LDA). 1.2.3. Bài toán nhận dạng ô tô qua hình ảnh a. Giới thiệu về bài toán nhận dạng ô tô qua hình ảnh Những năm gần đây, có rất nhiều công trình nghiên cứu về bài toán nhận dạng ô tô. Ban đầu chỉ là những bài toán đơn giản, mỗi ảnh chỉ có một hình ảnh xe ô tô với góc chụp chính diện, không đáp ứng được nhu cầu ngày càng cao trong cuộc sống, khoa học ngày nay. Vì thế đã có những cải tiến nghiên cứu về bài toán phát hiện xe ô tô trong những môi trường phức tạp hơn, có nhiều xe ô tô xuất hiện đồng thời với nhiều góc chụp khác nhau cùng với các phương tiện khác trong ảnh. Phát hiện xe ô tô là một kỹ thuật để phát hiện vị trí, màu sắc và kích thước khác nhau trong các ảnh bất kỳ. Kỹ thuật này chỉ nhận biết về các đặc trưng của xe ô tô và bỏ qua những đặc trưng khác. b. Các phương pháp chính nhận dạng xe ô tô Dựa vào tính chất của các phương pháp xác định xe ô tô trên ảnh, các phương pháp này được chia thành bốn loại chính, tương ứng với bốn hướng tiếp cận khác 11 nhau. Ngoài ra cũng có rất nhiều nghiên cứu mà phương pháp xác định xe ô tô không chỉ dựa vào một hướng mà có liên quan đến nhiều hướng. ➢ Hướng tiếp cận dựa trên tri thức: Dựa vào các thuật toán, mã hóa các đặc trưng và quan hệ giữa các đặc trưng của xe ô tô thành các luật. Đây là hướng tiếp cận theo kiểu top-down. ➢ Hướng tiếp cận dựa trên đặc trưng không thay đổi: Xây dựng các thuật toán để tìm các đặc trưng của xe ô tô mà các đặc trưng này không thay đổi khi góc chụp củaxe hay vị trí đặt camera thay đổi. ➢ Hướng tiếp cận dựa trên so sánh khớp mẫu: Dùng các mẫu chuẩn của xe ô tô (các mẫu này đã được chọn và lưu trữ) để mô tả các loại xe hay các đặc trưng của mỗi xe. Phương pháp này có thể dùng để xác định vị trí hay dò tìm ô tô trong ảnh. ➢ Hướng tiếp cận dựa trên ảnh mẫu có sẵn: Trái với hướng tiếp cận dựa trên khuôn mẫu, các mô hình hay các mẫu sẽ được học từ một tập ảnh huấn luyện mà thể hiện tính chất tiêu biểu của sự xuất hiện của xe ô tô có trong tập ảnh. Sau đó hệ thống sẽ xác định xe ô tô. Phương pháp này còn được biết đến với tên gọi tiếp cận theo các phương pháp học máy. c. Những khó khăn khi nhận dạng xe ô tô trong ảnh - Xe ô tô trong ảnh có thể có những góc chụp khác nhau như: chụp thẳng, chụp nghiêng hay chụp từ trên xuống vì vậy việc nhận dạng sẽ rất khó khăn. - Mỗi loại xe được sản xuất bởi các hãng khác nhau sẽ có những đặc trưng khác nhau nên việc nhận dạng xe cũng có thể không chính xác. - Một số xe bị che khuất bởi các đối tượng khác cũng gây cản trở cho việc nhận dạng. - Giới hạn về số hình ảnh cần thiết cho việc huấn luyện, tập các ảnh xe huấn luyện không thể bao quát được tất cả các hình dạng của tất cả các loại xe cũng làm hạn chế việc nhận dạng xe. d. Một số lĩnh vực ứng dụng nhận dạng xe ô tô trong ảnh - Ứng dụng trong phát hiện và đếm lưu lượng xe ô tô tham gia giao thông trên một tuyến đường cụ thể thông qua hình ảnh được trích xuất từ camera giao thông. - Ứng dụng trong phát hiện ô tô vi phạm luật khi tham gia giao thông: Thông qua hình ảnh từ camera giao thông để xác định hành vi vi phạm của xe ô tô khi đang lưu thông. 12 - Ứng dụng trong tìm kiếm ô tô phục vụ điều tra của các cơ quan chức năng: Thông qua hình ảnh từ camera giao thông cho phép các cơ quan chức năng biết được chính xác vị trí xe ô tô cần tìm kiếm khi đang tham gia giao thông. - Một ứng dụng đang được các nước tiên tiến áp dụng gần đây là xe ô tô không người lái: Xe tự động phát hiện và phân biệt các vật cản để có thể tự động điều khiển một cách chính xác. 1.3. TỔNG QUAN CÁC KẾT QUẢ NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 1.3.1. Một số các nghiên cứu đã và đang được thực hiện tại nước ta - Nghiên cứu phát hiện làn đường, ôtô và người đi bộ bằng công nghệ ảnh hỗ trợ cho ôtô tự hành của hai tác giả Trương Quốc Bảo, Trương Quốc Định - Trường ĐH Cần Thơ [1]: nghiên cứu sử dụng camera CCD đặt phía trước xe ôtô chuyển động trên đường để thu nhận thông tin hình ảnh về môi trường. Hệ thống có các chức năng chính phát hiện làn đường (lane detection) và ước lượng độ cong làn đường; Phát hiện, nhận dạng xe cộ (vehicles) và người đi bộ (pedestrian) di chuyển trên đường. - Các nhà khoa học thuộc Khoa Điện - Điện tử, Trường Đại học Giao thông Vận tải đã nghiên cứu thiết kế và chế tạo thành công hệ thống giám sát giao thông ứng dụng công nghệ xử lý ảnh. Hệ thống bao gồm camera giám sát, camera chụp hình, mạng truyền thông, video server, phần mềm xử lý ảnh và cơ sở dữ liệu có thể tự động phát hiện và ghi nhận các tình huống vi phạm Luật Giao thông nhằm tăng cường giám sát, phát hiện và xử lý kịp thời các vi phạm, hạn chế tai nạn và nâng cao ý thức chấp hành của người tham gia giao thông. Hệ thống này hiện đang được thử tại km 192+422 đường cao tốc Pháp Vân - Cầu Giẽ. Trong điều kiện ánh sáng ban ngày và lưu lượng giao thông bình thường, hệ thống cho kết quả khá tốt. Về chức năng phát hiện xe chuyển làn trái phép, kết quả tính toán bằng máy được so sánh với kết quả quan sát bằng mắt thường cho thấy, độ chính xác của phần mềm là 97%. Kết quả phát hiện xe chạy quá tốc độ được so sánh với súng bắn tốc độ theo nguyên lý Rada, sai số của phần mềm so với súng là 5%.Thông tin được lấy từ trang web: [2]. 1.3.2. Các kết quả nghiên cứu ngoài nước ➢ Nghiên cứu của ông Andrews Sobral: Ông Andrews Sobralvà cộng sự đã nghiên cứu nhận diện phương tiện qua phương pháp Haar Cascades using OpenCV [3]. Nghiên cứu sử dụng thư viện thị giác máy tính mã nguồn mở JavaScript và OpenCV để nhận diện hình ảnh được truy cập vào webcam. Có rất nhiều phân loại đối tượng được nhận diện trên internet nhưng hầu hết trong số chúng là để nhận diện khuôn mặt, mắt, tai và miệng. Nhưng đối với OpenCV thì có thể nhận ra một đối tượng mà chúng ta lựa chọn. Một trình phân loại
- Xem thêm -

Tài liệu liên quan