Skip to content
Merged
Show file tree
Hide file tree
Changes from 70 commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
0b86fd1
fix: correct frame data extraction
NorbertKlockiewicz Feb 11, 2026
40c314c
feat: unify frame extraction and preprocessing
NorbertKlockiewicz Feb 16, 2026
797c87c
feat: remove unused bindJSIMethods
NorbertKlockiewicz Feb 16, 2026
3002531
feat: initial version of vision model API
NorbertKlockiewicz Feb 17, 2026
cee17f7
refactor: errors, logs, unnecessary comments, use existing TensorPtr
NorbertKlockiewicz Feb 17, 2026
b0e61f3
feat: use TensorPtrish type for Pixel data input
NorbertKlockiewicz Feb 18, 2026
4beb708
refactor: add or remove empty lines
NorbertKlockiewicz Feb 18, 2026
899959d
fix: errors after rebase
NorbertKlockiewicz Feb 19, 2026
5b01a96
refactor: changes suggested in review
NorbertKlockiewicz Feb 23, 2026
1368255
fix: not existing error type, add comments to JSI code
NorbertKlockiewicz Feb 23, 2026
ee76a44
feat: add tests for generateFromPixels method
NorbertKlockiewicz Feb 23, 2026
f369b9a
feat: add example screen with vision camera to computer vision app
NorbertKlockiewicz Feb 23, 2026
9abdb7b
feat: suggested changes / improve comments
NorbertKlockiewicz Feb 24, 2026
c27d745
fix(android): object detection not working on android
NorbertKlockiewicz Feb 25, 2026
c1941d1
chore: remove unused ImageSegmentation.cpp
NorbertKlockiewicz Feb 25, 2026
23404e7
docs: add correct api references
NorbertKlockiewicz Feb 25, 2026
ec901f6
feat: frame extractor for zero-copy approach
NorbertKlockiewicz Feb 12, 2026
ff4bcb3
feat: unify frame extraction and preprocessing
NorbertKlockiewicz Feb 16, 2026
ffb8ae0
feat: initial version of vision model API
NorbertKlockiewicz Feb 17, 2026
9936b89
refactor: errors, logs, unnecessary comments, use existing TensorPtr
NorbertKlockiewicz Feb 17, 2026
d0be5fc
refactor: add or remove empty lines
NorbertKlockiewicz Feb 18, 2026
ccd8ff0
fix: errors after rebase
NorbertKlockiewicz Feb 19, 2026
1699ae5
feat: suggested changes / improve comments
NorbertKlockiewicz Feb 24, 2026
f556ac0
feat: make all cv models compatible with Vision Camera
NorbertKlockiewicz Feb 25, 2026
a2fb206
fix: rebase things
NorbertKlockiewicz Feb 25, 2026
13a46e1
chore: remove comment
NorbertKlockiewicz Feb 25, 2026
7bcc115
feat: add dedicated vision camera screen showcasing classification/se…
NorbertKlockiewicz Feb 26, 2026
4643ce0
fix: drawing style transfer image
NorbertKlockiewicz Feb 26, 2026
82fce8e
fix: tests
NorbertKlockiewicz Feb 26, 2026
6d04387
feat: add possibility to switch between front/back camera
NorbertKlockiewicz Feb 26, 2026
ca22fa0
fix: rotation issue
NorbertKlockiewicz Feb 26, 2026
c2285c8
fix: issues after rebase
NorbertKlockiewicz Mar 11, 2026
2a68792
refactor: apply code review fixes for vision camera integration
NorbertKlockiewicz Mar 11, 2026
159f24d
feat: some improvements
NorbertKlockiewicz Mar 11, 2026
8317400
fix: rebase conflict
NorbertKlockiewicz Mar 11, 2026
db50330
chore: completely remove api reference
NorbertKlockiewicz Mar 11, 2026
57e2379
chore: image_segmentation -> semantic_segmentation - namespace
NorbertKlockiewicz Mar 11, 2026
7364d49
feat: cache getInputShape result across inferences
NorbertKlockiewicz Mar 11, 2026
55a98ad
reafactor: small fixes
NorbertKlockiewicz Mar 11, 2026
2d19b6d
feat: seperate functions for pixelData/Frame -> Mat conversion
NorbertKlockiewicz Mar 12, 2026
978f9e7
refactor: unify the contract the visionModels follow
NorbertKlockiewicz Mar 12, 2026
87faec7
feat: remove BaseLabeldModule and use VisionLabeledModule
NorbertKlockiewicz Mar 12, 2026
cd3c946
feat: useModuleFactory handles runOnFrame, update stale comments
NorbertKlockiewicz Mar 12, 2026
6bc907c
feat: style transfer returns raw pixels or uri
NorbertKlockiewicz Mar 12, 2026
61c493c
refactor: things catched in review
NorbertKlockiewicz Mar 12, 2026
a7cb758
fix: small adjustments to style transfer
NorbertKlockiewicz Mar 12, 2026
c65d610
tests: vision models
NorbertKlockiewicz Mar 12, 2026
c18ebad
docs: update documentation
NorbertKlockiewicz Mar 12, 2026
5c50292
docs: update docs link
NorbertKlockiewicz Mar 12, 2026
35411bf
chore: tests, docs, comments etc.
NorbertKlockiewicz Mar 13, 2026
35b722b
docs: update vision camera docs page
NorbertKlockiewicz Mar 13, 2026
43b1295
refactor: unused include
NorbertKlockiewicz Mar 13, 2026
312b45a
refactor: extract vision camera color utils
NorbertKlockiewicz Mar 13, 2026
035dbab
refactor: add ClassificationTask component
NorbertKlockiewicz Mar 13, 2026
c68d909
refactor: add ObjectDetectionTask component
NorbertKlockiewicz Mar 13, 2026
1267ec4
refactor: add SegmentationTask component
NorbertKlockiewicz Mar 13, 2026
eb8cccf
refactor: simplify vision camera screen to shell + task components
NorbertKlockiewicz Mar 13, 2026
baff8f5
refactor: remove comments
NorbertKlockiewicz Mar 13, 2026
8e55c12
fix: after rebase
NorbertKlockiewicz Mar 13, 2026
61eaf79
refactor: batch 1 suggestions
NorbertKlockiewicz Mar 13, 2026
090e95b
tests: apply merging suggestsions
NorbertKlockiewicz Mar 13, 2026
3a5f564
fix: move the vision camera components so they are not treated as par…
NorbertKlockiewicz Mar 13, 2026
ac75541
fix: style transfer crashes app, rename `output` -> `outputType`
NorbertKlockiewicz Mar 16, 2026
c075d8b
reafactor: use ScalarType enum instead of magic number in jsi convers…
NorbertKlockiewicz Mar 16, 2026
33721b4
docs: remove a comment about vision camera integration
NorbertKlockiewicz Mar 16, 2026
81b490a
chore: use camelCase ids for model in vision camera demo
NorbertKlockiewicz Mar 16, 2026
648a045
Update packages/react-native-executorch/common/rnexecutorch/utils/Fra…
NorbertKlockiewicz Mar 16, 2026
0a0c664
feat: requested changes
NorbertKlockiewicz Mar 16, 2026
c5bf1fd
tests: create typed tests for vision models concurrent generates
NorbertKlockiewicz Mar 16, 2026
836c7a2
refactor: follow declaration order in VisionModel class
NorbertKlockiewicz Mar 16, 2026
3ea1a50
fix: replace magic number 4 with channels field in PixelDataResult
NorbertKlockiewicz Mar 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions apps/computer-vision/app/_layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,15 @@ export default function _layout() {
headerTitleStyle: { color: ColorPalette.primary },
}}
>
<Drawer.Screen
name="vision_camera/index"
options={{
drawerLabel: 'Vision Camera',
title: 'Vision Camera',
headerShown: false,
headerTitleStyle: { color: ColorPalette.primary },
}}
/>
<Drawer.Screen
name="classification/index"
options={{
Expand All @@ -83,14 +92,6 @@ export default function _layout() {
headerTitleStyle: { color: ColorPalette.primary },
}}
/>
<Drawer.Screen
name="object_detection_live/index"
options={{
drawerLabel: 'Object Detection (Live)',
title: 'Object Detection (Live)',
headerTitleStyle: { color: ColorPalette.primary },
}}
/>
<Drawer.Screen
name="ocr/index"
options={{
Expand Down
12 changes: 6 additions & 6 deletions apps/computer-vision/app/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ export default function Home() {
<ExecutorchLogo width={64} height={64} />
<Text style={styles.headerText}>Select a demo model</Text>
<View style={styles.buttonContainer}>
<TouchableOpacity
style={styles.button}
onPress={() => router.navigate('vision_camera/')}
>
<Text style={styles.buttonText}>Vision Camera</Text>
</TouchableOpacity>
<TouchableOpacity
style={styles.button}
onPress={() => router.navigate('classification/')}
Expand All @@ -29,12 +35,6 @@ export default function Home() {
>
<Text style={styles.buttonText}>Object Detection</Text>
</TouchableOpacity>
<TouchableOpacity
style={styles.button}
onPress={() => router.navigate('object_detection_live/')}
>
<Text style={styles.buttonText}>Object Detection Live</Text>
</TouchableOpacity>
<TouchableOpacity
style={styles.button}
onPress={() => router.navigate('ocr/')}
Expand Down
222 changes: 0 additions & 222 deletions apps/computer-vision/app/object_detection_live/index.tsx

This file was deleted.

18 changes: 12 additions & 6 deletions apps/computer-vision/app/style_transfer/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,20 +16,24 @@ export default function StyleTransferScreen() {
useEffect(() => {
setGlobalGenerating(model.isGenerating);
}, [model.isGenerating, setGlobalGenerating]);

const [imageUri, setImageUri] = useState('');
const [styledUri, setStyledUri] = useState('');

const handleCameraPress = async (isCamera: boolean) => {
const image = await getImage(isCamera);
const uri = image?.uri;
if (typeof uri === 'string') {
setImageUri(uri as string);
setImageUri(uri);
setStyledUri('');
}
};

const runForward = async () => {
if (imageUri) {
try {
const output = await model.forward(imageUri);
setImageUri(output);
const uri = await model.forward(imageUri, 'url');
setStyledUri(uri);
} catch (e) {
console.error(e);
}
Expand All @@ -52,9 +56,11 @@ export default function StyleTransferScreen() {
style={styles.image}
resizeMode="contain"
source={
imageUri
? { uri: imageUri }
: require('../../assets/icons/executorch_logo.png')
styledUri
? { uri: styledUri }
: imageUri
? { uri: imageUri }
: require('../../assets/icons/executorch_logo.png')
}
/>
</View>
Expand Down
Loading
Loading