Czy oprogramowanie może automatycznie wykrywać ostrość obrazu?

19

Zastanawiałem się, czy istnieje oprogramowanie do zarządzania zdjęciami, które może automatycznie wykrywać i oceniać obrazy pod względem ostrości. To pojawia się dość często, gdy przeglądam dużą serię zdjęć makro tego samego tematu.
W idealnym świecie Light Room (lub jakikolwiek inny program) może wyróżniać obszary ostrości i obszary nieostre w taki sam sposób, jak wykrywa wypalone obszary obrazu. Algorytm, który, mam nadzieję, istnieje, byłby sprytny i nie byłby rozproszony przez rozmyte tło i dążyłby jedynie do tego, aby wystarczająco dużo obszaru było wystarczająco ostre.
Coś takiego tam jest?

Jest to kolejna myśl dla osób mówiących o ustawianiu ostrości w niewłaściwym miejscu, a modele z ustawieniem ostrości aparatu już to sprawdzają. Innym ważnym czynnikiem braku przejrzystości na zdjęciu makro jest rozmycie spowodowane ruchem aparatu. Uszkadza to wszystkie punkty na obrazie i nie jest czymś, co aparat uwzględniał podczas ustawiania ostrości.

Andrey
źródło
Z której kamery korzystasz? Niektóre aparaty zawierają informacje o punkcie ostrości w swoich plikach RAW i danych EXIF, przy niewielkim wysiłku wykorzystanie tych informacji do oceny ostrości i kontrastu w celu ustalenia oceny ostrości nie byłoby trudne. Nie wiem jednak nic, co by to zrobiło ...
Benjamin Anderson
2
@Benjamin Anderson - to tylko częściowe rozwiązanie. Zwykle ustawiasz ostrość, a następnie ponownie komponujesz, więc wskazanie punktu ostrości będzie w tym przypadku mylące i oceni wiele doskonałych zdjęć jako nieostre
ysap
@ysap - Prawda, szczególnie jeśli chodzi o zdjęcia makro.
Benjamin Anderson
Byłoby jeszcze lepiej, gdybyś mógł wyraźniej zobaczyć, co jest ostre przed zrobieniem zdjęcia. Na przykład podgląd na żywo może wykorzystywać kodowanie kolorami, aby wyraźnie wyróżnić obszary ostrości i nieostrej ostrości. Zastanawiam się, czy są jakieś kamery, które mogą to zrobić ...
Jukka Suomela,
1
@Jukka to, o co prosisz, nazywa się peakingiem kolorów i znajduje się w wysokiej klasy cyfrowych kamerach wideo (które często są ręcznie ustawiane). Wierzę, że można go dostać na Canon 5D mkII poprzez hack oprogramowania Magic Lantern.
Matt Grum,

Odpowiedzi:

12

To interesujące pytanie. Oprogramowanie z pewnością może wykryć fragmenty obrazu, który jest ostry, ponieważ jest to podstawa oprogramowania do ustawiania ostrości, takiego jak Helicon Focus .

Układanie ostrości jest techniką stosowaną przez fotografów makro. Głębia ostrości w wielu ujęciach makro jest bardzo płytka, więc aby ją rozszerzyć, można zrobić zestaw zdjęć obiektu, modyfikując w każdym z nich punkt centralny. Helicon Focus pobiera stos zdjęć i wykrywa najbardziej ostre części każdego obrazu i łączy je ze sobą, aby uzyskać efekt, w którym cały obiekt jest ostry. Można to również zrobić za pomocą niektórych technologii stojących za Huginem , ale konfiguracja jest nieco trudniejsza.

Wydaje mi się, że trudność rozszerzenia tego testu na ogólną kontrolę „skupienia” oznaczałaby, czy obiekt jest ostry - w jaki sposób automatycznie określamy, co to jest? Ile głębi ostrości wymagał fotograf?

Sprawa Maynarda
źródło
1
Myślę, że potrzeba kontroli nad systemem autofokusa aparatu pokazuje, że nie można wiedzieć, bez wkładu fotografa, jaki jest zamiar. Istnieje również pewien problem Godla, w którym mogę zrobić nieostre zdjęcie na ścianie i zrobić zdjęcie, które samo jest poprawnie ustawione. Niemożliwe byłoby zidentyfikowanie tego drugiego jako poprawnego.
Chris Wuestefeld,
4

To, o co prosisz, jest problematyczne w tym sensie, że wykrywanie ostrości oparte na oprogramowaniu będzie zasadniczo wykorzystywać ten sam algorytm, jaki wykorzystuje system autofokusa oparty na kontraście. Oznacza to, że musisz zeskanować obraz i poszukać najbardziej kontrastowego miejsca, aby określić stopień „ostrości”. Możliwe jest jednak, że fotografowałeś obiekt o niskim poziomie szczegółów (niskim kontraście), więc nawet jeśli ostrość zostanie ustawiona punktowo na celu, algorytm programowy określi obraz o niskiej ostrości lub nieostry.

Ponadto, w jaki sposób oprogramowanie będzie wiedziało, jaki był zamierzony punkt docelowy? Jeśli fotografujesz portret, a oczy są źle ustawione, oprogramowanie wykryje idealne ustawienie ostrości na uchu, ale tak naprawdę jest to obraz niskiej jakości lub bezużyteczny.

tak
źródło
1
Zaczynam rozumieć, jak można zaprojektować taki program. W przypadku twarzy wykonaj program rozpoznawania twarzy, spójrz w oczy i sprawdź, czy są w centrum uwagi. Coś powinno być na to możliwe, chociaż może być nieco trudne ...
PearsonArtPhoto
Cóż, proponowana technika (podkreślanie obszarów, które wydają się być w centrum uwagi) nie miałaby problemu ucha kontra oko. Sądzę, że zobaczenie, które obszary są względnie kontrastowe, a nie kontrastowe, byłoby podobnie interpretowalne - a jeśli martwisz się serią podobnych obrazów, to porównanie ich ze sobą, a nie absolutna „ostrość” wydaje się być właściwy sposób, aby to zrobić.
Reid
@ Reeid - Zakładam, że celem PO jest zautomatyzowany proces usuwania złych zdjęć. Moja odpowiedź rozwiązuje ten wymóg, wskazując, dlaczego ta funkcja będzie trudna do osiągnięcia, a także podałem przykłady w komentarzach do innych odpowiedzi. Jeśli w pętli jest człowiek, wszystko jest możliwe ...
ysap
Moim zdaniem pytanie brzmi, że PO wydaje się dość wyraźnie opisywać proces mieszanej inicjatywy, a nie w pełni zautomatyzowany (np. „Obszary wyróżnienia w centrum uwagi i obszary nieostre”).
Reid
2

Jako człowiek wolałbym oceniać je osobiście za pomocą moich subiektywnych obserwacji, widząc, jak wiem, gdzie ostrość powinna lub nie powinna być, ale przypuszczam, że może być trudny sposób na określenie jakości ostrości strzału na podstawie przysłona, ogniskowa, odległość od obiektu i ostrość / nieostre obszary obrazu.

Na przykład długa ogniskowa, mała przysłona, bliski obiekt oznacza, że ​​prawdopodobnie będzie mały punkt ostrości z dużą ilością bokeh (w przypadku typowych zastosowań tego przepisu).

Z drugiej strony, krótka ogniskowa z dłuższą odległością od obiektu oznacza, że ​​w obszarach ostrości prawdopodobnie będzie więcej niż poza obszarami ostrości (na przykład krajobraz lub zdjęcie grupowe).

Myślę, że najważniejszą rzeczą na każdym zdjęciu jest to, że gdziekolwiek najbardziej skupiony obszar zdjęcia, jest ostry . Ta prosta kontrola „najbardziej skupionego punktu w ognisku” mogłaby być możliwa, ponieważ najczęściej nie ma sensu używać ujęcia nieostrego lub odwróconego, chyba że uważasz, że to zadziała.

Nick Bedford
źródło
twój ostatni punkt jest tylko częściowo prawdziwy, ponieważ przez większość czasu skupiasz się, a następnie ponownie komponujesz. Podobnie jak w przykładzie, który podałem w innym komentarzu, może być tak, że ucho będzie w doskonałej ostrości (i jako taki twój obraz będzie miał najwięcej punktów skupienia), ale oko będzie OOF.
ysap
Nawet o tym nie myślałem i tak, bardzo często skupiam się i zmieniam kompozycję, więc może nastąpić niewielkie przesunięcie w płaszczyźnie ogniskowania.
Nick Bedford
2

W idealnym świecie jasne pomieszczenie (lub dowolny inny program) może wyróżniać ostrość i nieostry w ten sam sposób, w jaki wykrywa wypalone obszary obrazu.

Na początek instrukcja Darktable zawiera:

ctrl-z w pełni powiększa obraz i pokazuje skupione obszary

I to wygląda tak na zdjęciu w częściowym skupieniu:

wprowadź opis zdjęcia tutaj

Mówiąc dokładniej, myślę, że możesz uzyskać to, czego szukasz, kwantyzując ilość informacji o wysokiej częstotliwości w transformacie Fouriera obrazu. (wysokie częstotliwości to ostro skoncentrowane bity, na których nam zależy).

Pomocniczo inna odpowiedź SE (którą głosowałem za przywilejem kopiowania wklej) daje kod do wyciągania częstotliwości. Jeśli jest to interesujące dla ludzi, mógłbym wrócić do tej odpowiedzi i sprawdzić, czy potrafię napisać kod, który porządkuje zestaw obrazów według tego, na ile mają ostre (a nie całkowite) skupienie.


źródło
1

Właśnie natknąłem się na to (teraz prawie) 9-letnie pytanie. W tych odpowiedziach jest kilka dobrych informacji, ale wiele z nich jest już dość starych i żadne z nich tak naprawdę nie odpowiada na pierwotne pytanie OP: czy oprogramowanie może automatycznie wykrywać ostrość obrazu?

Po przejrzeniu postów tutaj znalazłem aplikację o nazwie Fast Raw Viewer, która ma przynajmniej częściowe rozwiązanie.

Seamus
źródło
1

Naprawdę tanim rozwiązaniem dla zdjęć wykonanych przy tych samych ustawieniach jakości aparatu i przy tej samej konfiguracji sceny i światła jest sprawdzenie rozmiaru pliku JPEG. Im więcej materiału jest w centrum uwagi, tym bardziej stratny jest algorytm kompresji JPEG, który warto zachować, zwiększając rozmiar pliku.

Oczywiście ma to sens tylko wtedy, gdy większość treści obrazu jest tym, na czym chcesz się skupić. Nie pomaga na przykład w przypadku mniejszych rozmytych obiektów na tle ostrości.

Ale może być przydatny jako szybki przerywnik remisu.


źródło
-4

Zdobądź 1 może to, czego potrzebujesz!

Jorge Tavares
źródło
2
Czy możesz rozszerzyć tę odpowiedź, aby wyjaśnić, co to jest „Capture 1” i dlaczego może to pomóc?
Philip Kendall
Najbardziej niepomocna odpowiedź, jaką kiedykolwiek widziałem w SE
Tessaracter