Skip to content

Commit

Permalink
4.0.6 (#263)
Browse files Browse the repository at this point in the history
* add new plane detection parameters

* add new focal length attribute

* update linux lib + fix ai model enum

* fix od 2d sample

* also fix when using BT

* clean scenes
  • Loading branch information
Bvallon-sl authored Aug 10, 2023
1 parent ec49500 commit 108effb
Show file tree
Hide file tree
Showing 14 changed files with 390 additions and 591 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -683,11 +683,11 @@ PrefabInstance:
objectReference: {fileID: 0}
- target: {fileID: 6327103935139800441, guid: ca18a88838151284380d84fc86d327e5, type: 3}
propertyPath: displaySDKSkeleton
value: 1
value: 0
objectReference: {fileID: 0}
- target: {fileID: 6327103935139800441, guid: ca18a88838151284380d84fc86d327e5, type: 3}
propertyPath: offsetSDKSkeleton.x
value: 0
value: -1
objectReference: {fileID: 0}
- target: {fileID: 6327103935139800441, guid: ca18a88838151284380d84fc86d327e5, type: 3}
propertyPath: displayDebugSkeleton
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -166,207 +166,175 @@ PrefabInstance:
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: FPS
value: 30
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: maxRange
value: 5
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: depthMode
value: 3
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: inputType
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: bodyFormat
value: 2
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: resolution
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: sensingMode
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: svoLoopBack
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: streamInputIP
value: 127.0.0.1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: depthOcclusion
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: enableTracking
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: m_maxDepthRange
value: 40
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: svoRealTimeMode
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: svoInputFileName
value:
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: trackingIsStatic
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: advancedPanelOpen
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: bodyTrackingModel
value: 2
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: enableSpatialMemory
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: objectClassBagFilter
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: objectDetectionModel
value: 2
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: recordingFoldoutOpen
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: camControlFoldoutOpen
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: objectDetection2DMask
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: bodyTrackingFoldoutOpen
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: estimateInitialPosition
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: objectClassAnimalFilter
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: objectClassPersonFilter
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: objectDetectionTracking
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: objectClassVehicleFilter
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: objectDetectionFoldoutOpen
value: 0
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: objectDetectionImageSyncMode
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: bodyTrackingMinimumKPThreshold
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: bagDetectionConfidenceThreshold
value: 60
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: bodyTrackingConfidenceThreshold
value: 40
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: animalDetectionConfidenceThreshold
value: 60
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: objectDetectionConfidenceThreshold
value: 50
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: personDetectionConfidenceThreshold
value: 20
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: vehicleDetectionConfidenceThreshold
value: 60
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: OD_personDetectionConfidenceThreshold
value: 60
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: electronicsDetectionConfidenceThreshold
value: 60
objectReference: {fileID: 0}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
- target: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
propertyPath: fruitVegetableDetectionConfidenceThreshold
value: 60
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
--- !u!114 &56380649 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42,
type: 3}
m_CorrespondingSourceObject: {fileID: 114491592745282986, guid: 76db3eb81fd21ae45bab5204e324ae42, type: 3}
m_PrefabInstance: {fileID: 56380648}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
Expand Down Expand Up @@ -516,8 +484,7 @@ MonoBehaviour:
zedManager: {fileID: 56380649}
detectionMode: 0
startAIModuleAutomatically: 1
boundingBoxPrefab: {fileID: 1438017172825460, guid: 2d803190bc4738d4daf5932468a5495e,
type: 3}
boundingBoxPrefab: {fileID: 1438017172825460, guid: 2d803190bc4738d4daf5932468a5495e, type: 3}
boxColors:
- {r: 0.23137257, g: 0.909804, b: 0.6901961, a: 1}
- {r: 0.098039225, g: 0.6862745, b: 0.81568635, a: 1}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,7 @@ public void Visualize2DBoundingBoxes(ObjectDetectionFrame dframe)
List<int> activeids = liveBBoxes.Keys.ToList();

List<DetectedObject> newobjects = dframe.GetFilteredObjectList(showONTracked, showSEARCHINGTracked, showOFFTracked);

//Test just setting box to first available.
foreach (DetectedObject dobj in newobjects)
{
Expand All @@ -247,6 +248,7 @@ public void Visualize2DBoundingBoxes(ObjectDetectionFrame dframe)
bbox.sizeDelta = new Vector2(objrect.width, objrect.height);
bbox.anchoredPosition = new Vector2(objrect.x, objrect.y);


//Apply the mask.
if (showObjectMask)
{
Expand Down Expand Up @@ -308,7 +310,7 @@ public void Visualize2DBoundingBoxes(BodyTrackingFrame dframe)
//Adjust the size of the RectTransform to encompass the object.
bbox.sizeDelta = new Vector2(objrect.width, objrect.height);
bbox.anchoredPosition = new Vector2(objrect.x, objrect.y);

//Apply the mask.
if (showObjectMask)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -819,10 +819,18 @@ PrefabInstance:
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114711245158774928, guid: e13ee7e0790c7d243b7aa67fe604acac, type: 3}
propertyPath: inputType
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114711245158774928, guid: e13ee7e0790c7d243b7aa67fe604acac, type: 3}
propertyPath: showarrig
value: 1
objectReference: {fileID: 0}
- target: {fileID: 114711245158774928, guid: e13ee7e0790c7d243b7aa67fe604acac, type: 3}
propertyPath: svoInputFileName
value:
objectReference: {fileID: 0}
- target: {fileID: 114711245158774928, guid: e13ee7e0790c7d243b7aa67fe604acac, type: 3}
propertyPath: advancedPanelOpen
value: 1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -152,10 +152,8 @@ public Vector2[] Get2DBoundingBoxCorners_Image(float scaleForCanvasUnityError =
Vector2 rawcoord;
rawcoord.x = bodyData.boundingBox2D[i].x * scaleForCanvasUnityError + cxoffset;
rawcoord.y = detectingZEDManager.zedCamera.ImageHeight - bodyData.boundingBox2D[i].y + cyoffset;

//Terrible hack to compensate for bug in Unity that scales the Canvas very improperly if you have certain (necessary) values on the projection matrix.
rawcoord.y = (rawcoord.y - (zedimageheight / 2f)) * scaleForCanvasUnityError + (zedimageheight / 2f);

flippedYimagecoords[i] = rawcoord;
}

return flippedYimagecoords;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,8 @@ public Vector2[] Get2DBoundingBoxCorners_Image(float scaleForCanvasUnityError =
Vector2 rawcoord;
rawcoord.x = objectData.boundingBox2D[i].x * scaleForCanvasUnityError + cxoffset;
rawcoord.y = detectingZEDManager.zedCamera.ImageHeight - objectData.boundingBox2D[i].y + cyoffset;

//Terrible hack to compensate for bug in Unity that scales the Canvas very improperly if you have certain (necessary) values on the projection matrix.
rawcoord.y = (rawcoord.y - (zedimageheight / 2f)) * scaleForCanvasUnityError + (zedimageheight / 2f);

flippedYimagecoords[i] = rawcoord;
}

return flippedYimagecoords;
Expand Down Expand Up @@ -318,6 +317,7 @@ public bool GetMaskTexture(out Texture2D masktex, bool fliponYaxis)
if (maskTexture == null)
{
IntPtr maskpointer = maskMat.GetPtr(sl.ZEDMat.MEM.MEM_CPU);

if (maskpointer != IntPtr.Zero)
{
maskTexture = ZEDMatToTexture_CPU(maskMat, false);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -374,8 +374,10 @@ public bool DetectPlaneAtHit(ZEDManager manager, Vector2 screenPos)
sl.ZEDCamera zedcam = manager.zedCamera;
Camera cam = manager.GetMainCamera();

sl.PlaneDetectionParameters planeParameters = new sl.PlaneDetectionParameters(manager.planeDetectionMaxDistanceThreshold, manager.planeDetectioNormalSimilarityThreshold);

ZEDPlaneGameObject.PlaneData plane = new ZEDPlaneGameObject.PlaneData();
if (zedcam.findPlaneAtHit(ref plane, screenPos) == sl.ERROR_CODE.SUCCESS) //We found a plane.
if (zedcam.findPlaneAtHit(ref plane, screenPos, ref planeParameters) == sl.ERROR_CODE.SUCCESS) //We found a plane.
{
int numVertices, numTriangles = 0;
zedcam.convertHitPlaneToMesh(planeMeshVertices, planeMeshTriangles, out numVertices, out numTriangles);
Expand Down
16 changes: 16 additions & 0 deletions ZEDCamera/Assets/ZED/SDK/Helpers/Scripts/ZEDManager.cs
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,21 @@ public enum shaderType
/////////////////////////////////////////////////////////////////////////
///////////////////////// Spatial Mapping ///////////////////////////////
/////////////////////////////////////////////////////////////////////////

/// <summary>
/// Controls the spread of plane by checking the position difference.
/// Default is 0.15 meters.
/// </summary>
[HideInInspector]
public float planeDetectionMaxDistanceThreshold = 0.15f;

/// <summary>
/// Controls the spread of plane by checking the angle difference.
/// Default is 15 degrees.
/// </summary>
[HideInInspector]
public float planeDetectioNormalSimilarityThreshold = 15.0f;

/// <summary>
/// Resolution setting for the scan. A higher resolution creates more submeshes and uses more memory, but is more accurate.
/// </summary>
Expand Down Expand Up @@ -3170,6 +3185,7 @@ private void RetrieveObjectDetectionFrame()
sl.Objects objsbuffer = new sl.Objects();

sl.ERROR_CODE res = zedCamera.RetrieveObjects(ref objectDetectionRuntimeParameters, ref objsbuffer, objectDetectionInstanceID);

if (res == sl.ERROR_CODE.SUCCESS && objsbuffer.isNew != 0)
{
if (objectDetection2DMask)
Expand Down
Loading

0 comments on commit 108effb

Please sign in to comment.