chương 1: Chương một đã nêu lên các ứng dụng của hệ thông theo vết đối tượng, trình bày về nội dung nghiên cứu, mục tiêu, phương pháp nghiên cứu và trình bày tổng quan về một số các công trình liên quan trong nước và ngoài nước nghiên cứu liên quan đến lĩnh vực theo vết đối tượng. CƠ SỞ LÝ THUYÉT Chương này chúng tôi sẽ trình bày tổng quan về mạng nơ-ron tích chập (Convolution neuron network), viet tat la CNN và các phuong phap cai tién cua CNN áp dụng trong phương pháp phát hiện và theo vết đối tượng. Và các thuật toán tiêu biểu trong thư viện OpenCV dùng áp dụng đề theo vết đối tượng được chúng tôi trình bày trong luận văn. Tổng quan phương pháp phát hiện đối tượng Trong phần này chúng tôi sẽ trình bày một trong những lĩnh vực quan trọng của Tri tué nhan tao (Artificial Intelligence) do 1a thi giac may tinh (Computer Vision).
Đây là một lĩnh vực bao gồm các phương pháp như thu nhận, xử lý ảnh kỹ thuật số, phân tích và nhận dạng các hình ảnh, phát hiện các đối tượng, tạo ảnh, siêu phân giải hình ảnh và nhiều hơn vậy. Phát hiện đối tượng (Object Defection) có lẽ là khía cạnh sâu sắc nhất của thị giác máy tính do số lần sử dụng trong thực tế của các ứng dụng. Phát hiện đối tượng (Øbject Detection) đề cập đến khả năng của hệ thống phần cứng máy tính và phần mềm, công cụ hỗ trợ đề giúp định vị các đối tượng trong một hình ảnh và xác định, nhận diện, định danh từng đối tượng. Vì thế phát hiện đối tượng đã được sử dụng rộng rãi để phát hiện khuôn mặt, phát hiện xe, đếm số người đi bộ, hệ thống bảo mật và xe không người lái.
Có nhiều cách đề nhận điện đồi tượng có thé được sử dụng cũng như trong nhiều lĩnh vực thực hành. Giống như mọi công nghệ khác, một loạt các ứng dụng sáng tạo và tuyệt vời của phát hiện đối tượng sẽ đến từ các lập trình viên và các nhà phát triển phần mềm. Bắt đầu sử dụng các phương pháp nhận diện đối tượng hiện đại trong các ứng dụng và hệ thống, cũng như xây dựng các ứng dụng mới dựa trên các phương pháp này. Việc phát hiện và nhận diện đối tượng sớm liên quan đến việc sử dụng các thuật toán cô điền, giống như các thuật toán được hỗ trợ trong OpenCV, thư viện thị giác máy tính phô biến nhất hiện nay.
Tuy nhiên, các thuật toán cô điển này không thé dat được hiệu suất đủ đề đáp ứng nhu cầu của các công việc hiện tại. Việc phát hiện đối tượng dựa trên thị giác máy tính là một vấn dé khó bởi vì hệ thông phải giải quyết với sự thay đôi về điều kiện tạo ảnh (ví dụ như sự thay đồi về các điều kiện ánh sáng và thời tiết) và sự thay đổi của các cảnh và môi trường. Nhiều phương pháp phát hiện đối tượng khác nhau sử dụng thị giác máy tính đã được phát triển và ứng dụng rộng rãi trong đời sóng thực tiễn. Các phương pháp này phát hiện đối tượng với ba bước chính.
Bước thứ nhất là dựa vào các thuộc tính của đối tượng như màu sắc, kết cầu bề mặt và hình dạng đề trích chọn các đặc trưng ảnh. Bước thứ hai là sử dụng tập dữ liệu mẫu để xác định các tham số cho các bộ nhận dạng đối tượng trong ảnh. Bước thứ ba là sử dụng bộ nhận dạng đề xác định đối tượng trong các ảnh đầu vào bất kỳ. Trong hệ thống phát hiện mục tiêu quân sự thì việc trích chọn đặc trưng ảnh đóng một vai trò quan trọng.
Có hai xu hướng chính trong việc trích chọn đặc trưng: một là sử dụng các đặc trưng cạnh; hai là sử dụng các đặc trưng màu và kết cầu bề mặt của các vùng ảnh. Các phương pháp dựa trên các đặc trưng cạnh xác định đối tượng trong ảnh bằng việc đi tìm các đường bao của đối tượng. Điểm mạnh của các phương pháp này là bất biến với các điều kiện ánh sáng và sự dịch chuyên của đối tượng. Tuy nhiên, các phương pháp dựa vào cạnh lại nhạy cảm với các cạnh nhiễu và không có hiệu quả khi trong ảnh xuất hiện nhiều cạnh nhiễu.
Mặt khác, hiệu quả của các phương pháp này lại phụ thuộc vào việc dò tìm các điểm cạnh. Các phương pháp sử dụng các đặc trưng màu và kết cầu bề mặt của các vùng ảnh có hiệu quả cao trong việc dò tìm các đối tượng mà chúng có màu sắc hoặc kết cầu bề mặt rất khác so với các đối tượng nền khác trong anh. Diém yéu của các phương pháp này là chúng rất nhạy cảm với sự thay đổi của các điều kiện ánh sáng và thường lỗi trong trường hợp đối tượng bị ảnh hưởng bởi các vùng rất sáng và các bóng râm. Ngoài ra thời gian xử lý cho mỗi đối tượng cho các yêu cầu phực tạp và đồi hỏi độ tin cậy cao thì kết quả thuật toán của các phương pháp này thường thấp.
Việc áp dụng đột phát và nhanh chóng của phuong phap hoc sau (Deep learning) vào năm 2012 đã đưa vào sự tồn tại các thuật toán và phương pháp phát hiện đồi tượng hiện đại và chính xac cao nhu R-CNN, Fast R-CNN, Faster R-CNN, RetinaNet va nhanh hơn nhưng rất chính xác như SSD và YOLO [10]. Sử dụng các phương pháp và thuật toán này, dựa trên học sâu và cũng dựa trên việc học máy đòi hỏi rất nhiều kiến thức về toán học áp dụng cho việc học sâu. Có hàng triệu chuyên gia lập trình và các nhà phát triển phần mềm muốn tích hợp và tạo ra các sản phẩm mới sử dụng. Nhưng công nghệ này xa tầm tay của họ, phức tạp đề hiểu và sử dụng thực tế của nó.
10 Trong nội dung tiếp theo này, chúng tôi trình bày trình bày tổng quan về mạng nơ-ron tích chập và các phương pháp cải tiến của nó được áp dụng trong phương pháp phát hiện. Và các thuật toán tiêu biều trong thư viện OpenCV dùng để áp dụng theo vét đối tượng trong luận văn này. Sau đó xem xét, so sánh các kết quả nhằm mục đích làm cơ sở lựa chọn phương pháp đạt hiệu suất tốt nhất đề thực hiện mục tiêu của đề tài. Mạng nơ-ron tích chập và các cải tiến Mang no-ron tich chap CNN (Convolution neuron nefwork) đã được nghiên cứu từ giữa thế kỷ trước [10] và đã trải qua một sự phát triển đột biến vào cuối thế kỷ trước.
Mạng nơ-ron là một phương pháp được sử dụng rộng rãi đề thực hiện việc học sau ANN, RNN va CNN. CNN 1a mot trong những mô hình học tập sau (Deep learning) tiên tiền giúp cho chúng ta xây dựng đựợc những hệ thống thông minh với độ chính xác cao. Dac biệt trong các lĩnh vực xử lý ảnh thì CNN đã rất thành công trong việc áp dụng đề phân lớp và nhận dạng ảnh với bộ dữ liệu ImageNet dataset [ I I]. Trong nội dung tiếp theo chúng tôi trình bày về kiến trúc của CNN bao gồm một dãy các tầng và các tầng của một CNN chuyền một thể tích kích hoạt sang một tầng khác thông qua một hàm khác biệt.
Về cơ bản mô hình mạng nơ-ron tích chập bao gồm các tầng sau: Tầng tích chập (Convoiurional), Tầng kích hoạt phi tuyến ReLU (Rectified Linear Unit), Tang nét trich (Pooling) và Tầng kết nói day du (Fully- connected), được thay đổi về số lượng và cách sắp xếp đề tạo ra các mô hình huấn luyện phù hợp cho từng bài toán khác nhau. Tang tich chap (Convolution layer) Đây là tang quan trọng vì nó chính là nơi thê hiện rõ nhiệm vụ ban đầu của mạng nơ-ron tích chập. Nó là kết quả của việc sử dụng một bộ cac bé6 loc (filter) c6 kich thước nhỏ so với ảnh thường là sử dụng là (3x3 hoặc 5x5) áp vào một vùng trong ảnh và tiền hành tính tích chập giữa bộ lọc và giá trị điểm ảnh trong vùng cục bộ đó. Bộ lọc sẽ lần lượt được dịch chuyên theo một giá trị bước trượt (s/r/đe) chạy dọc theo ảnh và quét toàn bộ anh, (xem Hình 2.
11 Cac diém anh géc Bộ lọc tích chập Giá trị điểm ảnh mới Hình 2. Tích chập với bộ lọc (3x3) [1 1] Trong ví dụ ở Hình 2.I, một bộ lọc (izer) được sử dụng là một ma trận có kích thước 3x3. Bộ lọc này được dịch chuyên lần lượt qua từng vùng ảnh đến khi hoàn thành quét toàn bộ bức ảnh, tạo ra một bức ảnh mới có kích thước nhỏ hơn hoặc bằng với kích thước ảnh đầu vào. Kích thước này được quyết định tùy theo kích thước các khoảng trắng được thêm ở viền bức ảnh gốc và được tính theo công thức (2.1) Ss Trong do: - o: là kích thước ảnh đầu ra ~ i: là kích thước ảnh đầu vào - p: là kích thước khoảng trắng phía ngoài viền của ảnh gốc - k: là kích thước bộ lọc - s: là bước trượt của bộ lọc Tầng kích hoat phi tuyén ReLU (Rectified Linear Unit) Tầng này được xây dựng với ý nghĩa đảm bảo tính phi tuyến của mô hình huấn luyện sau khi đã thực hiện một loạt các phép tính toán tuyến tính qua các tầng tích 12 chập.
Tầng kích hoạt phi tuyến nói chung sử dụng các hàm kích hoạt phi tuyến như hàm ReLU hoặc hàm Sigmoid,. dé giới hạn phạm vi biên độ cho phép của giá trị đầu ra. Trong số các hàm kích hoạt này, hàm ReLU thường được chọn sử dụng do cài đặt đơn giản, tốc độ xử lý nhanh nhưng vẫn đảm bảo được tính toán hiệu quả. Cụ thể, phép tính toán của hàm ReLU chỉ đơn giản (2.2) là chuyên tất cả các giá trị âm thành giá trị 0.2) Thông thường, tầng kích hoạt phi tuyến được áp dụng ngay phía sau tầng tích chập, với đầu ra là một ảnh mới có kích thước giống với ảnh đầu vào, các giá trị điểm ảnh cũng hoàn toàn tương tự trừ các giá trị âm đã bị loại bỏ.
Tầng nét trich (Pooling layer) Tang pooling (hay con goi subsampling hoac downsample) la m6t trong nhitng thành phần tính toán chính trong cầu trúc CNN. Thường được theo sau tang tích chập và tầng kích hoạt phi tuyến đề làm giảm kích thước kích thước ảnh đầu ra trong khi vẫn giữ được các thông tin quan trọng của ảnh đầu vào. Việc giảm kích thước dữ liệu có tác dụng làm giảm được số lượng tham số cũng như tăng hiệu quả tính toán. Tầng lấy mẫu cũng sử dụng một cửa số trượt để quét toàn bộ các vùng trong ảnh tương tự như tầng Tích chập, và thực hiện phép lay mau thay vì phép tích chập — tức là sẽ chon lưu lại một giá trị duy nhất đại diện cho toàn bộ thông tin của vùng ảnh đó.