2017-04-11 20 views
0

제목에 설명 된 질문으로, 나는 caffe ssd를 사용하여 물건을 감지하려고했습니다. https://github.com/weiliu89/caffe/blob/ssd/examples/ssd/ssd_pascal_webcam.py 링크는 내가 복제하고 사용한 프로젝트입니다. 웹캠을 사용하여 실시간 분석을 시도했을 때, 프로젝트에서 USB 카메라 만 사용하여 다른 서버에서 다른 카메라를 사용하고 싶다는 것을 알았습니다 (예 : 카메라 포트는 [email protected] : 334) 원격 카메라를 사용할 수 있도록이 코드를 어떻게 다시 작성할 수 있습니까? thxcaffe ssd를 사용할 때 원격 카메라를 사용하는 방법은 무엇입니까?

답변

0

커피 코드의 변경을 최소화하려면 웹 주소를 video_file으로 유지하고 device_id0 이외의 것으로 설정하면됩니다. 에 맞춰 45 ~ 47를 대체하여이 지원 편집 https://github.com/weiliu89/caffe/blob/ssd/src/caffe/layers/video_data_layer.cpp 파일을 추가하려면 :

// suppose 101 is the code for remote webcam 
if(device_id == 101){ 
    CHECK(video_data_param.has_video_file()) << "Must provide webcam address"; 
    const string& video_file = video_data_param.video_file(); 
    if (!cap_.open(video_file)) { 
     LOG(FATAL) << "Failed to open remote webcam: " << video_file; 
    } 
}else { 
    if (!cap_.open(device_id)) { 
     LOG(FATAL) << "Failed to open webcam: " << device_id; 
    } 
} 

이제 CAFFE를 다시 빌드합니다. (117)이 좋아하는 당신의 https://github.com/weiliu89/caffe/blob/ssd/examples/ssd/ssd_pascal_webcam.py 파일 줄을 편집 :

video_data_param = { 
    'video_type': P.VideoData.WEBCAM, 
    'device_id': 101, 
    'skip_frames': skip_frames, 
    'video_file': "remote webcam address" 
} 

참고 : 원격 웹캠에 대한 당신이 ffmpegopencv를 구축해야 할 수도 있습니다.

+0

정말 고마워요. 내가 카페를 짓는데 많은 어려움을 만났기 때문에. 그래서 나는 당신의 대답에 따라 ssd_pascal_video.py를 편집하기로 결정했습니다. 원격 카메라 주소 rtsp : // admin : [email protected] : 334에 video_file을 저장하여 ssd_pascal_video.py를 편집했습니다. 그리고 그것을 테스트하고 있었는지 모르겠다. – Ronneycui

+0

''video_type ': P.VideoData.VIDEO'? 그 일을 위해 수행되는 몇 가지 다른 것들이 있습니다. – lnman