Chương 1: Tổng quan bài toán phát hiện đối tượng trong ảnh. Mô tả khái quát lý do chọn đề tài, tìm hiểu các bài toán chuyên đề nhận diện trong và ngoài nước nêu bật sự cần thiết của việc nghiên cứu nhận diện, phát hiện các đối tượng thông qua các hình ảnh từ các camera nội soi trong y tế, nắm được các vấn đề và những điều đóng góp được của luận văn. Chương 2: Các lý thuyết liên quan. Nêu lên các lý thuyết phục vụ cho việc nhận dạng hình ảnh nói chung và Yolo nói riêng.
Giới thiệu về các đặc trưng của Yolo. Chương 3: Xây dựng dataset và demo ứng dụng phát hiện bệnh. Rút trích, phân loại dán nhãn các hình ảnh và tạo nên bộ CSDL mới có mục đích. Ứng dụng Deep Learning để thiết kế hệ thống hỗ trợ chẩn đoán bệnh thông qua camera nội soi y tế.
Chương 4: Thử nghiệm và đánh giá kết quả với bộ dữ liệu tự tạo. Thực hiện thử nghiệm rút ra kết luận, từ đó đưa ra các ưu và khuyết điểm của phương pháp được dùng trong luận văn. Chương 5:Kết luận và hướng phát triển. Thống kê đưa ra các kết luận, và phân tích các vấn đề của hệ thống.
Suy ra những điều học được và định hướng phát triển của hệ thống 7 CHƯƠNG 2 LÝ THUYẾT LIÊN QUAN Với sự phát triển nhanh chóng về kiến thức và trí tuệ trong việc sử dụng và khai thác công nghệ trong thời đại ngày nay. Các hệ thống máy móc và sản phẩm có trên thị trường đã và đang phục vụ con người ngày càng tốt hơn. Các sản phẩm và dịch vụ đang hiểu mọi người nhiều hơn mức họ nghĩ. Đó là nhờ sự phát triển không ngừng của một thế hệ máy móc mới, mang trong mình những khái niệm kỹ thuật vượt bậc.
Đó là những hệ thống có tích hợp trí tuệ nhân tạo.1 ANN Mạng thần kinh nhân tạo là một công cụ hữu ích để giải quyết các bài toán khó trong nhiều lĩnh vực khác nhau. Một trong những ứng dụng quan trọng của mạng thần kinh là trong lĩnh vực thị giác máy tính, nơi nó được sử dụng để phân loại và nhận diện hình ảnh, như phát hiện khuôn mặt, nhận dạng biển số xe, hay phát hiện các vật thể trong ảnh. Trong mạng thần kinh, các thần kinh thường được tổ chức thành các lớp, với mỗi lớp đại diện cho một cấp độ xử lý khác nhau. Lớp đầu tiên là lớp đầu vào, lớp cuối cùng là lớp đầu ra, và các lớp ở giữa được gọi là lớp ẩn.
Mỗi thần kinh trong mạng tính toán một giá trị đầu ra dựa trên các giá trị đầu vào của nó và các trọng số liên kết với các thần kinh khác. Chúng được huấn luyện thông qua một quá trình tối ưu hóa để tìm ra bộ trọng số tối ưu cho mạng. Quá trình huấn luyện này bao gồm việc cung cấp cho mạng một tập dữ liệu đầu vào đã biết đầu ra đúng, và sử dụng các kỹ thuật tối ưu hóa để cập nhật các trọng số liên kết giữa các thần kinh. Mục tiêu của quá trình huấn luyện là để cải thiện độ chính xác của dự đoán đầu ra của mạng.
Mạng thần kinh nhân tạo được tổ chức thành các lớp liên kết với nhau qua các trọng số. Kiến trúc cơ bản của mạng thần kinh gồm: Lớp đầu vào (input layer): Lớp này chứa các thần kinh đại diện cho các đặc trưng đầu vào của mạng. Số lượng thần kinh trong lớp này phụ thuộc vào số lượng 8 đặc trưng đầu vào của bài toán. Các lớp ẩn (hidden layers): Đây là các lớp nằm giữa lớp đầu vào và lớp đầu ra.
Mỗi lớp ẩn chứa nhiều thần kinh, và mỗi thần kinh trong lớp này tính toán giá trị đầu ra của mình dựa trên giá trị đầu vào từ các thần kinh trong lớp trước đó, kết hợp với trọng số tương ứng. Lớp đầu ra (output layer): Lớp này chứa các thần kinh đại diện cho kết quả dự đoán của mạng. Số lượng thần kinh trong lớp này phụ thuộc vào số lượng lớp đầu ra của bài toán. 1Mô tả mạng thần kinh nhân tạo Quá trình hoạt độngcủa mạng thần kinh nhân gồm các quá trình như khởi tạo, truyền thuận, tính toán lỗi, truyền ngược, cập nhật trọng số.
Trước khi mạng bắt đầu hoạt động, các trọng số giữa các thần kinh được khởi tạo với các giá trị ngẫu nhiên nhỏ. Dữ liệu đầu vào được truyền qua các thần kinh ở lớp đầu vào, được nhân với các trọng số và tổng hợp lại để tính toán giá trị đầu ra của mỗi thần kinh trong lớp ẩn. Giá trị đầu ra này được truyền qua các liên kết đến các thần kinh ở lớp tiếp theo cho đến khi giá trị đầu ra cuối cùng của mạng được tính toán. Sau khi tính toán được giá trị đầu ra của mạng, một hàm mất mát (loss function) được sử dụng để tính toán sai số giữa kết quả dự đoán và giá trị đầu ra thực tế.
Hàm mất mát thường được thiết kế để đo lường độ chính xác của mô hình. Sau đó, quá trình truyền ngược được sử dụng để điều chỉnh trọng số của các liên kết giữa các thần kinh. Quá trình này đảm bảo rằng sai số giữa dự đoán và giá trị đầu ra thực tế được giảm thiểu. Sau khi tính toán được 9 độ lỗi, trọng số được điều chỉnh bằng cách sử dụng một thuật toán tối ưu hoá như gradient descent.
Thuật toán này tìm kiếm giá trị tối ưu của trọng số sao cho sai số giữa dự đoán và giá trị đầu ra thực tế được giảm thiểu. Kết quả thu được sẽ được đưa qua một hàm kích hoạt (Activation Function) để quyết định xem thần kinh đó có được phép hoạt động và cập nhập dữ liệu mới trên mô hình mạng hay không. Hàm kích hoạt giúp mô hình có thể học hỏi các mối quan hệ phức tạp của dữ liệu, và đa phần không phải là tuyến tính. Do đó, các hàm kích hoạt đều là hàm phi tuyến, với các công thức hàm khác nhau tùy thuộc vào hàm kích hoạt sử dụng, ví dụ như hàm kích hoạt Sigmoid với công thức như sau: 1 𝑓(𝑥) = 1 + 𝑒 −𝑥 Các quá trình trên được lặp lại cho đến khi mô hình đạt được độ chính xác mong muốn hoặc đến khi hàm mất mát đạt giá trị tối thiểu.
Sau khi kết thúc chuỗi quá trình này, mạng thần kinh có thể học cách đưa ra dự đoán chính xác từ các dữ liệu đầu vào. Một số kiến trúc mạng thần kinh phổ biến bao gồm: mạng thần kinh truyền thẳng (feedforward thần kinh network), mạng thần kinh lan truyền ngược (backpropagation thần kinh network), mạng thần kinh tích chập (convolutional thần kinh network), và mạng thần kinh tái tạo tự động (autoencoder thần kinh network). Các kiến trúc này có cấu trúc khác nhau tùy thuộc vào bài toán được giải quyết.2 Mạng thần kinh tích chập (CNN) Mạng thần kinh tích chập (Convolutional Thần kinh Network - CNN) là một loại mạng nơ-ron được thiết kế đặc biệt cho xử lý dữ liệu có cấu trúc đặc biệt, chẳng hạn như hình ảnh và âm thanh. CNN sử dụng các tầng tích chập để tìm kiếm các đặc trưng (features) cục bộ trong dữ liệu đầu vào, sau đó kết hợp các đặc trưng này để tạo ra các biểu diễn cấp cao hơn của dữ liệu.
Một trong những ưu điểm của CNN là nó có khả năng học các đặc trưng tự động, tức là không cần phải biết trước các đặc trưng cụ thể nào trong dữ liệu. Điều này làm cho CNN rất mạnh mẽ trong việc phân loại hình ảnh và nhận dạng đối tượng. 10 So với mạng nơ-ron truyền thẳng (Artificial Thần kinh Network - ANN), CNN có một số ưu điểm vượt trội. Trong khi ANN xử lý dữ liệu bằng cách đưa toàn bộ dữ liệu đầu vào qua các tầng ẩn liên kết với nhau, thì CNN sử dụng các tầng tích chập để xử lý dữ liệu ở cấp độ cục bộ, giúp mạng nhanh hơn và tiết kiệm bộ nhớ hơn.
Ngoài ra, CNN còn có khả năng học được các đặc trưng cục bộ và không cần phải biết trước các đặc trưng cụ thể của dữ liệu, giúp nó tự động hóa việc trích xuất đặc trưng và có độ chính xác cao hơn khi xử lý dữ liệu ảnh. Tuy nhiên, ANN có thể được sử dụng cho các bài toán khác nhau ngoài việc xử lý dữ liệu ảnh và âm thanh, trong khi CNN thường được sử dụng đặc biệt cho các bài toán liên quan đến ảnh và âm thanh. Mô hình CNN được dùng để bằng cách chuyển đổi qua nhiều lớp thần kinh khác nhau. Tương tự với cấu trúc vỏ não thị giác, CNN sử dụng một chuỗi các lớp thần kinh để nhận diện các đặc trưng của hình ảnh.
Mỗi lớp thần kinh sẽ kích hoạt để nhận diện các đặc trưng đơn giản của hình ảnh, và các lớp ở phía sau sẽ tiếp tục nhận diện các đặc trưng phức tạp hơn. Trong mô hình CNN, mỗi lớp được tính toán bằng cách tích chập lớp trước đó, tạo thành một mô hình truyền tới. Lớp cuối cùng của mô hình sẽ đóng vai trò phân loại hoặc nhận diện ảnh. Thông thường, kiến trúc một mô hình CNN sẽ bao gồm bốn phần chính: Lớp tích chập (Convolutional layer), Lớp giảm mẫu (Pooling layer), Lớp kích hoạt (Activation layer), Lớp kết nối đầy đủ (Fully connected layer).1 Lớp tích chập Đây là lớp quan trọng của mô hình mạng tích chập (CNN).
Nó là lớp đầu tiên được áp dụng trên dữ liệu hình ảnh đầu vào và được sử dụng để trích xuất đặc trưng của hình ảnh đó. Lớp tích chập trong CNN sử dụng một bộ lọc (filter) có kích thước nhỏ hơn hình ảnh đầu vào để trượt qua toàn bộ hình ảnh và tạo ra một ma trận tích chập (convolved feature). Việc lựa chọn siêu tham số như số lượng bộ lọc, kích thước bộ lọc, bước trượt và chế độ lề sẽ ảnh hưởng đến kích thước và đặc tính của ma trận tích 11 chập. Sau khi tính toán ma trận tích chập, một hàm kích hoạt được áp dụng để đưa giá trị qua một hàm phi tuyến để tạo ra đầu ra của lớp tích chập.
Các giá trị đầu ra này sẽ được sử dụng cho lớp tiếp theo của mô hình CNN để tiếp tục trích xuất đặc trưng của hình ảnh đầu vào. Với nhiều lớp tích chập, mô hình CNN có thể trích xuất được những đặc trưng phức tạp và trừu tượng hơn của hình ảnh, giúp cho việc phân loại hay nhận dạng đối tượng trên hình ảnh trở nên chính xác hơn. Như hình sau, với một bức ảnh có kích thước 5x5 và áp dụng một lớp tích chập với một lọc có kích thước 3x3 và sử dụng bước trượt (stride) là 1.