Kỷ yếu công trình khoa học 2015 - Phần I
THIẾT KẾ, PHÂN TÍCH VÀ PHÁT TRIỂN MỘT THUẬT
TOÁN DI TRUYỀN TƢƠNG TÁC ĐỂ TẠO SINH ẢNH
DỰA THEO HƢỚNG DẪN ĐÁNH GIÁ CỦA CON NGƢỜI :
DỰ ÁN PERMUTOPAINTER
Đào Thị Duyên
Khoa Toán-Tin, Đại học Thăng Long
Email:
Tóm tắt: Dự án PermutoPainter dựa trên ý tưởng của bộ sưu tập
“Arrangement avec le hasard” (Sắp xếp ngẫu nhiên) được triển lãm tại Paris vào
tháng 11 năm 2014 của họa sĩ người pháp Bernard Gortais. Bộ sưu tập này giống như
việc nghiên cứu thứ tự sắp xếp của 6x4 ô vuông trong một bức tranh bằng cách xoay
quay chúng một góc 90o hoặc tráo đổi vị trí giữa các ô cho nhau. Mục đích chính của
dự án này là tạo ra những cấu trúc thú vị bằng cách kết hợp ngẫu nhiên 24 ô của bức
tranh. Vì với mỗi cách bố trí đường nét (lên, xuống, ngang, dọc), màu sắc và bố cục
khác nhau, nó sẽ đem lại cho người xem những cảm xúc khác nhau. Trong bài báo
này,chúng tôi sử dụng một số kỹ thuật nhằm trích rút đặc trưng của từng ảnh, sau đó sử
dụng thuật toán K-medoids để phân cụm ảnh. Cuối cùng là sử dụng thuật toán rừng
ngẫu nhiên kết hợp với sự tương tác của người dùng tạo ra các hình ảnh giống với ý
muốn của người dùng.
Từ khóa: Giải thuật di truyền, phân cụm, Rừng ngẫu nhiên, Xử lý ảnh, KMedoids.
1. Mở đầu
Hội họa là điều mà chúng ta không nghĩ rằng một chiếc máy tính có thể tạo ra.
Bởi nó trừu tượng, biểu cảm, gắn liền với các nền văn hóa, tâm lý học và chủ quan. Còn
máy tính thì khách quan, chính xác và chi phối bởi các nguyên tắc toán học. Tuy nhiên,
trong thực tế, hội họa và các lĩnh vực nghệ thuật thị giác khác sử dụng rất nhiều toán
học như hình học, luật phối cảnh, thuật toán, cái mà máy tính có thể hiểu được để tạo ra
những hình ảnh đa dạng, tinh tế giống như người họa sĩ. Một người tiên phong trong
lĩnh vực này là họa sĩ Harold Cohen. Ông đã xây dựng một chương trình sáng tạo nghệ
thuật sử dụng trí thông mình nhân tạo AARON năm 1973 [1].
biểu diễn các đặc trưng này thành một véctơ mô tả n-chiều. Các véctơ này được phân
nhóm vào k-cụm (cluster) bởi thuật toán K-medoids. Những ảnh là trung tâm của mỗi
cụm sẽ được hiển thị cho người dùng đánh giá độ thú vị (interest) và định tính của từng
ảnh (ví dụ: buồn, vui, tĩnh mịch hay sôi động…). Tiếp đến, chúng tôi sử dụng thuật
toán rừng ngẫu nhiên để huấn luyện. Thuật toán này thường phù hợp với các bộ dữ liệu
có số chiều rất lớn. Cuối cùng, chương trình sẽ tạo sinh ra những ảnh thuộc lớp thuộc
tính mà người dùng yêu cầu.
Phần còn lại của bài báo được tổ chức như sau: phần 2 mô tả các nghiên cứu, cơ
sở lý thuyết liên quan tới đề tài; phần 3 mô tả khái quát về các phương pháp nghiên cứu
được áp dụng trong đề tài. Sau đó là kết quả thực nghiệm được trình bày ở phần 4. Cuối
cùng là phần 5 kết luận và hướng phát triển
2. Các nghiên cứu liên quan
Trường Đại học Thăng Long
2
Kỷ yếu công trình khoa học 2015 - Phần I
Trong mục này chúng tôi phân tích các cơ sở lý thuyết liên quan tới bài báo.
Trước tiên là một ứng dụng tạo sinh ảnh dựa trên giải thuật di truyền của nhóm tác giả
người Đài Loan [6]. Tiếp đến, với mục đích giúp người đọc hiểu được cái thú vị trong
từng bức tranh, là phần mô tả ngắn gọn về nghệ thuật thị giác, các thành phần tạo nên
cảm xúc trong hội họa. Cuối cùng là một số kỹ thuật có thể sử dụng trong việc biểu
diễn ảnh.
2.1 Hệ thống EvoEco – một ví dụ về tạo sinh ảnh
EvoEco là hệ thống được xây dựng dựa trên nền tảng đa tác tử (multi-agent). Nó
gồm hai giai đoạn chính: sinh sản (tạo ra các đối tượng ảnh) và tiến hóa (lựa chọn và
làm tiến hóa các nhiễm sắc thể). Một ảnh được biểu diễn như một nhiễm sắc thể với
Điểm: là một hình dạng nhỏ nhất và cũng chính là một thành phần chính
trong hội họa. Nó thể hiện sự im lặng, hướng nội, đồng tâm và tĩnh.
Đường nét: với các hướng và hình dạng khác nhau, nó gợi lên những cảm
xúc khác nhau. Chẳng hạn, một đường thẳng nằm ngang thể hiện dòng thời
gian, màu đen, tĩnh lặng và lạnh. Nhưng đối với 1 đường thẳng đứng, nó gây
ra cảm giác về sự ngắt quãng, ý tưởng mới, cảm xúc tỉnh táo, nóng. Một
đường chéo chính là sự kết hợp cảm xúc của đường nằm ngang và thẳng
đứng. Một đường cong thể hiện tính trữ tình…
Mặt phẳng: Bốn phía của mặt phẳng có sự cộng hưởng đặc biệt. Hướng từ
trên xuống tạo cảm giác rơi xuống nhẹ nhàng. Hướng về bên phải có nghĩa là
sự khởi hành, hướng về bên trái tạo cảm giác trở về. Chúng ta có thể cảm
nhận được sự khác biệt này thông qua tác phẩm điêu khắc nổi tiếng của
Albrecht Dürer. Bản gốc ở phía bên trái. Xem từng ảnh bằng cách che
khuất ảnh còn lại và cảm nhận có hay không một sự khác biệt trong
nhận thức.
Hình 3 - Tác phẩm điêu khắc “ Cái chết, ma quỷ và hiệp sĩ „
Trường Đại học Thăng Long
4
Trường Đại học Thăng Long
5
Kỷ yếu công trình khoa học 2015 - Phần I
ảnh ban đầu nên các điểm ảnh hoàn toàn giống nhau, chúng chỉ khác nhau về vị trí.
Chính vì lý do này, việc sử dụng nét đặc trưng cục bộ và một số phương pháp nghiên
cứu phía trên là không hiệu quả. Chúng tôi thực hiện trích rút các đặc trưng của từng
đường nét như sau:
Đặc trưng cục bộ (xét trên từng ô nhỏ của ảnh): tính toán tọa độ giao điểm
của đường và 4 cạnh của ô, độ dài, độ rộng, hướng và bounding box của
đường.
Đặc trưng toàn cục (xét trên toàn bộ bức ảnh): tính toán số lượng đường, số
lượng đường xiên chéo lên, số lượng vòng tròn, số lượng đường nằm ở ½
phía dưới ảnh, số đường nằm ngang nằm ở nửa bên trái.
Sau khi biểu diễn ảnh dưới dạng véctơ đặc trưng, chúng tôi sử dụng thuật toán
K-medoids [10] nhằm chọn ra những ảnh đặc trưng nhất của mỗi cụm để hiển thi cho
người dùng nhằm giúp người dùng có cái nhìn tổng quan nhất về tập ảnh được sinh ra.
Từ đó người dùng sẽ có sự đánh giá khách quan, hiệu quả cho việc huấn luyện mô hình
học tự động bằng thuật toán rừng ngẫu nhiên.
3.1. Phân cụm bằng thuật toán K-Medoids
[12], rừng ngẫu nhiên học nhanh, chịu đựng nhiễu tốt, tránh được tình trạng học vẹt.
4. Kết quả thực nghiệm
Trong phần thực nghiệm, chúng tôi sử dụng ngôn ngữ lập trình c/c++ cùng với
thư viện mã nguồn mở OpenCV để xử lý ảnh và IDE QtCreator 5.3 để xây dựng giao
diện. Chương trình hoạt động tốt trên Linux và Mac OS X.
Ba giao diện chính của chương trình được minh họa trong hình 5:
Giao diện 1: Người dùng có thể thao tác trực tiếp trên ảnh gốc để quay hoặc
cháo đổi vị trí của các ô cho nhau.
Giao diện 2: Hệ thống tạo N ảnh và sử dụng thuật toán K-Medoids để phân
cụm và hiển thị trung tâm mỗi cụm cho người dùng. Người dùng đánh giá độ
thú vị của từng ảnh.
Giao diện 3: Những ảnh thú vị sẽ được người dùng gán cho một cảm xúc
tương ứng với sự cảm nhận của họ. Sau nhiều lần đánh giá, hệ thống sẽ xây
dựng một mô hình học và tạo ra những ảnh mới theo tiêu chí là một cảm xúc
mà người dùng yêu cầu. Kết quả hiển thị ở giao diện 2. Quá trình này được
lặp đi lặp lại cho đến khi người dùng muốn dừng.
Người dùng đánh giá một bố cục mà có các đường tập trung tạo thành một
đường chéo trong không gian là một bố cục “sôi động”. Người dùng mong muốn rằng
hệ thống sẽ đề suất ra một sự sắp xếp ngẫu nhiên thú vị. Xuất phát từ một đường nét
đơn giản, người dùng có thể chọn một sự sắp xếp sao cho có nhiều nhất hoặc ít nhất các
đường tập trung tại đường chéo của bức tranh. Người dùng sẽ gán cho bức tranh một
giá trị đánh giá độ thú vị và một cái nhãn tương ứng là “sôi động”. Chương trình sẽ lựa
chọn và tạo ra những ảnh phù hợp nhất với cách mà người dùng mong muốn. Hình 6,
hình 7, hình 8 là minh họa về sự đánh giá và kết quả thu được của người dùng.
Trường Đại học Thăng Long
7
6. Tài liệu tham khảo
[1].
Boden, M. A. (1998). Creativity and artificial intelligence. Artificial Intelligence,
103(1–2), 347–356.
[2].
Boden, M. A. (2009). Computer Models of Creativity. AI Magazine, 30(3), 23.
[3].
Breiman, L. (2001). Random Forests. Machine Learning, 45(1), 5–32.
[4].
[5].
[6].
Calonder, M., Lepetit, V., Strecha, C., & Fua, P. (2010). BRIEF: Binary Robust
Independent Elementary Features. In K. Daniilidis, P. Maragos, & N. Paragios
(Eds.), Computer Vision – ECCV 2010 (pp. 778–792).
Dawkins, R. (2006). Blind Watchmaker (Fifth edition). London: Penguin UK.
Feng, S.-Y., & Ting, C.-K. (2014). Painting Using Genetic Algorithm with
Aesthetic Evaluation of Visual Quality. In S.-M. Cheng & M.-Y. Day (Eds.),
Technologies and Applications of Artificial Intelligence (pp. 124–135).
Trường Đại học Thăng Long
9
INTERACTIVE TO GENERATE IMAGES GUIDED BY HUMAN
EVALUATION: THE PERMUTOPAINTER PROJECT
Abstract: The project PermutoPainter is based on the idea of the series
“Arrangement avec le hasard” (Random Arrangement) was exhibited in Paris in
November 2014 by the French painter Bernard Gortais. It looks like looking for an
order in the chaos of possible 6x4 square arrangements on a picture that can be rotated
on themselves 90o or swap positions between each cell. The main purpose of this
project is to create interesting structures by combining random 24 boxes of painting. As
the line position (up, down, horizontal, vertical), color and layout on a picture is
changed, it will give the viewer the different emotions. This topic is concerning with the
two popular domains like image processing and machine learning. In this project, I
used several techniques to extract features of each image, then using the K-Medoids
algorithms for clustering and finally using the random forest and Genetic algorithms
with interaction of users to create user expected pictures.
Keywords: Algorithm genetic, Clustering, Random Forest, Image Processing,
K-Medoids.
Trường Đại học Thăng Long
10