# Face Detection

Face detection has a wide range of application, we will learn how to do face detection in this tutorial.

<figure><img src="https://kittenbothk.readthedocs.io/en/latest/_images/08.png" alt=""><figcaption></figcaption></figure>

### Detecting Faces

<figure><img src="https://kittenbothk-eng.readthedocs.io/en/latest/_images/mcbanner.png" alt=""><figcaption></figcaption></figure>

#### **Loading Extensions**

Search "KOI" in the search bar.

<figure><img src="https://kittenbothk.readthedocs.io/en/latest/_images/koi_search.png" alt=""><figcaption></figcaption></figure>

Or copy and paste the following link to the search bar.

**<https://github.com/KittenBot/pxt-koi>**

Blocks for face detection:

<figure><img src="https://kittenbothk-eng.readthedocs.io/en/latest/_images/09.png" alt=""><figcaption></figcaption></figure>

#### Sample Program:

{% embed url="<https://makecode.microbit.org/_8A3FkRX83gfo>" %}

### Program Flow

Download the program to the Micro:bit, the pixel on the Micro:bit move accordingly.

<figure><img src="https://kittenbothk.readthedocs.io/en/latest/_images/04-13.png" alt=""><figcaption></figcaption></figure>

### Mapping coordinates[](https://kittenbothk-eng.readthedocs.io/en/latest/AI%20Cam/FunctionDemo_MC/KOI11_face.html#mapping-coordinates)

We can use the map function to map a value to a new range.

<figure><img src="https://kittenbothk.readthedocs.io/en/latest/_images/023.png" alt=""><figcaption></figcaption></figure>

### Sample Code

[Face Detection (Extension0.5.7)](https://makecode.microbit.org/_2iYYjJcmjUkg)

### Extension Version and Updates

There may be updates to extensions periodically, please refer to the following link to update/downgrade your extension.

[Makecode Extension Update](https://kittenbothk-eng.readthedocs.io/en/latest/Makecode/makecode_extensionUpdate.html)

### FAQ

#### 1: There is no reaction after pressing the buttons on the Micro:bit.[](https://kittenbothk-eng.readthedocs.io/en/latest/AI%20Cam/FunctionDemo_MC/KOI11_face.html#there-is-no-reaction-after-pressing-the-buttons-on-the-micro-bit)

· A: This is because KOI has a longer boot time than Micro:bit. When the power is turned on, Micro:bit has already ran the code for KOI initialization before KOI is ready.

· Solution: Reset your Micro:bit after KOI has been turned on. (The trick is to let KOI power on completely before initialization.)

#### 2: Does KOI work with 3V input?

· A: No, KOI only works with 5V.
