숫자 감지 – 개요
Quarky를 사용하여 AI 배달 봇을 만들기 전에 객체 감지와 관련하여 이해해야 할 몇 가지 개념이 있습니다.
모든 배송 로봇은 현재 위치 또는 목적지에 도달했는지 여부를 식별할 수 있는 방법이 필요합니다. 숫자 감지를 사용하여 수행할 것입니다.
보시다시피 경기장에는 3개의 체크포인트가 있으며 각 체크포인트에는 1, 2, 3과 같은 숫자가 표시되어 있습니다. 그리고 검문소를 식별하기 위해 숫자 카드를 사용했습니다. 이 방법을 사용하여 로봇의 위치를 식별합니다.
스마트폰 거치대 조립
하지만 아시다시피 우리는 로봇에 장착된 스마트폰을 사용하여 숫자를 식별합니다.
어떻게 하는지 봅시다.
- 스마트폰 홀더 를 장착하려면 먼저 Quarky의 전면 가장자리에 스마트폰 홀더를 고정합니다. 스마트폰 홀더 가 전면에 고정되면 후면을 누릅니다.
- 스마트폰 홀더 잠금장치 를 홀더에 수평으로 장착합니다.
- 홀더에 스마트폰을 수평 또는 수직으로 놓습니다(고무줄을 사용하여 고정).
이제 휴대폰의 후면 카메라를 사용하여 카드를 감지하는 방법을 살펴보겠습니다.
카메라 설정
번호 감지를 위해 카메라를 설정하려면 다음 단계를 따르세요.
- 휴대폰에서 PictoBlox를 엽니다. 설정 버튼을 클릭합니다.
- 비디오 탭을 클릭합니다. PictoBlox 앱이 사진을 찍고 비디오를 녹화하도록 허용하십시오.
- 기본적으로 선택한 카메라로 전면 카메라가 있습니다. 장치에서 사용 가능한 모든 카메라 목록을 보려면 드롭다운을 클릭해야 합니다.
- 후면 카메라를 선택합니다.
- 뒷면을 클릭하고 PictoBlox로 돌아오십시오. 확장 추가를 클릭하고 인식 카드 확장을 추가합니다.
- 이벤트 팔레트에서 스크립팅 영역으로 플래그를 클릭했을 때 블록을 추가합니다.
- 그런 다음 Recognition Cards 확장에서 () % 투명도 블록을 사용하여 무대에 턴 () 비디오를 추가하고 드롭다운에서 뒤집기를 선택합니다. 그러면 스마트폰의 후면 카메라가 켜집니다.
녹색 깃발을 클릭하면 후방 카메라가 시작됩니다. 더 진행하기 전에 이 부품이 작동하는지 확인하십시오.
숫자 감지 – 논리 이해
우리는 숫자를 감지하기 위해 스마트폰의 카메라를 사용할 것입니다. 여기의 논리는 매우 간단합니다. 카메라 앞에 임의의 숫자를 가져오면 PictoBlox가 그 숫자를 감지합니다. 숫자를 감지하는 정확도는 confidence 에 따라 달라집니다.
신뢰도 는 기계가 감지한 물체에 대해 얼마나 확신하는지 알려줍니다. 예를 들어, PictoBlox가 숫자 1을 감지했고 그 신뢰도가 0.6이라고 가정해 보겠습니다. 이것은 감지한 물체가 1번이라고 60% 확신한다는 것을 의미합니다. 개체 감지의 정확도는 신뢰도 값에 따라 달라집니다. 더 높습니다. 더 많은 자신감이 될 것입니다.
높은 신뢰도 값을 설정하는 단점은 특히 물체가 카메라에서 멀리 떨어져 있는 경우 물체 감지가 어려워진다는 것입니다.
그러나 신뢰도 값을 너무 낮게 유지할 수도 없습니다. 이 경우 기계는 다른 물체 또는 여러 물체를 한 번에 감지할 수 있습니다!
따라서 너무 낮지도, 너무 높지도 않은 값을 선택해야 합니다. 이 프로젝트에서는 신뢰도를 0.6으로 사용합니다.
이제 숫자를 감지하는 스크립트를 만들어 봅시다.
코딩하자!
PictoBlox 앱을 사용하여 이 스크립트를 만들 것입니다.
- 마지막 스크립트를 계속 진행합니다.
- () 경계 상자 블록을 추가합니다. 숫자 카드가 감지될 때마다 사각형 상자를 그립니다.
- 다음으로 설정된 감지 임계값을 () 블록에 추가합니다. 기본값은 0.8입니다. 0.6으로 설정하겠습니다.
- 스크립트의 나머지 부분은 숫자를 감지하기 위한 것입니다. 따라서 지속적으로 실행되기를 원합니다. 이를 위해 우리는 영원히 블록을 사용할 것입니다. 제어 팔레트에서 무한 블록을 추가합니다.
- 무한 블록 내부에 () 블록의 분석 이미지를 추가합니다. 이 블록은 카메라가 보는 물체를 감지하고 분석합니다.
- 이제 Look 팔레트에서 say() 블록을 추가하고 그 공간 안에 Recognition Cards 확장에서 객체() 블록의 ()를 추가합니다. 이 블록은 어떤 번호가 감지되었는지 알려줍니다.
- 이제 숫자 1이 감지되었는지 확인하는 피드백 시스템을 추가해 보겠습니다. 제어 팔레트에서 if-else 블록을 추가하고 블록의 공백 안에 is number() detected ? 를 추가합니다. 인식 카드 확장에서. 드롭다운에서 1번을 선택합니다.
- PictoBlox가 올바른 숫자를 감지하면 Quarky의 LED가 녹색으로 빛나기를 원합니다. 디스플레이 팔레트에서 if 암 아래에 디스플레이 매트릭스를 () 블록으로 추가하고 색상을 녹색으로 설정합니다.
- PictoBlox가 잘못된 번호를 감지하면 Quarky의 LED가 빨간색으로 빛나기를 원합니다. else 암 아래에 또 다른 디스플레이 매트릭스를 () 블록으로 추가하고 색상을 빨간색으로 설정합니다.
이제 녹색 플래그를 클릭하여 스크립트를 실행합니다.
다음과 같이 여러 카드가 있을 때 로봇이 숫자 1을 감지하는 것과 같은 다른 조건을 테스트할 수도 있습니다.
다음 항목으로 이동하기 전에 이 항목이 작동하는지 확인하십시오.
과제
다음 수업으로 넘어가기 전에 작은 과제가 기다리고 있습니다!
활동에서 생성한 프로젝트를 과제로 제출합니다.
과정을 마친 후 수료증을 받으려면 과제를 제출해야 합니다.
과제를 업로드하려면 아래 단계를 따르세요.
- 파일 선택 을 클릭합니다.
- 열리는 팝업 창에서 이미지를 선택합니다.
- 이미지가 선택되면 과제 업로드 를 클릭합니다.
행운을 빕니다!