Testen und Validieren der Leistung von KI-Kameramodulen

Erstellt 02.28
Mit der rasanten Verbreitung von KI-Kameramodulen in Smart Homes, der industriellen Automatisierung, autonomen Fahrzeugen und der öffentlichen Sicherheit bestimmt deren Leistung direkt die Zuverlässigkeit des gesamten Systems. Im Gegensatz zu herkömmlichen Kameramodulen, bei denen sich die Prüfung ausschließlich auf Hardware-Spezifikationen wie Auflösung und Bildrate konzentriert, erfordern KI-Kameramodule einen ganzheitlichen Ansatz, der Hardware-Validierung, Software-Tests (KI-Algorithmen) und Simulationen realer Szenarien kombiniert. Viele Ingenieure und Produktteams geraten in die Falle, grundlegende Metriken zu priorisieren und dabei die einzigartigen Herausforderungen der KI-Integration zu übersehen, wie z. B. Modell-Drift, Hardware-KI-Synergie und Umweltbeständigkeit. In diesem Leitfaden stellen wir ein praktisches, innovatives Testframework vor, das über die Grundlagen hinausgeht und Ihnen hilft, präzise zu messen und zu validieren KI-Kameramodul Leistung für den realen Einsatz.

Warum traditionelle Testmethoden für KI-Kameramodule unzureichend sind

Die traditionelle Kameratestung konzentriert sich auf Hardwareparameter: Auflösung (gemessen anhand von Testcharts), Bildrate (FPS), Farbgenauigkeit und Autofokusgeschwindigkeit. Obwohl diese für KI-Kameramodule immer noch wichtig sind, werden sie dem Kernwert von KI – intelligenter Wahrnehmung und Entscheidungsfindung – nicht gerecht. Eine Kamera mit 4K-Auflösung und 60 FPS kann beispielsweise immer noch schlecht abschneiden, wenn ihr KI-Algorithmus Schwierigkeiten hat, Objekte bei schlechten Lichtverhältnissen zu erkennen, oder unter hohen Fehlalarmraten leidet. Darüber hinaus testen viele Teams KI-Modelle in kontrollierten Laborumgebungen, ignorieren aber reale Variablen wie extreme Temperaturen, Staub oder dynamische Beleuchtung – was zu kostspieligen Ausfällen nach der Bereitstellung führt.
Eine weitere häufige Lücke ist mangelnde Aufmerksamkeit für Modelldrift und Hardware-KI-Synergie. KI-Modelle verschlechtern sich im Laufe der Zeit, wenn sich die Eingabedaten ändern (Modelldrift), und die Leistung des KI-Algorithmus ist eng mit der Hardware der Kamera verknüpft (z. B. Bildsignalprozessor (ISP) und KI-Chip). Eine Nichtübereinstimmung zwischen Hardware und KI kann zu Verzögerungen, ungenauen Erkennungen oder übermäßigem Stromverbrauch führen. Um diese Fallstricke zu vermeiden, integriert unser Testframework drei Säulen: Hardware-KI-Synergie, Robustheit des KI-Algorithmus und Anpassungsfähigkeit an die reale Welt – alles validiert durch einen strukturierten Workflow vom Labor bis zum Feld.

Wichtige Leistungskennzahlen zum Testen (über grundlegende Spezifikationen hinaus)

Um ein KI-Kameramodul vollständig zu validieren, müssen Sie sowohl traditionelle Hardware-Metriken als auch KI-spezifische Leistungsindikatoren messen. Nachfolgend sind die kritischen Kennzahlen aufgeführt, die priorisiert werden sollten, mit innovativen Testmethoden für jede Kategorie.

1. Hardware-KI-Synergie: Die Grundlage zuverlässiger Leistung

KI-Kameramodule sind auf die nahtlose Zusammenarbeit zwischen Hardware (Objektiv, Sensor, ISP, KI-Chip) und KI-Algorithmen angewiesen. Eine schlechte Synergie kann die Vorteile von High-End-Hardware oder einem leistungsstarken KI-Modell zunichte machen. Hier erfahren Sie, wie Sie dies effektiv testen:
• ISP-KI-Chip-Kollaboration: Testen Sie, wie die Bildverarbeitung des ISP (Rauschunterdrückung, Belichtungsanpassung, Weißabgleich) die Leistung des KI-Algorithmus beeinflusst. Verwenden Sie beispielsweise ein leichtgewichtiges Datenerfassungstool wie LazyCam, um ressourcenbeschränkte Edge-Umgebungen zu simulieren, und messen Sie, wie sich die ISP-Verarbeitungsgeschwindigkeit auf die KI-Inferenzlatenz auswirkt. Ein gut optimiertes Modul sollte eine konsistente KI-Leistung aufrechterhalten, auch wenn der ISP unter Last steht (z. B. bei der Verarbeitung von Szenen mit hohem Kontrast). Verwenden Sie Tools wie die V4L2-API, um eine Zero-Copy-Frame-Erfassung zu ermöglichen, wodurch Verzögerungen bei der Datenübertragung zwischen Sensor und KI-Chip reduziert werden – und validieren Sie deren Auswirkungen auf die Inferenzgeschwindigkeit.
• Stromverbrauch vs. Leistungsgleichgewicht: KI-Kameramodule werden oft in Edge-Geräten (z. B. Raspberry Pi + Coral TPU) mit begrenzter Stromversorgung eingesetzt. Testen Sie den Stromverbrauch bei verschiedenen KI-Workloads (z. B. Leerlauf, Objekterkennung, kontinuierliche Aufzeichnung) und stellen Sie sicher, dass er den Einsatzanforderungen entspricht. Beispielsweise sollte eine Smart-Home-Kamera bei kontinuierlicher KI-Überwachung weniger als 5 W verbrauchen und gleichzeitig eine Erkennungsgenauigkeit von über 95 % beibehalten. Verwenden Sie Stromüberwachungswerkzeuge, um den Verbrauch zu verfolgen, und optimieren Sie ihn durch dynamische Bildratenabtastung (Variable Frame Rate Sampling, VFRS) – eine "lazy" Erfassungsstrategie, die redundante Daten reduziert und den Stromverbrauch senkt, ohne kritische Erkennungen zu beeinträchtigen.
• Speichereffizienz: Testen Sie den Speicherverbrauch des Moduls während der KI-Inferenz, um Abstürze oder Verzögerungen zu vermeiden. Verwenden Sie Tools wie Prometheus, um die RAM/CPU-Auslastung zu überwachen, wenn das KI-Modell (z. B. YOLOv5s) ausgeführt wird, und stellen Sie sicher, dass es innerhalb der Grenzen des Edge-Geräts bleibt. Optimieren Sie durch Memory Mapping (mmap), um Datenredundanzen zwischen dem Kamera-Puffer und dem KI-Chip zu reduzieren. Diese Technik kann den Speicherverbrauch um bis zu 30 % senken.

2. AI Algorithm Robustness: Beyond Accuracy

The AI algorithm is the "brain" of the module, so testing its robustness is critical. Focus on metrics that reflect real-world performance, not just lab accuracy:
• Objekterkennungs-/Erkennungsgenauigkeit (kontextualisiert): Anstatt die Genauigkeit anhand eines einzelnen, kontrollierten Datensatzes zu testen, verwenden Sie vielfältige Datensätze, die reale Szenarien nachahmen: unterschiedliche Entfernungen (1–10 m), Winkel (0°–90°), Lichtverhältnisse (schwaches Licht, Gegenlicht, direktes Sonnenlicht) und Objektvariationen (z. B. verschiedene Arten von Personen, Fahrzeugen oder Defekten in industriellen Umgebungen). Messen Sie nicht nur die Gesamtgenauigkeit, sondern auch die Fehlalarmraten (FPR) und Falsch-Negativ-Raten (FNR) – entscheidend für Sicherheits- oder industrielle Anwendungen, bei denen übersehene Erkennungen (hohe FNR) oder Fehlalarme (hohe FPR) kostspielig sind. Beispielsweise sollte eine industrielle KI-Kamera eine FNR von <1 % bei der Erkennung von Produktfehlern aufweisen, selbst in schwach beleuchteten Fabriken.
• Inferenzlatenz (End-to-End): Latenz ist die Zeit, die das Modul benötigt, um ein Bild zu erfassen, es über den KI-Algorithmus zu verarbeiten und ein Ergebnis zurückzugeben. Für zeitkritische Anwendungen (z. B. autonome Fahrzeuge, Echtzeit-Sicherheitswarnungen) muss die Latenz unter 100 ms liegen. Testen Sie die End-to-End-Latenz (nicht nur die KI-Inferenzzeit), um ISP-Verarbeitungs- und Datenübertragungsverzögerungen einzuschließen. Messen Sie bei hybriden Edge-Cloud-Bereitstellungen die Latenz über Edge-Geräte und die Cloud hinweg, um eine nahtlose Zusammenarbeit zu gewährleisten – entscheidend für Anwendungen wie die Fernüberwachung.
• Modell-Drift-Resistenz: KI-Modelle verschlechtern sich im Laufe der Zeit, wenn sich die Eingabedaten ändern (Daten-Drift) oder sich die Entscheidungskriterien verschieben (Konzept-Drift) – ein häufiges, aber übersehenes Problem. Testen Sie die Resistenz des Moduls gegen Drift, indem Sie es "verschobenen" Daten aussetzen (z. B. Änderungen im Produkterscheinungsbild für Industriekameras oder neue Objekttypen für Smart-Home-Kameras). Verwenden Sie Metriken wie KL-Divergenz oder Kosinus-Distanz, um Änderungen der Eingabedatenverteilung zu messen, und überwachen Sie auf Frühwarnzeichen: sinkende durchschnittliche Konfidenz, inkonsistente Mehrbildvorhersagen oder verschiebende Feature-Embeddings. Ein robustes Modul sollte die Leistung mindestens 6 Monate lang ohne erneutes Training aufrechterhalten oder automatischen Daten-Reflow und Few-Shot-Fine-Tuning unterstützen, um die Leistung schnell wiederherzustellen.

3. Umgebungsresilienz: Testen unter realen Bedingungen

KI-Kameramodule werden in vielfältigen, oft rauen Umgebungen eingesetzt, daher sind Umwelttests nicht verhandelbar. Gehen Sie über grundlegende Temperaturtests hinaus und simulieren Sie die genauen Bedingungen, denen Ihr Modul ausgesetzt sein wird:
• Extrembeleuchtung: Testen Sie bei schwachem Licht (5–10 Lux, simuliert Nachtbedingungen), Gegenlicht (direkte Sonneneinstrahlung hinter Objekten) und starker Blendung (z. B. Sonnenlicht auf reflektierenden Oberflächen). Verwenden Sie ein Luxmeter zur Kontrolle der Bedingungen und messen Sie, wie sich die KI-Genauigkeit und Latenz ändern. Eine Sicherheitskamera sollte beispielsweise eine Erkennungsgenauigkeit von über 90 % bei schwachem Licht beibehalten, ohne die Latenz zu erhöhen. Optimieren Sie durch adaptive Belichtungsanpassungen und Feinabstimmung des KI-Modells für Daten bei schwachem Licht.
• Temperatur und Luftfeuchtigkeit: Testen Sie im gesamten Betriebstemperaturbereich des Moduls (typischerweise -20 °C bis 60 °C für industrielle Module) und bei hoher Luftfeuchtigkeit (80 %+). Extreme Kälte kann den KI-Chip verlangsamen, während hohe Luftfeuchtigkeit zu einer Beschlagbildung der Linse führen kann – beides reduziert die Leistung. Führen Sie kontinuierliche Tests über 24–48 Stunden bei jedem Extrem durch und überwachen Sie die KI-Genauigkeit, den Stromverbrauch und die Hardware-Stabilität. Verwenden Sie Umweltsimulationskammern, um diese Bedingungen konsistent zu simulieren.
• Physikalische Störungen: Testen Sie auf Staub, Wasser und Vibration (z. B. für Kameras in Fabriken oder Fahrzeugen). Setzen Sie das Modul gemäß den IP-Bewertungsstandards Staub oder Wasser aus und testen Sie dann die KI-Leistung – eine Obstruktion der Linse kann die Bildqualität und die KI-Genauigkeit verringern. Verwenden Sie für Vibrationen einen Schütteltisch, um die Bewegung von Fahrzeugen oder Fabrikböden zu simulieren, und stellen Sie sicher, dass die Hardware des Moduls (z. B. Linse, Sensor) stabil bleibt und die KI-Erkennungen konsistent sind.

Ein schrittweiser Test-Workflow (Labor bis reale Welt)

Um eine umfassende Validierung zu gewährleisten, folgen Sie diesem strukturierten Workflow, der von kontrollierten Labortests bis zur Bereitstellung in der realen Welt fortschreitet. Dieser Ansatz reduziert Risiken, deckt versteckte Probleme frühzeitig auf und stellt sicher, dass das Modul in der Produktion wie erwartet funktioniert.

Schritt 1: Labortest (kontrollierte Umgebung)

Beginnen Sie mit Labortests, um eine Leistungsgrundlage zu schaffen und die Synergie zwischen Hardware und KI zu validieren. Nutzen Sie eine kontrollierte Umgebung mit stabilen Lichtverhältnissen, Temperatur und ohne externe Störungen. Zu den wichtigsten Aufgaben gehören:
• Kalibrieren Sie das Kameramodul (Objektiv, Sensor, ISP), um eine gleichbleibende Bildqualität zu gewährleisten.
• Testen Sie grundlegende Hardware-Metriken: Auflösung (mit ISO 12233 Testcharts), Bildrate (über OpenCV-Skripte) und Farbgenauigkeit (mit X-Rite-Farbcharts).
• Validieren Sie die Synergie zwischen Hardware und KI: Testen Sie die Zusammenarbeit von ISP und KI, den Stromverbrauch und die Speichereffizienz mit Tools wie LazyCam und Prometheus.
• Testen Sie die Basisleistung des KI-Algorithmus: Verwenden Sie einen gelabelten Datensatz, um Genauigkeit, FPR (False Positive Rate), FNR (False Negative Rate) und Inferenzlatenz zu messen. Verwenden Sie TensorBoard, um die Leistung des KI-Modells zu visualisieren und Engpässe zu identifizieren.

Schritt 2: Testen von simulierten Szenarien (virtuelle reale Welt)

Da Labortests kontrolliert sind, besteht der nächste Schritt darin, reale Szenarien mit Software-Tools zu simulieren. Dies ermöglicht es Ihnen, Hunderte von Variablen effizient zu testen, ohne kostspielige Feldversuche. Wichtige Tools und Aufgaben umfassen:
• Verwenden Sie Simulationswerkzeuge wie Unity oder MATLAB, um virtuelle Umgebungen (z. B. Industrieanlagen, Smart Homes, Stadtstraßen) mit dynamischer Beleuchtung, bewegten Objekten und Umwelteinflüssen (z. B. Regen, Nebel) zu erstellen.
• Simulieren Sie Modell-Drift, indem Sie verschobene Datensätze einführen (z. B. neue Objekttypen, geänderte Beleuchtung) und die Reaktion des Moduls testen.
• Testen Sie die Edge-Cloud-Synergie: Simulieren Sie Netzwerk-Latenz und Bandbreitenbeschränkungen, um sicherzustellen, dass das Modul in hybriden Bereitstellungen gut funktioniert.
• Automatisieren Sie Tests mit Frameworks wie TensorFlow Lite for Microcontrollers, um wiederkehrende Szenarien (z. B. über 1000 Objekterkennungstests bei unterschiedlichen Lichtverhältnissen) auszuführen und konsistente Daten zu sammeln.

Schritt 3: Pilotierung in der realen Welt (kontrollierte Bereitstellung)

Sobald die simulierte Testphase erfolgreich abgeschlossen ist, stellen Sie das Modul in einer realen Pilotumgebung bereit, die seinem beabsichtigten Anwendungsfall entspricht. Wenn es sich beispielsweise um eine industrielle Inspektionskamera handelt, testen Sie sie an einer Produktionslinie in einer Fabrik; wenn es sich um eine Smart-Home-Kamera handelt, testen Sie sie in einer Wohnumgebung. Zu den wichtigsten Aufgaben gehören:
• Stellen Sie 5–10 Module für 2–4 Wochen in der Pilotumgebung bereit.
• Sammeln Sie Echtzeitdaten: KI-Erkennungen, Latenz, Stromverbrauch und Umgebungsbedingungen (Temperatur, Beleuchtung).
• Vergleichen Sie die Pilotresultate mit Labor-/Simulationsergebnissen, um Lücken zu identifizieren (z. B. geringere Genauigkeit bei realem schwachem Licht im Vergleich zu simuliertem schwachem Licht).
• Sammeln Sie Feedback von Endbenutzern (z. B. Fabrikarbeitern, Hausbesitzern), um Probleme bei der Benutzerfreundlichkeit oder Leistung zu identifizieren (z. B. Fehlalarme, langsame Benachrichtigungen).

Schritt 4: Langzeit-Stabilitätstests (Überwachung von Modell-Drift)

Da KI-Kameramodule oft über Jahre hinweg eingesetzt werden, ist die langfristige Stabilitätstests entscheidend, um ihre Widerstandsfähigkeit gegen Modellabweichungen und Hardwareverschleiß zu validieren. Zu den wichtigsten Aufgaben gehören:
• Führen Sie kontinuierliche Tests über 3–6 Monate durch, um die KI-Leistung (Genauigkeit, FPR, FNR) und die Hardwaregesundheit (Stromverbrauch, Speichernutzung) zu überwachen.
• Implementieren Sie ein vierstufiges Driftüberwachungssystem: Eingangsqualität (Bildhelligkeit, KL-Divergenz), Ausgabeanomalien (Vertrauensvarianz), Leistungsproxies (Multi-Modell-Konsistenz) und Feedback von Menschen im Prozess (manuelle Überprüfungsraten).
• Testen Sie die automatisierte Wiederherstellung: Wenn eine Drift erkannt wird, validieren Sie, dass das Modul automatisch Daten zurückführen, das Modell feinabstimmen und die Firmware ohne Ausfallzeiten aktualisieren kann.

Wesentliche Werkzeuge für die Prüfung von KI-Kameramodulen

Die richtigen Werkzeuge optimieren den Testprozess, verbessern die Genauigkeit und reduzieren manuellen Aufwand. Nachfolgend finden Sie die effektivsten Werkzeuge für jede Testphase, mit Fokus auf Innovation und Benutzerfreundlichkeit:
• Hardware-Tests: LazyCam (leichtgewichtige Datenerfassung und Vorverarbeitung), V4L2 API (Zero-Copy-Frame-Erfassung), Prometheus (Strom-/Speicherüberwachung), Klimakammern (Temperatur-/Feuchtigkeitstests), ISO 12233 Testcharts (Auflösung).
• KI-Algorithmus-Tests: TensorFlow Lite for Microcontrollers (Edge-KI-Tests), OpenCV (Bildverarbeitung und Bildraten-Tests), TensorBoard (Visualisierung von KI-Modellen), Roboflow (Datenmanagement und Drift-Erkennung).
• Simulationstests: Unity (3D-Szenario-Simulation), MATLAB (Signalverarbeitung und KI-Leistungsanalyse), Kafka (Nachrichten-Middleware für Edge-Cloud-Synergie-Tests).
• Echtzeit-Überwachung: Prometheus + Grafana (Echtzeit-Datenvisualisierung), Label Studio (Human-in-the-Loop-Annotation zur Drift-Wiederherstellung), Edge Impulse (Retraining von Edge-KI-Modellen).

Häufige Testfallen (und wie man sie vermeidet)

Selbst mit einem strukturierten Framework machen Teams oft Fehler, die zu ungenauen Testergebnissen oder Fehlern nach der Bereitstellung führen. Hier sind die häufigsten Fallstricke und wie man sie vermeidet:
• Pitfall 1: Testing Only in Controlled Lab Environments: Lösung: Priorisieren Sie simulierte und reale Tests, um Umwelt- oder Kontextprobleme aufzudecken. Verwenden Sie eine Mischung aus Labor-, Simulations- und Pilottests, um eine umfassende Abdeckung sicherzustellen.
• Pitfall 2: Ignoring Model Drift: Lösung: Implementieren Sie kontinuierliches Drift-Monitoring unter Verwendung von KL-Divergenz, Einbettungsraum-Analyse und Echtzeit-Leistungsmetriken. Testen Sie automatisierte Wiederherstellungsmechanismen, um sicherzustellen, dass das Modul die Leistung über die Zeit aufrechterhält.
• Pitfall 3: Overlooking Hardware-AI Synergy: Lösung: Testen Sie, wie Hardwarekomponenten (ISP, AI-Chip) mit dem AI-Algorithmus interagieren, nicht nur isoliert. Verwenden Sie Tools wie LazyCam, um Randressourcenschränkungen zu simulieren und die Synergie zu validieren.
• Fallstrick 4: Nur auf Genauigkeit fokussieren (nicht FPR/FNR): Lösung: Messen Sie falsch-positive und falsch-negative Raten, insbesondere für Sicherheits- oder industrielle Anwendungen. Ein Modul mit 99% Genauigkeit, aber hohem FPR, ist für den realen Einsatz nutzlos.
• Fallstrick 5: Inkonsistente Testumgebungen: Lösung: Standardisieren Sie die Testbedingungen (Beleuchtung, Temperatur, Kamerapositionierung) mit Werkzeugen wie Lichtmessgeräten und Stativen. Erstellen Sie eine Standardarbeitsanweisung (SOP), um die Konsistenz über Testläufe und Teammitglieder hinweg zu gewährleisten.

Praxisbeispiel: Testen von industriellen KI-Kameramodulen

Um zu veranschaulichen, wie dieser Rahmen in der Praxis funktioniert, untersuchen wir ein Fallbeispiel eines industriellen KI-Kameramoduls, das für die Erkennung von Produktfehlern in einer Fertigungslinie entwickelt wurde. Das Modul musste kleine Fehler (0,5 mm+) an Metallteilen mit einer Genauigkeit von über 99 %, einer Latenz von unter 50 ms und einer Beständigkeit gegen Modell-Drift erkennen.
Verwendung unseres Test-Frameworks: 1) Labortests bestätigten die Synergie zwischen Hardware und KI, wobei LazyCam den Stromverbrauch durch VFRS und Zero-Copy-Aufnahme um 40 % reduzierte. 2) Simulierte Tests in Unity zeigten, dass schlechte Lichtverhältnisse (10 Lux) die Genauigkeit auf 92 % reduzierten, daher optimierten wir das Denoising des ISP und stimmten das KI-Modell mit Daten bei schlechten Lichtverhältnissen ab. 3) Pilotversuche in der Produktionslinie deckten gelegentliche Fehlalarme aufgrund von Staub auf der Linse auf – wir fügten eine staubabweisende Beschichtung hinzu und passten den Schwellenwert des KI-Modells an. 4) Langzeittests (6 Monate) zeigten eine minimale Modellabweichung, wobei automatische Datenrückführung und Feinabstimmung eine Genauigkeit von 99,2 % aufrechterhielten.
Das Ergebnis: Ein Modul, das die Kundenanforderungen übertraf, mit null Ausfällen nach der Bereitstellung und einer Reduzierung der manuellen Inspektionskosten um 30 %. Diese Fallstudie zeigt, wie ein ganzheitlicher, innovativer Testansatz direkt zu realen Erfolgen führt.

Conclusion: Testing for Real-World Reliability

Das Testen und Validieren der Leistung von KI-Kameramodulen erfordert eine Abkehr von traditionellen, hardwarezentrierten Methoden hin zu einem ganzheitlichen Ansatz, der die Synergie von Hardware und KI, die Robustheit von KI-Algorithmen und die Anpassungsfähigkeit an die reale Welt integriert. Indem Sie dem in dieser Anleitung dargelegten Rahmen folgen – innovative Metriken wie Modell-Drift-Resistenz und Hardware-KI-Kollaboration priorisieren, die richtigen Werkzeuge verwenden und vom Labor zur realen Welt testen –, können Sie sicherstellen, dass Ihr Modul in seiner vorgesehenen Umgebung zuverlässig funktioniert.
Denken Sie daran: Das Ziel von Tests ist nicht nur die Einhaltung von Spezifikationen, sondern die Bereitstellung eines Produkts, das durch Genauigkeit, Geschwindigkeit und Widerstandsfähigkeit einen Mehrwert bietet. Mit der richtigen Teststrategie können Sie kostspielige Ausfälle nach der Bereitstellung vermeiden, Vertrauen bei Ihren Kunden aufbauen und sich einen Wettbewerbsvorteil im schnell wachsenden Markt für KI-Kameras verschaffen.
KI-Kameramodule, Smart-Home-Technologie, industrielle Automatisierung
Kontakt
Hinterlassen Sie Ihre Informationen und wir werden uns mit Ihnen in Verbindung setzen.

Unterstützung

+8618520876676

+8613603070842

Nachrichten

leo@aiusbcam.com

vicky@aiusbcam.com

WhatsApp
WeChat