AI 비전 센서#

소개#

AI 비전 센서는 사물, 색상 및 AprilTag ID를 감지하고 추적할 수 있습니다. 이를 통해 로봇은 주변 환경을 분석하고, 물체를 추적하며, 감지된 시각 데이터를 기반으로 반응할 수 있습니다.

아래는 사용 가능한 블록 목록입니다.

작업 – 선택한 서명에 대한 AI 비전 센서의 데이터를 캡처합니다.

  • 스냅샷 찍기 – 구성된 색상, 사전 학습된 객체 또는 AprilTag ID와 같은 특정 서명에 대한 데이터를 캡처합니다.

설정 – 상호 작용할 개체를 선택하세요.

가치 – 수집된 데이터에 접근하고 활용하세요.

행위#

사진을 찍다#

스냅샷 촬영 스택 블록은 AI 비전 센서 프레임의 데이터를 필터링하여 단일 시그니처(센서가 인식할 수 있는 대상에 대한 저장된 설명으로, 사전 학습된 객체, AprilTag ID 또는 구성된 색상이나 색상 코드 등)로 변환합니다.

이 블록에서 색상과 색상 코드를 사용하려면 먼저 AI Vision 유틸리티에서 색상 및 색상 코드를 구성해야 합니다.

데이터셋은 인덱스 0부터 시작하여 너비가 큰 순서부터 작은 순서로 정렬된 객체를 저장합니다. 각 객체의 속성은 AI Vision 객체 속성 블록을 사용하여 접근할 수 있습니다. 일치하는 객체가 감지되지 않으면 빈 데이터셋이 보고됩니다.

스냅샷 캡처 스택 블록입니다.#
[AIVision1 v]으로 [SELECT_A_SIG v]의 스냅샷 찍기

매개변수

설명

장치

어떤 AI 비전 센서를 사용해야 할까요?

서명

지정된 서명의 데이터만 포함하도록 데이터 세트를 필터링합니다. 사용 가능한 서명은 다음과 같습니다.

  • AprilTag ID
  • AI 분류 – 사용 가능 여부는 AI Vision Utility에 구성된 모델에 따라 달라집니다.
  • NAME – 색상 또는 색상 코드이며, 여기서 NAME은 AI Vision Utility에 구성된 이름입니다.

참고: AprilTag ID 또는 AI 분류 옵션이 표시되려면 AI Vision 유틸리티에서 해당 감지 기능을 활성화해야 합니다.

예

시작 시
[Drive forward if an AprilTag ID is detected.]
무한 반복
[AIVision1 v]으로 [AprilTag IDs v]의 스냅샷 찍기
<[AIVIsion1 v] 객체가 있나요?>이면
[앞으로 v] 방향으로 [10] [mm v] 주행 ▶

AI 분류#

AI 비전 센서는 특정 AI 분류에 따라 다양한 객체를 감지할 수 있습니다. 장치 창에서 AI 비전 센서를 구성할 때 선택한 AI 분류 모델에 따라 감지되는 객체가 달라집니다. 현재 사용 가능한 모델은 다음과 같습니다.

교실 용품

  • 블루볼

  • 그린볼

  • 레드볼

  • 블루링

  • 그린링

  • 레드링

  • 블루큐브

  • 그린큐브

  • 레드큐브

VEX V5 로봇 경진대회 연기

  • 블루블록

  • 레드블록

VEX V5 로봇 경진대회, 치열한 경쟁 속에서 펼쳐지는 대회

  • 모바일골

  • 레드링

  • 블루링

VEX V5 로봇 경진대회 재정의

  • 레드블루핀

  • 블루옐로핀

  • 레드옐로핀

  • 옐로우핀

  • 컵

색상 특징#

컬러 시그니처는 AI 비전 센서가 인식할 수 있는 고유한 색상입니다. 이 시그니처를 통해 센서는 색상을 기반으로 물체를 감지하고 추적할 수 있습니다. 컬러 시그니처가 설정되면 센서는 시야 내에서 해당 특정 색상을 가진 물체를 식별할 수 있습니다.

컬러 시그니처는 take snapshot 블록에서 컬러 객체를 실시간으로 처리하고 감지하는 데 사용됩니다. 한 번에 최대 7개의 컬러 시그니처를 구성할 수 있습니다.

AI 비전 유틸리티는 연결된 비전 센서가 두 개의 색상 객체를 감지하는 모습을 보여줍니다. 왼쪽에는 파란색 상자와 빨간색 상자가 각각 흰색 테두리로 둘러싸인 실시간 카메라 영상이 표시됩니다. 검은색 레이블에는 각 객체의 이름, 좌표 및 크기가 표시됩니다. 오른쪽에는 색상 특징 설정이 있으며, 파란색 상자와 빨간색 상자 모두에 대한 색조 및 채도 범위를 조절하는 슬라이더가 있습니다. 색상 추가, 비디오 정지, 복사 및 이미지 저장 버튼은 하단에 있으며, 오른쪽 하단에는 닫기 버튼이 있습니다.

예

시작 시
[Display if any objects matching the RED_BOX signature is detected.]
무한 반복
화면에서 커서를 [1]행 [1]열로 이동
화면에서 [1]행 지우기
[Change the signature to any configured Color Signature.]
[AIVision1 v]으로 [RED_BOX v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
화면에 [Color detected!] 출력 ▶

색상 코드#

컬러 코드는 특정 순서로 배열된 2~4개의 컬러 시그니처로 구성된 구조화된 패턴입니다. 이러한 코드를 통해 AI 비전 센서는 미리 정의된 색상 패턴을 인식할 수 있습니다.

색상 코드는 복잡한 객체를 식별하거나, 게임 요소와 연계하거나, 자율 주행을 위한 고유한 마커를 생성하는 데 특히 유용합니다. 최대 8개의 색상 코드를 동시에 설정할 수 있습니다.

AI 비전 유틸리티 인터페이스는 연결된 비전 센서가 인접한 두 객체 왼쪽의 파란색 상자와 오른쪽의 빨간색 상자 를 감지하는 모습을 보여줍니다. 이 두 객체는 ​​BlueRed라는 레이블이 붙은 하나의 흰색 경계 상자 안에 함께 그룹화되어 있습니다. 감지 정보에는 각도 A:11° , 좌표 X:143, Y:103 , 너비 W:233 , 높이 H:108 가 포함됩니다. 오른쪽 패널에는 Red_Box, Blue_Box, BlueRed의 세 가지 색상 시그니처가 나열되어 있으며, 색조와 채도 범위를 조정할 수 있습니다. BlueRed 시그니처는 Blue_Box와 Red_Box를 결합한 것입니다. 비디오 피드 아래에는 비디오 정지, 복사, 이미지 저장, 닫기 버튼이 있습니다.

예

시작 시
[Display if any objects matching the RED_BLUE code is detected.]
무한 반복
화면에서 커서를 [1]행 [1]열로 이동
화면에서 [1]행 지우기
[Change the signature to any configured Color Code.]
[AIVision1 v]으로 [RED_BLUE v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
화면에 [Code detected!] 출력 ▶

설정#

AI 비전 객체 항목 설정#

AI 비전 객체 항목 설정 스택 블록은 데이터 세트에서 사용할 항목을 설정합니다.

Set AI Vision 객체 항목 스택 블록.#
[AIVision1 v] 객체 항목을 (1)로 설정

매개변수

설명

장치

어떤 AI 비전 센서를 사용해야 할까요?

목

사용할 데이터 세트 내 항목 번호입니다.

예

시작 블록으로 시작하고, 그 뒤에 “감지된 가장 큰 AprilTag ID를 표시합니다”라는 주석 블록이 이어지는 블록 스택입니다. 무한 루프 안에서 AI Vision 스냅샷 블록이 AprilTag ID 이미지를 캡처합니다. 조건 블록은 AI Vision 객체가 존재하는지 확인합니다. 존재하면 AI Vision 객체 항목 설정 블록이 객체 개수를 변수에 할당하고, 출력 블록은 감지된 객체의 태그 ID를 화면에 표시합니다.#
시작 시
[Display the largest detected AprilTag ID.]
무한 반복
[AIVision1 v]으로 [AprilTag IDs v]의 스냅샷 찍기
화면에서 [1]행 지우기
화면에서 커서를 [1]행 [1]열로 이동
<[AIVision1 v] 객체가 있나요?>이면
[AIVision1 v] 객체 항목을 ([AIVision1 v] 객체 수)로 설정
화면에 ([AIVision1 v] 객체 [tagID v]) 출력 ▶

값#

AI 비전 객체가 존재합니다#

AI 비전 객체 존재 여부 부울 블록은 데이터 세트에서 객체가 감지되었는지 여부를 보고합니다.

  • 참 – 데이터 세트에 감지된 객체가 포함되어 있습니다.

  • 거짓 – 데이터 세트에는 감지된 객체가 포함되어 있지 않습니다.

AI 비전 객체의 존재 여부를 나타내는 불리언 블록입니다.#
<[AIVision1 v] 객체가 있나요?>

매개변수

설명

장치

어떤 AI 비전 센서를 사용해야 할까요?

예

시작 시
[Drive forward if an object is detected.]
무한 반복
[AIVision1 v]으로 [AI 분류 v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
[앞으로 v] 방향으로 [10] [mm v] 주행 ▶

AI 비전 객체는#

AI 비전 객체 여부 부울 블록은 감지된 객체가 특정 분류와 일치하는지 여부를 나타냅니다.

  • 참 – 데이터 세트의 항목은 특정 객체입니다.

  • 거짓 – 데이터 세트의 항목은 특정 객체가 아닙니다.

AI 비전 AI 분류는 객체 부울 블록입니다.#
<[AIVision1 v] 객체가 [BlueBall v]인가요?>

매개변수

설명

장치

어떤 AI 비전 센서를 사용해야 할까요?

물체

어떤 AI 분류와 항목을 비교할 것인가.

예

시작 시
[Display if a Blue Cube is detected.]
무한 반복
[AIVision1 v]으로 [AI 분류 v]의 스냅샷 찍기
화면에서 [1]행 지우기
화면에서 커서를 [1]행 [1]열로 이동
<[AIVision1 v] 객체가 있나요?>이면
<[AIVision1 v] 객체가 [BlueCube v]인가요?>이면
화면에 [Cube detected!] 출력 ▶
[0.5]초 기다리기

AI 비전 객체는 AprilTag ID입니다.#

AI Vision 객체는 AprilTag ID입니다. 부울 블록은 감지된 AprilTag ID가 특정 ID와 일치하는지 여부를 보고합니다.

  • 맞습니다 – AprilTag ID는 숫자입니다.

  • 틀렸습니다 – AprilTag ID는 숫자가 아닙니다.

AI 비전이 AprilTag ID를 불리언 블록으로 감지했습니다.#
<[AIVision1 v] object is AprilTag ID [1] ?>

매개변수

설명

장치

어떤 AI 비전 센서를 사용해야 할까요?

AprilTag ID 번호

감지된 AprilTag ID 번호와 비교할 번호입니다.

예:

시작 시
[Report if AprilTag ID 3 is detected.]
무한 반복
화면 지우기
화면에서 커서를 [1]행 [1]열로 이동
[AIVision1 v]으로 [AprilTag IDs v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
<[AIVision1 v] object is AprilTag ID [3] ?>이면
화면에 [That is 3!] 출력 ▶
아니면
화면에 [That isn't 3!] 출력 ▶
끝
끝
[0.1]초 기다리기

AI 비전 객체 개수#

AI 비전 객체 개수 리포터 블록은 데이터 세트에서 감지된 객체 수를 정수로 보고합니다.

Set AI Vision 객체 항목 스택 블록.#
([AIVision1 v] 객체 수)

매개변수

설명

장치

어떤 AI 비전 센서를 사용해야 할까요?

예

시작 시
[Display the total amount of cubes, rings, and balls.]
무한 반복
화면에서 [1]행 지우기
화면에서 커서를 [1]행 [1]열로 이동
[AIVision1 v]으로 [AI 분류 v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
화면에 ([AIVision1 v] 객체 수) 출력 ▶
끝
[0.5]초 기다리기

AI 비전 객체 속성#

take snapshot 블록을 사용한 후 저장된 각 객체에는 9개의 속성이 포함됩니다(아래 참조).

AI 비전 객체 속성 리포터 블록.#
([AIVision1 v] 객체 [너비 v])

tagID와 score를 제외한 모든 속성 값은 take snapshot 블록이 사용된 순간 AI 비전 센서의 시야에서 감지된 객체의 위치와 크기를 설명합니다. 이러한 값은 센서의 320x240 픽셀 해상도를 기준으로 픽셀 단위로 측정됩니다.

매개변수

설명

장치

어떤 AI 비전 센서를 사용해야 할까요?

재산

감지된 객체의 어떤 속성을 사용할 것인가:

너비#

width 속성은 감지된 객체의 너비를 픽셀 단위로 1부터 320까지의 정수로 나타냅니다.

AI 비전 객체의 속성 스택 블록이며, 해당 매개변수는 width로 설정되어 있습니다.#
([AIVision1 v] 객체 [너비 v])

예

시작 시
[Drive towards an object until its width is larger than 100 pixels.]
무한 반복
[AIVision1 v]으로 [AI 분류 v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
<([AIVision1 v] 객체 [너비 v]) [math_less_than v] [100]>이면
[앞으로 v] 방향으로 주행
아니면
주행 정지
끝

키#

height 속성은 감지된 객체의 높이를 픽셀 단위로 1부터 240까지의 정수로 보고합니다.

AI 비전 객체의 속성 스택 블록이며, 해당 매개변수는 높이로 설정되어 있습니다.#
([AIVision1 v] 객체 [높이 v])

예

시작 시
[Drive towards an object until its height is larger than 100 pixels.]
무한 반복
[AIVision1 v]으로 [AI 분류 v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
<([AIVision1 v] 객체 [높이 v]) [math_less_than v] [100]>이면
[앞으로 v] 방향으로 주행
아니면
주행 정지
끝

센터엑스#

centerX 속성은 감지된 객체의 중심의 x 좌표를 픽셀 단위로 0에서 320 사이의 정수로 나타냅니다.

매개변수가 centerX로 설정된 AI 비전 객체 속성 스택 블록입니다.#
([AIVision1 v] 객체 [centerX v])

예

시작 시
[Turn slowly until an object is centered in front of the robot.]
회전 속도를 [30] [% v]로 설정
[오른쪽 v] 방향으로 회전
무한 반복
[AIVision1 v]으로 [AI 분류 v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
<[140] [math_less_than v] ([AIVision1 v] 객체 [centerX v]) [math_less_than v] [180]>이면
주행 정지

센터Y#

centerY 속성은 감지된 객체의 중심의 y 좌표를 픽셀 단위로 0에서 240 사이의 정수로 나타냅니다.

AI 비전 객체 속성 스택 블록의 매개변수가 centerY로 설정되어 있습니다.#
([AIVision1 v] 객체 [centerY v])

예

시작 시
[Drive towards an object until its center y-coordinate is more than 140 pixels.]
무한 반복
[AIVision1 v]으로 [AI 분류 v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
<([AIVision1 v] 객체 [centerY v]) [math_less_than v] [140]>이면
[앞으로 v] 방향으로 주행
아니면
주행 정지
끝

각도#

angle 속성은 감지된 색상 코드 또는 AprilTag ID의 방향을 0에서 359 사이의 정수(도)로 보고합니다.

AI 비전 객체 속성 스택 블록의 매개변수가 각도로 설정되어 있습니다.#
([AIVision1 v] 객체 [각도 v])

예

시작 시
[Slide left or right depending on how the Color Code is rotated.]
무한 반복
[AIVision1 v]으로 [RED_BLUE v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
<[50] [math_less_than v] ([AIVision1 v] 객체 [각도 v]) [math_less_than v] [100]>이면
[오른쪽 v] 방향으로 주행
아니면 <[270] [math_less_than v] ([AIVision1 v] 객체 [각도 v]) [math_less_than v] [330]>이면
[왼쪽 v] 방향으로 주행
아니면
주행 정지
끝
아니면
주행 정지

오리진엑스#

originX 속성은 감지된 객체의 경계 상자 왼쪽 상단 모서리의 x 좌표를 픽셀 단위로 0에서 320 사이의 정수로 나타냅니다.

매개변수가 originX로 설정된 AI 비전 객체 속성 스택 블록입니다.#
([AIVision1 v] 객체 [originX v])

예

시작 시
[Display if an object is to the left or the right.]
무한 반복
화면에서 [1]행 지우기
화면에서 커서를 [1]행 [1]열로 이동
[AIVision1 v]으로 [AI 분류 v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
<([AIVision1 v] 객체 [originX v]) [math_less_than v] [160]>이면
화면에 [To the left!] 출력 ▶
아니면
화면에 [To the right!] 출력 ▶
끝
[0.5]초 기다리기

기원#

originY 속성은 감지된 객체의 경계 상자의 왼쪽 상단 모서리의 y 좌표를 픽셀 단위로 0에서 240 사이의 정수로 나타냅니다.

AI 비전 객체 속성 스택 블록의 매개변수가 originY로 설정되어 있습니다.#
([AIVision1 v] 객체 [originY v])

예

시작 시
[Display if an object is close or far from the robot.]
무한 반복
화면에서 [1]행 지우기
화면에서 커서를 [1]행 [1]열로 이동
[AIVision1 v]으로 [AI 분류 v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
<([AIVision1 v] 객체 [originY v]) [math_less_than v] [80]>이면
화면에 [Far!] 출력 ▶
아니면
화면에 [Close!] 출력 ▶
끝
[0.5]초 기다리기

태그ID#

tagID 속성은 감지된 AprilTag ID의 식별 번호를 정수로 보고합니다.

매개변수가 tagID로 설정된 AI 비전 객체 속성 스택 블록입니다.#
([AIVision1 v] 객체 [tagID v])

예

시작 시
[Drive forward when AprilTag ID 0 is detected.]
무한 반복
[AIVision1 v]으로 [AprilTag IDs v]의 스냅샷 찍기
<[AIVision1 v] 객체가 있나요?>이면
<([AIVision1 v] 객체 [tagID v]) [math_equal v] [0]>이면
[앞으로 v] 방향으로 주행
아니면
주행 정지
끝
[0.5]초 기다리기

점수#

점수 속성은 모델이 감지된 AI 분류에 대해 얼마나 확신하는지를 70%에서 100% 사이의 백분율로 나타냅니다.

점수가 낮을수록 센서가 감지한 물체에 대해 확신도가 낮다는 의미이고, 점수가 높을수록 센서가 더 확신한다는 의미입니다.

매개변수가 tagID로 설정된 AI 비전 객체 속성 스택 블록입니다.#
([AIVision1 v] 객체 [점수 v])