Skip to content

Commit

Permalink
predict: improve input aspect ratio match fast path
Browse files Browse the repository at this point in the history
  • Loading branch information
koush committed Apr 7, 2023
1 parent dcf24a7 commit 645de2e
Show file tree
Hide file tree
Showing 8 changed files with 27 additions and 25 deletions.
4 changes: 2 additions & 2 deletions plugins/coreml/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion plugins/coreml/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,5 @@
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
},
"version": "0.1.8"
"version": "0.1.9"
}
8 changes: 4 additions & 4 deletions plugins/tensorflow-lite/.vscode/settings.json
Original file line number Diff line number Diff line change
@@ -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",

Expand Down
4 changes: 2 additions & 2 deletions plugins/tensorflow-lite/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion plugins/tensorflow-lite/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,5 +44,5 @@
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
},
"version": "0.1.8"
"version": "0.1.9"
}
26 changes: 14 additions & 12 deletions plugins/tensorflow-lite/src/predict/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -146,10 +139,6 @@ def getClasses(self) -> list[str]:
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())

Expand Down Expand Up @@ -226,15 +215,28 @@ async def run_detection_videoframe(self, videoFrame: scrypted_sdk.VideoFrame, de
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)
Expand Down
4 changes: 2 additions & 2 deletions plugins/tensorflow/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion plugins/tensorflow/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,5 @@
"devDependencies": {
"@scrypted/sdk": "file:../../sdk"
},
"version": "0.1.8"
"version": "0.1.9"
}

0 comments on commit 645de2e

Please sign in to comment.