3.2. Đặc trưng của mô hình đề xuất
3.2.1. Trích xuất đặc trưng
Điểm mấu chốt của phương pháp trích xuất đặc trưng là cần tạo được véc-tơ đại diện phản ánh chính xác và đầy đủ đặc trưng của ảnh để áp dụng độ đo đánh giá sự tương đồng tốt. Các véc-tơ đại diện được tạo thông qua mạng CNN đã trình bày ở phần trước không phải để phân loại mà được sử dụng như một bộ tạo đặc trưng. Theo đó, véc-tơ đặc trưng ở lớp Kết nối đầy đủ (Full Connection – FC) cuối cùng sẽ được sử dụng như véc-tơ đại diện cho ảnh. Tất cả các ảnh trong tập dữ liệu sẽ được cho qua mạng CNN để tạo các véc-tơ đại diện. Khi một ảnh đầu vào được tìm kiếm, véc-tơ đại diện của nó cũng được tạo theo phương pháp tương tự và được so sánh với tất cả các véc-tơ đại diện của các ảnh trong tập dữ liệu. Các ảnh có độ tương đồng cao nhất sẽ được chọn làm kết quả tìm kiếm.
3.2.2. Mơ hình VGG19
Mạng VGG19 có cấu trúc tương tự như VGG16, nó chỉ khác ở chỗ có thêm ba lớp tích chập (Conv3) ở ba tầng tích chập cuối (tạo thành bốn lớp tích chập chồng lên nhau).
44
Hình 3.2: Kiến trúc mơ hình VGG1916
Xây dựng và huấn luyện mơ hình CNN bằng phương pháp học chuyển giao (Transfer learning) với VGG19
Với mơ hình VGG19 chúng tơi chỉ giữ lại phần ConvNet trong CNN và bỏ đi FCs. Sau đó thêm các tầng (layer) Fully Connected vào output của ConvNet.
Hình 3.3: Cấu trúc mơ hình CNN mới với VGG19
Vì các layer trong ConvNet của VGG19 đã được huấn luyện (train) trước đó rồi nên chúng tơi sẽ không huấn luyện lại trên các layer này nữa, chúng ta sẽ đóng băng các layer này lại. Sau khi đã có mơ hình (model) mới, chúng tôi tiến hành biên dịch và huấn luyện mơ hình.
45
3.2.3. Mơ hình InceptionResNetV2
Mơ hình InceptionResnetV2 có kiến trúc mạng học sâu 64 lớp là sự kết hợp giữa cấu trúc Inception và kết nối Residual giúp giảm thời gian huấn luyện dữ liệu, dễ tối ưu hóa và cho độ chính xác cao trong q trình phân loại dữ liệu ảnh.
Hình 3.4: Kiến trúc mơ hình InceptionResNetV217
Xây dựng và huấn luyện mơ hình CNN bằng phương pháp học chuyển giao (Transfer learning) với InceptionResNetV2
Với mơ hình InceptionResNetV2 chúng tôi chỉ giữ lại phần ConvNet trong CNN và bỏ đi FCs. Sau đó thêm các Fully Connected layer vào output của ConvNet.
Hình 3.5: Cấu trúc mơ hình CNN mới với InceptionResNetV2
46
Vì các layer trong ConvNet của InceptionResNetV2 đã được train trước đó rồi nên chúng tôi sẽ không train lại trên các layer này nữa, chúng tơi sẽ đóng băng các layer này lại. Sau khi đã có model mới, chúng tơi tiến hành biên dịch và huấn luyện model.
3.2.4. Mơ hình DenseNet
DenseNet (Dense connected convolutional network) là một trong những netwok mới nhất cho visual object recognition. DenseNet cũng gần giống ResNet nhưng có một vài điểm khác biệt. DenseNet có cấu trúc gồm các dense block và các transition layers. Với CNN truyền thống nếu có L layer thì sẽ có L connection, cịn trong DenseNet sẽ có L(L+1)/2 connection.
Một số ưu điểm của DenseNet:
- Accuracy: Densenet training tham số ít hơn 1 nửa so với Resnet nhưng có accuracy tương đương trên ImageNet classification dataset.
- Overfitting: DenseNet chống overfitting rất hiệu quả. - Giảm được vashing gradient.
- Sử dụng lại feature hiệu quả hơn.
Hình 3.6: Kiến trúc mơ hình DenseNet18
Xây dựng và huấn luyện mơ hình CNN bằng phương pháp học chuyển giao (Transfer learning) với DenseNet121
Với mơ hình DenseNet121 chúng tơi chỉ giữ lại phần ConvNet trong CNN và bỏ đi FCs. Sau đó thêm các Fully Connected layer vào output của ConvNet.
47
Hình 3.7: Cấu trúc mơ hình CNN mới với DenseNet121
Vì các layer trong ConvNet của DenseNet121 đã được train trước đó rồi nên chúng tơi sẽ khơng train lại trên các layer này nữa, chúng tơi sẽ đóng băng các layer này lại. Sau khi đã có model mới, ta tiến hành biên dịch và huấn luyện model.
3.2.5. Mơ hình InceptionV3
InceptionV3 là kế thừa của InceptionV1 bao gồm 24 triệu tham số. Tồn bộ các layer tích chập của InceptionV3 được theo sau bởi một layer batch normalization và một ReLU activation. Batch normalization là kỹ thuật chuẩn hóa đầu vào theo từng minibatch tại mỗi layer theo phân phối chuẩn hóa, giúp cho q trình huấn luyện thuật tốn nhanh hơn.
InceptionV3 giải quyết được vấn đề thắt cổ chai (representational bottlenecks). Tức là kích thước của các layers không bị giảm một cách đột ngột. Đồng thời InceptionV3 có một cách tính tốn hiệu quả hơn nhờ sử dụng phương pháp nhân tố (factorisation methods).
Inception module là một mạng CNN giúp training wider (thay vì thêm nhiều layer hơn vì rất dễ xảy ra overfitting và tăng tham số) so với mạng CNN bình thường. Mỗi layer trong CNN truyền thống sẽ xuất các thông tin khác nhau.
48
Hình 3.8: Kiến trúc mơ hình InceptionV319
Xây dựng và huấn luyện mơ hình CNN bằng phương pháp học chuyển giao (Transfer learning) với InceptionV3
Với mơ hình InceptionV3 chúng tôi chỉ giữ lại phần ConvNet trong CNN và bỏ đi FCs. Sau đó thêm các Fully Connected layer vào output của ConvNet.
Hình 3.9: Cấu trúc mơ hình CNN mới với InceptionV3
49
Vì các layer trong ConvNet của InceptionV3 đã được train trước đó rồi nên chúng tôi sẽ không train lại trên các layer này nữa, chúng tơi sẽ đóng băng các layer này lại. Sau khi đã có mơ hình mới, chúng tơi tiến hành biên dịch và huấn luyện model.
3.2.6. Mơ hình Xception
Xception của Google được giới thiệu lần đầu trong cuộc thi ILSVRC 2015, viết tắt của Extreme version of Inception. Xception có thể rút gọn lại khoảng 22 triệu tham số (ít tham số nhất so với các CNN khác như VGG19, InceptionResNetV2, ResNet50, InceptionV3) nhưng vẫn giữ được độ chính xác ổn, đó là nhờ sử dụng một cơ chế gọi là Depthwise Separable Convolutions.
Depthwise Separable Convolutions chia CNN cơ bản ra làm hai phần: Deepwise Convolution và Pointwise Convolution.
Hình 3.10: Kiến trúc Depthwise Separable Convolutions trong Xception20
50
Hình 3.11: Kiến trúc Xception (Entry Flow > Middle Flow > Exit Flow)21
Xây dựng và huấn luyện mơ hình CNN bằng phương pháp học chuyển giao (Transfer learning) với Xception
Với mơ hình Xception chúng tơi chỉ giữ lại phần ConvNet trong CNN và bỏ đi FCs. Sau đó thêm các Fully Connected layer vào output của ConvNet.
Hình 3.12: Cấu trúc mơ hình CNN mới với Xception
51
Vì các layer trong ConvNet của Xception đã được train trước đó rồi nên chúng tôi sẽ không train lại trên các layer này nữa, chúng tơi sẽ đóng băng các layer này lại. Sau khi đã có model mới, ta tiến hành biên dịch và huấn luyện model.
3.2.7. Tìm kiếm bằng hình ảnh
Phương pháp tìm kiếm theo hình ảnh áp dụng trong luận văn này được bao gồm hai giai đoạn: trích xuất vec-tơ đặc trưng và so sánh độ tương đồng với các hình ảnh trong tập cơ sở dữ liệu để tìm ra các ảnh có độ tương đồng cao nhất. Tất cả các hình ảnh trong tập dữ liệu ảnh sẽ được cho qua mạng CNN để tạo ra các véc-tơ đại diện Xi (chuyển đổi hình ảnh về một đối tượng đại diện có kích thước và số chiều nhỏ hơn). Sau đó, véc-tơ đại diện X’ của ảnh đầu vào sẽ được so sánh với từng véc-tơ Xi đã thu được ở trên bằng một phép đo độ tương đồng và các hình ảnh giống ảnh đầu vào nhất sẽ được trả về làm kết quả tìm kiếm theo phương pháp “láng giềng gần nhất” (nearest neighbors).
Hình 3.13: Quy trình thực hiện tìm kiếm bằng hình ảnh
Tìm kiếm láng giềng gần nhất
Mục tiêu của thuật toán láng giềng gần nhất là tìm một điểm trên cây mà gần nhất với điểm được cho. Việc tìm kiếm sẽ hiệu quả khi sử dụng các thuộc tính của cây để giới hạn nhanh chóng trong khơng gian tìm kiếm. Q trình tìm kiếm láng giềng gần nhất trên cây k chiều được thực hiện như sau:
52
- Bắt đầu từ node gốc, thuật toán di chuyển đệ qui xuống các node dưới của cây. Việc di chuyển về bên trái hay bên phải của cây sẽ phụ thuộc vào giá trị của điểm được cho lớn hơn hay nhỏ hơn node hiện tại trong chiều phân tách.
- Khi thuật toán đã đi đến node lá thì nó sẽ xem node đó như một kết quả hiện tại (current best).
- Thuật tốn thốt khỏi vịng lặp và thực hiện các bước sau trên mỗi node o Nếu node hiện tại gần hơn kết quả hiện tại thì node này sẽ trở thành
kết quả hiện tại.
o Thuật toán kiểm tra việc tồn tại của bất kỳ điểm nào nằm ở phía cịn lại của mặt phẳng phân tách gần với điểm được cho hơn kết quả hiện tại hay không.
- Khi kết thúc thuật tốn với node gốc thì việc tìm kiếm cũng hồn thành.
3.2.8. So sánh độ tương đồng
Để so sánh độ tương đồng hình ảnh từ các vec-tơ đặc trưng thu được, có thể sử dụng các phép đo khoảng cách. Một số phép đo thông dụng bao gồm L1-norm (khoảng cách Manhattan), L2-norm (khoảng cách Euclid), hay độ tương đồng Angular (Angular similarity – tương đương phép đo khoảng cách Cosine). Cần chú ý rằng, khoảng cách và độ tương đồng tỉ lệ nghịch với nhau, khoảng cách càng nhỏ thì độ tương đồng càng lớn và ngược lại.
Với 2 vector x, y độ dài m, khoảng cách Manhattan được tính như sau:
𝑙1 = ∑𝑚 |𝑥𝑖− 𝑦𝑖|
𝑖=1 (3.1)
Công thức cho khoảng cách:
𝑙2 = √∑𝑚 (𝑥𝑖 − 𝑦𝑖)2
𝑖=1 (3.2)
Công thức cho khoảng cách Cosine:
similarity = cos(𝜃) = 𝐴 .𝐵
‖𝐴‖ ‖𝐵‖ = ∑𝑛𝑖=1𝐴𝑖𝐵𝑖 √∑𝑛𝑖=1𝐴𝑖2√∑𝑛𝑖=1𝐵𝑖2
53
Hình 3.14: Cosine Distance/Similarity
Độ đo Angular Distance (khoảng cách góc) được sử dụng để tính độ tương đồng có giá trị từ 0 đến 1. Công thức chuyển đổi Cosine Distance thành Angular Distance
𝑎𝑛𝑔𝑢𝑙𝑎𝑟 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 =2.cos−1𝑐𝑜𝑠𝑖𝑛𝑒 𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦
𝜋 (3.4)
𝑎𝑛𝑔𝑢𝑙𝑎𝑟 𝑠𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 = 1 − 𝑎𝑛𝑔𝑢𝑙𝑎𝑟 𝑑𝑖𝑠𝑡𝑎𝑛𝑐𝑒 (3.5)
Một phương pháp khác cũng được sử dụng để tính tốn độ tương đồng hình ảnh đó là sự dụng mạng bộ ba (triplet networks) [15, 16]. Phương pháp này sử dụng các đầu vào gồm 3 thành phần là ảnh đầu vào (anchor), ảnh dương (positive) giống ảnh đầu vào, và ảnh âm (negative) khác với ảnh đầu vào. Các mạng loại này có chức năng khá đặc biệt là dùng để tính tốn độ tương đồng hình ảnh chứ khơng phải gán nhãn phân loại ảnh như các mạng CNN khác. Bộ ba ảnh đầu vào được đưa vào ba mạng riêng biệt (có trọng số chia sẻ), và sẽ được tạo ra các đặc trưng của từng ảnh ở lớp cuối của mạng. Sau đó, các chuỗi này sẽ được so sánh độ tương đồng dựa trên các thuật toán đã được nêu ở trên. Mạng có nhiệm vụ sinh ra các đặc trưng sao cho khoảng cách giữa ảnh đầu vào tới ảnh dương phải lớn hơn khoảng cách tới ảnh âm. Ưu điểm của phương pháp này là tạo ra được các đặc trưng có thể thể hiện nhiều đặc tính của ảnh hơn, nhưng quá trình chuẩn bị dữ liệu tốn nhiều công sức hơn và thời gian huấn luyện lâu hơn.
Trong nghiên cứu này, chúng tôi sử dụng phương pháp thứ nhất do nó có ưu điểm về thời gian và phù hợp với hạn chế về mặt chuẩn bị dữ liệu huấn luyện.
54