Skip to content

Commit

Permalink
use tfjs-tiny-yolov2 codebase
Browse files Browse the repository at this point in the history
  • Loading branch information
justadudewhohacks committed Aug 27, 2018
1 parent b6baf8c commit 03ed259
Show file tree
Hide file tree
Showing 38 changed files with 130 additions and 615 deletions.
15 changes: 12 additions & 3 deletions package-lock.json

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

8 changes: 5 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
"scripts": {
"rollup-min": "rollup -c rollup.config.js --environment minify:true",
"rollup": "rollup -c rollup.config.js",
"build": "npm run rollup && npm run rollup-min && tsc",
"build-tsc": "tsc",
"build": "npm run rollup && npm run rollup-min && npm run build-tsc",
"test": "karma start"
},
"keywords": [
Expand All @@ -21,7 +22,8 @@
"license": "MIT",
"dependencies": {
"@tensorflow/tfjs-core": "^0.12.14",
"tfjs-image-recognition-base": "git+https://github.com/justadudewhohacks/tfjs-image-recognition-base.git"
"tfjs-image-recognition-base": "^0.0.0",
"tfjs-tiny-yolov2": "0.0.2"
},
"devDependencies": {
"@types/jasmine": "^2.8.8",
Expand All @@ -38,6 +40,6 @@
"rollup-plugin-typescript2": "^0.16.1",
"rollup-plugin-uglify": "^4.0.0",
"tslib": "^1.9.3",
"typescript": "^2.9.2"
"typescript": "2.8.4"
}
}
4 changes: 2 additions & 2 deletions src/allFacesFactory.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import { Point, Rect, TNetInput } from 'tfjs-image-recognition-base';
import { TinyYolov2Types } from 'tfjs-tiny-yolov2';

import { TinyYolov2 } from '.';
import { FaceDetection } from './classes/FaceDetection';
Expand All @@ -10,7 +11,6 @@ import { FaceLandmarkNet } from './faceLandmarkNet/FaceLandmarkNet';
import { FaceRecognitionNet } from './faceRecognitionNet/FaceRecognitionNet';
import { Mtcnn } from './mtcnn/Mtcnn';
import { MtcnnForwardParams } from './mtcnn/types';
import { TinyYolov2ForwardParams } from './tinyYolov2/types';

function computeDescriptorsFactory(
recognitionNet: FaceRecognitionNet
Expand Down Expand Up @@ -95,7 +95,7 @@ export function allFacesTinyYolov2Factory(
) {
return async function(
input: TNetInput,
forwardParams: TinyYolov2ForwardParams = {},
forwardParams: TinyYolov2Types.TinyYolov2ForwardParams = {},
useBatchProcessing: boolean = false
): Promise<FullFaceDescription[]> {
const detectFaces = (input: TNetInput) => tinyYolov2.locateFaces(input, forwardParams)
Expand Down
19 changes: 0 additions & 19 deletions src/commons/convLayer.ts

This file was deleted.

32 changes: 0 additions & 32 deletions src/commons/extractConvParamsFactory.ts

This file was deleted.

31 changes: 0 additions & 31 deletions src/commons/extractFCParamsFactory.ts

This file was deleted.

11 changes: 0 additions & 11 deletions src/commons/types.ts

This file was deleted.

2 changes: 1 addition & 1 deletion src/faceDetectionNet/boxPredictionLayer.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as tf from '@tensorflow/tfjs-core';
import { convLayer } from 'tfjs-tiny-yolov2';

import { convLayer } from '../commons/convLayer';
import { BoxPredictionParams } from './types';


Expand Down
2 changes: 1 addition & 1 deletion src/faceDetectionNet/extractParams.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as tf from '@tensorflow/tfjs-core';
import { extractWeightsFactory, ExtractWeightsFunction, ParamMapping } from 'tfjs-image-recognition-base';
import { ConvParams } from 'tfjs-tiny-yolov2';

import { ConvParams } from '../commons/types';
import { MobileNetV1, NetParams, PointwiseConvParams, PredictionLayerParams } from './types';

function extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {
Expand Down
2 changes: 1 addition & 1 deletion src/faceDetectionNet/loadQuantizedParams.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import {
loadWeightMap,
ParamMapping,
} from 'tfjs-image-recognition-base';
import { ConvParams } from 'tfjs-tiny-yolov2';

import { ConvParams } from '../commons/types';
import { BoxPredictionParams, MobileNetV1, NetParams, PointwiseConvParams, PredictionLayerParams } from './types';

const DEFAULT_MODEL_NAME = 'ssd_mobilenetv1_model'
Expand Down
3 changes: 1 addition & 2 deletions src/faceDetectionNet/types.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import * as tf from '@tensorflow/tfjs-core';

import { ConvParams } from '../commons/types';
import { ConvParams } from 'tfjs-tiny-yolov2';

export type PointwiseConvParams = {
filters: tf.Tensor4D
Expand Down
3 changes: 1 addition & 2 deletions src/faceLandmarkNet/FaceLandmarkNet.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
import * as tf from '@tensorflow/tfjs-core';
import { isEven, NetInput, NeuralNetwork, Point, TNetInput, toNetInput } from 'tfjs-image-recognition-base';
import { convLayer, ConvParams } from 'tfjs-tiny-yolov2';

import { FaceLandmarks68 } from '../classes/FaceLandmarks68';
import { convLayer } from '../commons/convLayer';
import { ConvParams } from '../commons/types';
import { extractParams } from './extractParams';
import { fullyConnectedLayer } from './fullyConnectedLayer';
import { loadQuantizedParams } from './loadQuantizedParams';
Expand Down
3 changes: 1 addition & 2 deletions src/faceLandmarkNet/extractParams.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { extractWeightsFactory, ParamMapping } from 'tfjs-image-recognition-base';
import { extractConvParamsFactory, extractFCParamsFactory } from 'tfjs-tiny-yolov2';

import { extractConvParamsFactory } from '../commons/extractConvParamsFactory';
import { extractFCParamsFactory } from '../commons/extractFCParamsFactory';
import { NetParams } from './types';

export function extractParams(weights: Float32Array): { params: NetParams, paramMappings: ParamMapping[] } {
Expand Down
3 changes: 1 addition & 2 deletions src/faceLandmarkNet/fullyConnectedLayer.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import * as tf from '@tensorflow/tfjs-core';

import { FCParams } from '../commons/types';
import { FCParams } from 'tfjs-tiny-yolov2';

export function fullyConnectedLayer(
x: tf.Tensor2D,
Expand Down
2 changes: 1 addition & 1 deletion src/faceLandmarkNet/loadQuantizedParams.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import {
loadWeightMap,
ParamMapping,
} from 'tfjs-image-recognition-base';
import { ConvParams, FCParams } from 'tfjs-tiny-yolov2';

import { ConvParams, FCParams } from '../commons/types';
import { NetParams } from './types';

const DEFAULT_MODEL_NAME = 'face_landmark_68_model'
Expand Down
2 changes: 1 addition & 1 deletion src/faceLandmarkNet/types.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ConvParams, FCParams } from '../commons/types';
import { ConvParams, FCParams } from 'tfjs-tiny-yolov2';

export type NetParams = {
conv0: ConvParams
Expand Down
2 changes: 1 addition & 1 deletion src/faceRecognitionNet/extractParams.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as tf from '@tensorflow/tfjs-core';
import { extractWeightsFactory, ExtractWeightsFunction, isFloat, ParamMapping } from 'tfjs-image-recognition-base';
import { ConvParams } from 'tfjs-tiny-yolov2';

import { ConvParams } from '../commons/types';
import { ConvLayerParams, NetParams, ResidualLayerParams, ScaleLayerParams } from './types';

function extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {
Expand Down
3 changes: 1 addition & 2 deletions src/faceRecognitionNet/types.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import * as tf from '@tensorflow/tfjs-core';

import { ConvParams } from '../commons/types';
import { ConvParams } from 'tfjs-tiny-yolov2';

export type ScaleLayerParams = {
weights: tf.Tensor1D
Expand Down
6 changes: 3 additions & 3 deletions src/globalApi.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import * as tf from '@tensorflow/tfjs-core';
import { NetInput, TNetInput } from 'tfjs-image-recognition-base';
import { TinyYolov2Types } from 'tfjs-tiny-yolov2';

import { allFacesMtcnnFactory, allFacesSsdMobilenetv1Factory, allFacesTinyYolov2Factory } from './allFacesFactory';
import { FaceDetection } from './classes/FaceDetection';
Expand All @@ -11,7 +12,6 @@ import { FaceRecognitionNet } from './faceRecognitionNet/FaceRecognitionNet';
import { Mtcnn } from './mtcnn/Mtcnn';
import { MtcnnForwardParams, MtcnnResult } from './mtcnn/types';
import { TinyYolov2 } from './tinyYolov2/TinyYolov2';
import { TinyYolov2ForwardParams } from './tinyYolov2/types';

export const detectionNet = new FaceDetectionNet()
export const landmarkNet = new FaceLandmarkNet()
Expand Down Expand Up @@ -90,7 +90,7 @@ export function mtcnn(

export function tinyYolov2(
input: TNetInput,
forwardParams: TinyYolov2ForwardParams
forwardParams: TinyYolov2Types.TinyYolov2ForwardParams
): Promise<FaceDetection[]> {
return nets.tinyYolov2.locateFaces(input, forwardParams)
}
Expand All @@ -109,7 +109,7 @@ export const allFacesSsdMobilenetv1: allFacesSsdMobilenetv1Function = allFacesSs

export type allFacesTinyYolov2Function = (
input: tf.Tensor | NetInput | TNetInput,
forwardParams?: TinyYolov2ForwardParams,
forwardParams?: TinyYolov2Types.TinyYolov2ForwardParams,
useBatchProcessing?: boolean
) => Promise<FullFaceDescription[]>

Expand Down
2 changes: 1 addition & 1 deletion src/mtcnn/ONet.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as tf from '@tensorflow/tfjs-core';
import { convLayer } from 'tfjs-tiny-yolov2';

import { convLayer } from '../commons/convLayer';
import { fullyConnectedLayer } from '../faceLandmarkNet/fullyConnectedLayer';
import { prelu } from './prelu';
import { sharedLayer } from './sharedLayers';
Expand Down
2 changes: 1 addition & 1 deletion src/mtcnn/PNet.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as tf from '@tensorflow/tfjs-core';
import { convLayer } from 'tfjs-tiny-yolov2';

import { convLayer } from '../commons/convLayer';
import { sharedLayer } from './sharedLayers';
import { PNetParams } from './types';

Expand Down
3 changes: 1 addition & 2 deletions src/mtcnn/extractParams.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import * as tf from '@tensorflow/tfjs-core';
import { extractWeightsFactory, ExtractWeightsFunction, ParamMapping } from 'tfjs-image-recognition-base';
import { extractConvParamsFactory, extractFCParamsFactory } from 'tfjs-tiny-yolov2';

import { extractConvParamsFactory } from '../commons/extractConvParamsFactory';
import { extractFCParamsFactory } from '../commons/extractFCParamsFactory';
import { NetParams, ONetParams, PNetParams, RNetParams, SharedParams } from './types';

function extractorsFactory(extractWeights: ExtractWeightsFunction, paramMappings: ParamMapping[]) {
Expand Down
2 changes: 1 addition & 1 deletion src/mtcnn/loadQuantizedParams.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import {
loadWeightMap,
ParamMapping,
} from 'tfjs-image-recognition-base';
import { ConvParams, FCParams } from 'tfjs-tiny-yolov2';

import { ConvParams, FCParams } from '../commons/types';
import { NetParams, ONetParams, PNetParams, RNetParams, SharedParams } from './types';

const DEFAULT_MODEL_NAME = 'mtcnn_model'
Expand Down
2 changes: 1 addition & 1 deletion src/mtcnn/sharedLayers.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as tf from '@tensorflow/tfjs-core';
import { convLayer } from 'tfjs-tiny-yolov2';

import { convLayer } from '../commons/convLayer';
import { prelu } from './prelu';
import { SharedParams } from './types';

Expand Down
2 changes: 1 addition & 1 deletion src/mtcnn/types.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import * as tf from '@tensorflow/tfjs-core';
import { ConvParams, FCParams } from 'tfjs-tiny-yolov2';

import { FaceDetection } from '../classes/FaceDetection';
import { FaceLandmarks5 } from '../classes/FaceLandmarks5';
import { ConvParams, FCParams } from '../commons/types';

export type SharedParams = {
conv1: ConvParams
Expand Down
Loading

0 comments on commit 03ed259

Please sign in to comment.