01 Tầm quan trọng của việc quản lý Container 02 Deep Learning cho nhận diện và phân loại đối tượng 03 Thiết lập Pipeline xử lý ảnh 04 Đánh giá mô hình phát hiện và nhận dạng container
Trang 1TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG
THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO MÔN HỌC: TRÍ TUỆ NHÂN TẠO
Trang 2NỘI DUNG
01 Tầm quan trọng của việc quản lý Container
02 Deep Learning cho nhận diện và phân loại đối tượng
03 Thiết lập Pipeline xử lý ảnh
04 Đánh giá mô hình phát hiện và nhận dạng
container
Trang 31 Tầm quan trọng của việc
quản lý Container
Tối ưu hóa quy trình vận chuyển hàng
hóa, giảm thiểu chi phí, đảm bảo an toàn
và bảo mật hàng hóa, cũng như tối ưu
hóa sử dụng tài nguyên vận chuyển
Điều này giúp nâng cao hiệu suất và
khả năng cạnh tranh của ngành vận tải
container
Trang 4Một số mô hình đã tìm hiểu
0
1 0 2
2 Deep Learning cho nhận diện và phân loại đối tượng
Mô hình mạng nơ-ron tích chập (CNN)
Trang 52.1.1 Tổng quan
CNN là mô hình mạng nơ-ron dùng
convolution (phép tích chập) để nhận diện đặc trưng hình ảnh, giảm kích thước
dữ liệu và tăng khả năng nhận biết đối tượng
2.1 Mô hình CNN
2.1.2 Thành phần mô hình CNN
o Lớp Convolutional (Convolutional Layer)
o Lớp Stride và Pooling Layer
o Lớp Activation (Activation Layer)
o Lớp Fully Connected (Fully Connected Layer)
Trang 6• Làm mờ
• Làm nét
• Xác định cạnh Với mỗi kernel khác nhau thì phép tính convolution sẽ có ý nghĩa khác nhau
Ý nghĩa của phép tính convolution:
• Làm mờ
• Làm nét
• Xác định cạnh Với mỗi kernel khác nhau thì phép tính convolution sẽ có ý nghĩa khác nhau
Trang 7Stride và pooling layer
Có 2 loại pooling thường dùng là max pooling và average pooling Max pooling lấy giá trị lớn nhất trong cửa số k*k, còn avarage pooling thì lấy trung bình của các giá trị trong cửa sổ k*k
Ví dụ về max pooling và average pooling với size = 2*2 và stride = 2
Trang 9Fully connected layer
Là các layer có các node liên kết với các node ở layer trước Mỗi node trong layer này sẽ:
• Có liên kết với tất cả các node ở layer trước, mỗi liên kết mang hệ số w riêng
• Có hệ số bias b riêng
• Diễn ra 2 bước: Tính tổng linear ở đầu vào và áp dụng activation function ở đầu ra
Tổng linear ở đầu vào 1 node là tổng các (node ở layer trước * hệ số liên kết w của từng liên kết) cộng với bias
b Activation function sẽ áp dụng với tổng linear trên để đưa ra kết quả về thông tin của node
Fully connected của một neural network Các node ở mỗi layer được liên kết với tât cả các node ở layer trước
Với CNN thì fully connected layer cũng sẽ giống như vậy, chỉ khác
là lớp input ở đây sẽ trở thành lớp hidden và thêm vào phía trước những lớp convolution và pooling
Fully connected của một neural network Các node ở mỗi layer được liên kết với tât cả các node ở layer trước
Với CNN thì fully connected layer cũng sẽ giống như vậy, chỉ khác
là lớp input ở đây sẽ trở thành lớp hidden và thêm vào phía trước những lớp convolution và pooling
Trang 11ReLU (Rectified Linear Unit) Softmax (hàm trung bình mũ)
Hàm softmax nhận đầu vào là một vector , với các thành phần của vector, K là số lớp đối
tượng và trả về một vector có cùng số thành phần với vector đầu vào với giá trị trong khoảng (0,1)
Hàm softmax thường được dùng ở lớp cuối cùng trong các bài toán phân loại để đưa ra tỷ lệ phân phối xác suất về các lớp đối tượng
Trang 122.2 Một số mô hình đã tìm
hiểu
2.2.1 Mô hình Le-Net
(5)
LeNet-5: Mô hình CNN đầu tiên, nhận diện chữ số
viết tay, quan trọng trong phát triển xử lý ảnh và thị
giác máy tính.
Hình 1 – Kiến trúc của Le-Net (5)
2.2.1 Mô hình EfficientnetB0
[6]
EfficientNet-B0: Mô hình CNN tối ưu kích thước
và hiệu suất, sử dụng Compound Scaling và các
kỹ thuật Convolutional Blocks để cải thiện độ chính xác trong xử lý ảnh.
Hình 2 – Kiến trúc của EfficientnetB0 [6]
Trang 13Mô hình LeNet
Nhận xét
LeNet với ít layers và ít parameters có thể nhanh chóng training trên CPU với MNIST, nhưng với activation function là hàm Tanh, có thể gặp vấn đề khi giá trị kích hoạt bão hòa, khó cập nhật trọng số
số.
Mô hình EfficientnetB0
EfficientNet phức tạp, dự đoán tốt với ảnh chất lượng kém Tuy nhiên, training chậm hơn LeNet trên GPU vì batch size nhỏ hơn.
Trang 143 Thiết lập Pipeline xử lý ảnh
i Một pipeline xử lý ảnh là một chuỗi các bước xử lý được thực hiện theo trình tự
nhất định để biến đổi, cải thiện hoặc trích xuất thông tin từ hình ảnh
Trang 15Hình 1 - Ảnh Container đầu vào
Hình 2 – Output chứa vùng mã
3.1 Phát hiện mã vùng Container
Mã container bao gồm 2 loại: mã sau (back code)
và mã bên (side code) Thông thường, xung quanh vùng mã sẽ có rất nhiều nhiễu
Ví dụ như container bị trầy xước, phai màu do ảnh hưởng của thời tiết, đặc biệt là với backcode được in trên trên cửa container luôn có những thông tin khác kèm theo
Do đó việc phát hiện các vùng mã này sẽ rất khó nếu chỉ dùng các giải thuật xử lý ảnh đơn thuần Nên việc ứng dụng deep learning tại bước này sẽ giúp quá trình thực hiện báo cáo trở nên đơn giản hơn
Trang 16• Phát hiện cạnh bằng giải thuật Candy
• Sử dụng findCoutour để phát hiện đường viền
• Dùng các điều kiện phù hợp để lọc ra các đường ký tự
- Sau khi tách được ký tự, một lớp padding sẽ
được thêm vào ở mỗi ký tự để tăng độ chính
xác của kết quả dự đoán
Trang 17Giới thiệu về Dataset
Quá trình training sẽ được tiến hành trên tập data Chars74K Đây là tập data gồm đầy đủ 36
ký tự từ 0-9 và A-Z với xấp xỉ 32000 ảnh, phù hợp cho yêu cầu nhận dạng ký tự in của báo cáo
Quá trình training sẽ được tiến hành trên tập data Chars74K Đây là tập data gồm đầy đủ 36
ký tự từ 0-9 và A-Z với xấp xỉ 32000 ảnh, phù hợp cho yêu cầu nhận dạng ký tự in của báo cáo
Trang 183.3 Kết quả xây dựng mô
hình
Hình 2 – Kết quả xây dựng mô hình EffecientnetB0 Hình 1 – Kết quả xây dựng mô hình LeNet(5)
Do mô hình có nhiều lớp và không thể hiển thị hoàn
toàn trong một hình ảnh, dưới đây là kết quả của một số
lớp cuối cùng để bạn có cái nhìn tổng quan về cấu trúc
của mô hình.
Cuối cùng ta có 6,265,254 tham số có thể học
Ta có 63,916 tham số có thể học
Trang 204 Đánh giá mô hình phát hiện và nhận dạng container
4.1 Test
Hình 1 – Input mã ký tự nhận diện
Hình 2 – Output ( EffecientnetB0)
Hình 3 – Output ( LeNet5 )
Trang 214.2 Đánh giá mô
hình
Hệ thống hoạt động tốt và nhận dạng chính xác ở ảnh chất lượng tốt Tuy nhiên, hạn chế lớn là không thể áp dụng cho ứng dụng thực tế do ảnh không luôn
có chất lượng cao
Thời gian xử lý trên mỗi ảnh lớn và không thích hợp cho video (khoảng 400ms từ Input đến Output) Các thông số như kích thước ảnh, padding, bounding box đang cứng nhắc và cần điều chỉnh linh hoạt hơn cho các môi trường khác nhau.
Và vì nhận diện số và chữ khá đơn giản, thì việc so sánh 2 mô hình lenet 5 và effect trên thực tế không có
sự khác biệt quá rõ rệt như trên việc đánh giá trên mặt lý thuyết rằng effect vượt trội hơn so với lenet 5
Trang 22CÁM ƠN THẦY VÀ CÁC BẠN ĐÃ LẮNG NGHE!