Artificial-Eyeliner 人脸眼线检测
- 项目介绍
- 运行方式
- 运行步骤
- 常见问题及解决方法
- 1. dlib 安装失败
- 其他注意事项
- 2. 缺少 make / gcc
- 3. **依赖库安装问题**:
- 4. *人脸关键点检测失败:
- 5. 眼线效果不理想:
- 6. 实时处理延迟:
- 7. 保存文件被覆盖:
Artificial-Eyeliner 是一个使用 Python 编程语言和相关库(如 OpenCV 和 dlib)实现的项目,旨在通过计算机视觉技术自动在图像或视频中的人物眼睛上添加眼线。以下是该项目的详细介绍,包括运行方式、运行步骤、常见问题及解决方法。
项目介绍
Artificial-Eyeliner 项目的核心是利用 dlib 库检测人脸的关键点(landmarks),特别是眼睛周围的点,然后通过这些点计算出眼线的位置,并使用 OpenCV 在图像或视频帧上绘制眼线。
运行方式
该项目可以通过命令行界面(CLI)运行,支持对图像和视频添加眼线,也可以实时处理网络摄像头的视频流。
运行步骤
- 安装依赖:确保安装了 Python 3.6 及以上版本,并安装以下库:
- Numpy
- Dlib
- OpenCV(cv2)
- Matplotlib
- Scikit-image
- SciPy
- Imutils
- PIL
- 获取项目代码:从 GitHub 上克隆项目到本地:
git clone https://github.com/kaushil24/Artificial-Eyeliner/
- 准备数据文件:确保
shape_predictor_68_face_landmarks.dat
文件位于项目根目录或指定路径中。 - 运行脚本:使用以下命令运行脚本,根据需要添加参数:
python eyeliner.py [-i image] [-v video] [-d dat] [-t thickness] [-c color] [-s save]
-i
:指定要添加眼线的图像路径。-v
:指定要添加眼线的视频路径,或使用webcam
实时处理网络摄像头视频。-d
:指定shape_predictor_68_face_landmarks.dat
文件的路径(如果不在根目录)。-t
:设置眼线的厚度,默认为 2,推荐值为 0-5。-c
:设置眼线的颜色,格式为-c R G B
,默认为黑色(0 0 0
)。-s
:指定保存输出文件的路径和文件名,程序会自动添加扩展名,如果文件已存在则会被覆盖。
常见问题及解决方法
1. dlib 安装失败
- 安装依赖库:
- Windows:确保安装了 CMake,并将其添加到系统的环境变量中。此外,还需要安装 Visual Studio 的 C++ 开发工具。
- Linux:运行以下命令安装必要的依赖:
sudo apt-get install build-essential cmake python3-dev python3-numpy libopenblas-dev libatlas-base-dev
- 安装 dlib:
- Windows:可以尝试安装预编译的 dlib 轮文件。例如,对于 Python 3.8 64 位版本,运行以下命令:
pip install dlib-19.19.0-cp38-cp38-win_amd64.whl
- Linux:直接使用 pip 安装 dlib:
pip install dlib
- Windows:可以尝试安装预编译的 dlib 轮文件。例如,对于 Python 3.8 64 位版本,运行以下命令:
- 检查 Python 和 pip 版本:确保使用的是最新版本的 pip。可以使用以下命令更新 pip:
pip install --upgrade pip
- 虚拟环境:如果使用虚拟环境,请确保虚拟环境已激活。在激活的虚拟环境中运行以下命令:
pip install dlib
其他注意事项
- 版本兼容性:确保 dlib 的版本与 Python 版本兼容。如果不确定,可以指定 dlib 的版本进行安装,例如:
pip install dlib==19.22.0
- 测试安装:安装完成后,在 Python 环境中运行以下代码以验证 dlib 是否安装成功:
如果没有报错并打印出版本号,则说明安装成功。import dlib print(dlib.__version__)
2. 缺少 make / gcc
- Windows:
- 安装 MinGW(Minimalist GNU for Windows),它提供了 gcc 和 make 等工具。
- 下载并安装 MinGW,选择安装
mingw32-gcc-g++
和mingw32-make
组件。 - 将 MinGW 的
bin
目录添加到系统的环境变量中。
- Linux:
- 使用以下命令安装 gcc 和 make:
sudo apt-get install build-essential
- 使用以下命令安装 gcc 和 make:
3. 依赖库安装问题:
- 问题:某些库安装失败或版本不兼容。
- 解决方法:确保 Python 版本符合项目要求(3.6 及以上),使用
pip
安装库时指定版本号,例如:pip install numpy==1.17.4
4. *人脸关键点检测失败:
- 问题:无法正确检测到人脸或眼睛的关键点。
- 解决方法:检查
shape_predictor_68_face_landmarks.dat
文件是否正确加载,确保图像或视频中的人脸清晰且角度合适。
5. 眼线效果不理想:
- 问题:眼线颜色、厚度或位置不符合预期。
- 解决方法:调整
-t
参数控制眼线厚度,使用-c
参数调整颜色,检查关键点检测是否准确。
6. 实时处理延迟:
- 问题:使用网络摄像头时,实时处理存在延迟。
- 解决方法:优化代码,减少不必要的计算,降低视频帧率或分辨率。
7. 保存文件被覆盖:
- 问题:输出文件名与已有文件冲突,导致文件被覆盖。
- 解决方法:在保存文件前检查文件是否存在,可手动更改输出文件名。
以下是关于 dlib 安装失败、缺少 make 和 gcc 等问题的详细解决方案: