查看: 1691|回复: 0

【征集/转载】角蜂鸟上手之路(一)——初玩FaceNet

[复制链接]
  • TA的每日心情
    难过
    2021-2-27 22:16
  • 签到天数: 1568 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2018-8-24 00:03:29 | 显示全部楼层 |阅读模式
    分享到:
    [征集]你玩AI,我送幸运,为AI套件专区添砖加瓦--

    角蜂鸟的DEMO里没有FaceNet的应用。不过在模型里附带了它。FaceNet是一款很经典好用的人脸识别的模型。极大的加速了自己项目的开发。毕竟谷歌训练的时候可以有很大的训练数据,个人玩的话,鬼知道练到猴年马月了。
           这里直接借用了情景记录器的程序,角蜂鸟的情景记录器功能非常好用,对于玩家级别的用户来说实用性非常强大,真的相当于是傻瓜化操作了,上两个傻瓜化操作的开源硬件的发展大家也都看见了,一个Arduino,一个树莓派,可以说都是大获全胜。
    角蜂鸟官方的说法是模型转换通用于NCSDK V1的,V2似乎有些问题。反正生态圈子慢慢建嘛。目前给的DEMO
    虽然不多,但是都是很用心的设计,基本自己玩是够用了。
      还是那句话,写些为纯新手而准备的文。
    Code如下:
    import cv2, sys
    sys.path.append('../../api/')
    import hsapi as hs
    WEBCAM = False # Set to True if use Webcam
            net = hs.HS('FaceNet', zoom = True, verbose = 2)
    if WEBCAM: video_capture = cv2.VideoCapture(0)
    try:
            while True:
                    if WEBCAM: _, img = video_capture.read()
                    else: img = None

                    # Get image descriptor
                    result = net.run(img)
                    key = cv2.waitKey(5)
                    if key == 255:
                            key = -1
                    prob = net.record(result, key, saveFilename='../misc/record.dat', numBin = 5)
                   
                    if prob is not None:
                            cv2.putText(result[0], '%d' % (prob.argmax() + 1), (50,50), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0,255,0), 7)
                            cv2.putText(result[0], '%d' % (prob.argmax() + 1), (50,50), cv2.FONT_HERSHEY_SIMPLEX, 1.0, (0,255,255), 3)
                    if key != -1 and chr(key).isdigit():
                            cv2.putText(result[0], 'Rec: %d' % int(chr(key)), (30,50), cv2.FONT_HERSHEY_SIMPLEX, 1.5, (0,0,255), 5)
                            cv2.rectangle(result[0], (0,0), result[0].shape[1::-1], (0,0,255), 25)
                    cv2.imshow("Scene Recorder_FaceNet", result[0])
                    cv2.waitKey(1)
    finally:
            net.quit()
    眼熟吧,其实就是换了个模型。第一次上手么,就先玩玩吧。numBin是默认的5,一个自己,两组二次元妹子好了。
    一组撞脸,名侦探柯南里的小兰和和叶
    第二组撞头发,分别是柯南里的灰原哀和超电磁炮里的御坂美琴
    值得一提的是,因为都是纸片人小姐姐,所以每张照片拍了一帧就够了。每个人物采样8张

    1.png

    按R以后就会自动的生产模型并且开始识别

    2.png

    虽然样本数量很少但是都是能够正确的识别的。
    P.S背景白纸上的涂鸦是玩你画我猜例程时留下的。。。蜜汁画风见谅了,不过对于机器来说,倒是方便他识别。
    后来因为打算做智能桌面助手,见到我开灯,开电脑,用情景记录器监测我有没有在摸鱼,带个VFD屏幕报时间,电脑CPU信息之类的。所以在剑三里测试了一下复杂背景多角度情况的检测,毕竟是3D的游戏,人物建模也还算不错,效果如下:

    3.png

    总结一下这时的经验,录脸的时候,男生把头发压一压,女生把头发扎一扎,脸占比大一点,不然会出现看到脑袋就认成你的尴尬情况(毕竟基本家里都是黑头发)

    转载自作者俗世怂人,链接https://blog.csdn.net/u011662608/article/details/81176670



    评分

    参与人数 1与非币 +50 收起 理由
    satoll + 50 AI征集奖励

    查看全部评分

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-24 11:40 , Processed in 0.124968 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.