4第 5 组的 BIM 项目
项目描述
项目_4bim
目录
软件说明
该软件创建了一张合成肖像,其面部特征尽可能接近罪犯。肖像的创建是基于证人在从大规模人脸属性数据集中提取的不同命题之间的连续选择。软件使用这些选择来识别最可能的面部特征,以便选择和提出符合证人期望并希望符合实际罪犯的图像。
该软件包含一个用户友好的图形用户界面,用于提出最终肖像的算法包括一个神经网络算法,它将减少数据集图像的大小,以及一个遗传算法,它将组合和修改见证人选择的图像并提出建议新图片。
存储库组织
文件夹 projet 包含定义软件结构的所有文件夹。此文件夹 projet 包含定义软件执行的主要 python 文件。它还包含:
- 在 clusters 文件夹中,遗传算法和神经网络算法所需的所有 numpy 和 csv 文件。
- 在解码器文件夹中,主要是照片解码所需的所有解码器文件 .h5。
- 在 selectionimage、son、father、choice 和 final_choice 文件夹中,主要执行期间保存的所有照片。
- 在 build/html/index.html 中,一个指向索引的链接,您可以在其中轻松找到所有函数的文档字符串。
Tutoriel 文件夹包含两个 jupyther 笔记本,可以帮助您使用遗传算法和神经网络算法进行训练。
方法描述
我们的项目基于 3 种方法。
- 神经网络
神经网络算法用于减小所有数据集图像的大小,以便软件更快地修改它们。它包含一个压缩图像的编码器和一个稍后解压缩图像以显示它们的解码器。
用于创建该软件的数据库有超过 200,000 张照片。为了不必在每次运行软件时都在所有数据集上训练我们的神经网络模型,我们决定基于 3 个属性(发型、性别和年龄)的所有可能组合创建数据集的 8 个集群。考虑显着减小数据库的大小。每个集群都有一个特定的编码器和解码器,神经网络运行所需的所有这些文件都是预先创建的。在运行时保存在内存中的唯一图像是正在显示的图像。
- 遗传算法
遗传算法用于生成高质量的解决方案,以供证人搜索罪犯的面部。它依赖于两个受生物学启发的运算符:突变和交叉。这个想法是包括目击者的连续照片选择,并使用该信息生成包含所选特征的新照片。
- 图形用户界面
为了呈现用户友好的软件,创建了一个图形用户界面,其中包含允许见证人选择不同照片、停止和重新启动程序的按钮。它还显示在软件前面步骤中选择的所有照片。
技术
项目中使用的技术列表:
- python3:版本 3.7.3
- 库 keras:版本 2.8.0
- 库张量流:版本 2.8.0
- 库 cv2:版本 4.3.0 $ pip3 install opencv-python
- 库 scikit-image:版本 0.19.2 $ pip3 install scikit-image
- 大规模 CelebFaces 属性 (CelebA) 数据集
安装
要使用该应用程序,您需要一个 python 环境,并且您必须验证 python 和模块的版本。除了使用以下说明之外,您还需要一个 linux 终端。
$ git clone cle_SSH
$ cd Project_4BIM/projet
$ mkdir choice
$ mkdir final_choice
$ python3 mainGUI.py
Then follow the intructions of the graphic interface.
合作
您可以在 github 上下载该项目,但您不能直接在该项目上进行协作(它是私有的)。
教程
首先,选择一组初始的身体特征进行搜索。单击选项,然后单击下一步。
然后,将显示与初始选定特征相对应的 9 张照片。选择其中 4 个,然后单击下一步。
然后,将显示 6 张新创建的照片。在窗口的右上角,您可以查看之前选择的照片。你有两种可能:
- 从左侧选择一张照片,从右侧选择 3 张
或者
- 从右侧选择 4 张照片
请注意,您可以随时通过单击重新启动来重新启动软件。
您的所有选择都将显示在窗口的左下方。
限制和改进
- 该软件没有最大迭代次数,也没有收敛标准。
- 该软件没有提供可以使用该程序的上下文的主页。
- 通过更改数据库或实施其他 AI 方法,绝对可以提高图像质量。
- 图形界面按钮在被选中时不会改变颜色,因此用户无法直观地确认其选择。实现此功能可以使程序更具用户交互性。
常见问题
常见问题列表
- 之前执行过程中创建的图像是否保存在文件夹中? 先前执行期间创建的图像将保留在内存中,直到完成新的执行。最终的肖像被保存在一个文件夹中,直到选择了新的执行的最终肖像。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。