View on GitHub

Low Poly Style Image/Video Transformer

by Weichen Ke and Zhengjia Huang

Checkpoint Report

Summary

Goals and Deliverables

In general, we are still on the track to our planned goals and things. But we want to change our goal from 30fps to 10fps. The reason is we realize that loading the image, transferring data between CPU and GPU, and storing the output image will take 40~60ms. We expect to reduce these time consumption, but achieving an overall 30fps (33ms per image) would be too hard now.

Expected Goals (Plan to achieve):

Minimum Goals:

Ideal Goals (Hope to achieve):

Deliverables:

Preliminary Results

  Edge Detection Select Vertices Generate Voronoi Triangulation Rendering Other Total
CPU -O0 60 50 6710 1430 180 60 8490
CPU -O3 70 80 1300 440 60 40 1990
GPU -O3 NI NI 30 10 NI   430

As shown in the above form, we tested our algorithm with a 1920x1080 image and 1000 random vertices. NI here means “Not Implemented”. We are able to achieve about 4x overall speedup for now, compared to -O3 compiled CPU code. We have not fine tuned the GPU version performance yet, but we suppose it is due to memory transferring from CPU to GPU. We believe a lot of memory transferring can be saved after we implemented the GPU version of edge detection and triangle rendering, which will improve the performance of our program. Also we are using std::clock() for clocking now. We may switch to a higher precision timer, like the CycleTimer used in HW2, to get more accurate profiling data.

Concerns

Revised Schedule

Time Work Status Owner
10.29 - 11.4 Write the proposal, research for existing work Done! Both
11.5 - 11.11 Complete sequential version of Sobel Edge Detector and Jump Flooding Done! Both
11.12 - 11.18 Complete CUDA version of Delaunay Triangulation, prepare for Checkpoint Done! Both
11.19 - 11.25 Complete CUDA version of Sobel Edge Detector and Triangle Rendering   Zhengjia
11.26 - 12.2 Performance tuning and analysis Working Weichen
12.3 - 12.6 Solve the current problem on the image boundaries   Weichen
12.7 - 12.9 Complete image input and output interface, get ready for demo   Zhengjia
12.9 - 12.15 Final Report   Both