AI Feature

In the logic program, you can experience artificial intelligence image processing in an offline environment without an Internet connection.

The artificial intelligence image processing functions supported by ROGIC are as follows.


1. Original ArUco marker recognition feature

2. QR code recognition function

3. Facial data learning and recognition capabilities

4. Color Recognition Features

5. Image learning and recognition capabilities


Each function can be used after adding the [Video Detection] function and the [Video Recognition] function by adding the extension function as follows.

Once each extension is added, you can check the newly added coding blocks as shown in the figure below.

▶Video Detection

Each block added through the [Video Detection] extension can data the movement of the screen reflected through the webcam connected to the PC.



For the 'Video Action > [Blank] block', the block attached to the bottom of the block operates when the movement of the screen is detected by the percentage of the numerical values entered in the blank.




The 'observing value in [blank 2] for video [blank 1]' block is a block that can data the value of blank 1 for the object selected through blank 2.


[In blank 1, you can choose either "action" or "direction"]

[In blank 2, you can choose "Sprite" or "stage"]


These blocks can be used in combination with other coding blocks with blanks.



The 'Video [Blank ▼]' block is a block that can perform the selected function through the blank

[In the blank, you can choose 'Turn On' or 'Turn Off' or 'Turn On Up']

The block allows you to turn on, turn off, or turn on the screen connected to your PC.




The [ ] video transparency block is a block that specifies the transparency of the screen with the numerical values entered in the blank.

[You can enter numbers from 0 to 100 in the blank, and the screen is not exposed when you enter 100]

▶ Video processing

Each block added through the [Image Processing] extension allows you to analyze the screen streamed through the webcam and learn and process the data you want.



The 'Processing images with [blank]' block is a block that selects a streaming screen that will use the image processing function. (The streaming screen is selected from a webcam or a wireless camera module.)

[You can choose 'Webcam' or 'Camera Module' in the blank]




The '[Blank 1] Detection [Blank 2]' block is a block that allows you to select the type of data you want to detect and whether to use the function through the image processing function.

[In blank 1, you can choose one of "Marker", "QR Code", "Face", "Color", and "Image Classification"]

[In blank 2, you can choose between "turn it on" and "turn it off"]

* Marker means original ArUco marker


The '[Blank1] detection area display [Blank 2]' block is a block that can be selected to display or not display the detection area of data to be detected on the screen through the image processing function.

[In blank 1, you can choose one of 'marker', 'QR code', 'face', and 'color']

[In blank 2, you can choose between "turn it on" and "turn it off"]



1. ArUco Marker Detection Features


The Detected Marker block is a block where you can obtain unique number data of ArUco markers that you see on the streamed screen.

Click the ㅁbox to see the unique number of the detected ArUco marker in the upper left corner of the execution window.

* When the [Marker] Sensing [Turn On] block is in operation, the function can be used.


These blocks can be used in combination with other coding blocks with blanks.



A '[blank] number marker detected?' block is a block that can deliver the result value true and false about whether an ArUco marker is detected on a streamed screen.

In Blank, you can enter the unique number of the ArUco marker that you want to detect.

* When the [Marker] Sensing [Turn On] block is in operation, the function can be used.


These blocks can be used in combination with coding blocks with pointed blanks such as conditional blocks.



The 'X-coordinate of the [blank] marker and the 'Y-coordinate of the [blank] marker' block are blocks that can express the X-coordinate and Y-coordinate values of the 'ArUco marker' shown on the streamed screen as data.

In Blank, you can enter the unique number of the ArUco marker that you want to detect.

* When the [Marker] Sensing [Turn On] block is in operation, the function can be used.


These blocks can be used in combination with other coding blocks with blanks.



The 'size of the [blank] number marker' block is a block that can express the size value of the 'ArUco marker' shown on the streamed screen as data.

In Blank, you can enter the unique number of the ArUco marker that you want to detect.

The size value of the 'ArUco marker' is displayed by calculating the weight of the screen separately.

* When the [Marker] Sensing [Turn On] block is in operation, the function can be used.


These blocks can be used in combination with other coding blocks with blanks.


The 'direction of the [blank] number marker' block is a block that can express the slope value of the 'ArUco marker' shown on the streamed screen as data.

In Blank, you can enter the unique number of the ArUco marker that you want to detect.

The value in the 'ArUco direction' indicates the angle of inclination.

* When the [Marker] Sensing [Turn On] block is in operation, the function can be used.


These blocks can be used in combination with other coding blocks with blanks.




2. QR Detection Feature


[Detected QR Code Value] The block is a block where you can obtain data contained in the QR code shown on the streamed screen.

If you click ㅁbox, you can check the data content of the QR code detected through the top left of the execution window.

* When the [Marker] Sensing [Turn On] block is in operation, the function can be used.


The 'QR code detected?' block is a block that can deliver the result value true and false about whether the QR code is detected on the streamed screen.

* When the [Marker] Sensing [Turn On] block is in operation, the function can be used.


These blocks can be used in combination with coding blocks with pointed blanks such as conditional blocks.



3. Facial Data Learning and Detection Capabilities


The User Face Selection function is a function that allows you to learn face data inside the ROGIC program.


By clicking on the icon, you can proceed with the learning by going to the [Face Information] item.

위 그림과 같이 웹캠이나 무선 카메라모듈을 통해 비춰진 '사람'의 얼굴 데이터를 촬영하여 학습할 수 있습니다.

상세한 사용 방법은 아래 경로에 작성된 각 제품별 교육자료를 통해 확인할 수 있습니다.


DIYGO AI로보틱스 - 얼굴인식 컨텐츠 보러가기

AI 자율주행 자동차 - 얼굴인식 컨텐츠 보러가기

AI 보행로봇 [워커] - 얼굴인식 컨텐츠 보러가기

로이(Ro-E) - 얼굴인식 컨텐츠 보러가기


As shown in the picture above, you can learn by photographing the face data of 'people' reflected through a webcam or wireless camera module.

Detailed usage can be found in the training materials for each product written in the path below.


DIYGO AI Robotics - Go to Face Recognition Content

AI Self-Driving Cars - Going to Face Recognition Content

AI Walking Robot [Walker] - Going to the Face Recognition Content

Ro-E - Going to see face recognition content


The 'number of faces detected' block is a block where you can get data on the number of faces of a person seen on a streamed screen.

By clicking the ㅁbox, you can check the number of faces detected on the screen through the top left of the execution window.

* This block can be used when [face] detection [on] block is in operation.



A '[blank] detected?' block is a block that can deliver the result value true and false about whether a person's face is detected on a streamed screen.

For Blank, you can select 'anyone' which means a person's face or 'class name' of the face data learned through the [user face setting] function.

* This block can be used when [face] detection [on] block is in operation.


These blocks can be used in combination with coding blocks with pointed blanks such as conditional blocks.




The blocks 'X-coordinate in [Blank 1] and 'Y-coordinate in [Blank 2] in [Blank 1]' are blocks that can data the position of features on the face shown on the streamed screen as coordinates.

In [Blank 1], you can select 'anyone', which means a person's face, or 'class name' of the face data learned through the [user face setting] function.

[Blank 2] allows you to select 'left eye', 'left eyebrow', 'right eye', 'right eyebrow', 'nose', 'mouth', and 'jaw' of the detected face.

* This block can be used when [face] detection [on] block is in operation.


These blocks can be used in combination with other coding blocks with blanks.



The 'face size in [blank]' block is a block that can express the size value of the face seen on the streamed screen as data.

For Blank, you can select 'anyone' which means a person's face or 'class name' of the face data learned through the [user face setting] function.

The size value of the 'face' is displayed by calculating the weight of the screen separately.

* This block can be used when [face] detection [on] block is in operation.


These blocks can be used in combination with other coding blocks with blanks.




4. Color Detection Feature


The '[Blank (Color)' block is a block that can be converted into data by extracting the desired color within the streamed screen.

By clicking Blank, you can select the color you want to detect. There are two ways to select a color.

① Select the color/color/lightness data to specify the color as shown below.

② Click the Extract button as shown in the picture below, and directly click the color shown in the execution window.

When color designation or color extraction is completed, data is converted into HTML color code and stored through the corresponding block.




The 'Number of Blank (Color) Colors' block can data the number of designated colors to be detected or extracted colors exposed on the screen.

Click Blank to select the color you want to detect.

* When the [Color] Sensing [Turn On] block is in operation, the function can be used.


These blocks can be used in combination with other coding blocks with blanks.


The '[Blank (Color) color detected?]' block is a block that can pass the result value true and false on the streamed screen as to whether a designated color or extraction color is detected.

Click Blank to select the color you want to detect.

* When the [Color] Sensing [Turn On] block is in operation, the function can be used.


These blocks can be used in combination with coding blocks with pointed blanks such as conditional blocks.



The 'Set minimum size of color detection to [blank]' block is a block that allows you to specify the minimum size when detecting color data on a streamed screen.

Determine the color data based on the size data entered in Blank.

The size value is displayed by calculating the weight of the screen separately.


* When the [Color] Sensing [Turn On] block is in operation, the function can be used.




5. Facial data learning and detection capabilities


[Setting image classification criteria] The function is to learn image data taken with a camera inside the ROGIC program.

By clicking on the icon, you can proceed to the Image Classification item.

As shown in the picture above, you can learn by photographing the face data of 'people' reflected through a webcam or wireless camera module.

Detailed usage can be found in the training materials for each product written in the path below.


DIYGO AI Robotics - Go to Image Learning Content

AI Self-Driving Cars - Go to Image Learning Content

AI Walking Robot [Walker] - Go to Image Learning Content

Ro-E - Go to Image Learning Content

The 'Image Classification Results' block can data the image classification results detected on the streamed screen.

When you click ㅁbox, it outputs the result with the highest matching rate compared to the result of learning the screen being streamed through the top left of the execution window.

(If the training data does not exist, mark Class 1)

* The corresponding block can be used when the [Image Classification] Sensing [Turn On] block is in operation.



The 'Current [blank] and matching rate' block can data the matching rate between the learned data and the current screen.

In Blank, you can select the class name you have learned.

When you click the ㅁbox, the matching rate data is expressed from 0 to 100 through the top left of the execution window.

(If the training data does not exist, mark it as 0.)

* The corresponding block can be used when the [Image Classification] Sensing [Turn On] block is in operation.



Is the image classification result [blank?] block is a block that can convey the result value true and false about whether a specified class is detected on a streamed screen.

In Blank, you can select the class name you have learned.

* The corresponding block can be used when the [Image Classification] Sensing [Turn On] block is in operation.


These blocks can be used in combination with coding blocks with pointed blanks such as conditional blocks.