算法介绍

简介

Sentry2视觉传感器集成有多种离线视觉算法,无需网络即可识别物体,板载ESP8285-WiFi芯片可以实现云端识图功能。

视觉基础

  • 图像检测

    判断画面中是否有某一类目标物体,而不区分这个物体具体内容是什么。比如检测人脸,只需要判断画面中有人脸即可,而无需知道这个人是谁。

  • 图像识别

    不仅要判断画面中是否有某一类目标物体,还要对这个物体具体的内容进行识别。比如在检测到人脸之后,还需要判断出这个人脸是谁。

  • 分类标签

    对于具有物体识别功能的算法,需要用一个数字来标记不同的物体,这个数字即为分类标签:Label。

    对于不同的算法,即便具有相同的数字,其所代表的含义也是不同的,比如在颜色识别算法中用数字1代表*黑色*,而在20分类算法中用数字1代表*飞机*。

  • 像素

    每一幅画面都是由各种颜色的”点“按一定的规则排列而成的,这些点称之为像素。颜色可以通过三原色来表示,对于图像而言,其三原色为红色Red,绿色Green,蓝色Blue。

    每个像素的颜色就是由不同深浅的R、G、B三种颜色组成的。每个通道颜色的深浅可以称之为该通道的亮度,可以由一个字节的数据来表示,其范围为0~255,其中0为最暗,255为最亮。

    当RGB三个通道都为0时最暗,表现出来的就是黑色,反之都为255时最亮,表现出来就是白色。

  • 图像坐标系

    图像默认的分辨率为320×240像素,规定图像的左上角为坐标原点(0,0),水平方向为X轴,自左向右数值从0递增至319,总像素为320个,垂直方向为Y轴,自上向下数值从0递增至239,总像素为240个。 图像中的每个像素位置可以由一组x-y坐标表示,比如(160,120)为图像中心点位置。如果一个物体的中心点坐标为(50,120),表明这个物体位于图像画面中偏左的方位, 再比如,一个物体的坐标为(200,50),那么这个物体位于右上方的位置。

    Sentry2还提供了百分比坐标系,将水平方向和垂直方向量化至0~100的范围内,即100等分,返回坐标是相对满量程的值。百分比坐标系的图像中点为(50,50),即水平方向50%的位置和垂直方向50%的位置。

    注意:百分比坐标系下想表示一个正方形,其宽w和高h是不相等的,而是符合3:4的关系。比如,如果正方形的宽w为12%,那么其对应的高度h应该为12/3×4=16%

  • 目标物体标记方法

    当检测到物体后,需要按照某种方式来标记目标物体,通常采用矩形框标记法和顶点标记法。

    矩形框标记法:

    该方法会提供四个参数,分别为目标物体的中心点水平坐标x,中心点垂直坐标y,物体的水平宽度w,物体的垂直高度h。 通过这4个参数就可以将物体在画面中的方位和大小标记出来。大部分算法都采用此类标记法。

    顶点标记法

    该方法会提供1个或多个端点的x-y坐标,用于标记一个或多个端点。 比如在线条检测算法中,每组处理结果的2个端点可以确定一条直线,可以推算出其方向和大小。

  • KPU类算法与CPU类算法

    Sentry2中的图像算法分为两种类型,一种是基于神经网络硬件加速器KPU的,另一种是只通过CPU执行运算的。

    KPU算法

    该类算法在运行前需要先从Flash中加载算法模型文件,然后经KPU进行加速运算处理后,再由CPU做后续处理。 由于芯片KPU单元硬件设计架构的原因,同一时间内KPU加速器只能运行一个模型文件,又由于内存资源有限,一般情况下无法同时加载多个模型文件。 所以视觉传感器对于KPU类算法无法同时开启,但可以与CPU类算法同时开启,如果当前已经在运行KPU算法,那么新指定的KPU算法不会被开启,除非旧的KPU算法被关闭掉。

    CPU算法

    该类算法由CPU指令运算即可实现,无需KPU加速器,也无需加载模型文件,此类算法可以与KPU共同执行,可以同时开启与运算。

  • 数码变焦

    Sentry2具有数码变焦功能,可以实现对图像视野的缩放,用于看清远处的物体。数码变焦用Zoom来表示,提供了1~5档的变焦选项(不同型号的摄像头变焦范围可能会有差异)。 Zoom1为原始视野,视野内的前后距离比较近,但视野宽度广,对于快速移动的物体可以进行很好的跟踪。 随着Zoom值的增大,可以看清更远处的物体,但视野范围会缩窄,如果物体移动比较快,则容易跑到视野外面。

算法介绍

算法列表

算法ID

名称

英文名称

简介

1

颜色识别

Color

最高可设置25个识别区域,返回每个区域中的颜色信息,如R,G,B值及分类标签

2

色块检测

Blob

检测图像中是否有指定的色块,支持黑、白、红、绿、蓝、黄6种色块同时检测

3

标签识别*

Apriltag

支持16H5,25H9,36H11编码的Apriltag标签,可以同时识别最多25个图案

4

线条检测

Line

检测图像中的线条,返回两个端点坐标及倾斜角度,可支持1~5个线段检测

5

深度学习*

Learning

对任意物体进行离线训练并进行识别,可存储25个模型数据

6

卡片识别*

Card

识别特制的卡片图案,包含10张交通卡片,9张形状卡片,10张数字卡片

7

人脸识别*

Face

检测与识别人脸,支持口罩检测,可存储25个模型数据

8

20类物体*

20Class

识别常见的20类物体,如猫、汽车等

9

二维码

QrCode

检测与识别简单的二维码

10

自定义

Custom

支持用户自定义算法,运行在板载ESP8285-WiFi芯片内,如云端识图

11

运动物体

Motion

判断图像中是否有移动区域

注意:不带星号的可以同时开启多个,带星号的算法相互之间同时只可开启一个,但可以与不带星号的算法同时运行。同时开启多个算法时,运行速度会有所降低

算法详解

ID:1 颜色识别-Color

  • 算法简介
    ../../_images/sentry2_vision_color_selecting.png

    用户指定一个或多个识别区域,识别该区域的颜色分类。每个检测位置称为一个识别区域,其位置和大小由用户进行设置,最多25组识别区域,返回该区域的颜色标签信息和实际的红R、绿G、蓝B数值。

    点击观看视频:“Sentry2视觉传感器-颜色识别算法介绍”

  • 颜色分类标签

    Sentry2定义了7种颜色分类标签:

    ../../_images/sentry2_vision_label.png

    分类标签

    英文标识

    中文含义

    分类标签

    英文标识

    中文含义

    1

    Black

    黑色

    2

    White

    白色

    3

    Red

    红色

    4

    Green

    绿色

    5

    Blue

    蓝色

    6

    Yellow

    黄色

    0

    Unknown

    未知

    注意:由于紫色、青色(蓝绿色)、橙色、灰色等,相对来说容易造成误报,因此这几个颜色部分区间被划分为临近颜色的标签,部分被划分为未知颜色,如果用户确实有这几种颜色的使用需求,可以通过返回参数的R、G、B实际值自行计算与判断

  • 配置参数

    用户需要指定识别区域的坐标和大小,最多可设置25个识别区域,如果没有指定,则默认为图像中心点

    当通过主控设置寄存器参数时,每个识别区域都需要设置以下参数:

    参数

    含义

    1

    识别区域中心x坐标

    2

    识别区域中心y坐标

    3

    识别区域宽度w

    4

    识别区域高度h

    5

    ../../_images/sentry2_vision_color_setting.png

    在UI设置页面中,有几种预置的识别区域网格分布形式和识别区域大小:

    网格(水平方向数量 x 垂直方向数量):1x1、2x2、3x3、4x4、5x5、1x10、2x10、6x1、6x2

    识别区域大小(水平方向像素 x 垂直方向像素):2x2、4x4、8x8、16x16、32x32

    注意:百分比坐标系下想表示一个正方形,其宽w和高h是不相等的,而是符合3:4的关系。比如,如果正方形的宽w为12%,那么其对应的高度h应该为12/3×4=16%

    百分比坐标系下,预设的识别区域大小(水平方向百分比 x 垂直方向百分比):1x1、2x3、3x4、6x8、9x12

  • 返回结果

    ../../_images/sentry2_vision_color_running.png

    识别到颜色后,UI界面上的识别区域将会变为其对应颜色的方框,如果是未知颜色,则会显示一个四角框

    当通过主控读取寄存器时,将会返回以下的数据:

    结果

    含义

    1

    R,红色值,范围 0~255

    2

    G,绿色值,范围 0~255

    3

    B,蓝色值,范围 0~255

    4

    5

    颜色分类标签

  • 使用技巧

    1. 由于是对像素进行统计处理,当识别区域较多且较大时,处理速度会相应的变慢,反之则会比较快速。

    2. 当识别区域窗口较小时(比如2x2),可以识别较小的色块,处理速度快,但统计样本太少,容易被干扰,可信度较低,适合于背景单一可控的环境。

    3. 当识别区域窗口较大时(比如32x32),统计样本多,即便出现若干的杂色也会被滤除,具有较高的可信度,但处理速度会变慢,当识别区域处于2种颜色的边界时,颜色可能会经常跳变。

    4. 当画面存在偏色时,需要锁定白平衡功能,或调节摄像头的其他设置参数以达到最佳颜色状态

ID:2 色块检测-Blob

  • 算法简介

    ../../_images/sentry2_vision_blob_selecting.png

    用户指定检测一个或多个颜色,判断图像中是否有该颜色的色块,返回其坐标和大小,支持多颜色多色块检测,颜色分类标签与颜色识别中的定义相同。

    点击观看视频:“Sentry2视觉传感器-色块检测算法介绍”

  • 配置参数

    用户需要指定待检测的颜色标签,最多可同时开启全部6种颜色检测,但速度会有所下降。用户还可以通过设置色块的最小宽度w和高度h来过滤那些小于该值的色块,以减少误报。

    当通过主控设置寄存器时,有以下参数需要设置:

    参数

    含义

    1

    2

    3

    有效色块最小宽度w

    4

    有效色块最小高度h

    5

    待检测的颜色分类标签,其中1~6为默认颜色,11~16为自定义颜色。特殊用法:通过往参数 5 中写⼊大于20的 RGB565 颜⾊值可以识别特定的颜⾊,例如写⼊0xFB00 为橙⾊,写⼊ 0xA11E 为紫⾊

    ../../_images/sentry2_vision_blob_setting.png
    在UI界面中,有几种预置的参数可以使用:
    算法性能:

    根据不同的应用需求来选择合适能算法性能,有3个选项可以设置,分别为“灵敏”、“均衡”、“准确”

    在灵敏模式下识别速度快,帧率高。准确模式下可以检测远处的色块,但速度会降低。默认为均衡性能

    特殊的:在准确模式下对色块有较好的识别和跟踪效果,但只能识别一个色块

    同时检测的最大数量:

    单个颜色的最大检测数量支持1~5个的输出

    当设置为1时,只返回一个最优结果,如果图像中有多个色块,则返回最大的那个,如果大小相近,则优先返回左上角的那个

    当设置大于1时,返回色块的数量不会超过这个值。

    最小色块的区域大小:

    如果背景中存在相同颜色的小色块,可以通过合理的设置最小值实现过滤功能

    绝对值坐标系下的预设值为:2x2、4x4、8x8、16x16、32x32、64x64、128x128像素

    百分比坐标系下的预设值为:1x1、2x3、3x4、6x8、9x12、21x28、42x56 %

    待检测的颜色:

    以按键形式提供用户选择,开启某个颜色后会显示一个小眼睛图标,未开启的颜色则会显示一个带斜杠的眼睛图标,可以同时开启一个或多种颜色。V2.5.X版本后支持自定义颜色功能,当点击颜色按钮时,会在“默认颜色-自定义颜色-关闭颜色“之间循环切换。

    进入自定义颜色模式后,用户可以选择使用之前存储的颜色,或者重新拾取新的颜色:

    ../../_images/sentry2_vision_blob_setting_custom.png

    注意:从哪个颜色按钮进入的自定义颜色设置,则对应的自定义颜色就会保存在这个颜色按钮下,并分配一个label标签,黑色到黄色的小按钮对应的自定义颜色标签分别为11~16,在编程时,可以直接使用11~16的标签来开启这个自定义颜色

    注意:自定义颜色算法的运行速度比默认颜色要慢,如果想提高速度,可以将算法性能设置为灵敏模式

  • 返回结果

    ../../_images/sentry2_vision_blob_running.png

    识别到指定色块后会在UI界面上进行标识,显示其位置、大小、分类标签、名称等信息

    当通过主控读取寄存器时,将会返回以下的数据:

    结果

    含义

    1

    色块中心x坐标

    2

    色块中心y坐标

    3

    色块宽度w

    4

    色块高度h

    5

    颜色分类标签

  • 使用技巧

    1. 当确定需要跟踪一个物体时,比如检测白色的道路或是跟踪小球,可以将色块数量设置为1,可以提高速度,减少误报

    2. 采用较小的识别区域并使用准确性能模式,可以看到更远处的物体

    3. 识别大面积的色块时,运行帧率会明显下降,此时可以用灵敏模式

    4. 当画面存在偏色时,需要锁定白平衡功能,或调节摄像头的其他设置参数以达到最佳颜色状态

ID:3 标签识别-Apriltag

  • 算法简介

    ../../_images/sentry2_vision_apriltag_selecting.png

    判断图像中是否有Apriltag标签图案,目前支持16H5,25H9,36H11的编码形式,算法运行时需要先指定用哪一种解码方式,不同的编码形式不可以同时检测,但同一种编码可同时检测25个标签。

    点击观看视频:“Sentry2视觉传感器-Apriltag标签算法介绍”

    注意:该算法不可以与其他带*号的算法同时运行

    分类标签

    ../../_images/sentry2_vision_apriltag_family.png

    apriltag标签为一组已经定义好的黑白方块图案,不同的编码形式使用的方块数量是不同的。每个图案都有一个预定义的分类标签值,识别后会返回该值。

    Apriltags图案下载

    Apriltags标签编码-16h5 本地下载

    Apriltags标签编码-25h9 本地下载

    Apriltags标签编码-36h11 本地下载

  • 配置参数

    ../../_images/sentry2_vision_apriltag_setting.png

    UI界面中可以设置算法性能和编码形式

    算法性能:

    根据不同的应用需求来选择合适能算法性能,有3个选项可以设置,分别为“灵敏”、“均衡”、“准确”

    在灵敏模式下识别速度快,帧率高。准确模式下可以检测远处的标签,但速度会降低。默认为均衡性能

    编码形式:

    当点击按钮时,会循环切换“16H5”,“25H9”,“36H11”三种编码模式,切换后需要重启算法,下次启动时生效

  • 返回结果
    ../../_images/sentry2_vision_apriltag_running.png

    识别到标签后会返回其坐标、大小和标签编号

    当通过主控读取寄存器时,将会返回以下的数据:

    结果

    含义

    1

    标签中心x坐标

    2

    标签中心y坐标

    3

    标签宽度w

    4

    标签高度h

    5

    标签编号

  • 使用技巧

    1. 所识别到的标签宽度和高度具有较稳定的输出,可以利用这一点进行距离判断,标签旋转后不会改变其大小,但倾斜时可能会有影响

    2. 当需要识别多个标签时,可以关闭坐标线的显示,看起来比较简洁

    3. 标签越大,识别的距离就越远

ID:4 线条检测-Line

  • 算法简介

    ../../_images/sentry2_vision_line_selecting.png

    检测图像中是否有线条,如果有则会返回线条的两个端点和倾斜角度,最多可同时检测5个线段,如果为曲线,则会返回近似的直线段

    点击观看视频:“Sentry2视觉传感器-线条检测算法介绍”

  • 配置参数

    ../../_images/sentry2_vision_line_setting.png

    UI界面中可以设置算法性能和同时检测的线段数量

    算法性能:

    根据不同的应用需求来选择合适能算法性能,有3个选项可以设置,分别为“灵敏”、“均衡”、“准确”

    灵敏模式下会对小线段更为敏感,准确模式下会忽略较小的线段,默认为均衡模式

    线段数量:

    可以设置1~5条线段

  • 返回结果

    ../../_images/sentry2_vision_line_running_01.png

    检测到线条后会返回其两个端点和倾斜角度

    注意:水平向右为0度,逆时针增大,垂直向上为90度,水平向左为180度,一般不会向下检测输出角度

    ../../_images/sentry2_vision_line_running_02.png

    最多可同时可检测5个线段,为便于UI界面上进行区分,按结果顺序依次用“红、黄、绿、蓝、紫”五种颜色进行标记

    当通过主控读取寄存器时,将会返回以下的数据:

    结果

    含义

    1

    线段终点x坐标(高处)

    2

    线段终点y坐标(高处)

    3

    线段起点x坐标(低处)

    4

    线段起点y坐标(低处)

    5

    线段的倾斜角度

  • 使用技巧

    1. 背景与线条应清晰分明,比如白底黑线,如果背景杂乱,则可能会检测出背景中的线条

    2. 线条粗细应适中,不可过细,也不可太宽

    3. 一般来说,巡线时,第一条线段始终为屏幕下方先发现的线段,然后是分支线段

ID:5 深度学习-Learning

  • 算法简介

    ../../_images/sentry2_vision_learn_selecting.png

    可以对任意物体进行离线学习并识别,目前支持存储25个物体,用户可以对已训练的模型进行重命名,删除操作

    点击观看视频:“Sentry2视觉传感器-深度学习算法介绍”

  • 配置参数

    训练新的物体:

    在运行界面可以训练新的物体,操作方法如下:

    ../../_images/sentry2_vision_learn_training.png

    新训练物体会自动分配标签值,分配原则是:选择当前可用ID号中最小的那个序号

    删除所有模型:

    在运行界面中,垂直长按摇杆2秒以上,可以删除所有模型数据

    ../../_images/sentry2_vision_learn_delete_all.png

    当通过主控设置寄存器时,可以将参数5写入0来删除对应的模型文件:

    参数

    含义

    1

    2

    3

    4

    5

    如果当前Param-ID已经存在,写入0后可以删除该ID的模型数据,写入100可以重新训练该ID的模型数据

    ../../_images/sentry2_vision_learn_setting.png

    在UI界面中,可以对已训练的模型进行重命名或删除操作

    对模型重命名:

    在UI界面中可以对已训练的物体进行重命名,操作方法如下:

    ../../_images/sentry2_vision_learn_rename.png

    注意:只支持英文的命名方式,不支持其他语言

    注意:名称最大支持32个字符,建议不要太长

    注意:设置名称只用于帮助用户记忆和理解,但主控设备并不能读取该名称

    删除单个模型:

    在UI界面中可以删除单个模型数据,操作方法如下:

    ../../_images/sentry2_vision_learn_delete.png
  • 返回结果

    ../../_images/sentry2_vision_learn_running.png

    该算法只支持判断被训练物体是否存在,而不判断其坐标方位等信息,所以识别框为一个固定输出值

    当通过主控读取寄存器时,将会返回以下的数据:

    结果

    含义

    1

    固定值,160

    2

    固定值,120

    3

    固定值,224

    4

    固定值,224

    5

    训练物体的ID号

  • 使用技巧

    1. 该算法支持对物体旋转后的识别,但是需要位于“0度,90度,180度,270度”四个方向上识别,左右有15度的容差。如果需要支持任意角度的物体识别,可以拍摄多个角度的图片,比如拍摄了0度,30度,60度时物体的照片,分别对应标签ID1,ID2,ID3,则可以把这3个ID当作同一个物体来处理

    2. 训练物体时,如果背景经常变化,那么将不利于物体识别,尽量让被训练物体处于一个相对固定的背景环境中,否则如果更换了背景环境,那么可能需要重新训练

ID:6 卡片识别-Card

  • 算法简介

    ../../_images/sentry2_vision_card_selecting.png

    识别图像中是否有指定的卡片图案,返回其卡片坐标、大小、分类标签等信息。包括交通标志类,图形符号类,数字类,其分类标签见下表

    交通标志

    分类标签

    英文标识

    中文含义

    分类标签

    英文标识

    中文含义

    1

    Forward

    前进

    2

    Left

    左转

    3

    Right

    右转

    4

    Turn Around

    掉头

    5

    Park

    停车

    6

    Green

    绿灯

    7

    Red

    红灯

    8

    Speed 40

    限速40

    9

    Speed 60

    限速60

    10

    Speed 80

    限速80

    图形符号

    分类标签

    英文标识

    中文含义

    分类标签

    英文标识

    中文含义

    11

    Check

    对号

    12

    Cross

    叉号

    13

    Circle

    圆形

    14

    Square

    方形

    15

    Triangle

    三角形

    16

    Plus

    加号

    17

    Minus

    减号

    18

    Divide

    除号

    19

    Equal

    等于号

    数字

    分类标签

    英文标识

    中文含义

    分类标签

    英文标识

    中文含义

    20

    Num 0

    数字0

    21

    Num 1

    数字1

    22

    Num 2

    数字2

    23

    Num 3

    数字3

    24

    Num 4

    数字4

    25

    Num 5

    数字5

    26

    Num 6

    数字6

    27

    Num 7

    数字7

    28

    Num 8

    数字8

    29

    Num 9

    数字9

  • 配置参数

  • 返回结果

    ../../_images/sentry2_vision_card_running.png

    该算法支持多张卡片同时识别,卡片在30度以内的旋转仍然可以识别,角度旋转过大则无法识别

    当通过主控读取寄存器时,将会返回以下的数据:

    结果

    含义

    1

    卡片中心x坐标

    2

    卡片中心y坐标

    3

    卡片宽度w

    4

    卡片高度h

    5

    卡片分类标签

  • 使用技巧

    1. 该算法可以检测到远距离的卡片,但此时并不是用户所期望的检测位置,此时可以通过判断“卡片宽度”来排除那些远距离的卡片,比如只有当卡片宽度>50%时,才会触发接下来的动作行为

    2. 图像中有多个卡片时,比如拍成一排的卡片,其检测输出顺序以卡片中心点为基准,从左上角(0,0)点逐行扫描,自上而下,从左到右,的顺序输出

ID:7 人脸识别-Face

  • 算法简介

    ../../_images/sentry2_vision_face_selecting.png

    检测图像中是否含有人脸,可以通过按键对人脸进行学习训练,当再次检测到该人脸时,返回一个分类标签用于区分是哪个人脸。

    点击观看视频:“Sentry2视觉传感器-人脸识别算法介绍”

  • 配置参数

    训练新的人脸:

    在运行界面可以训练新的人脸,操作方法如下:

    ../../_images/sentry2_vision_face_training.png

    新训练的人脸会自动分配标签值,分配原则是:选择当前可用ID号中最小的那个序号

    删除所有人脸:

    在运行界面中,垂直长按摇杆2秒以上,可以删除所有模型数据

    当通过主控设置寄存器时,可以将参数5写入0来删除对应的模型文件:

    参数

    含义

    1

    2

    3

    4

    5

    如果当前Param-ID已经存在,写入0后可以删除该ID的模型数据,写入100可以重新训练该ID的模型数据

    ../../_images/sentry2_vision_face_setting.png

    在UI界面中,可以对已训练的模型进行重命名或删除操作,操作方法可参考:算法ID:5 深度学习

    注意:设置名称只用于帮助用户记忆和理解,但主控设备并不能读取该名称

  • 返回结果

    ../../_images/sentry2_vision_face_running.png

    该算法支持人脸检测(未训练的人脸)和人脸识别(已训练的人脸)同时运行,检测到未训练的人脸时会显示标签为0,名称为“新人脸”,当检测到已训练的人脸时,会显示相应的标签和存储的名称

    特殊的,如果检测到戴口罩的新人脸,会显示“新人脸(口罩)”,标签固定为200

    ../../_images/sentry2_vision_face_mask.png

    当通过主控读取寄存器时,将会返回以下的数据:

    结果

    含义

    1

    人脸中心x坐标

    2

    人脸中心y坐标

    3

    人脸宽度w

    4

    人脸高度h

    5

    人脸分类标签,特殊的:0-新人脸,200-戴口罩的新人脸

ID:8 20类物体识别-20Class

  • 算法简介

    ../../_images/sentry2_vision_20class_selecting.png

    识别常见的20类物体,返回他们的坐标信息和分类标签,详见下表。

    图形符号类

    分类标签

    英文标识

    中文含义

    分类标签

    英文标识

    中文含义

    1

    Airplane

    飞机

    2

    Bicycle

    自行车

    3

    Bird

    4

    Boat

    5

    Bottle

    瓶子

    6

    Bus

    公交车

    7

    Car

    汽车

    8

    Cat

    9

    Chair

    椅子

    10

    Cow

    11

    DiningTable

    餐桌

    12

    Dog

    13

    Horse

    14

    Motorbike

    摩托车

    15

    Person

    16

    PottedPlant

    盆栽植物

    17

    Sheep

    18

    Sofa

    沙发

    19

    Train

    火车

    20

    Tvmonitor

    显示器

  • 配置参数

    ../../_images/sentry2_vision_20class_setting.png

    UI界面中可以设置算法性能

    算法性能:

    根据不同的应用需求来选择合适能算法性能,有3个选项可以设置,分别为“灵敏”、“均衡”、“准确”

    灵敏模式下会更容易识别到物体,但可能误报较高,准确模式下会相对减少误报,默认为均衡模式

  • 返回结果

    ../../_images/sentry2_vision_20class_running.png

    当通过主控读取寄存器时,将会返回以下的数据:

    结果

    含义

    1

    物体中心x坐标

    2

    物体中心y坐标

    3

    物体宽度w

    4

    物体高度h

    5

    物体分类标签

  • 使用技巧

    1. 图像清晰度会较为明显的影响到识别效果,如果图案太小,摄像头无法清晰对焦到图案上,屏幕中图像看起来比较模糊,那么识别效果会变差,可以使用较大的图片

    2. 如果直接对电脑屏幕上的图案进行识别,可以适当调低电脑屏幕的亮度,避免过曝

ID:9 二维码识别-QrCode

  • 算法简介

    ../../_images/sentry2_vision_qrcode_selecting.png

    可以识别一个标准二维码,该二维码可包含最多25个ASCII码字符数据

    ASCII码对照表

    分类标签

    ASCII

    分类标签

    ASCII

    分类标签

    ASCII

    32

    空格

    33

    !

    34

    "

    35

    #

    36

    $

    37

    %

    38

    &

    39

    '

    40

    (

    41

    )

    42

    *

    43

    +

    44

    ,

    45

    -

    46

    .

    47

    /

    48

    0

    49

    1

    50

    2

    51

    3

    52

    4

    53

    5

    54

    6

    55

    7

    56

    8

    57

    9

    58

    :

    59

    ;

    60

    <

    61

    =

    62

    >

    63

    ?

    64

    @

    65

    A

    66

    B

    67

    C

    68

    D

    69

    E

    70

    F

    71

    G

    72

    H

    73

    I

    74

    J

    75

    K

    76

    L

    77

    M

    78

    N

    79

    O

    80

    P

    81

    Q

    82

    R

    83

    S

    84

    T

    85

    U

    86

    V

    87

    W

    88

    X

    89

    Y

    90

    Z

    91

    [

    92

    \

    93

    ]

    94

    ^

    95

    _

    96

    `

    97

    a

    98

    b

    99

    c

    100

    d

    101

    e

    102

    f

    103

    g

    104

    h

    105

    i

    106

    j

    107

    k

    108

    l

    109

    m

    110

    n

    111

    o

    112

    p

    113

    q

    114

    r

    115

    s

    116

    t

    117

    u

    118

    v

    119

    w

    120

    x

    121

    y

    122

    z

    123

    {

    124


    125

    }

    126

    ~

  • 配置参数

  • 返回结果

    ../../_images/sentry2_vision_qrcode_running.png

    该算法返回结果包含两种信息,第一组结果为属性信息,后续结果为字符数据,每组结果包含5个字符

    注意:在识别二维码时,画面中只能出现一个完整的字符较短的简单的二维码,当画面中出现多个二维码或二维码过于复杂时,可能会检测异常

    属性信息

    结果

    含义

    1

    二维码中心x坐标

    2

    二维码中心y坐标

    3

    二维码宽度w

    4

    二维码高度h

    5

    二维码字符数量

    字符数据

    结果

    含义

    1

    字符1编码

    2

    字符2编码

    3

    字符3编码

    4

    字符4编码

    5

    字符5编码

ID:10 自定义-Custom

  • 算法简介

    ../../_images/sentry2_vision_custom_selecting.png

    该算法将运行ESP8285-WiFi芯片内的程序,运行自定义的算法:

    1、云端算法支持:Sentry2将摄像头图片通过WiFi送给第三方云端服务器进行识别,将返回的识别结果写入寄存器中;

    2、算法功能扩展:比如可以将小车巡线功能的完整逻辑代码转移到板载的ESP8285中去实现;

    3、算法性能提升:可以在ESP8285中对算法结果进行二次处理,比如滤波、消除抖动、阈值判断、数据统计、PID控制等。

    ESP8285内的程序可以通过Arduino-IDE进行编程开发,详情见 WiFi固件开发环境搭建与烧录指导手册

  • 配置参数

    自定义

  • 返回结果

    自定义

  • 使用技巧

    1. 图像清晰度会较为明显的影响到识别效果,如果图案太小,摄像头无法清晰对焦到图案上,屏幕中图像看起来比较模糊,那么识别效果会变差,可以使用较大的图片

    2. 如果直接对电脑屏幕上的图案进行识别,可以适当调低电脑屏幕的亮度,避免过曝

ID:11 运动物体检测-Motion

  • 算法简介

    ../../_images/sentry2_vision_motion_selecting.png

    在摄像头静止状态下,通过对比相邻帧的像素差异,来判断图像中是否有发生变化的区域,如果有则认为该区域有运动物体,返回这个区域的坐标信息。 该算法目前只能返回一个检测结果。

  • 配置参数

  • 返回结果

    ../../_images/sentry2_vision_motion_running.png

    当通过主控读取寄存器时,将会返回以下的数据:

    结果

    含义

    1

    运动区域中心x坐标

    2

    运动区域中心y坐标

    3

    运动区域宽度w

    4

    运动区域高度h

    5

//end