2009년 8월 17일 월요일

구면(360*180) 파노라마 - PTGui에서 브라케팅 영상 처리하기

이 글은 얼마 전 올린 멋진 구면(360*180) 파노라마를 위하여 - 조명과 촬영에서 나중에 설명하겠다고 한 내용을 정리한 것입니다.

즉, 구면 파노라마를 촬영할 때에는 수동(M)으로 설정하고 촬영하되, 조명 문제를 고려하여 자동 노출 브라케팅(AE Bracketting)을 사용하여 과다노출/정상노출/부족노출 되도록 여러장의 사진을 촬영하는 것이 좋다고 말씀드렸는데, 이렇게 촬영한 결과를 처리하는 방법을 설명하는 글입니다.

먼저 제가 얼마전 관악산 호수공원에서 촬영한 처리 결과부터 보여드리겠습니다. 자동노출 브라케팅을 사용하여 촬영한 사진들을 PTGui를 사용하여 각각 합성한 결과입니다. 세 세트가 확연히 구분되실 겁니다. (부족노출으로 촬영된 사진도 하늘의 질감이 사라졌네요... 처음부터 노출측정을 잘못한 것 같습니다. ㅠㅠ)

사용자 삽입 이미지

어쨌든, 부족노출(가장 어두운) 사진은 그나마 하늘의 질감이나 전면에 있는 건물이 잘 보이고, 과다노출(가장 밝은) 사진은 어두운 나무그늘 밑이 잘 구분됨을 알 수 있습니다. 이처럼 밝은 부분과 어두운 부분이 섞여 있는 장면에서는 자동 노출 브라케팅을 촬영하여야 그나마 부분적으로나마 디테일이 기록됩니다.

문제는 이것을 하나로 합쳐서 모든 부분이 적절히 디테일이 기록되도록 합성하느냐는 것입니다. 일단 제가 사용하는 방법을 적어 보겠습니다. 물론 최적의 방법이라고는 할 수 없습니다. 저도 아직 배우는 중이니까요.

PTGui에서 스티칭을 할 때는 모든 세트를 한꺼번에 불러들입니다. (일부러 바닥부분은 빼고 불러들였습니다.) 그 다음 Align images...를 누르면 아래와 같은 창이 뜨는데 그림과 같이 설정합니다.

사용자 삽입 이미지

윗부분에 있는 세가지 옵션중 첫번째는 삼각대를 사용하여 오토브라케팅했을 때, 두번째는 삼각대 없이 오토브라케팅했을 때에 선택하라고 되어 있습니다.

아래쪽에 있는 HDR 방법은 "Exposure Fusion" 방법을 선택합니다. Exposure Fusion은 원래의 HDR 파일을 만들어주는 대신, 노출값을 판단하여 적정한 노출이 되는 부분을 판단하여 바로 합성된 영상을 만드는 방법입니다. 원래 HDR 사진은 32비트로 구성되는 사진이기 때문에 Tone Mapping이라는 중간과정을 거쳐야만 일반적인 사진이 되는데, Exposure Fusion은 중간 과정을 생략하고 밝은 곳과 어두운 곳을 적당히 취합한 사진을 만들어주는 방법입니다.

어쨌든... 이렇게 설정을 한 뒤 "OK" 버튼을 누르면 자기가 알아서 세트별로 동일한 위치가 되도록 정렬해 줍니다. Align이 완료된 후 오른쪽 위에 있는 "Advanced>>" 버튼을 누르고 "3. Create panorama..." 버튼을 누르면 아래와 같은 화면이 뜹니다.

사용자 삽입 이미지

특히 LDR 옵션에서 각각의 원본 영상을 변환한 것, 세트별로 합성한 파노라마, 세트 전체를 모아 Exposure fusion을 적용한 파노라마 등을 모두 저장합니다. (아래에 있는 옵션인 "Enblend plugin"은 구면 파노라마의 고스트현상을 없애는 방법이라는 글을 참고)

아래는 세트별로 합성한 파노라마와, 전체가 모두 합성된 사진까지 4개의 사진을 모두 보인 것입니다. 붉은 선으로 두른 것이 Exposure fusion이 적용된 결과입니다. 각각의 사진보다는 훨씬 부드럽다는 걸 아실 수 있을 겁니다.

사용자 삽입 이미지

그런데, 모든 사진을 합성한 결과를 확대해 보면 상태가 별로 안좋습니다. 특히 사람처럼 움직이는 물체가 있으면 자동 노출 브라케팅 처리 과정에서 약간씩 다른 위치에서 촬영되므로,  아래처럼 고스트 현상이 발생하게 됩니다. 나무들도 흔들렸는데, 바람때문인지 아니면 릴리즈를 사용하지 않아서 흔들렸는지 잘 모르겠네요.

사용자 삽입 이미지

어쨋든 이런 상태라면 전체를 합성한 사진은 쓸모가 없으니 각 세트별로 촬영된 사진을 합성하여야 합니다. 아래는 이렇게 처리된 파일의 레이어 정보를 본 것입니다. 맨 아래에는 모든 사진이 합성된 결과, 그 위에는 세트별로 합성된 결과, 그 위에는 각각의 원본이 보이실 겁니다.

사용자 삽입 이미지

이 상태에서 그냥 편집하기는 힘들고 각각의 EV 영상별로 편집을 해야 합니다. 예를 들어 그나마 상태가 제일 나은(마음엔 안듭니다만) EV-1.00 파노라마를 편집하려면, 아래와 같이 레이어를 설정해두고 현재 켜져있는(눈 그림이 있는) 레이어만을 대상으로 구면 파노라마의 고스트현상을 없애는 방법을 사용하여 편집을 합니다.

사용자 삽입 이미지

이렇게 처리한 부분중에서 일부는 다른 세트로 촬영된 영상으로 대체할 수 있습니다. 저는 현재 EV -1.00으로 합성한 영상을 사용하니까, 나무 그늘 밑만 EV 0 혹은 EV +1.00으로 덧씌우는 것이죠. 아래는 EV +1.00에서 사용하는 부분(마스크에서 흰색 부분)과 결과를 보인 것입니다. 이때 마스크가 좌우측 경계에 걸려 있을 때는 동일한 높이가 되도록 주의하셔야 합니다.

사용자 삽입 이미지

아래는 최종 처리를 완료하고 360cities.net에 올린 것입니다. FullScreen을 누르면 전체화면에서 감상하실 수 있습니다.


Lake park, Kwanak Mountain in Korea

민, 푸른하늘

댓글 7개:

  1. 안녕하세요? 박제성입니다.

    우선 설명중에 한가지 빠진것이 있네요..^^ 촬영 노출 모드를 반드시 수동(M)모드로 설정하고 브라켓 촬영해야한다는 점입니다. 물론 푸른하늘님은 그렇게 촬영하셨겠지만 일반 사용자들은 브라켓 촬영할경우에 자동모드로 촬영하는 경우가 많거든요. 자동모드로 설정한 후 파노라마를 브라켓 촬영하면 장면 마다 노출에 관련된 설정(조리개,셔터스피드,iso)들이 카메라에 의해 조절됨으로 각기다른 노출의 브라켓셋 사진들로 촬영됩니다. 물론 이럴 경우에 조리개마져도 상황에따라 틀리게 촬영될 수 있으므로 DOF값에도 변화가 생깁니다. 그리고 HDR 파노라마는 일반 사진과 틀려서 HDR 파노라마 이미지를 만들려면 3단계 브라켓 촬영으로는 부족합니다. 적어도 6단계 이상 브라켓 촬영해야 HDR 과 비슷한 이미지를 얻을 수 있습니다. 현재 니콘 D3는 한번에 9단계까지 브라켓 촬영할 수 있습니다. 그리고 당연히 브라켓 촬영하면 바람때문에 나뭇잎이 흔들려 고스트잎사귀들로 합성될 수 밖에 없습니다. 스마트 블렌드를 사용해도 브라켓 단계의 이미지를 합성하는거라 고스트현상은 리터칭 외에는 자동해결 방법이 없습니다. 그리고 LDR은 PTGui에서 그런 용어를 사용하는게 아니라 HDR의 대응 용어입니다. 하이다이나믹레인지(고대비)파일은 hdr포멧을 지원하는 편집프로그램에서만 열 수 있습니다. 반면에 로우다이나믹레인지(저대비) 일반 편집프로그램에서 열어서 수정할 수 있습니다. hdr편집 프로그램을 사용하여 원하는 노출사진으로 조절한 후 한장의 사진으로 아웃풋하여 만든 사진도 LDR 이미지 입니다. 다시말해 톤맵핑하여 출력한 이미지들은 엄격히 말하자면 모두 LDR이미지 입니다. PTGui Pro에서 브라켓 촬영된 이미지를 자동으로 link 시켜주는 것은 EXIF 데이터의 촬영시간 데이터를 읽어와서 link를 시키는 것입니다. 링크된 이미지들은 ptgui에서 한개의 이미지처럼 다뤄집니다. 마지막으로 HDR 파노라마는 PTGui Pro버전에서만 지원하는 기능입니다. PTGui 일반 버전 사용자들은 참고하시기 바랍니다..^^

    답글삭제
  2. @박제성 - 2009/08/03 02:09
    박이사님, 오늘도 장문의 댓글을 달아주셔서 감사합니다. 저는 당연히 매뉴얼로 설정을 하고 촬영하기 때문에 설명을 빠뜨린 것 같네요.



    저도 3단계 브라켓을 촬영해 보니 별로 좋은 것 같지 않아서 어제부터 5단계로 촬영하고 있습니다. 어쨌든 이부분은 좀 더 배워야 할 것 같습니다.



    LDR은... 그러니까 일반 사진(8*8*8비트)을 말하는 것으로 이해하면 되겠네요. 감사합니다. 오늘도 한수 배웠습니다~~ ㅎㅎ



    HDR 파노라마가 Pro버전에서만 지원한다는 것도 오늘 처음 알았네요. 감사합니다~~

    답글삭제
  3. @Mok Oh - 2009/08/04 08:35
    Thank you for visiting~~^^

    답글삭제
  4. 박사님..

    위에 댓글을 달아주신분은 박제성 교수님이십니다.

    제가 요즘 바쁜일이 있어서 늦었습니다.

    박제성 교수님께서 훌륭한 댓글 달아 주셔서 저도 많은 도움이 되었습니다.

    박교수님고 몇몇분들이 정기적으로는 아니지만 가끔만나서 쐬주도 하거든요..

    박사님도 나중에 만날기회가 있으실 겁니다.

    답글삭제
  5. @박성수 - 2009/08/06 10:19
    핫 그렇네요~ 당연히 박이사님 댓글이라고 생각했습니다~ ㅎㅎㅎ

    답글삭제
  6. @박제성 - 2009/08/03 02:09
    핫 박제성교수님이 댓글을 남겨주셨는데, 제가 실수했네요~ 감사합니다~~!

    답글삭제