Pole Equipment AI

Sign in to manage this server.

There are no accounts on this server yet. On the server, create the first admin account:

sudo pole-ai admin-user

Then reload this page.

Choose a new password

Your account has a temporary password. Choose your own before you continue.

Pole Equipment AI
 

Overview

Services

This server

Models in use

Recent actions

Test a photo

Paste a photo link, or drop, choose or paste (Ctrl+V) an image. The running API analyses it exactly as it would for SQL, and the result is written to SQL Server the way the worker writes it.

Drop an image here, click to choose one, or press Ctrl+V to paste a copied image.

JSON result


        

Training

How new labels get into the model the API uses: label, check the data, train, compare, put into service. Each step below shows where you are.

  1. 1Your labelled photos

  2. 2What the next training learns from

  3. 3Start a training

    Training settings

    More rounds learn more but take longer. Your own photos are used several times in each round, so a few hundred of them are not drowned by the thousands of public photos. Used by the next training.

  4. 4Follow the training

    Score per round

    Score (mAP50-95, checking photos)Score at 50% overlap (mAP50)Training loss (right scale)

    Training output

    Loading...
  5. 5Compare and put into service

Models

Which model the API uses, the earlier versions kept, and the training runs. Every change is checked, and can be undone.

In use now

Trained models

Runs trained on this server. Put one into service with a new version name: the model in use is backed up first, the API restarts and is checked, and if it does not answer with the new model the previous one goes back automatically.

Upload a model

A model file made by this program's training on another server (for example: trained on ubuntuaiserv001, used here). It is checked before it can be used. Up to 2 GB.

Earlier versions

Each time a model is replaced, the one it replaced is kept here with its version name, so it can be put back exactly as it was. Mark a version Keep to protect it from the automatic clean-up.

backups of each kind (0 = keep all). Older ones are removed when a new model goes into service.

Detection settings

How the API turns the model's output into the boxes stored in SQL. Saving restarts the API (about a minute).

Lower confidence finds more equipment but also more mistakes; 0.30 is a good start. Which photo links are accepted is set on the Settings page (Photo links).

Changes

Datasets

Everything the training learns from: add datasets, choose which ones are used, and how their labels count.

Add a dataset, then use it

  1. Add it: paste its Roboflow link, or upload a labelled zip (below).
  2. Check its labels ("Labels" in the list): every label should count as one of your categories, or be left out.
  3. "Update everything" downloads it and builds the combined training set; its report at the bottom shows the boxes per category.
  4. Training, step 3: "Start update". Then compare and put the new model into service (step 5).

Versions

The versions Roboflow has of this dataset, asked just now. Training uses the version marked used for training. Choosing another one keeps the version on this server, so switching back needs no download.

Labels

Each label the dataset uses, how many boxes it has, and which category those boxes count as in training. "Leave out" ignores them. "automatic" follows the other names on the Categories page.

Add a dataset from Roboflow

Paste the link of a public dataset on Roboflow Universe (or one in your own workspace), for example https://universe.roboflow.com/zac-ogogt/utility-poles-kcumt/dataset/5. It needs the Roboflow key (below). Never upload Davey photos to a public Roboflow workspace.

Upload a labelled zip

An export with data.yaml from CVAT ("Ultralytics YOLO Detection 1.0", with images) or Roboflow ("YOLOv8" / "YOLO11"). It is added as its own dataset. Photos without labels go to Label photos instead.

Drop a zip here or click to choose one.

Combined training set

Roboflow key

Results in SQL

The newest rows in poleai.ImageAnalysis.

Stored JSON

Users

Who can sign in to this page, and which role each person has. What each role may do: Roles.

Add a person

A temporary password is made for the new person. They must choose their own the first time they sign in. You can give only roles that have no more permissions than your own. The roles and their permissions are on the Roles page.

People

Activity

Sign-ins, account changes and actions, newest first.

Roles and permissions

What each role may do. Every account has one role; a change applies at once to everyone with that role.

Roles

    Administrator always has every permission, also those of sections added later. Operator and Viewer can be changed, or reset to their defaults.

    Loading...

    Compare roles

    My account

    What my role allows

    Change my password

    Label photos

    Upload your own photos and draw a box around each piece of equipment. The next training uses them.

    Download labelled photos (zip)
    Drop photos or a zip file here, or click to choose. A zip of photos adds them for labelling; a labelled CVAT or Roboflow export (zip with data.yaml) is imported as a dataset.

    Photos are stored on this server only, upright and without their GPS and camera details. The same photo is never stored twice.

    Choose a photo in the list below, or upload photos first.

    Category

    For new labels, and for the selected one.

    Labels on this photo

      Keys

      V B P S tools, 1-9 category, Del remove label, ] [ forward / backward (with Shift: to front / to back), Ctrl+C / V copy and paste labels, R repeat previous photo, Ctrl+Z undo, Enter close polygon or save and next, Esc cancel, ← → photos, + - zoom. Polygon corners: drag to move, double-click an edge to add one, Shift+click a corner to remove it.

      Suggest labels with

      The photo is sent from this server to Google for each request; the key goes with it and is forgotten. Reloading the page forgets the key.

      Categories  

      Many photos at once

      Results wait as dashed suggestions on each photo until someone checks and saves it.

      Photos

      Categories

      The kinds of equipment the AI looks for, and the other names they have in datasets and folders.

      Teach the AI a new kind of equipment

      1. Add the category below (for example: riser).
      2. On Label photos, upload photos that show it and draw a box around each one. Aim for 150 boxes or more, from different poles and angles.
      3. On Training, click "Train final model". The new model learns the new category.
      4. On Models, put the new model into service. From then on every result can include it.

      Settings

      Page title and logo, the SQL Server connection of the worker, and which photo links are accepted.

      Title and logo

      Current logo

      SQL Server

      Where the worker reads photo links and writes results. The worker, this page and the installer all use these settings. The password is stored encrypted (only root can decrypt it, at service start) and is never shown.

      Server and login

      Photos to analyse (target)

        The photo query the worker runs (worker/worker.yaml)

        Photo links

        Which photo links the API downloads - from the worker, the nightly job, other programs and the Test page. Uploaded and pasted photos are not affected. Saving restarts the API (about a minute).

        Public internet links

        An internal photo server (for example a file or GIS server on the Davey network) must be listed here, even when public links are allowed. Every redirect is checked again.

        Check a link

        Checks with the saved settings (save first after a change). Nothing is downloaded.

        Logs

        The last 100 lines of each service.

        Loading...