Xem mẫu
- CAPTION IMAGE - CHUYỂN ĐỔI DẠNG LƯ TRỮ VIDEO
VỀ DẠNG TEXT
Lê Thị Kim Băng, Đỗ Quốc Bảo, Võ Văn Linh, Nguyễn Phước Đại,
Nguyễn Văn Chinh, Nguyễn Thị Mai Phương
Khoa Công nghệ Thông tin, Trường Đại học Công nghệ TP.Hồ Chí Minh
GVHD: CN. Nguyễn Mạnh Hùng, ThS. Nguyễn Đô P ươ
TÓM TẮT
Tự động mô tả nội dung của một hình ảnh là một vấn đề cơ bản trong lĩnh vực trí tuệ nhân tạo kết
nối giữa thị giác máy tính và xử lý ngôn ngữ tự nhiên. Các tiến bộ gần đây trong lĩnh vực trí tuệ nhân
tạo đã cải thiện đáng kể hiệu suất của các mô hình. Tuy nhiên, các ứng dụng của tự động mô tả
nội dung của một hình ảnh vẫn còn chưa rõ ràng và thực tế. ưu trữ và quản lý các video là một
công việc quan trọng trong nhiều lĩnh vực, vấn đề này đặc biệt nảy sinh đối với các lĩnh vực đòi hỏi
phải lưu trữ video liên tục và truy xuất trong một lượng lớn video, camera an ninh chính là một ví dụ
điển hình trong trường hợp này. Trong bài báo này, chúng tôi nghiên cứu về cách áp dụng các
thành tựu của tự động mô tả nội dung hình ảnh vào việc quản lý, lưu trữ và trích xuất video một
cách hiệu quả hơn.
Từ khóa: Image captioning, word embedding, video processing, LSTM, model inception v3.
ABSTRACT
Automatically describing the content of an image is a fundamental problem in artificial intelligence
that connects computer vision and natural language processing. Recent progress in artificial
intelligence (AI) has greatly improved the performance of models. However, the application of
automatically describing the content of an image is still unclear and realistic. Storing and managing
videos is an important task in many fields, especially problems for areas that require continuous
video storage and retrieval in a large number of video, and security cameras are a prime example
in this case. In this paper, we study how to apply the achievements of image caption generator to
managing, storing and extracting videos more effectively.
Keywords: Image captioning, word embedding, video processing, LSTM, model inception v3.
1 GI I THIỆU
Thị giác máy tính và xử lý ngôn ngữ tự nhiên là hai lĩnh vực riêng biệt trong trí tuệ nhân tạo nhưng
đã được kết hợp để tạo ra các nghiên cứu mới, tự động mô tả nội dung hình ảnh chính là một trong
số đó. Các nghiên cứu mới gần đây đã mang lại những mô tả ngày càng chính xác hơn. Trong
công việc lưu trữ, quản lý và truy xuất video, có hai câu hỏi được đặt ra: Làm thế nào để lưu trữ
những video, phân cảnh có chứa nội dung cần lưu trữ dựa theo mục đích lưu trữ của lĩnh vực để
mang lại hiệu quả trong việc lưu trữ và quản lý như tiết kiệm bộ nhớ, lưu trữ theo thể loại – nội dung
76
- – đối tượng,…? Làm thế nào để có thể truy xuất tới phân cảnh, thời điểm có chứa nội dung, mô tả
được đưa ra một cách hiệu quả và nhanh nhất so với truy xuất thủ công, đặc biệt là trong các video
có thời lượng dài? Chúng tôi đã sử dụng kết quả đạt được từ tự động mô tả nội dung hình ảnh để
giải quyết hai câu hỏi trên.
2 P ƯƠN ÁN TIẾP CẬN
Hình 1. Mô hình của chương trình
2.1 Model Inception V3
Mạng Inception gồm các đơn vị gọi là ‚inception cell‛ - phép tích chập 1 đầu vào với nhiều bộ lọc
khác nhau rồi tổng hợp lại, theo nhiều nhánh.
Tại sao lại chọn model Inception V3?
– Với mỗi 1 cell, sử dụng các 1x1, 3x3, 5x5 bộ lọc để lấy ra các thuộc tính từ đầu vào. Giảm số
lượng tham số của mô hình dẫn đến chi phí tính toán sẽ tiết kiệm hơn.
– Inception có một đặc điểm khá hay là có thêm 2 đầu ra phụ. Nó giúp cho việc huấn luyện
diễn ra nhanh hơn khi tối ưu những lớp đầu dựa vào các đầu ra phụ. Các lớp càng gần cuối
càng ít được tối ưu ngay vì vậy chưa cần thiết phải tối ưu ngay. Sau một thời gian tối ưu các
lớp đầu rồi mới tối ưu các lớp tiếp theo dựa vào đầu vào cuối cùng. Việc này cải thiện khả
năng tính toán và tốc độ huấn luyện khá nhiều.
77
- Bảng 1. So sánh giữa một số mô hình bắt đối tượng trong ảnh [11]
Model Size Top-1 Accuracy Top-5 Accuracy Parameters
Xception 88MB 0.790 0.945 22, 910, 480
VGG19 549MB 0.713 0.900 143, 667, 240
ResNet101 171MB 0.764 0.928 44, 707, 176
InceptionV3 92MB 0.779 0.937 23, 851, 784
InceptionResNetV2 215MB 0.803 0.953 55, 873, 763
MobileNet 16MB 0.704 0.895 4, 253, 864
2.2 Word embedding
Glove -Global Vectors, là một mô hình cho biểu diễn từ phân tán. Mô hình này là một thuật toán
học tập không giám sát để có được các biểu diễn vectơ cho các từ. Điều này đạt được bằng cách
ánh xạ các từ vào một không gian có ý nghĩa trong đó khoảng cách giữa các từ có liên quan đến sự
giống nhau về ngữ nghĩa, có thể rút ra mối quan hệ ngữ nghĩa giữa các từ trong ma trận xuất hiện.
Đào tạo được thực hiện trên các số liệu thống kê về sự xuất hiện của từ từ một kho văn bản và các
biểu diễn kết quả thể hiện các cấu trúc tuyến tính của không gian vectơ từ. Là mô hình hồi quy log-
bilinear cho việc học từ đại diện không giám sát, nó kết hợp các tính năng của hai họ mô hình, cụ
thể là nhân tố ma trận (the global matrix factorization) và phương pháp cửa sổ ngữ cảnh cục bộ
(local context window methods).
Mô hình GloVe được chúng tôi sử dụng trong việc embedding các từ và tạo ma trận embedding
cho bảng từ vựng với mỗi từ embedding bằng một vectơ 200.
2.3 Long Short Term Memory (LSTM)
2.3.1 Mô hình Long Short Term Memory (LSTM)
Kiến trúc Recurrent Neural Network (RNN) được sinh ra để giải quyết các bài toán có dữ liệu tuần tự.
Tuy nhiên, RNN truyền thống khó học được vì vấn đề mất mát và bùng nổ đạo hàm [10]. Mạng LSTM
được đề xuất để giải quyết vấn đề [10].
Khối LSTM mà mô hình của chúng tôi được xây dựng dựa trên LSTM với cấu trúc không có
Peepholes [6]. Các ô nhớ và cổng trong một khối LSTM được định nghĩa như sau:
i1 (wix x 1 wimm11 ) (1)
f1 (w fx x 1 w fmm11 ) (2)
o1 (wox x 1 womm11 ) (3)
c1 f1.c11 i1.h(wcx x 1 wcmm11 ) (4)
m1 o1.c1 (5)
78
- Trong đó (.) đại diện cho phép nhân phần tử, đại diện cho hàm sigmoid và h đại diện cho hàm
tiếp tuyến hyperbolic [12]. Biến i1 là viết tắt của đặt cổng, f1 cho cổng quên, o1 cho cổng đầu ra của ô
LSTM. c1 là trạng thái của ô nhớ và m1 là trạng thái ẩn, đó là đầu ra của khối được tạo bởi ô nhớ.
Biến x1 là phần tử của chuỗi tại dấu thời gian l và w biểu thị các tham số của mô hình.
2.3.2 Tạo phụ đề với Long Short Term Memory (LSTM)
Đường dẫn để tạo chú thích với RNN mô hình [1,4,5,8,9] được lấy cảm hứng từ một bộ mã hóa
nguyên tắc trong dịch Neural machine [2,3,7].
Một bộ mã hóa được sử dụng để ánh xạ một chuỗi độ dài thay đổi trong ngôn ngữ vào một vector
phân tán và giải mã được sử dụng để tạo một chuỗi mới trong ngôn ngữ định hướng trên vector và
tạo chú thích, cụ thể là:
argmax i logp( si1:Li x i , ) (6)
Khi đó xi là biểu thị một hình ảnh, si1:L biểu thị một chuỗi các từ trong câu có độ dài Li và θ biểu thị
i
mô hình thông số. Để đơn giản, trong phần sau chúng ta dùng siêu ký tự i bất cứ khi nào nó rõ
ràng từ bối cảnh, từ mỗi câu bao gồm một chuỗi các từ, nó là tự nhiên sử dụng quy tắc chuỗi Bayes
để phân tách một câu.
logp(s1:1 x, ) logp(s1 x, ) i logp(s1 x,s1:11 , ) (7)
Trong đó s1:1 là viết tắt phần của câu lên đến (l) từ. để tối đa hóa trong mục tiêu. (6) qua toàn bộ dữ
liệu huấn luyện, chúng ta cần xác định khả năng logp(x,s1:1-1,θ) có thể được mô hình hóa với hidden
layer của trạng thái dấu thời gian trong RNN.
2.4 Tách ảnh từ video và lưu trữ kết quả
Sau khi khi hoàn tất xây dựng chức năng tạo câu mô tả cho từng hình ảnh riêng lẻ, video sẽ được
tách thành các frame để được mô tả. Tuy nhiên, một video đầu vào được có số khung hình trung
bình trong 1s là 30 khung hình, việc mô tả cho tất cả các khung hình trong 1s là gánh nặng cho hệ
thống xử lý, đồng thời trong 1s không thể thể hiện được nhiều hành động hay mô tả khác nhau
trong 1s. Quá trình thực nghiệm chỉ ra rằng, việc tạo mô tả cho toàn bộ 30 khung hình mỗi giây xuất
hiện sự trùng lặp mô tả, cách hành động thường kéo dài trong nhiều giây nên việc cùng lúc lưu trữ
hàng chục đến hàng trăm mô tả tương tự nhau là không cần thiết. Chương trình quan tâm đến thời
điểm xuất hiện một đối tượng hoặc hành động xuất hiện và kết thúc trong một khoảng thời gian
liên tục, do đó thay vì xử lý cho toàn bộ các khung hình trong video, chuyển đổi 2 khung hình mỗi
một giây chính gồm khung hình đầu và giữa mỗi giây là giải pháp để giải quyết vấn đề ở trên, tăng
tốc độ xử lý video đồng thời là các video có thời lượng dài nhưng vẫn giữ được hiệu quả mục đích
của chương trình.
79
- Hình 2. Quá trình xử lý video và lưu trữ kết quả của chương trình
Trong đó T là khung hình cuối, t là thời gian của khung hình cuối cùng. Dữ liệu sau quá trình sẽ
được lưu trữ dưới dạng table trong Database và sẽ được truy xuất thông qua từ khóa, đối chiếu lên
caption để trả về thời điểm trong video xuất hiện đối tượng hoặc ngữ cảnh được đề ra.
3 KẾT QUẢ THỰC NGHIỆM
3.1 Mô tả dữ liệu và tiền xử lý
Mô tả dữ liệu:
Bộ dataset có 8000 ảnh, mỗi ảnh có 5 caption, trong đó: 6000 ảnh - train, 2000 – test.
Ở đây chúng tôi sử dụng mô hình có sẵn để huấn luyện cho bộ dữ liệu trên, cụ thể là model
Inception V3.
Có 2 file chính:
File dataset: Chứa tất cả các ảnh.
4 file text: Test image (id ảnh test), train image (id ảnh train), develop image, file token (40000
caption để tạo bộ từ điển).
Tiền xử lý dữ liệu:
Làm sạch dữ liệu: Chuyển chữ hoa thành chữ thường, loại bỏ các ký tự đặc biệt (‘%’, ‘$’, ‘#’, ...), loại
bỏ các từ có chứa chữ số (hey199, ...).
Tiền xử lý ảnh: Chỉnh sửa kích thước ảnh theo kích thước model InceptionV3 yêu cầu.
3.2 Thực nghiệm giải quyết bài toán
Hình 3. Demo mô tả video 1
Nhận xét: Có thể nhận biết người và hành động tương đối chính xác.
80
- 4 KẾT LUẬN VÀ Ư NG PHÁT TRIỂN
Trong bài báo này, chúng tôi đã giải quyết được vấn đề làm sao để máy tính có thể dự đoán, mô tả
cho một bức ảnh, từ đó thực hiện việc chuyển đổi dạng lưu trữ video về dạng text. Việc thực nghiệm
dựa trên những dữ liệu có sẵn, chưa chuyên sâu về một chủ đề nhưng đã giúp chúng tôi hiểu được
cách thức hoạt động. Với kết quả như trên, trong nghiên cứu tiếp theo, chúng tôi sẽ tiến hành ứng
dụng xử lý video để xây dựng hệ thống lưu trữ dữ liệu và trích xuất dữ liệu video trong một chủ đề
cụ thể dựa trên nền tảng việc dự đoán, mô tả hình ảnh nhưng với mô tả bằng tiếng việt.
TÀI LIỆU THAM KHẢO
[1] Karpathy and L. Fei-Fei. Deep visual-semantic alignments for generating image descriptions.
In CVPR, 2015
[2] D. Bahdanau, K. Cho, and Y. Bengio. Neural machine translation by jointly learning to align
and translate. In ICLR, 2015
[3] Sutskever, O. Vinyals, and Q. V. Le. Sequence to sequence learning with neural networks. In
NIPS, 2014
[4] J. Donahue, L. A. Hendricks, S. Guadarrama, M. Rohrbach, S. Venugopalan, K. Saenko, and T.
Darrell. Long-term recurrent convolutional networks for visual recognition and description. In
CVPR, 2015
[5] J. Mao, W. Xu, Y. Yang, J. Wang, and A. L. Yuille. Deep captioning with multimodal recurrent
neural networks (mrnn). In ICLR, 2015
[6] K. Greff, R. K. Srivastava, J. Koutník, B. R. Steunebrink, and J. Schmidhuber. LSTM: A search
space odyssey. CoRR, abs/1503.04069, 2015
[7] K. Cho, B. van Merrienboer, C¸ Gulcehre, D. Bahdanau, ¨F. Bougares, H. Schwenk, and Y.
Bengio. Learning phrase representations using RNN encoder-decoder for statistical machine
translation. In EMNLP, 2014.
[8] K. Xu, J. Ba, R. Kiros, K. Cho, A. C. Courville, R. Salakhutdinov, R. S. Zemel, and Y. Bengio.
Show, attend and tell: Neural image caption generation with visual attention. In ICML, 2015.
[9] O. Vinyals, A. Toshev, S. Bengio, and D. Erhan. Show and tell: A neural image caption
generator. In CVPR, 2015.
[10] S. Hochreiter and J. Schmidhuber. Long short-term memory. Neural Comput., 9(8):1735–1780,
1997.
[11] https://viblo.asia/p/gioi-thieu-ve-cac-pre-trained-models-trong-linh-vuc-computer-vision-
3Q75wB1GlWb (3/6/2020)
[12] https://vi.wikipedia.org/wiki/Hàm_hyperbolic_ngược (3/6/2020)
81
nguon tai.lieu . vn