今天看到了爱可可老师的微博:用Tensorflow.js实现的简单表情符号识别via:Nick Bourdakos
自己也想从头实现一个这样好玩的识别应用。所以自己动手实现一下,顺便记录下实现步骤。
参考了手机表情里的手势预计采用如下五种手势:
话不多说开始,第一步当然是数据的采集啦。
数据采集使用OpenCV就可以了。采集脚本如下:
import numpy as np
import cv2 as cv
#调用笔记本内置摄像头
cap=cv.VideoCapture(0)
i = 0
while i<1500:
flag,img=cap.read()
cv.imshow("img",img)
cv.imwrite("data/hand"+str(i)+".png",img)
k=cv.waitKey(1)
i=i+1
if i%100 ==0:
print(i)
print("get data finished!")
cap.release()
采集了1500张图片,完成后data目录下如下:
下面就是数据标注了,标注采用labelImg这个工具。由于Github下载太慢,我把这个工具放到了百度网盘里(提取码gcju):https://pan.baidu.com/s/1TWWem2E7IvfxhR5biOyj9A
下载后解压,进入data目录编辑predefined_classes.txt,由于是六个手势,可以编辑六个label如下:
然后运行labelImg.exe。
首先导入数据所在的文件夹,OpenDir–>选择文件夹,如下图:
点击CreatRectBox后选择矩形区域后双击对应label(1,2,3,4,5,6)
后即完成标注。
标注数据去了。。。