| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -13,17 +13,17 @@ void ofApp::setup(){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //player.Setup();
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //player.SetVideo("videos/demo.mp4", fbo);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //emoteImage.allocate(260, 260);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //tempImage.allocate(emoteImage.getWidth(), emoteImage.getHeight(), OF_IMAGE_COLOR);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    emoteImage.allocate(260, 260); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    tempImage.allocate(emoteImage.getWidth(), emoteImage.getHeight(), OF_IMAGE_COLOR); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ORTCHAR_T* modelPath = "/home/cailean/Desktop/openframeworks/of_v0.12.0_linux64gcc6_release/apps/myApps/onnx-test/bin/data/depth_anything_v2_vitb.onnx"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ORTCHAR_T* modelPath2 = "/home/cailean/Desktop/openframeworks/of_v0.12.0_linux64gcc6_release/apps/myApps/onnx-test/bin/data/yolov5s-face.onnx"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ORTCHAR_T* modelPath3 = "/home/cailean/Desktop/openframeworks/of_v0.12.0_linux64gcc6_release/apps/myApps/onnx-test/bin/data/rgb_emotion.onnx"; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /* Setup Models (modelPath, log, useCuda)   */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //yolo.Setup(modelPath2, false, true);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    yolo.Setup(modelPath2, false, true); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    depth.Setup(modelPath, false, true); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //emotion.Setup(modelPath3, false, true);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    emotion.Setup(modelPath3, false, true); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    /* Load shader, allocated rampedFbo */ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    depthToColourShader.load("data/shader/rampShader.vert", "data/shader/rampShader.frag"); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -70,17 +70,17 @@ void ofApp::update(){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        depth.DataToFbo(output_ptr, 518, 518, fbo); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // auto output_tensors_face = yolo.Run(map.fboImage);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        auto output_tensors_face = yolo.Run(map.fboImage); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // auto output_faces = output_tensors_face.front().GetTensorTypeAndShapeInfo().GetShape();
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        auto output_faces = output_tensors_face.front().GetTensorTypeAndShapeInfo().GetShape(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // unsigned int num_anchors = output_faces[1];  // Number of anchors
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        unsigned int num_anchors = output_faces[1];  // Number of anchors
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // float* output_face_ptr = output_tensors_face.front().GetTensorMutableData<float>();
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        float* output_face_ptr = output_tensors_face.front().GetTensorMutableData<float>(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // faceDetector.ParseOutput(output_face_ptr, detected_faces, num_anchors);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        faceDetector.ParseOutput(output_face_ptr, detected_faces, num_anchors); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        // faceDetector.ConvertBoxCoordsToOriginalSize(detected_faces, fbo.getWidth(), fbo.getHeight());
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        faceDetector.ConvertBoxCoordsToOriginalSize(detected_faces, fbo.getWidth(), fbo.getHeight()); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        /* As no input is generated for the emotion recognition model, run a dummy vector through the model
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            So it can load */ | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -122,15 +122,14 @@ void ofApp::update(){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					//--------------------------------------------------------------
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					void ofApp::draw(){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto start = std::chrono::high_resolution_clock::now(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    map.Draw(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    renderDepthMap(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // if(!firstRun){
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //     faceDetector.DrawBox(detected_faces);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    //     faceDetector.DrawCenter(detected_faces);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    // }
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    if(!firstRun && detected_faces.size() != 0){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        faceDetector.DrawBox(detected_faces); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        faceDetector.DrawCenter(detected_faces); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ofPushMatrix(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    ofSetColor(255); | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -142,10 +141,6 @@ void ofApp::draw(){ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					//     ofDrawBitmapString(std::to_string(face.box.emotional_state.emotions[0]), 700, 300);
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					//   }
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    auto end = std::chrono::high_resolution_clock::now(); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    std::chrono::duration<float> duration = end - start; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    std::cout << "Time taken for Draw: " << duration.count() << " seconds" << std::endl; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					//--------------------------------------------------------------
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |