# MobileFaceNet Face Landmark Detector
*author: David Wang*
< br / >
## Description
[MobileFaceNets ](https://arxiv.org/pdf/1804.07573 ) is a class of extremely efficient CNN models to extract 68 landmarks from a facial image. It use less than 1 million parameters and is specifically tailored for high-accuracy real-time face verification on mobile and embedded devices. This repository is an adaptation from [cuijian/pytorch_face_landmark ](https://github.com/cunjian/pytorch_face_landmark ).
< br / >
## Code Example
Extract facial landmarks from './img1.jpg'.
*Write the pipeline in simplified style:*
```python
import towhee
towhee.glob('./img1.jpg') \
.image_decode.cv2() \
.face_landmark_detection.mobilefacenet() \
.to_list()
```
*Write a same pipeline with explicit inputs/outputs name specifications:*
```python
import towhee
towhee.glob['path']('./img1.jpg') \
.image_decode.cv2['path', 'img']() \
.face_landmark_detection.mobilefacenet['img', 'landmark']() \
.select['img','landmark']() \
.show()
```
< img src = "https://towhee.io/face-landmark-detection/mobilefacenet/raw/branch/main/result.png" alt = "result1" style = "height:20px;" / >
< br / >
## Factory Constructor
Create the operator via the following factory method:
***face_landmark_detection.mobilefacenet(pretrained = True)***
**Parameters:**
** *pretrained***
whether load the pre-trained weights.
supported types: `bool` , default is True, using pre-trained weights.
< br / >
## Interface
An image embedding operator takes an image as input. it extracts the embedding as ndarray.
**Parameters:**
** *img:*** *towhee.types.Image (a sub-class of numpy.ndarray)*
The input image.
**Returns:** *numpy.ndarray*
The extracted facial landmarks.