YOLO V2使用Kinect v2和Tensorflow

时间:2017-07-16 12:46:43

标签: tensorflow kinect yolo

所有

当我运行以下代码时,我正在使用YOLO v2进行对象识别

./darknet detector demo cfg/voc.data cfg/tiny-yolo-voc.cfg tiny-yolo-voc.weights

我从网络摄像头获取视频流,但我想从相机Kinect v2获取视频流。 Yolo V2从暗网中cap = cvCaptureFromCAM(cam_index);的{​​{1}}获取视频流,而kinect v2从libfreenct2中的demo.c获取rgb视频流

我想用kinect v2和Yolo v2进行物体检测!!!!!任何人都可以给我帮助??

2 个答案:

答案 0 :(得分:0)

您需要从kinect中获取每一帧并将其转换为MAT,以便可以将其发送到yolo,可以使用opencv来做到这一点,python可以非常轻松地完成它,因为您只需要这样做

rgbMat = KinectFrame

我不知道C,但必须相似。

答案 1 :(得分:-1)

尝试一下:  它同时提取颜色和深度流。

kinect = PyKinectRuntime.PyKinectRuntime(PyKinectV2.FrameSourceTypes_Color)
kinectD = PyKinectRuntime.PyKinectRuntime(PyKinectV2.FrameSourceTypes_Depth)

while True:
    stime = time.time()
    if kinect.has_new_color_frame():
        frame = kinect.get_last_color_frame()
        frame = np.reshape(frame, (1080, 1920, 4))
        frame = cv2.cvtColor(frame, cv2.COLOR_RGBA2RGB)
        frame = cv2.resize(frame, (0, 0), fx=.5, fy=.5)
        #frameC = cv2.cvtColor(frame, cv2.COLOR_RGBA2RGB)

        frameD = kinectD.get_last_depth_frame()
        frameDepth = kinectD._depth_frame_data
        frameD = frameD.astype(np.uint8)
        frameD = np.reshape(frameD,(424, 512))
        frameD = cv2.cvtColor(frameD, cv2.COLOR_GRAY2BGR)

这是一个使用pykinect,yolo 2并提取深度的python程序的视频: https://www.youtube.com/watch?v=AyKOIxOOwYk 视频不是最好的,但是有一个到github代码仓库的链接。