사진에서 햇빛을 감지하는 방법


11

사진을 촬영할 때 태양이 비추 었는지 여부를 주어진 사진에 대해 알고리즘 적으로 어떻게 감지 하시겠습니까?

산 정상 에서이 웹캠 의 샘플 :

햇빛 예

분명히 태양이 빛나고 있습니다.

이 다른 샘플에서는 훨씬 덜 명확합니다.

흐린 예

중앙의 예배당에서 작은 교회 첨탑을 식별하려고하면 안개가 있는지 여부를 쉽게 알 수 있습니다. 그러나 이미지 처리에 대해 거의 알지 못하면 햇빛이 있는지 여부를 확실하게 알 수있는 (조합) 알고리즘이 있는지 놀랐습니다.


1
CS.SE에 잘 맞는 것 같습니다. 햇빛에 따라 사진을 정렬하는 imagemagick 스크립트에 대해 묻는다면 적합하지 않습니다.
frafl

1
당신은 태양이 당시에 빛을 발하고 있었는지 아닌지, 또는 태양이 어디를 향하고 있는지를 감지하는 것을 의미합니까?
Paresh

@Paresh, 사진을 찍을 때 태양이 비추 었는지 여부 (웹 캠 생각)
Marcel Stör

1
신경망 어리 석음 에 관한이 사랑스러운 일화가 있습니다 : 국방부는 신경망이있는 사진에서 적의 탱크를 탐지하려고했습니다. 그러나 결국 그들은 수백만 달러의 메인 프레임 컴퓨터를 가지고 있었는데 흐린 날에 찍은 사진과 화창한 날에 찍은 사진을 구별 할 수있었습니다. :-)
uli

보정 된 카메라를 가정 할 수 있습니까? 즉, 색상을 신뢰할 수 있습니까?
Raphael

답변:


9

메타 데이터에 액세스 할 수있는 경우 여러 가지 휴리스틱을 적용 할 수 있습니다.

  1. 카메라가 사진으로 선택한 화이트 밸런스 설정을 확인하십시오 . 기본적으로 사진 촬영 당시의 빛의 색 온도를 나타냅니다. 보통 햇빛은 약 5500 켈빈입니다. 실내 조명이나 흐린 날에는 일반적으로 온도가 다릅니다.

  2. 노출 설정을 확인하십시오 . 일반적으로 태양이 비추면 사용할 수있는 더 많은 빛이 있으므로 다음 설정에 영향을줍니다.

    1. 더 낮은 셔터 속도
    2. 낮은 ISO 설정
    3. 더 높은 f- 값

    옛날 사진에서는 노출을 추정하기 위해 Sunny 16 규칙이 사용되었습니다. 그리고 위 목록의 정보와 함께 사용하여 낮 동안 사진이 찍혔는지 확인할 수 있습니다.

  3. 플래시 가 터 졌는지 확인하십시오 .

  4. 사진이 촬영 된 시간을 확인하십시오 . 사용자가 시계를 구성했다고 가정하면 밤에 촬영 한 사진을 즉시 제거 할 수 있습니다.

그러나 이미지 처리 관점에서이 문제에 접근하고 싶을 경우. 햇빛은 일반적으로 대비높고 가장자리가 거칠 다고 말할 수 있습니다 . 따라서 히스토그램 분석거친 가장자리를 찾는 것이 좋은 지표가 될 수 있습니다.

처리중인 사진이 Raw Image Format 이라고 가정하면 위에서 설명한 것과 동일한 화이트 밸런스 트릭을 적용 할 수 있습니다 . 그러나 jpeg 또는 png 와 같은 표준 이미지 에는 작동하지 않습니다 . 이는 카메라의 이미지 프로세서가 이미 색온도의 변화를 보정하고 결과를 메타 데이터에 wb 설정을 기록하는 최종 이미지로 베이킹 하기 때문입니다.


"사진이 찍힌 시간을 확인하십시오"라고 읽었을 때 나는 바닥에서 굴러 가고있었습니다. 그러나 OP가 카메라의 기능을 재구성하고 싶지는 않습니다.
frafl

@frafl, 나는 두 가지 예를 추가했다
Marcel Stör

@frafl 휴리스틱 (heuristic)은 문제 해결, 학습 또는 발견에 대한 접근 방식으로, 최적 또는 완벽하다고 보장되지는 않지만 즉각적인 목표를 달성하기에 충분한 실용적인 방법을 사용합니다. 사진 촬영 시간 (위치가 부분적으로 알려진 경우)을 확인하는 것은 완벽하게 허용되는 휴리스틱입니다.
Andy Gee
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.