Compare commits

..

2 Commits

Author SHA1 Message Date
Koushik Dutta
645de2e5fd predict: improve input aspect ratio match fast path 2023-04-07 10:17:05 -07:00
Koushik Dutta
dcf24a77d7 postrelease 2023-04-07 08:30:27 -07:00
9 changed files with 28 additions and 26 deletions

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/coreml",
"version": "0.1.8",
"version": "0.1.9",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/coreml",
"version": "0.1.8",
"version": "0.1.9",
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
}

View File

@@ -41,5 +41,5 @@
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
},
"version": "0.1.8"
"version": "0.1.9"
}

View File

@@ -1,16 +1,16 @@
{
// docker installation
// "scrypted.debugHost": "koushik-windows",
// "scrypted.serverRoot": "/server",
"scrypted.debugHost": "koushik-ubuntu",
"scrypted.serverRoot": "/server",
// pi local installation
// "scrypted.debugHost": "192.168.2.119",
// "scrypted.serverRoot": "/home/pi/.scrypted",
// local checkout
"scrypted.debugHost": "127.0.0.1",
"scrypted.serverRoot": "/Users/koush/.scrypted",
// "scrypted.debugHost": "127.0.0.1",
// "scrypted.serverRoot": "/Users/koush/.scrypted",
// "scrypted.debugHost": "koushik-windows",
// "scrypted.serverRoot": "C:\\Users\\koush\\.scrypted",

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/tensorflow-lite",
"version": "0.1.8",
"version": "0.1.9",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/tensorflow-lite",
"version": "0.1.8",
"version": "0.1.9",
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
}

View File

@@ -44,5 +44,5 @@
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
},
"version": "0.1.8"
"version": "0.1.9"
}

View File

@@ -47,13 +47,6 @@ def parse_label_contents(contents: str):
ret[row_number] = content.strip()
return ret
class RawImage:
jpegMediaObject: scrypted_sdk.MediaObject
def __init__(self, image: Image.Image):
self.image = image
self.jpegMediaObject = None
def is_same_box(bb1, bb2, threshold = .7):
r1 = from_bounding_box(bb1)
r2 = from_bounding_box(bb2)
@@ -146,10 +139,6 @@ class PredictPlugin(DetectPlugin, scrypted_sdk.BufferConverter, scrypted_sdk.Set
def getTriggerClasses(self) -> list[str]:
return ['motion']
async def createMedia(self, data: RawImage) -> scrypted_sdk.MediaObject:
mo = await scrypted_sdk.mediaManager.createMediaObject(data, self.fromMimeType)
return mo
def requestRestart(self):
asyncio.ensure_future(scrypted_sdk.deviceManager.requestRestart())
@@ -226,15 +215,28 @@ class PredictPlugin(DetectPlugin, scrypted_sdk.BufferConverter, scrypted_sdk.Set
settings = detection_session and detection_session.get('settings')
src_size = videoFrame.width, videoFrame.height
w, h = self.get_input_size()
input_aspect_ratio = w / h
iw, ih = src_size
src_aspect_ratio = iw / ih
ws = w / iw
hs = h / ih
s = max(ws, hs)
if ws == 1 and hs == 1:
# image is already correct aspect ratio, so it can be processed in a single pass.
if input_aspect_ratio == src_aspect_ratio:
def cvss(point):
return point[0], point[1]
# aspect ratio matches, but image must be scaled.
resize = None
if ih != w:
resize = {
'width': w,
'height': h,
}
data = await videoFrame.toBuffer({
'resize': resize,
'format': videoFrame.format or 'rgb',
})
image = await ensureRGBData(data, (w, h), videoFrame.format)

View File

@@ -1,12 +1,12 @@
{
"name": "@scrypted/tensorflow-lite",
"version": "0.1.8",
"version": "0.1.9",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "@scrypted/tensorflow-lite",
"version": "0.1.8",
"version": "0.1.9",
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
}

View File

@@ -41,5 +41,5 @@
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
},
"version": "0.1.8"
"version": "0.1.9"
}

View File

@@ -1,6 +1,6 @@
{
"name": "@scrypted/server",
"version": "0.7.51",
"version": "0.7.52",
"description": "",
"dependencies": {
"@mapbox/node-pre-gyp": "^1.0.10",