Na tej stronie znajduje się podsumowanie zmian Camera Image Test Suite (ITS) (w języku angielskim) na Androidzie 11. Zmiana obejmuje następujące elementy: kategorie:
- Zmiany dotyczące sprzętu
- Pierwsze testy MANDATED na poziomie interfejsu API
- Oświetlenie testowe zostało zweryfikowane
- Zmiana nazwy sceny
- Testowanie zmian i dodatków
- Zwiększona liczba testów z użyciem aparatu (OGRANICZONA)
Zmiany dotyczące sprzętu
Android 11 wprowadza kilka zmian sprzętowych obniżyć koszty i zwiększyć dostępność. Zmiana obejmuje następujące kategorie: kategorie:
- Dodatkowy producent
- Ujednolicone metody produkcji
- Ulepszone opcje dla tabletów
- Mniej otwierania tabletu
- Nowy kontroler czujnika fusion
Dodatkowy producent
Firma Rahi Systems ma kwalifikacje niezbędne, aby produkować obudowy testowe ITS oprócz naszych od dotychczasowego dostawcy, projekt MYWAY. Informacje o firmie dla kwalifikowanych dostawców są następujące:
Rahi Systems Inc.
48303 Fremont Blvd, Fremont CA 94538, USA
rahisystems.com/products/android-device-testing-equipment/
androidpartner@rahisystems.com
(+00) 000-00-00Projekt MYWAY
4F. No. 163, Fu-Ying Road, XinZhuang District, New Taipei City, Tajwan
twmyway.com
sprzedaz@myway.tw
+886 2 29089060
Ujednolicone metody produkcji
Zwykły pole widzenia rev1 (RFoV) ITS w opakowaniu została przeprojektowana tak, aby korzystała z metod produkcji używanych przez pole Szerokokątnego pola widzenia (WFoV) oraz Czujnik Fusion Box obudowy do testów. Funkcje są identyczne, a dla uproszczenia interfejs określa się jako rev1a. Dzięki tej zmianie producenci mogą mieć z tworzywa sztucznego do produkcji wszystkich obudów testowych. Dodatkowo tablet uchwyt i lampa zostały zaprojektowane tak, aby obsługiwały większą różnorodność tabletów. i paski świetlne LED.
Aby pobrać najnowsze opisy i rysunki mechaniczne, zobacz Skrzynka RFoV (rev1a) oraz WFoV box (wersja 2.9).
Większe możliwości dla tabletów
Tablety Samsung Galaxy Tab A 10.1 i Chuwi Hi9 Air 10.1 są została dodana do listy zalecanych tabletów. Ważne jest, aby na tablecie modulacja szerokości pulsu (PWM) pozwala dostosować jasność ekranu i wyeliminować pasy zdjęcia.
Najnowsze informacje na temat zalecanych tabletów znajdziesz tutaj Wymagania dotyczące tabletów
Rzadsze otwieranie tabletów
Aby można było korzystać z Galaxy Tab A 10.1, otwieranie tabletu jest nieco zmniejszone dla obudowy do testów RFoV (rev1a) i WFoV (rev2). wersje rev1a.1 oraz rev2.9, które odzwierciedlają te zmiany. W przypadku tych rysunków zobacz Skrzynka RFoV (rev1a) oraz WFoV box (wersja 2.9).
Nowy kontroler czujnika fusion
Przeprojektowaliśmy układ sprzętowy kontrolera Sen Fusion, aby ulepszyć i produktywność. Nowy kontroler oparty jest na Arduino i ma niestandardowy ekranu płytki routingu mocowanego na górze Arduino. Ilustracja 1 pokazuje Tarcza, a ilustrowany 2 – rysunek mechaniczny obudowy. Nowy kontroler jest zasilany z jednego źródła 5 V, które zasila silnik bezpośrednio. Elementy elektroniczne są sterowane w pełni przez złącze USB. Oddzielny zasilacz zapewnia całkowitą izolację od elementów sterujących w stosunku do układów elektronicznych i serwisora. Dodatkowo jeden kontroler może z maks. 6 silnikami.
Rysunek 1. Widok z góry na tarczę Arduino
Rysunek 2. Projekt obudowy
Android 11 jest zgodny wstecznie z dotychczasowymi i kontrolerach. Do wywoływania testów za pomocą kontrolera opartego na Arduino użyj polecenia:
python tools/run_all_tests.py device=# camera=# rot_rig=arduino:1 scenes=sensor_fusion
Pierwszy poziom interfejsu API
Na Androidzie 10 testy ITS są oznaczone jako MANDATED
i NOT_YET_MANDATED
. Wprowadzenie na rynek w wersji na Androida 10
na urządzeniu, wszystkie testy (MANDATED
) muszą zostać zaliczone. Testy NOT_YET_MANDATED
mogą zakończyć się niepowodzeniem
ale są wyświetlane jako PASS
na potrzeby raportowania przez weryfikatora CTS. MANDATED
– testy
dotyczy również urządzeń uaktualnionych. To wymaganie w przypadku przejścia na wyższą wersję
na urządzeniach, które zaliczyły wszystkie MANDATED
testy, były opóźnione w
Testy: MANDATED
, ponieważ starsze urządzenia też muszą je przejść.
W Androidzie 11 testy MANDATED
są ograniczone przez
pierwszej flagi poziomu API z właściwości telefonu. Na urządzeniach przechodzących na
Android 11, testy przebiegają jako NOT_YET_MANDATED
oznacza, że test może się nie powieść, ale jego wartość jest przedstawiona jako PASS
w
CtsVerifier.apk
Na przykład:
- Na Androidzie 11 test
test_channel_saturation
jestMANDATED
w przypadku urządzeń o pierwszym poziomie interfejsu API wyższym niż 29. - Na Androidzie 10 test
test_channel_saturation
jestMANDATED
dla wszystkich urządzeń.
Weryfikuję oświetlenie sceny
W Androidzie 11 oświetlenie sceny jest weryfikowane przez analizując jasność w rogach sceny. Wszystkie sceny utworzone ręcznie są zweryfikowanych pod kątem oświetlenia, a sceny z tabletu są sprawdzane pod kątem kamer RFoV. w urządzeniu testowym WFoV i kamerach WFoV w urządzeniu testowym WFoV. Jeśli oświetlenie są nieodpowiednie, zostaje zgłoszony błąd, a testowanie kończy się niepowodzeniem.
Zmiana nazwy sceny
Na Androidzie 10 scena 1 odpowiada za większość i stanowi znaczną część łącznego czasu trwania testów. Jeśli jakikolwiek test w scenie 1 trzeba powtórzyć całą scenę. Zasadniczo ponowne włączenie całej sceny zmniejsza liczbę testów krańcowych. W Androidzie 11 czas powtórek został skrócony, ponieważ scena 1 jest podzielona na dwie sceny: scen1_1 i scen1_2.
W tabeli poniżej znajdziesz czasy testów dotyczące tylnego aparatu Pixela 4 w różnych sytuacjach. Liczba testów jest dzielona, aby wyrównać czas trwania testu aby nie zrównoważyć liczby testów.
Dostępne jest też czyszczenie nazw. Scena 2 jest podzielona literami i sceną 1 jest podzielony na liczby. Nazewnictwo różnych rozszerzeń:
- Sceny z tym samym wykresem, ale z innymi testami:
*_1,2,3
- Sceny z różnymi wykresami, ale te same testy:
*_a,b,c
Oświetlenie | Liczba testów | Czas pracy telefonu Pixel 4 (min:s) |
---|---|---|
0 | 11 | 1:12 |
1_1 | 22 | 5:12 |
1_2 | 13 | 5:20 |
2_a | 5 | 3:22 |
2_b | 1 | 0:24 |
2_c | 1 | 0:24 |
3 | 6 | 2:04 |
4 | 2 | 2:46 |
Sprawdź zmiany
Testy zostały zaktualizowane tak, aby używać pierwszego poziomu interfejsu API
Na Androidzie 11 testy w tabeli poniżej
zaktualizowany tak, aby używała pierwszej flagi poziomu interfejsu API. Wszystkie te testy wykorzystują
pierwszy poziom API 29, z wyjątkiem testu test_tonemap_curve
, który używa
a pierwszy poziom to 30.
Oświetlenie | Nazwa testu | Pierwszy poziom interfejsu API | Opis |
---|---|---|---|
0 | test_tonemap_curve |
30 | Zadbaj o to, aby dane wyjściowe potoku miały odpowiednie kolory z liniową mapą tonową i idealną
obraz wejściowy (wymaga ustawienia test_test_patterns ). |
1 | test_ae_precapture_trigger |
29 | Przetestuj maszynę stanu AE podczas korzystania z aktywatora wstępnego przechwytywania. Upewnij się, że używasz automatycznego tagowania wyłączony aktywator wstępnego przechwytywania nie ma żadnego efektu. |
test_channel_saturation |
29 | Sprawdź, czy kanały RGB są nasycone podobnymi wartościami, aby wyeliminować zabarwienie regionów nasyconych. | |
2_a/b/c | test_num_faces |
29 | Zwiększenie różnorodności wiekowej w filmach przedstawiających twarze |
Testy ze zmianami
Testy w tej tabeli są aktualizowane na urządzeniach z Androidem 11. Zmiany te zostały opisane w kolumnie Opis zmian.
Oświetlenie | Nazwa testu | Pierwszy poziom interfejsu API | Opis zmian |
---|---|---|---|
1 | test_burst_sameness_manual |
30 | Zmniejsz tolerancję do 2%. |
4 | test_aspect_ratio_and_crop |
30 | Zmień, aby działać na LIMITED urządzeniach. |
test_multi_camera_alignment |
30 | Jeśli robienie kilku kamer nie jest obsługiwane, musisz wykonać kolejne kroki z kamer. Przerobić logikę wyboru kamery, by uwzględnić systemy obejmujące 3 i 4 kamery. i pominąć aparaty mono, aparaty z głębią głębi i podczerwieni. |
Nowe testy
Testy w poniższej tabeli są włączone w: Android 11. Testy zostały podsumowane w tabeli, szczegółowe opisy znajdziesz w kolejnych sekcjach.
Oświetlenie | Nazwa testu | Pierwszy poziom interfejsu API | Opis |
---|---|---|---|
0 | test_vibration_restrictions |
30 | Sprawdź, czy alerty i wibracje nie są włączone podczas robienia zdjęć. |
2_a | test_jpeg_quality |
30 | Sprawdź, czy tabele kwantyzacji zmniejszają kompresję, aby uzyskać większy rozmiar JPEG jakości. |
2_d/2_e | test_num_faces |
30 | Zwiększenie różnorodności twarzy. |
2_e | test_continuous_picture |
30 | Upewnij się, że 3A rozliczają się w android.control.afAvailableModes =
CONTINUOUS_PICTURE. |
zmień | test_scene_change |
31 | Zgłoszono prawa do treści android.control.afSceneChange po zmianie sceny. |
6 | test_zoom |
30 | Przetestuj android.control.zoomRatioRange . |
scena0/ograniczenie_wibracji_testowej
Ten test nie wymaga żadnej konkretnej sceny, ale testowane urządzenie musi być umieszczone na twardej powierzchni lub na niej. Obejmuje to m.in. montaż na Obudowy testowe ITS w pudełku.
Zgłoszenia
- Brak wibracji podczas używania kamery
scena2_a/test_jpeg_quality
Metoda
Różne części pliku JPEG są oznaczone 2-bajtowymi znacznikami. Więcej informacje znajdziesz w sekcji JPEG.
Test wyodrębnia matryce kwantyzacji z przechwycenia JPEG. Znacznik dla matryc kwantyzacyjnych w przechwytywaniu JPEG jest sekwencja [255, 219]. Po znalezieniu znacznika rozmiaru są 2 następne elementy listy. plik JPEG DQT, znacznik rozmiaru to zwykle [0, 132] = 256*0+132 = 132, co odpowiada rozmiarowi danych DQT w zapisie JPEG. Umieszczone dane mają następujący format: [255, 219, 0, 132, 0 (znacznik luma), matryca 8 x 8 luma, 1 (znacznik luma), matrycy kolorów 8x8].
Pojawią się wartości 0
dla znacznika matrycy luma i 1
w przypadku wielu urządzeń, w tym telefonów, które rozdzielają dane.
do osobnych sekcji DQT w pliku JPEG. Matryce kolorów
mają większą różnorodność wartości niż matryce kolorów, ponieważ ludzkie oko
wrażliwe na lumę,
a w przypadku zdjęć JPEG.
Poniżej przedstawiono próbkę wyodrębnionych matryc luma i matryc chromatycznych dla czynników jakościowych:
85 i 25 dla tylnego aparatu Pixela 4, rejestrując scenę2_a za pomocą sprzętu testowego ITS.
Wartości macierzy znacznie zwiększają (co oznacza zwiększoną kompresję) przez
ustawienie niższej jakości. Te macierze są drukowane ze skryptem tylko wtedy, gdy
stosowana jest flaga debug=True
. Zwróć uwagę na większe różnice we wpisach w
matryce luma.
luma matrix (quality = 85) chroma matrix (quality = 85)
[[ 5 3 4 4 4 3 5 4] [[ 5 5 5 7 6 7 14 8]
[ 4 4 5 5 5 6 7 12] [ 8 14 30 20 17 20 30 30]
[ 8 7 7 7 7 15 11 11] [30 30 30 30 30 30 30 30]
[ 9 12 17 15 18 18 17 15] [30 30 30 30 30 30 30 30]
[17 17 19 22 28 23 19 20] [30 30 30 30 30 30 30 30]
[26 21 17 17 24 33 24 26] [30 30 30 30 30 30 30 30]
[29 29 31 31 31 19 23 34] [30 30 30 30 30 30 30 30]
[36 34 30 36 28 30 31 30]] [30 30 30 30 30 30 30 30]]
luma matrix (quality = 25) chroma matrix (quality = 25)
[[ 32 22 24 28 24 20 32 28] [[ 34 36 36 48 42 48 94 52]
[ 26 28 36 34 32 38 48 80] [ 52 94 198 132 112 132 198 198]
[ 52 48 44 44 48 98 70 74] [198 198 198 198 198 198 198 198]
[ 58 80 116 102 122 120 114 102] [198 198 198 198 198 198 198 198]
[112 110 128 144 184 156 128 136] [198 198 198 198 198 198 198 198]
[174 138 110 112 160 218 162 174] [198 198 198 198 198 198 198 198]
[190 196 206 208 206 124 154 226] [198 198 198 198 198 198 198 198]
[242 224 200 240 184 202 206 198]] [198 198 198 198 198 198 198 198]]
Ilustracja 3 przedstawia średnie wartości matrycy w przypadku tylnego aparatu Pixela 4 w porównaniu z formatami JPEG jakości. Wraz ze wzrostem jakości plików JPEG poziom kompresji (średnia matrycy DQT luma/chroma) maleje.
Rysunek 3. Średnie matrycy kolorów DQT w tylnym aparacie Pixel 4 w porównaniu do formatu JPEG jakość
Zgłoszenia
- W przypadku firm [25, 45, 65, 86] wartość +20 w zakresie jakości ma redukcję kwantyzacji o 20% średnie wartości macierzy.
- Ładunki macierzy DQT to liczby kwadratowe.
Ilustracja 4 przedstawia przykład telefonu, który nie przeszedł testu. Pamiętaj, że w przypadku bardzo niskich
wysokiej jakości (jpeg.quality < 50
), nie zwiększa się kompresja
lub macierz kwantyzacji.
Rysunek 4. Przykład nieudanego testu
scena2_d/e test_liczba_twarzy
Dodaliśmy 2 nowe sceny wykrywania twarzy, aby zwiększyć różnorodność testów algorytmu wykrywania twarzy. Po wielokrotnym przetestowaniu kilku kamer najtrudniejsza ściana ma być skrajnie lewa w scenie2_d. Na szczególną uwagę zasługuje kapelusz i broda, i sceny twarzy. Nowe sceny przedstawiono na rysunkach 5 i 6.
Rys. 5. scen2_d
Rys. 6. scen2_e
Zgłoszenia
num_faces == 3
scena2_e/test_continuous_obraz
Metoda
Test test_continuous_picture
korzysta ze sceny2_e, ale można ją włączyć
z dowolną sceną z jej twarzy. W ramach tego testu 50 klatek o rozdzielczości VGA jest
zarejestrowane przy użyciu pierwszego ustawienia żądania przechwytywania android.control.afMode = 4
(CONTINUOUS_PICTURE)
.
System 3A powinien się ustabilizować po zakończeniu rejestrowania 50 klatek.
Zgłoszenia
- Na końcu przechwytywania jest w stanie zbieżnym 3A.
zmiana_sceny/zmiana_sceny_testowej
Metoda
Włączony jest nowy test, który pozwala sprawdzić, czy flaga android.control.afSceneChange
jest
co jest równoznaczne ze zmianą sceny. Zmiana sceny wykorzystuje tablet
wyświetlenie sceny twarzy, a następnie włączanie i wyłączanie tabletu w celu utworzenia
zmianę sceny. Wykorzystuje ponownie scenę2_e, ale znajduje się w osobnej scenie, ponieważ:
wymagany element sterujący na tablecie.
W przypadku testów ręcznych zmianę scenerii można też przeprowadzić machnięciem dłonią. dłoń przed aparatem.
Rysunek 7 przedstawia diagram czasowy testu. Czas między obracaniem ekranu wyłączone, a rejestrowanie jest dostosowywane na podstawie wyników zdarzeń z poprzednich zapisów.
Rysunek 7. Diagram czasu dla parametru test_scene_change
Zmień warunki:
- Jeśli nastąpi zmiana sceny i
afSceneChange == 1
, test powróciPASS
- Jeśli następuje zmiana sceny i
afSceneChange == 0
, następuje jej zmiana. przenosi o 5 klatek wcześniej, aby dać elementowiafSceneChange
więcej czasu na potwierdzenie. - Jeśli scena się nie zmieni, a
afSceneChange == 1
, test powróciFAIL
- Jeśli scena się nie zmienia, a scena
afSceneChange == 0
się nie zmienia, przesuń o 30 klatek wcześniej, by uzyskać zmianę sceny.
Zgłoszenia
- Przełączniki ekranu (sceny).
- Flaga
afSceneChange
znajduje się w zakresie [0, 1]. - Jeśli scena się nie zmieni, 3A będą zbieżne (funkcjonalnie identyczne jak
test_continuous_picture
). - Jeśli wybrano ustawienie
afSceneChange == 1
, jasność sceny musi się zmienić. PASS
w ciągu 6 prób, przy czym czas został zmieniony na podstawie poprzednich wyników.
scen6/zoom_testowy
Metoda
Aby przetestować android.control.zoomRatioRange
jako
stałe sceny nie mają cech dostatecznie małej, aby można było je powiększyć.
(sceny [1, 2, 4]) lub znajdują się w nich wiele obiektów, których nie da się łatwo zidentyfikować,
komplikujące wyodrębnianie cech (scena 3).
Rysunek 8 przedstawia nową scenę z regularnymi okręgami. Tablica
okręgi rozwiązują wymagania dotyczące wyśrodkowania ekranu DUT i pozwalają na pojawienie się okręgu
zawsze w pobliżu środka zdjęcia. W tej scenie tablica 9 x 5
okręgi z czarnym obramowaniem zakrywają cały tablet. Zastąpiono 1 krąg
z kwadratem w prawym górnym rogu, aby pokazać orientację. Rozmiary okręgu
mają cechę o obszarze około 7500 pikseli (radius=50pixels
) dla
Czujnik rozdzielczości 4000 x 3000 został zarejestrowany z polem widzenia (FoV) ustawionym na około 80 stopni.
Rys. 8. Scena test_zoom
Rysunek 9. Pixel 4 cam[0] zoom = [1, 3.33, 5.67, 8] obrazy ze znalezionym okręgiem
Ilustracja 9 przedstawia zdjęcia tylnego aparatu Pixela 4 w trybie powiększenia zwiększa się od 1 do 8x w 4 krokach. Ten zestaw zdjęć jest robiony bez w taki sposób, aby było to możliwe tylko w przypadku testowania przysłony w telefonie. dwa otwory umożliwiające testowanie przedniego i tylnego aparatu. Przesunięcie od jest oczekiwany i jest obserwowany, gdy tablet z wykresem jest nieco na lewo od pomocy. Poza tym wykres wydaje się wystarczający do przetestowania powiększenia. wyższe niż 8x.
Znajdowanie kręgów
Test obejmuje metodę find_circle()
z użyciem findContours
, która znajduje wszystkie
kontury i zawężanie wyszukiwania konturów w dół do żądanych okręgów przez testowanie
następujące:
- Obszar konturów musi być większy niż 10 pikseli.
- Kontury muszą zawierać atrybut
NUM_PTS >= 15
. - Kontury muszą mieć czarne środki.
- Kontury muszą przypominać koło, czyli ich pole w pobliżu obszaru pi*r2 konturu.
Zakres testowy
Pole android.control.zoomRatioRange
jest podzielone na 10 kroków.
- [1, 7] testów [1, 1,67, 2,33, 3, 3,67, 4,33, 5, 5.67, 6.33, 7]
Powiększanie zostanie zatrzymane, jeśli znaleziony okrąg styka się z granicami obrazu. Trzeba sprawdzić, czy w teście jest osiągnięty wystarczający poziom powiększenia. (10x).
Zgłoszenia
- Przy każdym ustawieniu powiększenia znajduje się co najmniej jeden okrąg.
- Testowana jest 10x lub maksymalna liczba
android.control.zoomRatioRange
. - Promień okręgu skaluje się przy powiększeniu (RTOL o 10% od oczekiwanego).
- Przesunięcie środka okręgu od środka skal z powiększeniem (RTOL 10% od oczekiwanych).
- Osiągnięto wystarczający poziom powiększenia (2x).
Zwiększono limit testowania aparatu (LIMITED)
Na Androidzie 11 testy w poniższej tabeli
przetestuj LIMITED
kamer. Oprócz nowych testów
test scene4/test_aspect_ratio_and_crop
został zaktualizowany, aby umożliwić testowanie
z LIMITED
urządzeń z pierwszym poziomem interfejsu API wynoszącym 30 lub wyższym.
Oświetlenie | Nazwa testu |
---|---|
0 | test_vibration_restrictions |
2_a | test_jpeg_quality |
2_d/2_e | test_num_faces |
4 | test_aspect_ratio_and_crop |
6 | test_zoom |
Rysunek 10 przedstawia tajny dekoder ITS w Androidzie 11 dzwonek. Dekoder obiektu tajnego pokazuje on ustawienia, jakie są kontrolowane przez poszczególne testy. Bramka jest są oznaczone kolorami, które ułatwiają przeglądanie. Główne elementy bramki to:
MANUAL_SENSOR
READ_3A
*wymagaMANUAL SENSOR
COMPUTE_TARGET_EXPOSURES
*wymagaMANUAL SENSOR
PER_FRAME_CONTROL
RAW
SENSORS
*REALTIME
MULTI_CAMERA
MANUAL SENSOR
, READ_3A
, COMPUTE_TARGET_EXPOSURES
i
W przypadku większości testów bramka PER_FRAME_CONTROL
. Dodatkowo testy, które
włączone na LIMITED
urządzeniach są wyróżnione na jasnozielono.
Rysunek 10. Android 11 – pierścień dekodera tajnego