|
forum.optyczne.pl
|
 |
Obiektywy fotograficzne - AF - skąd błędy i po co kalibracja
pasiasty - Pon 31 Sie, 2009 Temat postu: AF - skąd błędy i po co kalibracja Mam pytanie do tych, co wiedzą jak w szczegółach działa auto-focus w typowych lustrzankach, takich, gdzie i korpus i obiektyw mają jakąś "myślącą" elektronikę.
Z pozycji "małego Jasia" współpracę pomiędzy korpusem a obiektywem wyobrażam sobie tak:
1) jest nieostro, czujnik z detekcją fazy (w korpusie) mówi, w którą stronę trzeba kręcić
2) korpus mówi obiektywowi, kręć w przód bądź w tył
3) obiektyw kręci, czujnik, czuwa
4) a gdy wyczuje, że już jest ostro, korpus mówi obiektywowi "już nie kręć" a fotografowi "piip" (jeśli ten ostatni pipania nie wyłączył)
Rozumiem, że do tego prostego algorytmu dodane są ulepszacze, które na przykład powodują, że korpus wie, za ile obrotów będzie ostro i może optymalizować kręcenie.
Ale zdaje się, że moje wyobrażenia są zbyt proste: w tym, co napisałem, nie ma miejsca na FF/BF (no, chyba że spowodowaną różnicami w odległości optycznej od obiektywu do filmu lub matrycy a do czujników, ale to byłaby wada korpusu ujawniająca się ze wszystkimi obiektywami), kalibrację, niekompatybilność Sigmy z Canonem itd. No i na "myślącą" elektronikę w obiektywie. Czy ktoś potrafi "małemu Jasiowi" wyjaśnić jak to działa naprawdę?
hijax_pl - Pon 31 Sie, 2009
Tu ogolnie
http://electronics.howstu.../autofocus3.htm
Tu o systemie nikona
http://www.nikon.com/abou...e/caf/index.htm
komor - Pon 31 Sie, 2009
pasiasty, podany przez Ciebie algorytm z tzw. feedbackiem niestety nie ma zastosowania w ogólności. Tzn. detekcja fazowa mierzy ile przesunąć i obiektyw przesuwa. Ewentualna inteligencja jest taka, że w trybie AF ciągłego następuje od razu następny pomiar, ale generalnie nie jest tak, że obiektyw sobie „jedzie”, a detekcja fazowa sprawdza czy już jest dobrze i mówi obiektywowi „Stop!”.
Przydatny link podał ostatnio kolega B o g d a n, mianowicie: Principle of the Split Image Focusing Aid and the Phase Comparison Autofocus Detector in Single Lens Reflex Cameras. Więcej o tym jest w
tym poście.
komor - Pon 31 Sie, 2009
Edit:
Tak patrzę jeszcze co piszą pod tym adresem http://electronics.howstu.../autofocus3.htm i tam jakieś bzdury są. Jako system używany w lustrzankach przestawiają niejaki passive autofocus który z tekstu nie wygląda mi na detekcję fazową tylko detekcję konstrastu znaną z kompaktów. Czytam dalej…
hijax_pl - Pon 31 Sie, 2009
Na stronie nikona jest lepiej pokazana detekcja fazowa.
[ Dodano: Pon 31 Sie, 2009 17:35 ]
A w ogóle to polecam tą lekturę
http://books.google.com/b...page&q=&f=false
[ Dodano: Pon 31 Sie, 2009 17:40 ]
W skrócie mówiąc - procesor po wykonaniu pomiaru z czujnika fazy wie dokładnie czy kręcić w lewo czy w prawo i o ile kroków.
Z czego się biorą błędy? Ano z tego że korpus nie jest za bardzo świadomy wielkości "kroku" silnika ultradźwiękowego, a może bardziej - dokładności realizacji przez obiektyw przesunięcia o zadana odległość.
B o g d a n - Pon 31 Sie, 2009
pasiasty napisał/a: | Czy ktoś potrafi "małemu Jasiowi" wyjaśnić jak to działa naprawdę? | W sumie w linku, który kiedyś podałem, mało jest opisu zasad współpracy (języka) pomiędzy boody, a obiektywem, ale jakiś pogląd na to co się tam dzieje, może dziać. Po polsku bedzie łatwiej Ci czytać: http://www.fototv.pl/arty...i-af-w-slr.html
komor napisał/a: | Więcej o tym jest w
tym poście. | To miło, komor, że mnie cytujesz.
pasiasty - Wto 01 Wrz, 2009
Serdecznie dziękuję w imieniu własnym i "małego Jasia". Rzeczywistość bywa bardziej złożona niż się to czasem wydaje. A jeśli ktoś jeszcze pośle opis komumikacji, między korpusem a obiektywem, to Jaś stanie się duży, zacznie pić, mówić brzydkie słowa i czytać w pracy o optyce.
ghost - Wto 01 Wrz, 2009
co znaczy opis komunikacji? jest tam kilka styków którymi obiektyw przesyła trochę informacji o sobie z zaszytego na pokładzie ROMa.
dodatkowo w niektórych szkłach, aparat może elektrycznie sterować silnikiem w obiektywie/domykaniem przesłony. w innych zrobione jest to mechanicznie.
pasiasty - Wto 01 Wrz, 2009
Cały czas chodzi o AF: jedyne rozkazy to "kręć w przód do odległości ostrzenia 472cm" i podobne? Czy też "kręć w przód 13 1/3 obrotu (czegoś tam)", a może "kręć szybko w przód 13 obrotów, potem zwolnij i czekaj na dalsze polecenia"?
Czy wszystkie obiektywy o danym typie mocowania mają te same rozkazy (jasne, że z wyłączeniem np. Nikorów na śrubokręt)?
hijax_pl - Wto 01 Wrz, 2009
pasiasty, korpusowi wystarczy rozkazac obiektywowi przesunac sie o jeden krok aby ocenic zmiane fazy i na podstawie tego wyslac kolejny rozkaz typu "teraz 420 kroków"
W sumie czy to jest jakas roznica czy korpus wysyła jeden rozkaz "kręć o 120 kroków w lewo" czy też 120 rozkazów "kręć krok w lewo" ? Nie ma żadnej...
Co dokładnie chcesz zrozumieć?
edmun - Wto 01 Wrz, 2009
hmm jak dla informatyka to zasadnicza różnica.
Tym właśnie różnią się BMP od JPG.
Zamiast pisać
Biały Biały Biały Biały Biały (i tak jedna linia pikseli zdjęcia o szerokości 1280 pikseli) czyli informacja "255x255x255" x 1280 (nie będę tysiąc dwieście osiemdziesiąt razy robił CTRL-C + CTRL-V aby to udowodnić)
mamy "1280x 255x255x255"
hijax_pl - Wto 01 Wrz, 2009
edmun, w przypadku oprogramowania mikrokontrolerów już takiej różnicy nie ma. Wiem co mówię
W przypadku sterowania silnikiem krokowym prawie zawsze pisze się procedurę przesuwającą o 1 krok. Bo to pojedyńcze wysterowanie tranzystorów jakichś na odpowiedni czas. A później się w pętli wywołuje tę procedurę zadaną ilość razy. Mamy zatem 2 procedury, skompaktowany kod, prosty do utrzymania i przetestowania.
lama - Wto 01 Wrz, 2009
pasiasty, ja bym obstawiał rozkazy w formie "kręć w przód do odległości ostrzenia 472cm". Obiektywy różnią się konstrukcją i polecenie typu "13 obrotów w lewo" nie miało by sensu, zwłaszcza w przypadku kiedy stosuje się różne typu napędów (klasyczne silniki i ultradźwiękowe). Obiektyw ma własny procesor, który instrukcje z korpusu odpowiednio sobie przelicza i generuje kroki (tak jak napisał hijax_pl) dla silnika.
PS. edmun, ta kompresja, którą opisałeś nazywa się RLE (Run-Length Encoding) i jest stosowana np. w ... BMP
hijax_pl - Wto 01 Wrz, 2009
I jeszcze jedno powiem. Zakłakam że korpus na bierząco odczytuje wszytkie czujniki fazowe dzięki czemu jest w stanie szacować odległości (fazie, metrach, krokach.. cokolwiek) między różnymi planami. Z tego też wynika, że dość łatwo zrobić predykcję - co wykorzystuje Nikonw swoich lustrzankach pod hasłem 3D AF.
A co do tego czy obiektyw dostaje rozkaz w metrach czy w krokach - to pewni specyfika protokołu komunikacji z obiektywem. I jak dla mnie mało ważny szczegół.
pasiasty - Wto 01 Wrz, 2009
To może i faktycznie szczegół. Mnie natomiast interesuje źródło błędów AF. Rozumiem już FF/BF, jeśli jest to błąd systematyczny. A skąd w takim razie błędy przypadkowe, w słabszych obiektywach i przy złych warunkach oświetleniowych dochodzące do kilkudziesięciu procent? Czy tylko z niezbyt precyzyjnej mechaniki, która nie umie prawidłowo zrealizować polecenia? No bo skoro obiektyw dostaje "polecenia kręć tam i o tyle" (albo do takiego a takiego punktu), to nie powinno być różnicy w zachowaniu słabych i dobrych obiektywów o tej samej światłosile. A jest. I dlaczego niektóre obiektywy przy kilkakrotnym naciskaniu spustu, "poprawiają" ostrzenie?
hijax_pl - Wto 01 Wrz, 2009
Przy słabym oświetleniu czujnik fazowy - tak samo jak i kontrastu nie za bradzo jest w stanie stwierdzić gdzie jest punkt optymalnej ostrości.
Błędy przypadkowe - tak - toprzedewszystkim ułomna mechnaika. Gdyby obiektywy miały czujniki i dawały jakiś feedback do korpusu - wtedy korpus mógłby to kompensować. Ale tak nie jest.
A każde przyciśnięcie spustu migawki powoduje wyzwolenie całego algorytmu AF. Nie raz może próbować coś poprawiać. Oznacza to ni mniej ni więcej że obiektyw ma słabą mechanikę.
komor - Wto 01 Wrz, 2009
pasiasty napisał/a: | Mnie natomiast interesuje źródło błędów AF. |
Źródeł jest kilka jak sądzę. Przeczytaj ten link od Bogdana i choć część będzie wiadomo. Ja to rozumiem tak, że układ detekcji fazy musi być precyzyjnie wyregulowany w body, dlatego, że nie bada się ostrości obrazu padającego na matrycę główną z obiektywu, tylko pośrednio, zabierając światło lusterkami, itd. Czyli jak będzie zła kalibracja w body, to obiektyw ewidentnie może dawać rozmazany obraz na matrycy głównej, a układ AF będzie widział i wiedział, że wszystko jest OK.
Drugie źródło to na pewno nieprecyzyjna mechanika w obiektywach niższej klasy. Nie pojmuję jednak jak to może być, że dana puszka z danym obiektywem może współpracować źle, a ta sama puszka z innymi obiektywami działa OK, oraz ten sam obiektyw z inną puszką też będzie działał OK. Tego nie rozumiem, bo takie zachowanie oznacza, że ani puszka nie jest ogólnie rozkalibrowana (w sensie, że ze wszystkimi szkłami zachowuje się źle), ani obiektyw nie jest ogólnie rozkalibrowana (w sensie, że ze wszystkimi puszkami zachowuje się źle). Z tego co czytamy na forum może się zdarzyć, że tylko konkretna kombinacja egzemplarzy może źle ze sobą działać i tego właśnie nie rozumiem
B o g d a n - Wto 01 Wrz, 2009
komor napisał/a: | Czyli jak będzie zła kalibracja w body, to obiektyw ewidentnie może dawać rozmazany obraz na matrycy głównej, a układ AF będzie widział i wiedział, że wszystko jest OK. | Bardzo słuszne spostrzeżenie. Znamy zatem zasadę działania mechanizmu mikroregulacji w nowych Canonach.
Natomiast jak podaje Sigma, jej serwisy kalibrację robią tylko w obiektywie i to chyba elektronicznie, nie tykając optyki. I jest to drugi przypadek "rozkalibrowania".
Usjwo - Sro 02 Wrz, 2009
[quote="B o g d a n"] komor napisał/a: | I jest to drugi przypadek "rozkalibrowania". |
No wlasnie, skoro obiectyw dostaj tylko roskaz krec w lewo/prawo o tyle i tyle, to przyczyny FF/BF powinny byc tylko zwiazane z body. Jak uklad AF stwierdzi ze jest ostro (i zakladamy ze w body jest wszystko wyregulowane) to na matrycy powinno byc tez ostro. W koncu to AF "patrzy" na obraz przeslany przez optyke a nie na "jakies dane" przysylane przez szklo. Wiec chyba ta komunikacja nie jest tak prosta i AF uzywa jakis danych z obiektywu, bo jak uczy doswiadczenie FF/BF jest zwiazany w wiekszosci z obiektywem.
pasiasty - Sro 02 Wrz, 2009
hijax_pl napisał/a: | Przy słabym oświetleniu czujnik fazowy - tak samo jak i kontrastu nie za bardzo jest w stanie stwierdzić gdzie jest punkt optymalnej ostrości. |
Oczywiście - tylko to nie tłumaczy, dlaczego dwa różne obiektywy o tej samej światłosile dają inne rezultaty. Da się to wyjaśnić oczywiście słabą mechaniką lub/i nieprecyzyjną komunikacją (korpus wyliczy, że trzeba kręcić 83 kroki do przodu, ale opiera się na nieadekwatnych danych o wielkości kroku, na prawdę było potrzeba 79; rozklekotana mechanika kręci 83, a na dalszych 4 hamuje i w rezultacie mamy 87 zamiast 79).
Jeszcze jedno wyjaśnienie, które przychodzi mi do głowy jest takie: mamy dwa obiektywy f/4 - jakąś L-kę Canona i uniwersalny hiper-turbo-zoom 18-250 firmy XYZ; ten pierwszy daje ostry obraz przy pełnym otwarciu przesłony, ten drugi - tak nieostry, że widać to bardzo wyraźnie w wizjerze. I tak też to widzą czujniki AF, które co prawda nie są czujnikami kontrastu, ale mało kontrastowy obraz na pewno im się nie ułatwia zadania.
hijax_pl - Sro 02 Wrz, 2009
Światłosiła to nie wszystko, liczy się też kontrast i rozdzielczość szkła.
Cytat: | ten pierwszy daje ostry obraz przy pełnym otwarciu przesłony, ten drugi - tak nieostry, że widać to bardzo wyraźnie w wizjerze. I tak też to widzą czujniki AF |
Dokładnie tak
AM - Sro 02 Wrz, 2009
Software aparatu musi sobie radzic z focus shiftem w szkle i tymi nowymi sztuczkami w ogniskowaniu - czasy helikoidu na szkle f/5.6 juz minely.
cygnus - Sro 02 Wrz, 2009
edmun napisał/a: | hmm jak dla informatyka to zasadnicza różnica.
Tym właśnie różnią się BMP od JPG. |
Informatyk nie zastanawia się nad techniczną realizacją, wszak to zapewnią jakieś tam interface i urządzenia we/wy.
Przecież SKOMPRESOWANY sygnał wysyłany do obiektywu wymagałby zainstalowania w tymże procesora z logiką dekodowania tej kompresji, co wcale nie jest potrzebne, wszak jedna linia wystarcza do jedno-bitowego sterowania step-step-step-step. Dwa bity by rozróżnić w przód czy w tył.
edmun - Czw 03 Wrz, 2009
gdyby wszystko tak miało działać, to wciąż używalibyśmy tylko kalkulatorów, a internet opierał by się na samym tekście bez funkcji multimedialnych.
choć hijax chyba wyprowadził mnie z błędu - faktycznie na chwilę obecną nie ma aparatów które sterowałyby autofocusem za pomocą komend skompresowanych wymagających dekodera sygnału. podejrzewam że za długo trwałaby analiza danych przez procesor dekompresujący
hijax_pl - Czw 03 Wrz, 2009
cygnus, daję sobie rękę uciąć przy samej d... że to nie jest sygnał elektryczny do wysterownaia silnikiem ale zwykły szeregowy interfejs, po którym hula jakiś vendor-specific protokół. Dlaczego? Ano dlatego, że po włączeniu prądu, obiektyw "przedstawia się" korpusowi, dzięki czemu ten wie jaki zakres przesłon może używać, jakie są odległości ogniskowania, itp itd.
Swoją drogą nie musi to być protokół skompresowany (choć do prostej kompresji wcale nie potrzeba jakiejś super mocy obliczeniowej). Kompresję wprowadza się po to żeby zmiejszyć tzw payload na połączeniu, czyli optymalizować użycie połączenia. Ale sens ma to kiedy tych danych leci dużo.. Bardzo dużo.
A co do kłopotów i reverse enginerringu sigmy podejrzewam, że ten protokół jest szyfrowany jakąś prostą metodą. To zdecydowanie utrudnia dekodowanie danych przesyłanych po kablu. A jeszcze jeśli to kodowanie zmienia się wraz z obiektywem, np inaczej tele, inaczej standard, inaczej szeroki kąt - to jest dodatkowe utrudnienie. I nie musi być wszystko szyfrowane. Wystarczy jeden bajt żeby już popsuć humory hakerom...
I jeszcze powiem coś z autopsji. Swego czasu żeby zabezpieczyć protokół komunikacyjny po prostu zamienilismy linie na intrefjsie rónoległym łączącym procek z multiplekserem. Efekt? Już nie było b7b6b5b4b3b2b1b0 ale np b5b3b2b4b1b6b7b0. Taka logika była zaszyta w ukadzie programowalnym (który nota bene robił i multipleksowanie i jako sterownik interfejsu szeregowego). Proste? Proste
Usjwo - Czw 03 Wrz, 2009
Tych danych rzeczywiscie jest troche, wiec jakis protokol to obsluguje.
Jednak wracajac do tematu to dalej nie usprawiedliwia kalibracji "elektronicznej" BF/FF obiektywu. Przeciez AF nie uwzglednia danych wysylanych z obiektywu (chyba).
hijax_pl - Czw 03 Wrz, 2009
Usjwo, wątpię żeby był feedback. Dlatego trzeba robić korekcję specyficzną do.. mechaniki szkła
AM - Czw 03 Wrz, 2009
hijax_pl napisał/a: |
A co do kłopotów i reverse enginerringu sigmy podejrzewam, że ten protokół jest szyfrowany jakąś prostą metodą. To zdecydowanie utrudnia dekodowanie danych przesyłanych po kablu. A jeszcze jeśli to kodowanie zmienia się wraz z obiektywem, np inaczej tele, inaczej standard, inaczej szeroki kąt - to jest dodatkowe utrudnienie. I nie musi być wszystko szyfrowane. Wystarczy jeden bajt żeby już popsuć humory hakerom...
|
Opowiesc o tym, ze Sigma wie wszystko z reverse enginerringu to legenda miejska.
EOSy maja chip w obiektywie - jak juz mowilem, nowe zoomy nie ogniskuja sie jak stare stalki, jest tam pelno roznych trikow. Wystarczy zaobserwowac jak wygladaja stare i nowe prowadnice soczewek w tubusie.
Cytat: | Przecież SKOMPRESOWANY sygnał wysyłany do obiektywu wymagałby zainstalowania w tymże procesora z logiką dekodowania tej kompresji, co wcale nie jest potrzebne, wszak jedna linia wystarcza do jedno-bitowego sterowania step-step-step-step.
|
Dla sterowania jednobitowego potrzebny bylby bufor i akumulator w obiektywie, stad juz blisko do specjalnego ukladu. I faktycznie, szkla EOS maja uklady.
Protokol jakos specjalnie trudny nie jest i w nim bym nie upatrywal bledow. Przejsciowka EOS->RED potrafi sterowac stabilizacja, ogniskowac obiektyw (taki zdalny manual, nie af) i domykac przyslone.
komor - Czw 03 Wrz, 2009
EOS_lens_contacts_50.jpg:
DPReview Forum – I found this information about canon/sigma signal system, cytat:
Data protocol: Motorola SPI; 8 bit serial; Such as the protocol used with the 68HC05 chip..
I jeszcze tu:
Fred Miranda Forum.
Te materiały cross-linkują się oczywiście nawzajem, ale można to łatwo wyguglać i wyciągnąć jakieś wnioski oraz uporządkować.
pasiasty - Sro 09 Wrz, 2009
No dobrze, ale skoro to tak działa, po co korpusowi jakaś elektronika w obiektywie manualnym do tego, żeby potwierdzał diodami w wizjerze poprawne zaostrzenie w danym punkcie? Teoretycznie powinien przecież wykryć ostrość nawet, jak bym mu machał lupą przed lustrem (a bez obiektywu).
Chyba, że nie jest potrzebna...
hijax_pl - Sro 09 Wrz, 2009
pasiasty, Nie jest potrzebne. Mój aparat podłaczony do mieszka bez jakiejkolwiek automatyki potrafi sam potweirdzić ostrość.
No ale Canon chcial żeby tylko swoje obiektyw ludzie montowali. Więc ludzie wymyślili dandeliony
pasiasty - Sro 09 Wrz, 2009
Dzięki, to jest faktycznie wyjaśnia wątpliwość.
komor - Sro 09 Wrz, 2009
hijax_pl, jesteś pewien, że wszystkie Nikony potwierdzają ostrość ze szkłami niesystemowymi/bez styków? Ale za to z pomiarem światła coś nie działa w Nikonach, więc też różowo nie jest
hijax_pl - Sro 09 Wrz, 2009
komor, jestem pewien że np mój F65 F80 D90 potwierdzają ostrość. Żaden z nich nie uruchamia pomiaru światła. Choć z D90 można poprzez kompa odczytać
[ Dodano: Czw 10 Wrz, 2009 00:05 ]
Natomiast troszkę wyższa półka np D300 już ma pomiar światła niezablokowany. Co prawda tylko punktowy lub średni ale jest - działa
|
|