Untitled

mail@pastecode.io avatar
unknown
plain_text
19 days ago
8.8 kB
6
Indexable
Never
Xin chào anh chị và các bạn. Em là ... đại diện cho nhóm thuyết trình về đề tài T01 sử dụng thuật toán Inpainting 
để xóa vật thể không mong muốn trong ảnh 
Đề tài nhóm em với 5 thành viên là ... do anh Nguyễn Minh Phú hướng dẫn 


Trên đây là bảng phân công công việc của nhóm bao gồm 3 phần: 
Phần 1: Tìm hiểu và triển khai chuyển đổi thao tác người dùng thành miền điểm ảnh để làm đầu vào cho thuật toán 
Phần 2: Tìm hiểu và triển khai thuật toán Inpainting trên thiết bị di động 
Phần 3: Tìm hiểu và triển khai đánh giá chất lượng ảnh sau khi thực hiện thuật toán 

Bài thuyêt trình của nhóm em bao gồm 6 phần: giới thiệu, các kiến thức liên quan, thiết kế hệ thống 
triển khai thuật toán, đánh giá và tổng kết 

Hiện nay hình ảnh là một thông tin phổ biến do đó nhu cầu xử lý nội dung hình ảnh video là cần thiết ví dụ như
Trong những bức ảnh gốc thường chứa nhiều chi tiết không mong muốn làm giảm thẩm mỹ của bức ảnh, xóa vật thể 
ra khỏi bức ảnh trở thành vấn đề nghiên cứu rộng rãi trong các nghiên cứu về thị giác máy tính. 
Chính vì vậy nhóm đã chọn đề tài Image Inpainting để làm đề tài nghiên cứu trong quá trình thực tập tại công ty. 
Image Inpainting tham gia vào nhiều ứng dụng phổ biến, điểu hình như xóa vật thể hoặc khôi phục ảnh, nhóm sẽ nghiên 
cứu về xóa vật thể không mong muốn trong bức ảnh 

Quan tìm hiểu, hiện nây phương pháp inpainting có thể chia thành 2 loại là các phương pháp truyền thống bao gồm Patch-based và diffusion-base 
và các phương pháp dựa trên học sâu có thể dựa trên CNN và GAN.

Cụ thể hơn, Phương pháp truyền thống patch based thường sẽ tìm kiếm các vùng hợp lý ở phần không bị hư hại của ảnh, sau đó sẽ sao chép và dán vào phần bị thiếu 
Phương pháp diffusion based sẽ lan truyền dần và dẫn nội dung của bức ảnh từ ngoài vào bên trong vùng bị thiếu 

Phương pháp dựa trên mạng CNN thường sử dụng các lớp tích chập để mã hóa bức ảnh gốc, sau đó sử dụng các khối giải mã để đưa về bức ảnh nghiên trạng. 
Đối với phương pháp GAN thường các mạng sẽ được học trước hai mô đun đối sinh là Generator và Disciminator. Generator
thì cố gắng tạo ra các bức ảnh giả giống thật nhất có thể, Discrimimator thì cố gắng phân biệt chúng. Sau khi học xong, phần mô đun Generator được sử dụng như một công cụ inpaint ảnh 

Qua khảo sát một số thuật toán, các thuật toán dựa trên học sâu đang chiếm ưu thế về độ chính xác cũng như thời gian suy diễn, tuy nhiên tài nguyên yêu cầu  cũng như khả năng triển khai của nó cần được xem xét
Với GAN inversion and autoencoder, theo các kết quả của bài báo, thời gian suy diễn chỉ mất 0.081s trên NVIDIA TITAN GPU, với độ chính xác trung bình khoảng 24,97 PSNR
Đối với thuật toán kd-trees với thời gian chạy xấp xỉ 15.2s chạy trên CPU 
trog khi đó thuật toán Patchmatch nhóm đã nhận thấy phù hợp triển khai trong đề tài thực tập với thiết bị phù hợp, thời gian suy diễn và chỉ số chính xác ở trong mức chấp nhận được 

Để triển khai đề tài trong thiết bị di động nhóm đã nghiên cứu tìm hiểu về PatchMatch Inpainting, đánh giá chất lượng ảnh và hệ thống để triển khai thuật toán 

Phần đầu tiên về thuật toán PatchMatch Inpainting nó bao gồm 2 phần phương pháp tổng hợp tương đồng hai chiều, đảm bảo bức ảnh sinh ra trở nên hài hòa hơn 
và quá tình mở rộng quy mô dần dần tránh việc bị  mắc kẹt ở cực trị địa phương 


downscale 
Store all different level of resolution of the source image in the array of images. We call it “Pyramid”.

NNF
A patch is a small region in the image.
This phrase using a randomized algorithm for quickly finding approximate nearest neighbor matches between image patches. This algorithm called “PatchMatch”

Nearest neighbor field of a patch in the source image is a patch in the target image that look most “similar“ to it.
To formulate this “similarity”, we use Sum of Squared Differences (SSD):
𝑆𝑆𝐷=∑_(𝑖=1)^𝑚▒(𝑡_𝑖−𝑠_𝑖 )^2 
Where:
𝑚 is number of pixel in a patch
𝑡_𝑖 is the pixel value i-th in the target patch
𝑠_𝑖 is the pixel value i-th in the source patch

Initialization: Each patch on the source image can be randomly asigned to each patch on the destination image 

PathMatch will iterate through each patch, each iteration will do two operations:
Propagation: improve NNF of current patch by using neighbourhoods
Random search: improve NNF or current patch by testing a sequence of  random candidates

For mapping source to target and target to source, try to find mapping that minimize 𝑑_𝐵𝐷𝑆 (𝑆,𝑇):
𝒅_𝑩𝑫𝑺 (𝑺,𝑻)=⏞(𝟏/𝑵_𝑺  ∑_(𝒔⊂𝑺)▒(𝒎𝒊𝒏)┬(𝒕⊂𝑻)⁡𝑫(𝒔,𝒕) )┴(𝒅_𝒄𝒐𝒎𝒑𝒍𝒆𝒕𝒆 (𝑺,𝑻) )+⏞(𝟏/𝑵_𝑻  ∑_(𝒕⊂𝑻)▒(𝒎𝒊𝒏)┬(𝒔⊂𝑺)⁡𝑫(𝒕,𝒔) )┴(𝒅_𝒄𝒐𝒉𝒆𝒓𝒆 (𝑺,𝑻) )							

upscale 
Upscaling target (double size) for next pyramid level. When reaching the original size, terminating process

Chất lượng hình ảnh có thể được đánh giá bằng các phương pháp khách quan hoặc chủ quan
+ Đánh giá chất lượng hình ảnh chủ quan là phương pháp dựa trên cách con người trải nghiệm hoặc cảm nhận chất lượng hình ảnh.
+ Đánh giá chất lượng hình ảnh khách quan, việc đánh giá chất lượng hình ảnh được thực hiện bằng các thuật toán khác nhau để đánh giá.
So sánh: 
+ Đánh giá chủ quan: có thể nhận thấy sự tương phản rõ rệt về chất lượng của cùng một hình ảnh và các phiên bản của nó tuy nhiên tốn thời gian tiền bạc và cần điều kiện setup kĩ càng cho đánh giá.
+ Đánh giá khác quan: nhanh, có kết quả được ngay, tuy nhiên không thật như đánh giá bằng mắt người.


PSNR
Peak Signal-to-Noise Ratio (PSNR) is one of the common evaluation metrics to evaluate the quality of the image created after inpainting.  
The higher PSNR, the better the image quality produced. 

Để triển khai thuật toán chúng em đã lựa chọn tầng Application để triển khai 

Người dùng sẽ thêm ảnh vào hệ thống 
Sau đó sẽ sẽ vẽ trên ảnh và hệ thống xử lý đưa ra một bitmap gửi đến tầng native ở tầng này nó sẽ xử lý để đưa ra ảnh đã sửa và gửi lại bitmap về java 
Từ đó hệ thống sẽ hiển thị ảnh lên cho người dùng 

Sau đây nhóm sẽ đemo sản phẩm  

Để đánh giá chất lượng ảnh nhóm em đã sử dụng phần mềm với 100 ảnh gồm 50 ảnh dễ và 50 ảnh khó 
Ảnh dễ là ảnh có ít chi tiết và ảnh khó sẽ có nhiều chi tiết hơn 
Và nhóm đã sử dụng điện thoại Samsung S22 Ultra để test với đầu vào là một map bằng ¼ chiều dài và chiều rộng và nằm ở giữa bức ảnh 
Quy trình test gồm 3 bước: Xử lý ảnh  thu thập lấy PSNR và thời gian xử lý đánh giá chất lượng ảnh 

Trên đây là bảng đánh giá thời gian trung bình của 50 ảnh dễ và 50 ảnh khó 
Ta thấy với dữ liệu ảnh dễ với thời gian xử lý trung bình thấp hơn và PSNR cao hơn 
Với ảnh khó thời gian trung bình lâu hơn và PSNR thấp hơn 
Trong các ảnh khó xấp xỉ với PSNR đưa ra trong bài báo 

Với kết luận của đề tài như sau: Nhóm đã triển khai thành công thuật toán và có thể chạy trên ứng dụng điện thoại di động 
Song kết quả xử lý vẫn chưa tối ưu 
Trong tương lai sẽ nghiên cứu và phát triể nhiều chức năng hơn như là thu nhỏ ảnh hoặc là di chuyển vật thể sang vị trí khác trong bức ảnh 



Leave a Comment