1. Mona Lisa (ⓒ Wikimedia)
Eiffel tower (ⓒRüdiger Wölk) lion
Girl with a pearl earring (ⓒ Wikimedia)
Soft Shadow Art
Sehee Min, Jaedong Lee, Jungdam Won, Jehee Lee
Seoul National University
3. Previous work
Niloy J. Mitra, Mark Pauly,
Shadow Art,
ACM Transactions on Graphics (SIGGRAPH ASIA 2009).
4. Previous work
Jungdam Won, Jehee Lee,
Shadow Theatre: Discovering Human Motion from a Sequence of Silhouettes,
ACM Transactions on Graphics (SIGGRAPH 2016).
37. Mona Lisa (ⓒ Wikimedia)
Eiffel tower (ⓒRüdiger Wölk) lion
Girl with a pearl earring (ⓒ Wikimedia)
Q & A
Editor's Notes
발표를 시작하도록 하겠습니다.
Thanks for the introduction.
다들 어두운 곳에서 조명을 켜놓고 어떤 형상을 만들어내는 그림자 예술에 대해 경험해보신 적이 있으실 것입니다.
You may have experienced shadow art / that creates a shape by shadow / in which you turn on the lights in the dark.
그림자 예술은 어두운 곳에서 조명 앞에 차폐물을 적절히 배치하였을때 예상하지 못한 결과가 그림자로 나온다는 점이 재미있게 느껴지는데요.
Shadow art is interesting / because result comes to unexpected shadow / when you place occluders properly in front of the lights.
이러한 인체 혹은 보조 도구를 활용한 그림자 예술을 컴퓨터 그래픽스를 이용해서 재현하려는 연구들이 많이 진행되어 왔습니다.
There have been many studies / to reproduce shadow art / using computer graphics.
이 논문은 2009년 시그랲 아시아에서 발표된 쉐도우 아트라는 논문입니다.
This work was presented in Siggraph Asia 2009.
이 논문에서는 그림자 예술에 착안하여 3D 조각을 차폐물로 사용하는 시스템을 제안하였습니다.
They use 3D sculptures as occluders and three point lights from orthogonal direction to generate shadows projected on the wall.
사용자가 원하는 이미지 셋을 넣었을때 그 중에서 서로 겹치는 테두리를 찾기 위해서 최적화를 사용하였습니다.
When user put the image set they want, algorithm use optimization to find overlapping borders among the target images.
두번째 논문은 2016년 씨그랲에서 발표된 쉐도우 띠어러 논문입니다.
The second paper is published in Siggraph 2016.
이 논문에서는 실제 그림자 연극이 손이나 몸 전체와 같이 인체를 사용하여 그림자를 생성한다는 것에 착안하여
입력으로 그림자가 주어졌을때 다수의 사람 모델이 어떻게 포즈를 취해야 하는지에 대하여 연구하였습니다.
They focused on the concept of shadow play that uses human body like whole body or hand.
In this paper, they have studied how multiple human characters(?) should pose when shadows are given as input.
이 논문에서는 리니어하지 않은 다양한 요소들을 실제 전문 배우들로부터 얻은 경험적 전략에 따라서 균형 있게 옵티마이즈하는 방법을 제안하였습니다.
They propose a method to optimize various non-linear elements in a balanced way according to empirical strategies obtained from actual professional actors.
두 가지의 논문 모두 적절한 최적화를 사용하여 입력으로 받은 이미지에 최대한 가까운 그림자를 만드는 차폐물의 형태를 구해내는 공통점을 가지고 있습니다.
Both papers have common in using appropriate optimizations to obtain the shape of a occluder that produces a shadow as close as possible to the given input image.
이때, 두 논문은 모두 뚜렷한 경계를 가지는 흑과 백 그림자를 생성하게 됩니다.
At this time, both papers produce black and white shadows with distinct boundaries.
그렇다면 만약 흑백의 투톤 그림자가 아닌 다양한 톤과 부드러운 경계를 가지는 그레이 스케일 그림자로 쉐도우 아트를 생성하고 싶다면 어떻게 해야할까요?
So what if you want to create grayscale shadows with different tones and smooth boundaries instead of black and white two-tone shadow?
저는 컴퓨터 그래픽스를 사용하여 그레이 스케일 그림자 예술을 재연하기 위하여 이 연구를 시작하였습니다.
I started this research to try to reproduce the shadow art as grayscale by computer graphics.
그렇다면 그레이 스케일 그림자 예술을 구현하기 위하여 다음과 같은 상황을 생각해볼 수 있을텐데요,
In order to generate the grayscale shadow art, we can think about using soft shadow.
일정한 영역을 가지는 광원이 존재하는 경우, 소프트 쉐도우를 생성할 수 있는데,
이때 그림자는 소프트 쉐도우로 차폐물에 의해 완전히 광원이 차단되어 생기는 umbra와 약간의 광선이 통과하여 부분적으로 그림자진 penumbra로 구분되는 영역으로 나눠 생기게 됩니다.
If there is a light source with a certain area, we can create soft shadows, where the shadows are divided into umbra and penumbra with soft shadows.
Umbra는 모든 광원이 차단되는 가장 어두운 부분이며, penumbra는 광원의 일부가 차폐물에 의해 차단되어 생기는 부분입니다.
Umbra is the darkest area where the light sources are all blocked,
And penumbra is the region / only a potion of the light source is obscured by the occluders.
각 그림자의 부분은 엄브라와 피넘브라의 조합으로 결국 여러가지 그레이스케일 톤을 가질 수 있게 됩니다.
The part of each shadow is a combination of an umbra and a penumbra, which eventually be able to have various grayscale tones.
그래서 우리 논문에서는 소프트 쉐도우를 통해 그레이스케일 그림자 예술을 만들 수 있도록 한다.
So, in our paper, we are going to use soft shadow to generate grayscale version of shadow art.
이제 우리 논문에서는 소프트 쉐도우를 사용하기 위하여 영역 광원과 적절한 차폐물을 정의해야 한다.
Now, we need to place the area light source and appropriate occluders to use soft shadows.
그리고 정의한 광원과 차폐물을 알맞게 배치해서 그레이스케일 그림자 예술을 재연한다.
And reproduce the grayscale shadow art by arranging the defined light sources and occluders appropriately.
우리 논문에서는 점광원 매트릭스를 사용하여 영역 광원을 단순화 시킨 버전을 사용했다.
In this paper, we use the matrix of point lights as light source / which simplified the area light.
아래에는 스크린을 두어서 여기에 원하는 그림자가 맺힐 수 있도록 했습니다.
We put the screen down / so that the desired output shadow is formed here.
이제 그림자를 만들기 위해서 광원과 스크린 사이에 어떤 차폐물이 어떤 형태로 놓여야 할지에 대해서 생각해보아야 하는데요.
Now we have to think about what kind of occluders should be placed / between the light source and the screen to create the shadow.
먼저 광원과 같은 경우에는 영역 광원을 사용해야 하는데,
영역 광원의 효과를 표현하는 방법 중 하나인 그 광원의 표면 상에 다수의 점 광원을 두는 방법이 있다.
First, in the case of a light source, a region light source must be used to generate soft shadow.
One of the method of effecting the region light source is to place multiple point light sources on the surface of the light source.
가장 단순하게 정사각형 물체를 차폐물로 생각해보면,
차폐물이 놓여있는 높이에 따라 중요한 특징이 나타나게 됩니다.
Let’s assume that a simple square object as a occluder.
We can find the important features / depending on the height of the occluder.
왼쪽 그림에서 보면, 차폐물의 높이가 낮을 경우에는 그림자를 좁은 범위에 한정지어 생성하며, 반대로 오른쪽 그림처럼 차폐물의 높이가 높은 경우에는 그림자는 넓은 범위에 생긴다는 사실을 확인할 수 있습니다.
When the occluder goes high as shown in the left figure, it affects a large area.
Conversely, when the height is low, it relatively affects a narrow part .
단지 그림자가 생기는 영역의 크기 차이 뿐 아니라,
In addition, just more than the cover range by height,
높이에 따라서 생기는 그림자의 종류에도 큰 차이가 생기는데,
There is also a big difference in the kinds of shadows by the height.
차폐물의 높이가 낮은 경우에는 좁은 영역에 피넘브라 없이 엄브라만을 가지는 그림자를 가지고,
높이가 높아질 수록 엄브라와 피넘브라가 넓은 영역에 공존하는 그림자를 가집니다.
When the height of the occluder is low, / only the umbra is formed in the narrow part / without forming the penumbra,
And then when the height rises, / the umbra and penumbra co-exist in wider range.
하지만 일정 높이 이상 높이가 높아졌을 경우에는 umbra가 전혀 생성되지 않고 넓은 영역의 penumbra만이 존재합니다.
However, when the height exceeds a certain height, no umbra is generated at all and only a penumbra with a large area exists.
그럼 차폐물의 높이가 낮을때에는 특정 부분에 집중적으로 명암을 조절할 수 있고
높이가 높을 때에는 넓은 영역에 전체적인 톤을 조절하는 역할로 사용할 수 있습니다.
So it means, when the height of the occluder is low,
the brightness can be controlled intensively in a specific area, and when the height is high, it can be used to control the overall tone in a wide area.
따라서 다양한 위치에 차폐물이 존재할 수록 다양한 그림자를 표현할 수 있고,
같은 높이에서도 넓은 범위에 차폐물이 존재하는 것이 그림자를 풍부하게 표현할 수 있습니다.
Therefore, the representation power of shadow can be influenced by various heights and can be enriched by a wide range of occluders.
앞에서 설명한 shadow basis의 특징을 사용해서 그림자의 표현 정도를 조절하기 위해서 차폐물은 다양한 높이에 배치되어야 하며,
스크린에 그림자를 표현할 수 있도록 같은 높이에서도 여러 개의 차폐물이 존재해야 합니다.
In order to control the degree of shadow using the features of the shadow basis described above,
the occluders must be placed at various heights and there should be multiple occluders at the same height.
so that the shadow can be represented on the screen.
그래서 우리는 논문의 환경을 최종적으로 그림과 같이 구성하였습니다.
So, I finally made up the environment of the paper as shown in the figure.
중간에 차폐물 역할을 할 정사각형의 셀들이 여러 높이에 위치하고 있으며, 같은 높이의 셀들을 그리드로 묶어 한 장의 레이어로 구성하였습니다.
We choose the square cells as occluders, and place them in various heights.
And we group the cells together in same height into a single layer.
이제 여기서 셀들이 열리거나 닫히거나 두 가지 중에 하나의 상태를 가지게 되고,
그에 따라서 빛을 막거나 통과시켜 생기는 Shadow basis를 알맞게 조합하여 스크린에 그레이 스케일 그림자가 표현될 수 있도록 합니다.
The cell is either opened or closed, so that grayscale shadow can be generated on the screen
by properly combining shadow bases resulting from blocking or passing light.
동영상을 통해 제가 연구한 소프트 쉐도우 아트의 결과를 짧게 보여드리도록 하겠습니다.
I will show you briefly the results of my research on soft shadow art.
s
이제 결과 그림자를 얻기 위해 어떤 셀의 조합을 가지고 있어야 하는지를 찾으면 문제를 해결할 수 있을 텐데요,
Now the problem can be make out as finding out what the combination of entire cell should have to get the resulting shadow,
세타를 셀들의 상태 벡터라고 했을때, 최대한 타겟 이미지를 비슷한 결과 그림자를 만드는 세타를 찾는 것이 우리가 설계할 알고리즘의 목적이 될 것입니다.
When theta is a state vector of cells,
finding the theta that produces a similar result shadow to the target image as much as possible will be the goal of the algorithm we design.
따라서 목적 함수는 결과 그림자와 타겟 이미지의 차이를 최소화하는 다음과 같은 식으로 정의됩니다.
Therefore, the objective function is defined as follows to minimize the difference between the result shadow I_theta and the target image I_target.
이제 이 목적 함수를 최소화하는 방법을 생각해보아야 합니다.
Now we need to think how to minimize this objective function.
가장 쉬운 방법으로는 가능한 모든 셀의 조합에 대해서 각각의 그림자를 생성하고, 그 중 가장 타겟 그림자와 유사한 것을 최종 결과로 삼는 것입니다.
The easiest way is to create every shadow for each possible combination of cells,
Then choose most similar to the target shadow.
하지만 이 경우 문제는 2^n 차원의 매우 큰 문제가 됩니다.
But in this case the problem is two to the n dimensional combinatorial.
However, this is not practical because dimension of our problem is higher than 30000.
그래서 현실적인 시간 안에 솔루션을 찾을 수 있도록 스토캐스틱 옵티마이제이션을 사용하였다.
So I used Stochastic Optimization using probability to find solutions in a reasonable amount of time.
가능한 경우에 대한 모든 연산을 수행하는 것은 매우 비효율적이기 때문에 확률에 의해 선택된 경우에 대해서만 수행함.
Performing operations on all possible cases is inefficient, so we introduce the probability and only perform on the case selected by probability.
기본적인 아이디어는 타겟 이미지와 가까운 그림자를 만들 수 있는 상황에 높은 확률을 부여하여 많이 선택될 수 있도록 하는 것이다.
The basic idea is to give a high probability to a situation that can create shadows close to the target image, so that it can be selected a lot.
#################################################
예를 들어, 그림과 같이 이집트 풍경이 타겟 이미지로 주어졌을때, 세타와 세타 프라임의 조합으로 만들어진 결과 그림자가 있을 경우,
For example, for a target image that represents Egyptian landscapes, there is a result shadow created by a combination of theta and theta prime.
세타 프라임의 조합으로 만들어진 결과 그림자가 타겟 이미지와 더 유사하기 때문에 세타 프라임을 만드는 상황에 높은 확률을 부여한다는 것.
Since the result shadow created by a combination of theta prime is closer to the target image, we make high probability to the situation of making theta prime.
우리 알고리즘의 과정은 이 그림과 같은데,
The process of our algorithm is like this figure.
먼저 세타에 구성되어 있는 모든 셀 i에 대하여 하나씩 상태를 뒤집어본다.
First, we toggle the state for all cells i in theta.
셀 하나를 뒤집어보는 방법을 사용한 이유는 조합 자체에 확률을 부여하게 되면 결국 모든 조합에 대한 그림자 생성을 필요로 하기 때문이다.
The reason for using one cell invert is because if you assign a probability to the combination itself, you will eventually need to create a shadow for all combinations.
셀 하나를 뒤집어보는 방법을 사용함으로써 우리는 문제의 디멘젼을 많이 줄일 수 있다.
By using the method of inverting one cell, we can reduce the problem dimension a lot.
이제 셀 하나를 뒤집었을때 생기는 결과 그림자와 타겟 이미지의 차이를 계산한 델타 E_i 식을 생성한다.
Now, create a delta E_i that computes the difference between the result shadow and the target image when you flip one cell i.
즉, 델타 E_i는 셀 i의 상태가 토글되었을 때 생기는 그림자가 얼마나 타겟 이미지와 가까운지를 설명할 수 있게 된다.
That is, the delta E_i indicates how close the shadow generated when the state of the cell i is toggled is to the target image.
이제 확률을 도입하여 델타 E의 값이 작을 수록 높은 확률을 부여한다.
Then, by introducing probability, the smaller the value of delta E, the higher the probability.
확률에 의해 셀 하나를 뽑고 그 셀의 상태를 반전한다.
By probability, one cell is selected to be toggled by probability.
다시 셀을 뒤집어보면서 델타 값을 생성하고, 확률 분포를 만들어서 선택하는 과정을 최종 결과 이미지가 최대한 타겟 이미지에 다가갈때까지 반복한다.
델타 E_i를 계산하기 위해서, 셀 i를 toggle할 때 어떻게 결과 그림자의 그레이스케일 톤이 구성될지 계산하는 과정이 필요하다.
하지만 단순히 광원으로부터 스크린까지 도달하는 광선의 개수를 세는 방식은 다음과 같은 상황을 고려하지 못한다.
예를 들어, 왼쪽 그림과 오른쪽 그림 모두 빨간 셀이 막혀있는 상태이기 때문에 광선 l은 스크린의 p 지점에 영향을 끼치지 못합니다.
For example, because the red cell is blocked in both left and right figures, the ray l does not affect the p point on the screen.
하지만 빨간 셀의 상태가 반전되어 열리게 되면, 왼쪽은 그대로 광선이 닿지 못하지만 오른쪽 상황에서는 P에 광선이 도달할 수 있게 되죠.
However, if the red cell state is reversed to be opened, the ray cannot reach in the left side, but the ray can reach P in the right side.
따라서 오른쪽 상황이 더 컨트리뷰션이 높을 가능성이 있다는 것을 고려하여 계산을 하도록 합니다.
Therefore, the calculation is made considering that the right situation is likely to have a higher contribution.
식으로 정리하면 이렇게 됩니다.
Formulation can be like this.
일단 광선 l이 스크린의 점 p에 미치는 컨트리뷰션을 전체 레이어의 개수 중에서 열려있는 레이어의 개수만큼으로 정의하고,
스크린 p의 밝기의 기대값은 p에 닿는 모든 광선의 컨트리뷰션을 더하고 그 것을 점광원 배열의 수만큼으로 나누어진 것으로 계산할 수 있습니다.
First, the contribution of the ray l to the point p of the screen is defined by the number of open layers in the total number of layers
and then the expected value of the brightness of the screen p is the sum of contributions of all rays that reach p dividing by the number of point light sources.
이제 확률에 의해 선택된 셀들의 상태를 반전시키면서 알고리즘을 진행해나가는건 좋은데 속도를 더 빨리 수렴시킬 수 없을까 싶어서 다음과 같은 방법도 추가를 했습니다.
Now I think it is good to go through the algorithm while reversing the states of the cells selected by the probability.
To converge the solution faster, I also added the following method.
알고리즘의 초반에는 타겟 이미지와 거리가 먼 결과가 생기니까 일단 최대한 빠르게 옵티멀 솔루션으로 다가가기 위해서 셀의 개수를 많이 뒤집을 수 있게 합니다.
In the early stages of the algorithm, reverse the number of cells to reach the optimal solution as quickly as possible because result shadow is far from target image.
또 로컬 옵티마에 빠져버리는걸 막기 위해서 초반에는 전체 셀의 확률을 다 비슷하게 만들어서 일단 크게 크게 옵티멀로 수렴하도록 하구요.
Also, to prevent to fall into the local optima, the probability of all the cells is similar in the beginning.
이제 알고리즘이 후반에 접어들면 이제부터 확률의 영향을 높여서 좋은 녀석들만 집중적으로 선택되도록 해서 개선을 해주도록 합니다.
Now, when the algorithm is in the last half, now focus the only good ones by increasing the affect of probability for detail improvement.
이 알고리즘을 설명하는 두 개의 식입니다.
These two equations are explaining this algorithm.
첫번째 식은 전체 셀 중에서 i번째 셀을 뒤집었을때 얼마나 이득인지를 구하는 식입니다.
First equation means that how much merit is obtained when flipping i cell among entire cells.
만약 뒤집혔을때 최선의 선택이었다면 값이 0이 되고, 아닐수록 큰 양수 값을 가지게 됩니다.
If flipped cell was best choice, the value become 0 or it would have a larger positive value.
이제 다음과 같이 각 셀이 선택될 확률을 정의할 수 있는데요.
Now we can define the selection probability of each cell like second equation,
식을 읽어보면 로 라는 템퍼러쳐 파라미터가 높을 경우에는 각 셀이 뽑힐 확률이 일정하게 되겠고
When the temperature parameter, row, is high, the selection probability of each cell will be constant,
파라미터 값이 낮아지면 각 셀이 뽑힐 확률이 다양하게 분포하게 됩니다.
And the probability can be diverse when the temperature parameter is low.
설계한 알고리즘을 돌려보면 또 하나의 문제가 생깁니다.
One more problem is arises.
알고리즘이 전체적인 톤에 대해서는 맞춰주지만, 인물 사진의 이목구비와 같은 뚜렷한 경계가 있는 작은 부분에 대해서는 집중적으로 개선해주지 못한다는 점입니다.
Algorithm fit for the overall tone, but it does not improve intensively for small areas with distinct boundaries, such as the apprerence of a portrait.
예를 들어, 아기 사진을 타겟 이미지로 하여 알고리즘을 수행하면 전체적인 톤은 맞지만, 어느 정도 수행 후에도 얼굴의 자세한 부분만을 개선해주지 못합니다.
For example, when the picture of boy is given as target image, the overall tone is correct, but after some steps, it is still not able to improve only the details of the face.
이 문제를 해결하기 위하여 최종적으로 저는 iterative stochastic algorithm을 설계하였습니다.
To solve this problem, I designed iterative stochastic algorithm.
알고리즘은 탑다운과 바텀업 두가지 단계를 이터레이티브하게 반복하면서 타겟 이미지에 다가가게 됩니다.
The algorithm iteratively repeat the top-down and bottom-up phases to reach the target image.
먼저 탑다운 페이즈는 이전에 설명한 알고리즘으로
아웃풋 그림자와 타겟 이미지를 비교해나가면서
가장 오브젝티브 펑션을 최소화하는 방향으로
확률적으로 셀의 상태를 반전시키는 과정을 반복하여 타겟 이미지에 닮아가도록 합니다.
First, the top-down phase compares the output shadow with the target image using the previously described algorithm,
and repeats the process of inverting the state of the cell stochastically in the direction of minimizing the objective function.
그리고 세부적인 디테일을 살펴보기 위하여
바텀업에서는 반대로 타겟과 가장 차이가 큰 patch를 찾고,
그 부분에 영향을 주는 셀들에 대하여 살펴볼 수 있도록 합니다.
To see the details, Bottom-up phase chooses patch that is the most different to the target, and check the cells that affect that patch.
아까의 아기 이미지에 알고리즘을 적용해보면요,
설계한 알고리즘이 눈코입을 잘 잡아줄 수 있다는 것을 볼 수 있습니다!
If you apply the algorithm to the previous baby image, you can see that the designed algorithm can catch the details!
이제 설명드린 알고리즘을 수행한 여러가지 결과들을 보여드리려고 합니다.
Now I will show you some results of designed algorithm.
저희가 제안한 영역 광원과 다중 레이어 환경을
영역 광원이지만 단일 레이어인 것과
다중 레이어지만 점 광원을 사용한 것과 비교해본 결과입니다.
This is the result of comparing the area light source and the multi-layer environment that we proposed
with the area light source but using a single layer and a multi layer but using a point light source.
영역 광원과 다중 레이어를 사용한 것이 더 부드럽고 자연스러운 결과 그림자를 생성한다는 것을 확인할 수 있습니다.
You can see that using area light and multiple layers produces smoother, more natural result shadows.
알고리즘에 영향을 주는 요소들을 조절해보며 결과를 만들어본 결과인데요,
셀의 개수가 많아지면 조밀한 셀들에 대해서 톤을 부여할 수 있기 때문에 훨씬 자연스러운 느낌을 줄 수 있습니다.
This is the result of adjustment of features that affect the algorithm.
The more cells you have, the more tones you can give to dense cells, giving you a more natural feel.
또한 라이트의 개수가 늘어날수록 광선의 수가 늘어나고,
표현할 수 있는 톤의 개수가 늘어나기 때문에 타겟 이미지와 더 유사한 결과 그림자를 만들 수 있습니다.
Also, as the number of lights increases, the number of rays increases and the number of tones that can be represented increases,
So creating a result shadow that is more similar to the target image.
그리고 레이어의 간격도 조절해보았는데요,
레이어의 간격에 따라서 결과 그림자의 느낌이 다른 것을 보실 수 있는데요,
레이어가 촘촘히 아래쪽에 모여있는 경우, penumbra가 비교적 적고 umbra 위주로 구성되기 때문에
그림자가 명암이 분명하고 날카로운 느낌을 줍니다.
반대로 레이어가 위부터 아래까지 넓게 분배되어 있는 경우에는 비교했을 때 더 부드러운 느낌을 줍니다.
And I've adjusted the interval of layers,
You can see the effect of the shadow of the result depending on the interval of the layer.
When the layer is densely gathered at the bottom, the shadow is sharp because the penumbra is relatively small from kimiki.
Conversely, if the layers are widely distributed from top to bottom, they give a softer feel when compared with gimozzi.
이 결과는 레이어를 세 장 사용했을때, 레이어가 누적되면서 결과 그림자가 어떻게 생성되는지를 보여줍니다.
먼저 제일 상단의 레이어 한 장의 경우,
This result shows how the result shadow is generated as the layers accumulate when you use three layers.
First, for the top layer,
아래에 한장을 추가하여 레이어가 두장인 경우,
If you add one layer below,
총 세장인 경우 이렇게 penumbra로 뿌옇던 그림자에 umbra가 추가되면서
선명해지는 결과를 얻을 수 있습니다.
Finally when three layers are placed,
the umbra is added to the shadows, the result becomes sharpen.
실제로 그레이스케일 그림자 예술을 램프 형태로 구현할 수 있는지를 확인해보기 위해서 3d 프린팅을 해보았습니다.
먼저 램프는 레고로 쌓아올린 형태로 레이어를 바꿔 끼기 쉽도록 했고요,
광원으로는 도트 매트릭스를 사용하였습니다.
I tried 3d printing to see if I could implement grayscale shadow art in the form of a lamp.
First, the lamp was stacked with Lego, which made it easier to change layers,
A dot matrix was used as the light source.
처음에는 OHP 필름을 레이어로 썼는데요,
At first we use OHP films as layer,
바꿔끼기는 편한데
It was easy to replace the layers,
필름이라 검은색 인쇄를 해도 빛을 제대로 차단해주지 못한다는 단점이 있었습니다.
However, because it is a film, it does not block light properly even if it prints black.
그래서 3D 프린터를 통해서 실제로 레이어를 뽑아보기도 했습니다.
So I actually printed the layer through the 3D printer.
그림자 예술을 저희 알고리즘을 통해서 실물로 설치할 수 있는 것이 좋은 어플리케이션이 될 수 있을텐데요,
It would be nice to be able to actually install shadow art through our algorithms,
시뮬레이션 과정에서 여러 가지 가정을 했었는데요,
각 빛에서 유한한 갯수의 광선을 발생시킨다고 가정하였으며,
그 광선들이 픽셀의 정중앙으로 지나간다고 고정하였기 때문에 3D 프린팅을 사용한 실물 버전에서는 시뮬레이션과 차이가 있습니다.
I made several assumptions in the simulation process,
I assumed that a finite number of rays are generated from each light,
And the rays are fixed in the center of the pixel,
So it is little bit different from the simulation in the real version using 3D printing.
또한 실물로 만들면서 눈코입처럼 작은 부분에 엄브라가 필요한 경우엔 램프가 스크린에 너무 가깝게 설치되어야 한다는 문제도 있었고요.
Also, if you need a small part of your eye, nose and mouth, you need to install the lamp too close to the screen.
램프의 벽면에 빛이 반사되기도 하고 시뮬레이션에서 고려하지 못한 조건들 때문에 시뮬레이션만큼의 선명한 그림자를 얻기가 쉽지 않았습니다.
Sometimes light reflected on the wall of the lamp, and conditions that were not considered in the simulation, made it difficult to get as sharp a shadow as the simulation.
현재는 높이가 임의로 고정되어 있는 레이어를 사용하였습니다.
Currently, we use a layer that is arbitrarily fixed in height.
추후 연구로는 주어진 타겟 이미지에 대하여 연속되어 있으며 알맞은 높이를 만드는 차폐물의 모델을 만들어,
더 자연스럽게 그림자 예술의 형태를 띨 수 있도록 하려고 합니다.
Future work will create a model of occluders that is continuous and provides a reasonable height for a given target image,
to be able to take a more natural form of shadow art.
또한 RGB 라이트를 사용하여 그림자가 그레이스케일이 아니라 컬러를 가지도록 할 수도 있을 것 같습니다.
And It seems to be possible to use RGB lights to make the shadow have color instead of grayscale.
I will finish the presentation with this. Thank you!