Konfigurationsdatei eines Moduls
Die Konfigurationseinstellungen des Moduls stehen in der Datei <file name x>.json (in diesem Beispiel ai-object-matching-module.json) und legen fest, wie das Netzmodul Bilddaten auswertet.
Ein Beispiel für die JSON-Einstellungen der Modulkonfiguration:
{
"$schema": "schemas/lumiscan-ai-object-matching-module.schema.json",
"meta":
{
"inputFileType": "LumiScan-CtrlX-AI-Object-Matching-Module",
"inputFileVersion": "1.0.0",
"targetMachine": "Example",
"programName": "AI-Object-Matching",
"programVersion": "1.0.0"
},
"name": "example",
"neuralNetworkConfig": "models/model_description.json",
"externalImagePath": "hdvisionsystems/lumiscan-cam-driver/camera1/output/image"
}
Die Beschreibung der oben genannten Parameter finden Sie in der folgenden Tabelle 6.
| Parameter | Beschreibung |
|---|---|
meta |
Ort für Metainformationen: inputFileType und inputFileVersion sind erforderlich. |
inputFileType |
Muss in diesem Fall sein: |
inputFileVersion |
Derzeit wird nur Version 1.0.0 unterstützt. |
targetMachine |
Optional. Tragen Sie hier den Namen der verwendeten Maschine ein, um anzuzeigen, dass die aktuelle Anwendungskonfiguration für genau diese Maschine verwendet wird. |
programName |
Optional. Dieser Parameter gibt an, von welcher Anwendung die aktuelle Datei verwendet wird. In diesem Fall: |
programVersion |
Optional. Derzeit verwendete Programmversion. |
name |
Ein eindeutiger Bezeichner für das neuronale Netz, der auch als Netzname in der Data-Layer-Adresse verwendet wird: |
neuralNetworkConfig |
Der Dateipfad zu den Parametern des Modells des neuronalen Netzes. Diese Parameter werden vom LumiScan Training Framework erzeugt. |
externalImagePath |
Pfad zur Data-Layer-Adresse, die das Bild enthält. Die angegebene Bildadresse muss data, height, width, pixel-type enthalten. |
stream |
Experimentell (ab v2.2.0). Optional. Inferenz auf einem Bild-Stream aus einer Quelle: die Einstellungen unten. Ohne diesen Abschnitt, oder ohne |
stream.enable |
|
stream.address |
Der Bild-Stream, der inferiert wird: sein Ordner, zum Beispiel |
stream.tag |
Das Tag auf den Ergebnissen des Moduls: Der Schritt des Moduls in der Lineage jedes Stream-Ergebnisses trägt es, sodass jeder, der ein Ergebnis weiter unten in der Kette liest, sieht, welches Modul es erzeugt hat. Optional. Weggelassen oder leer: die Modul-ID, das letzte Segment der Adresse des Moduls - |
stream.queueSize |
Wie viele Bilder auf die Inferenz warten dürfen: 1 bis 64, standardmäßig 1. 1 inferiert das neueste Bild; ein höherer Wert behält mehr Bilder, wenn das Netz zurückfällt. Siehe Die Warteschlangengröße. |
stream.keepLatestOutput |
|
stream.onEntry |
Die Schritte, die auf jedes eintreffende Bild vor der Inferenz angewendet werden, jeder ein Objekt mit einem |
stream.onExit |
Reserviert für Schritte, die auf jedes Ergebnis angewendet werden. Wird noch nicht gelesen: Die Anwendung protokolliert eine Warnung, und die Schritte werden nicht angewendet. |
|
Nach einer Änderung der Parameter sollte die Anwendung LumiScan AI Object Matching neu gestartet werden. Für
den Abschnitt Die Stream-Layouts früherer Test-Builds werden nicht mehr gelesen: |
Automatisches Kopieren eines externen Bildes
Um ein externes Bild automatisch aus einer anderen Anwendung zu kopieren, muss diese Anwendung eine Adresse mit den folgenden Parametern bereitstellen:
| Adresse | Typ |
|---|---|
|
Array von uint8_t |
|
uint32_t |
|
uint32_t |
|
string, mögliche Werte: Mono8, RGB8 |
<address> ist das Bildfeld, das in der Modulkonfigurationsdatei unter externalImagePath angegeben ist.
| Diese Schnittstelle ist für die Verwendung mit dem LumiScan Cam Driver entworfen und getestet. Die Kompatibilität mit Bilddaten anderer Anwendungen kann nicht garantiert werden. |
Vollständige Referenz
Alle Einstellungen dieser Datei, wie sie ihr JSON-Schema lumiscan-ai-object-matching-module.schema.json festlegt, erzeugt für Version 2.1.0 (Beschreibungen aus dem Schema, auf Englisch):
| Einstellung | Typ | Standard | Zulässige Werte | Beschreibung |
|---|---|---|---|---|
|
object |
Pflichtangabe. |
||
|
string |
nicht leer |
Pflichtangabe. |
|
|
string |
nicht leer |
Pflichtangabe. |
|
|
string |
nicht leer |
Pflichtangabe. |
|
|
string |
nicht leer |
Pflichtangabe. |
|
|
string |
nicht leer |
Pflichtangabe. |
|
|
string |
Muster |
Pflichtangabe. only [a-Z], [0-9], '-' and '_' are allowed. Unique ID of the camera configuration. This is used to identify different camera on datalayer. |
|
|
string |
nicht leer |
Pflichtangabe. Path to network description file. |
|
|
string |
nicht leer |
If specified, the image will be loaded from the specified path instead of the ai-object-matching app managed input image. |
|
|
object |
If specified, input image will be cropped and then used for inference. Note that the detected pixel position is related to original image. Use it if you want to accelerate the inference by reducing the image size. |
||
|
number |
≥ 0 |
Pflichtangabe. |
|
|
number |
≥ 0 |
Pflichtangabe. |
|
|
number |
Pflichtangabe. |
||
|
number |
Pflichtangabe. |
||
|
string |
nicht leer |
If specified, the result will be simulated. This is useful for testing the application without the actual neural network. |
|
|
object |
If specified, the detected object's index will be remapped to other index. Ke |
||
|
integer |
JSON-Schemas
Die Anwendung legt die JSON-Schemas ihrer Einstellungsdateien in ihrem Ordner schemas ab; diese Kopien passen immer zur installierten Version.
Die Schemas von LumiScan AI Object Matching 2.1.0 stehen außerdem zum Download bereit: JSON-Schemas von LumiScan AI Object Matching 2.1.0.
Damit ein Editor wie Visual Studio Code eine Kopie einer Einstellungsdatei prüft, die Sie auf Ihrem PC bearbeiten, lassen Sie deren Eintrag $schema auf das veröffentlichte Schema zeigen:
{
"$schema": "https://docs.hdvisionsystems.com/schemas/lumiscan-ai-object-matching/2.1.0/lumiscan-ai-object-matching-module.schema.json",
...
}
Lassen Sie den Eintrag $schema der Dateien auf dem Gerät so, wie die Anwendung ihn geschrieben hat.