Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Updated:

質問

SシリーズBOXカメラでAIモデルの精度が悪い。

...

回答

SシリーズBOXカメラは、イメージセンサーの取り付け位置の関係で、デフォルトで180度回転しています。

...

  1. カメラを上下逆に設置する
    ブラウザで画像を確認する場合は、以下の設定を行ってください。
    [設定] - [基本] - [基本] - [画像回転]:180°(上下反転)

  2. ADAM_CamPref_Get()で回転設定を取得する
    取得した設定が180°に設定されている場合は画像を回転させ

Sシリーズのボックスカメラは、イメージセンサーの取り付け位置の関係で、デフォルトで180度回転するようになっています。

  1. で回転設定を取得し、設定によって処理を変える
    取得した設定が180°に設定されている場合は画像を回転させて、正常に認識できるかをご確認ください。
    処理サンプル:

    Code Block
    languagec
    retval = ADAM_CamPref_Get(

...

処理に関するサンプルを添付いたします。

...

CNN モデル

...

処理時間 (ms) ※参考値

...

Xシリーズ
Sシリーズ (i-PRO mini / 全方位)

...

Sシリーズ
(Box / Dome)

...

mobilefacenets_fix8_112_96

...

2.0846

...

4.1692

...

mobilenetv1_ssd_fix8_300_300

...

6.9175

...

13.835

...

resnet50_fix8_224_224

...

18.7301

...

37.4602

...

vgg19_fix8_224_224

...

88.0988

...

176.1976

...

vgg16_ssd_fix8_300_300

...

122.4476

...

244.8952

...

yolov3_fastest_fix8_320_320

...

1.1967

...

2.3934

...

yolov3_mnetv2_nano_fix8_320_320

...

1.7658

...

3.5316

...

yolov3_fastest_xl_fix8_320_320

...

2.5402

...

5.0804

...

yolov3_mnetv2_lite_fix8_320_320

...

5.0584

...

10.1168

...

tf_yolo_v3_mixed_416_416

...

180.2604

...

360.5208

...

tf_deeplab_v3_fix8_513_513

...

17.236

...

34.472

...

bodypix_fix8_481_641

...

25.4898

...

50.9796

...

tf_inceptionv1_fix8_224_224

...

6.8038

...

13.6076

...

tf_inception_v3_fix8_299_299

...

28.917

...

57.834

...

tf_mobilenetv1_fix8_224_224

...

3.2801

...

6.5602

...

tf_mobilenetv2_fix8_224_224

...

2.4037

...

4.8074

...

tf_mobilenetv2_ssdlite_fix8_300_300

...

6.0922

...

12.1844

...

tf_efficientdet_d0_fix8_512_512

...

79.399

...

158.798

...

onnx_efficientnet_b0_fix8_224_224

...

11.6885

...

23.377

...

onnx_centernet_fix8_384_384

...

65.2046

...

130.4092

...

onnx_fgfd_fix8_240_320

...

0.7421

...

1.4842

...

onnx_retinaface_fix8_640_640

...

4.9085

...

9.817

...

onnx_yolov3_fix8_416_416

...

166.9117

...

333.8234

...

onnx_yolov3_spp_fix8_416_416

...

167.585

...

335.17

...

onnx_yolov3_tiny_fix8_416_416

...

13.2943

...

26.5886

...

onnx_yolov5s_fix8_416_416

...

21.9484

...

43.8968

...

onnx_yolov5m_fix8_416_416

...

60.7822

...

121.5644

...

onnx_yolov5l_fix8_416_416

...

130.7734

...

261.5468

...

onnx_yolov5x_fix8_416_416

...

239.9791

...

479.9582

...

onnx_fairmot_fix8_160_288

...

26.883

...

  1. ADAM_CAMPREF_TYPE_IMG_ROTATION, &m_adamCamPrefData);
    if(retval != ADAM_ERR_OK){
    LPR_DEBUG_PRINT( LPR_LOG_LV_ERR, "[LPR] ERROR --- ADAM_CamPref_Get() \n");
    return LPRAPL_NG;
    }
    
    if( m_adamCamPrefData.m_arg.m_rotation == LPR_IMG_ROTATE_180DEG){
    LPR_DEBUG_PRINT( LPR_LOG_LV_DBG, "[LPR] ImageLotate = (%d)\n",m_adamCamPrefData.m_arg.m_rotation);
    iRet = ADAM_CV_SetCpuData ( &ycInBlobTmp , ycimg );
    err = ADAM_CV_ImageRotate(
    &ycInBlobTmp,
    &lprapl_img_buffer.ycInBlob[count],
    ADAM_ROTATE_180DEG
    );
    }else if (m_adamCamPrefData.m_arg.m_rotation == LPR_IMG_ROTATE_0DEG){
    iRet = ADAM_CV_SetCpuData ( &lprapl_img_buffer.ycInBlob[count] , ycimg );
    }else{
    LPR_DEBUG_PRINT( LPR_LOG_LV_ERR, "[LPR] ERROR --- Bad Rotate = (%d)\n", m_adamCamPrefData.m_arg.m_rotation);
    LPR_abort();
    }