add model card
Browse files
README.md
CHANGED
@@ -1 +1,109 @@
|
|
1 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
tags:
|
3 |
+
- geospatial
|
4 |
+
- geobase
|
5 |
+
- object-detection
|
6 |
+
- oriented-object-detection
|
7 |
+
---
|
8 |
+
| <img src="https://upload.wikimedia.org/wikipedia/commons/6/6a/JavaScript-logo.png" width="28" height="28"> | [@geobase-js/geoai](https://www.npmjs.com/package/@geobase-js/geoai) |
|
9 |
+
|---|---|
|
10 |
+
|
11 |
+
> `task = oriented-object-detection`
|
12 |
+
|
13 |
+
### 🛠Model Purpose
|
14 |
+
This model is part of the **[@geobase-js/geoai](https://github.com/geobase-ai/geoai)** javascript library.
|
15 |
+
|
16 |
+
**GeoAi** enables geospatial AI inference **directly in the browser or Node.js** without requiring a heavy backend.
|
17 |
+
|
18 |
+
**GeoAi** pipeline accepts **geospatial polygons** as input (in GeoJSON format) and outputs results as a **GeoJSON FeatureCollection**, ready for use with libraries like **Leaflet** and **Mapbox GL**.
|
19 |
+
|
20 |
+
<video controls autoplay loop width="1024" height="720" src="https://geobase-docs.s3.amazonaws.com/geobase-ai-assets/oriented-object-detection.mp4"></video>
|
21 |
+
|
22 |
+
---
|
23 |
+
|
24 |
+
### 📦 Model Information
|
25 |
+
- **Architecture**: [GGHL](https://arxiv.org/pdf/2109.12848)
|
26 |
+
- **Source Model**: https://github.com/Shank2358/GGHL
|
27 |
+
- **Quantization**: Yes
|
28 |
+
---
|
29 |
+
|
30 |
+
### 💡 Example Usage
|
31 |
+
|
32 |
+
```javascript
|
33 |
+
import { geoai } from "@geobase-js/geoai";
|
34 |
+
|
35 |
+
export const ESRI_CONFIG = {
|
36 |
+
provider: "esri" as const,
|
37 |
+
serviceUrl: "https://server.arcgisonline.com/ArcGIS/rest/services",
|
38 |
+
serviceName: "World_Imagery",
|
39 |
+
tileSize: 256,
|
40 |
+
attribution: "ESRI World Imagery",
|
41 |
+
};
|
42 |
+
|
43 |
+
// Example polygon (GeoJSON)
|
44 |
+
const polygon = {
|
45 |
+
type: "Feature",
|
46 |
+
properties: {},
|
47 |
+
geometry: {
|
48 |
+
coordinates: [
|
49 |
+
[
|
50 |
+
[114.9750523641963, -3.4852698831433315],
|
51 |
+
[114.97650060618412, -3.4852559566003265],
|
52 |
+
[114.97644200679741, -3.487269732522151],
|
53 |
+
[114.97511654447737, -3.4871973146522492],
|
54 |
+
[114.9750523641963, -3.4852698831433315]
|
55 |
+
],
|
56 |
+
],
|
57 |
+
type: "Polygon",
|
58 |
+
},
|
59 |
+
} as GeoJSON.Feature;
|
60 |
+
|
61 |
+
// Initialize pipeline
|
62 |
+
const pipeline = await geoai.pipeline(
|
63 |
+
[{ task: "oriented-object-detection" }],
|
64 |
+
providerParams : ESRI_CONFIG
|
65 |
+
);
|
66 |
+
|
67 |
+
// Run detection
|
68 |
+
const result = await pipeline.inference({
|
69 |
+
inputs: { polygon }
|
70 |
+
});
|
71 |
+
|
72 |
+
// Sample output format
|
73 |
+
// {
|
74 |
+
// "detections": {
|
75 |
+
// "type": "FeatureCollection",
|
76 |
+
// "features": [
|
77 |
+
// {
|
78 |
+
// "type": "Feature",
|
79 |
+
// "properties": {
|
80 |
+
// "class_name": "bridge"
|
81 |
+
// "score": 0.6177883799306727
|
82 |
+
// },
|
83 |
+
// "geometry": {
|
84 |
+
// "type": "Polygon",
|
85 |
+
// "coordinates": [
|
86 |
+
// [
|
87 |
+
// [114.97610299609376, -3.4866272343749998],
|
88 |
+
// [114.97612444921876, -3.4866915],
|
89 |
+
// [114.97552912500001, -3.48678254296875],
|
90 |
+
// [114.97550767187501, -3.486712921875],
|
91 |
+
// [114.97610299609376, -3.4866272343749998]
|
92 |
+
// ]
|
93 |
+
// ]
|
94 |
+
// }
|
95 |
+
// },
|
96 |
+
// {"type": 'Feature', "properties": {…}, "geometry": {…}},
|
97 |
+
// {"type": 'Feature', "properties": {…}, "geometry": {…}},
|
98 |
+
// ]
|
99 |
+
// },
|
100 |
+
// "geoRawImage": GeoRawImage {data: Uint8ClampedArray(1048576), width: 512, height: 512, channels: 4, bounds: {…}, …}
|
101 |
+
// }
|
102 |
+
|
103 |
+
```
|
104 |
+
### 📖 Documentation & Demo
|
105 |
+
|
106 |
+
- GeoBase Docs: https://docs.geobase.app/geoai
|
107 |
+
- NPM Package: https://www.npmjs.com/package/@geobase-js/geoai
|
108 |
+
- Demo Playground: https://docs.geobase.app/geoai-live/tasks/oil-storage-tank-detection
|
109 |
+
- GitHub Repo: https://github.com/decision-labs/geobase-ai.js
|