Professional Documents
Culture Documents
Hà Nội 2021
I. Giới thiệu chung
Đã bao giờ bạn muốn tìm kiếm một vật nhưng bạn không biết từ khóa liên quan
đến vật đó để tìm kiếm thông tin liên quan. Hiện nay với sự phát triển của công nghệ
kỹ thuật đã cho phép bạn tìm kiếm thông tin chỉ bằng 1 tấm ảnh. Ví dụ rõ ràng nhất cho
việc áp dụng kĩ thuật tìm kiếm bằng hình ảnh là trên các trang thương mại điện tử. Trên
Taobao (nền tảng thương mại điện tử lớn nhất tại Trung Quốc), nếu bạn có một mẫu áo
muốn mua mà không biết shop nào bán mẫu đó, thì rất đơn giản chỉ cần nhập hình ảnh
đó lên, hệ thống sẽ trả về kết quả các mẫu sản phẩm có hình ảnh tương tự như hình ảnh
chiếc áo bạn muốn tìm kiếm. Lợi ích đem lại cho người dùng là rất tiện lợi, bạn không
cần phải ngồi nghĩ từ khóa tìm kiếm, đây là cách sẽ giúp bạn tiết kiệm thời gian mà kết
quả trả về luôn rất chính xác.
Hiện nay với sự bùng nổ thông tin trên mạng, công nghệ 4.0 lượng ảnh lưu trữ
trên web cũng gia tăng một cách nhanh chóng. Các công cụ tìm kiếm ảnh thường dựa
vào các đặc trưng của ảnh như: nội dung ảnh, văn bản đi kèm,...Một số công cụ tìm
kiếm ảnh hiện nay: Google image search, MSN, Google Image Swirl, Bing, Tiltomo...
Họ xây dựng một kho dữ liệu ảnh khổng lồ, áp dụng các thuật toán liên quan đến học
máy, học sâu… để xử lý và tìm kiếm hình ảnh.
➢ Lược đồ màu này được tính bằng cách rời rạc hóa từng màu trong ảnh,
sau đó đếm số điểm ảnh của mỗi màu. Khi mà số lượng màu là có
hạng, để thuận tiện hơn, người ta thường chuyển đổi ba kênh màu
thành một biến giá trị duy nhất. Một cách khác để tính lược đồ màu
của ảnh RGB là ta phân ra làm 3 lược đồ riêng biệt hR[], hG[] , hB[].
Khi đó, mỗi lược đồ được tính bằng cách đếm kênh màu tương ứng
trong mỗi điểm ảnh.
❖ HOG (Histogram of Oriented Gradients)
➢ HOG là một loại “feature descriptor” để trừu tượng hóa đối tượng
bằng cách trích xuất ra những đặc trưng của đối tượng đó và bỏ đi
những thông tin không hữu ích → sử dụng HOG để trích xuất hình
dạng và sự xuất hiện của một đối tượng trong ảnh
➢ HOG tập trung vào cấu trúc và hình dạng của ảnh. HOG có thể cung
cấp cách trích xuất biên rất tốt. Điều này được thực hiện bằng cách
trích xuất gradient và hướng của các cạnh. Hình ảnh được chia ra thành
các vùng nhỏ và đối với mỗi vùng độ dốc và hướng sẽ được tính toán.
➢ Sau đó, HOG sẽ tạo một biểu đồ cho từng vùng riêng biệt. Biểu đồ
được tạo bằng cách sử dụng độ dốc và hướng của các giá trị pixel.
➢ Các bước trích chọn đặc trưng bằng HOG:
○ Bước 1: Tiền xử lý
+ Với ảnh đầu vào cần nhận dạng, ta quay 4 lần, mỗi lần 1 góc 90⁰,
thu được 4 ảnh đầu vào
+ Sử dụng phân ngưỡng OTSU để phân ngưỡng, tách vật thể với nền
+ Tách vật ra, đưa tất cả các ảnh về cùng một kích thước (224x224)
+ Nếu kích cỡ khác nhau thì độ dài ảnh cũng sẽ khác nhau (không so
sánh được) nên phải xử lý đưa tất cả ảnh về cùng một kích cỡ
+ Tạo viền ảnh 0 pixel bên ngoài (cạnh của bức ảnh chưa chắc đã hết
thông tin nên phải đệm bên ngoài để trượt ra cả các vùng bên ngoài
ảnh nếu không thì bị mất thông tin)
○ Bước 2: Tính Gradients (biên)
+ Dùng mặt nạ: Dx = [-1 0 1] đặt lên từng điểm ảnh theo chiều ngang
→ Nhân nhập ma trận Dx với ma trận điểm ảnh tương ứng → Tính
được Gx
+ Dùng mặt nạ: DyT = [-1 0 1] đặt lên từng điểm ảnh theo chiều dọc
→ Nhân nhập ma trận Dy với ma trận điểm ảnh tương ứng → Tính
được Gy
+ Sau khi xác định số block và kích thước mỗi block, cell, để tính
toán vector đặc trưng cho từng cell, chúng ta cần:
→ Chia không gian hướng thành 9 bin (số chiều vecto đặc trưng
của ô. Hướng Gradient sẽ chạy từ 00 đến 1800, trung bình 200 mỗi
bin
→ Rời rạc hóa góc hướng nghiêng tại mỗi điểm ảnh vào trong các
bin
+ Giá trị bin được định lượng với tổng cường độ biến thiên của các
pixcels thuộc về bin đó
+ Tại mỗi cell, xây dựng một vector đặc trưng bằng cách vote các
pixel vào các bin. Trọng số vote của mỗi pixel phụ thuộc vào
hướng và cường độ (được tính ở bước 2) của pixel đó
+ Sau khi tính toán đặc trưng cell có kích thước 1x9, ta sẽ nối 4 vector
đặc trưng cell trong block để thu được vector đặc trưng Block
○ Bước 4: Chuẩn hóa vector của block
+ Một vector đặc trưng của block sẽ có kích thước 1x36 dạng V =
[a1, a2, a3, ….a36]. Ta sẽ tính căn của tổng các bình phương: 𝑎 =
√𝑎12 + 𝑎22 + . . . + 𝑎362
+ Chia tất cả các phần tử của vector cho k ta sẽ được vector chuẩn
hóa có dạng: V’ = [𝑎1/𝑘, 𝑎2/𝑘, . . . , 𝑎36/𝑘]
○ Bước 5: Đưa ra vector đặc trưng HOG của ảnh bằng cách nối các
vector đặc trưng của các block lại với nhau
3. Cách lưu trữ và quản lý thuộc tính ảnh món ăn và cách nhận dạng
● Cách lưu trữ và quản lý thuộc tính ảnh món ăn: 1 bảng gồm: id, tên ảnh,
đường dẫn, các đặc trưng trích xuất được
● Cách nhận dạng: sử dụng khoảng cách Cosine để tính độ tương đồng giữa
2 bộ thuộc tính
Công thức: