Files
SnapOtter/tests/fixtures/ocr-real/annotations/cord-v2-test-0080.json
T
SnapOtterandGitHub 991c981529 fix: make OCR portable and reliable across AMD64 and ARM64 (#519)
* fix: make OCR portable and reliable

* fix: harden OCR installation portability

* fix: pin OCR partials across downloads

* fix: make OCR execution reliably asynchronous

* fix: harden OCR portability and docs routes

* fix: preserve decoder and docs safeguards
2026-07-15 03:34:24 +08:00

399 lines
13 KiB
JSON

{
"exactGroundTruth": "1\nViet\nMilk\nCoffee\n25,000\n+Ice\n+M\nSubtotal\n25.000\nTotal\n25.000\nCASH\n25.000\nKembalian\n0",
"record": {
"ground_truth": {
"dontcare": [],
"gt_parse": {
"menu": {
"cnt": "1",
"nm": "Viet Milk Coffee",
"price": "25,000",
"sub": [
{
"nm": "+Ice"
},
{
"nm": "+M"
}
]
},
"sub_total": {
"subtotal_price": "25.000"
},
"total": {
"cashprice": "25.000",
"changeprice": "0",
"total_price": "25.000"
}
},
"meta": {
"image_id": 80,
"image_size": {
"height": 648,
"width": 432
},
"split": "test",
"version": "2.0.0"
},
"repeating_symbol": [
[
{
"quad": {
"x1": 61,
"x2": 387,
"x3": 391,
"x4": 62,
"y1": 316,
"y2": 301,
"y3": 315,
"y4": 330
},
"text": "-"
}
],
[
{
"quad": {
"x1": 63,
"x2": 396,
"x3": 397,
"x4": 65,
"y1": 407,
"y2": 393,
"y3": 406,
"y4": 423
},
"text": "-"
}
],
[
{
"quad": {
"x1": 64,
"x2": 401,
"x3": 402,
"x4": 68,
"y1": 464,
"y2": 448,
"y3": 462,
"y4": 478
},
"text": "-"
}
]
],
"roi": {
"x1": 48,
"x2": 405,
"x3": 412,
"x4": 48,
"y1": 59,
"y2": 24,
"y3": 559,
"y4": 558
},
"valid_line": [
{
"category": "menu.cnt",
"group_id": 3,
"sub_group_id": 0,
"words": [
{
"is_key": 0,
"quad": {
"x1": 65,
"x2": 75,
"x3": 76,
"x4": 65,
"y1": 350,
"y2": 351,
"y3": 369,
"y4": 367
},
"row_id": 1274853,
"text": "1"
}
]
},
{
"category": "menu.nm",
"group_id": 3,
"sub_group_id": 0,
"words": [
{
"is_key": 0,
"quad": {
"x1": 78,
"x2": 109,
"x3": 111,
"x4": 80,
"y1": 350,
"y2": 349,
"y3": 368,
"y4": 368
},
"row_id": 1274853,
"text": "Viet"
},
{
"is_key": 0,
"quad": {
"x1": 112,
"x2": 144,
"x3": 145,
"x4": 112,
"y1": 349,
"y2": 347,
"y3": 366,
"y4": 367
},
"row_id": 1274853,
"text": "Milk"
},
{
"is_key": 0,
"quad": {
"x1": 146,
"x2": 192,
"x3": 193,
"x4": 147,
"y1": 346,
"y2": 345,
"y3": 363,
"y4": 364
},
"row_id": 1274853,
"text": "Coffee"
}
]
},
{
"category": "menu.price",
"group_id": 3,
"sub_group_id": 0,
"words": [
{
"is_key": 0,
"quad": {
"x1": 339,
"x2": 383,
"x3": 385,
"x4": 340,
"y1": 337,
"y2": 334,
"y3": 353,
"y4": 355
},
"row_id": 1274853,
"text": "25,000"
}
]
},
{
"category": "menu.sub.nm",
"group_id": 3,
"sub_group_id": 0,
"words": [
{
"is_key": 0,
"quad": {
"x1": 73,
"x2": 105,
"x3": 105,
"x4": 73,
"y1": 369,
"y2": 369,
"y3": 387,
"y4": 387
},
"row_id": 1274854,
"text": "+Ice"
}
]
},
{
"category": "menu.sub.nm",
"group_id": 3,
"sub_group_id": 1,
"words": [
{
"is_key": 0,
"quad": {
"x1": 73,
"x2": 91,
"x3": 92,
"x4": 73,
"y1": 388,
"y2": 387,
"y3": 404,
"y4": 405
},
"row_id": 1274856,
"text": "+M"
}
]
},
{
"category": "sub_total.subtotal_price",
"group_id": 4,
"sub_group_id": 0,
"words": [
{
"is_key": 1,
"quad": {
"x1": 67,
"x2": 125,
"x3": 127,
"x4": 67,
"y1": 425,
"y2": 422,
"y3": 440,
"y4": 443
},
"row_id": 1274858,
"text": "Subtotal"
},
{
"is_key": 0,
"quad": {
"x1": 344,
"x2": 389,
"x3": 390,
"x4": 344,
"y1": 412,
"y2": 411,
"y3": 428,
"y4": 429
},
"row_id": 1274858,
"text": "25.000"
}
]
},
{
"category": "total.total_price",
"group_id": 5,
"sub_group_id": 0,
"words": [
{
"is_key": 1,
"quad": {
"x1": 68,
"x2": 104,
"x3": 106,
"x4": 69,
"y1": 443,
"y2": 442,
"y3": 459,
"y4": 460
},
"row_id": 1274861,
"text": "Total"
},
{
"is_key": 0,
"quad": {
"x1": 345,
"x2": 390,
"x3": 391,
"x4": 346,
"y1": 430,
"y2": 428,
"y3": 445,
"y4": 448
},
"row_id": 1274861,
"text": "25.000"
}
]
},
{
"category": "total.cashprice",
"group_id": 5,
"sub_group_id": 0,
"words": [
{
"is_key": 1,
"quad": {
"x1": 71,
"x2": 103,
"x3": 107,
"x4": 73,
"y1": 477,
"y2": 476,
"y3": 503,
"y4": 505
},
"row_id": 1274864,
"text": "CASH"
},
{
"is_key": 0,
"quad": {
"x1": 345,
"x2": 392,
"x3": 394,
"x4": 346,
"y1": 467,
"y2": 465,
"y3": 492,
"y4": 494
},
"row_id": 1274864,
"text": "25.000"
}
]
},
{
"category": "total.changeprice",
"group_id": 5,
"sub_group_id": 0,
"words": [
{
"is_key": 1,
"quad": {
"x1": 73,
"x2": 138,
"x3": 143,
"x4": 76,
"y1": 503,
"y2": 501,
"y3": 524,
"y4": 526
},
"row_id": 1274867,
"text": "Kembalian"
},
{
"is_key": 0,
"quad": {
"x1": 380,
"x2": 392,
"x3": 391,
"x4": 380,
"y1": 490,
"y2": 490,
"y3": 514,
"y4": 513
},
"row_id": 1274867,
"text": "0"
}
]
}
]
},
"image_path": null,
"raw_ground_truth": "{\"gt_parse\": {\"menu\": {\"nm\": \"Viet Milk Coffee\", \"cnt\": \"1\", \"price\": \"25,000\", \"sub\": [{\"nm\": \"+Ice\"}, {\"nm\": \"+M\"}]}, \"sub_total\": {\"subtotal_price\": \"25.000\"}, \"total\": {\"total_price\": \"25.000\", \"cashprice\": \"25.000\", \"changeprice\": \"0\"}}, \"meta\": {\"version\": \"2.0.0\", \"split\": \"test\", \"image_id\": 80, \"image_size\": {\"width\": 432, \"height\": 648}}, \"valid_line\": [{\"words\": [{\"quad\": {\"x2\": 75, \"y3\": 369, \"x3\": 76, \"y4\": 367, \"x1\": 65, \"y1\": 350, \"x4\": 65, \"y2\": 351}, \"is_key\": 0, \"row_id\": 1274853, \"text\": \"1\"}], \"category\": \"menu.cnt\", \"group_id\": 3, \"sub_group_id\": 0}, {\"words\": [{\"quad\": {\"x2\": 109, \"y3\": 368, \"x3\": 111, \"y4\": 368, \"x1\": 78, \"y1\": 350, \"x4\": 80, \"y2\": 349}, \"is_key\": 0, \"row_id\": 1274853, \"text\": \"Viet\"}, {\"quad\": {\"x2\": 144, \"y3\": 366, \"x3\": 145, \"y4\": 367, \"x1\": 112, \"y1\": 349, \"x4\": 112, \"y2\": 347}, \"is_key\": 0, \"row_id\": 1274853, \"text\": \"Milk\"}, {\"quad\": {\"x2\": 192, \"y3\": 363, \"x3\": 193, \"y4\": 364, \"x1\": 146, \"y1\": 346, \"x4\": 147, \"y2\": 345}, \"is_key\": 0, \"row_id\": 1274853, \"text\": \"Coffee\"}], \"category\": \"menu.nm\", \"group_id\": 3, \"sub_group_id\": 0}, {\"words\": [{\"quad\": {\"x2\": 383, \"y3\": 353, \"x3\": 385, \"y4\": 355, \"x1\": 339, \"y1\": 337, \"x4\": 340, \"y2\": 334}, \"is_key\": 0, \"row_id\": 1274853, \"text\": \"25,000\"}], \"category\": \"menu.price\", \"group_id\": 3, \"sub_group_id\": 0}, {\"words\": [{\"quad\": {\"x2\": 105, \"y3\": 387, \"x3\": 105, \"y4\": 387, \"x1\": 73, \"y1\": 369, \"x4\": 73, \"y2\": 369}, \"is_key\": 0, \"row_id\": 1274854, \"text\": \"+Ice\"}], \"category\": \"menu.sub.nm\", \"group_id\": 3, \"sub_group_id\": 0}, {\"words\": [{\"quad\": {\"x2\": 91, \"y3\": 404, \"x3\": 92, \"y4\": 405, \"x1\": 73, \"y1\": 388, \"x4\": 73, \"y2\": 387}, \"is_key\": 0, \"row_id\": 1274856, \"text\": \"+M\"}], \"category\": \"menu.sub.nm\", \"group_id\": 3, \"sub_group_id\": 1}, {\"words\": [{\"quad\": {\"x2\": 125, \"y3\": 440, \"x3\": 127, \"y4\": 443, \"x1\": 67, \"y1\": 425, \"x4\": 67, \"y2\": 422}, \"is_key\": 1, \"row_id\": 1274858, \"text\": \"Subtotal\"}, {\"quad\": {\"x2\": 389, \"y3\": 428, \"x3\": 390, \"y4\": 429, \"x1\": 344, \"y1\": 412, \"x4\": 344, \"y2\": 411}, \"is_key\": 0, \"row_id\": 1274858, \"text\": \"25.000\"}], \"category\": \"sub_total.subtotal_price\", \"group_id\": 4, \"sub_group_id\": 0}, {\"words\": [{\"quad\": {\"x2\": 104, \"y3\": 459, \"x3\": 106, \"y4\": 460, \"x1\": 68, \"y1\": 443, \"x4\": 69, \"y2\": 442}, \"is_key\": 1, \"row_id\": 1274861, \"text\": \"Total\"}, {\"quad\": {\"x2\": 390, \"y3\": 445, \"x3\": 391, \"y4\": 448, \"x1\": 345, \"y1\": 430, \"x4\": 346, \"y2\": 428}, \"is_key\": 0, \"row_id\": 1274861, \"text\": \"25.000\"}], \"category\": \"total.total_price\", \"group_id\": 5, \"sub_group_id\": 0}, {\"words\": [{\"quad\": {\"x2\": 103, \"y3\": 503, \"x3\": 107, \"y4\": 505, \"x1\": 71, \"y1\": 477, \"x4\": 73, \"y2\": 476}, \"is_key\": 1, \"row_id\": 1274864, \"text\": \"CASH\"}, {\"quad\": {\"x2\": 392, \"y3\": 492, \"x3\": 394, \"y4\": 494, \"x1\": 345, \"y1\": 467, \"x4\": 346, \"y2\": 465}, \"is_key\": 0, \"row_id\": 1274864, \"text\": \"25.000\"}], \"category\": \"total.cashprice\", \"group_id\": 5, \"sub_group_id\": 0}, {\"words\": [{\"quad\": {\"x2\": 138, \"y3\": 524, \"x3\": 143, \"y4\": 526, \"x1\": 73, \"y1\": 503, \"x4\": 76, \"y2\": 501}, \"is_key\": 1, \"row_id\": 1274867, \"text\": \"Kembalian\"}, {\"quad\": {\"x2\": 392, \"y3\": 514, \"x3\": 391, \"y4\": 513, \"x1\": 380, \"y1\": 490, \"x4\": 380, \"y2\": 490}, \"is_key\": 0, \"row_id\": 1274867, \"text\": \"0\"}], \"category\": \"total.changeprice\", \"group_id\": 5, \"sub_group_id\": 0}], \"roi\": {\"x2\": 405, \"y3\": 559, \"x3\": 412, \"y4\": 558, \"x1\": 48, \"y1\": 59, \"x4\": 48, \"y2\": 24}, \"repeating_symbol\": [[{\"quad\": {\"x2\": 387, \"y3\": 315, \"x3\": 391, \"y4\": 330, \"x1\": 61, \"y1\": 316, \"x4\": 62, \"y2\": 301}, \"text\": \"-\"}], [{\"quad\": {\"x2\": 396, \"y3\": 406, \"x3\": 397, \"y4\": 423, \"x1\": 63, \"y1\": 407, \"x4\": 65, \"y2\": 393}, \"text\": \"-\"}], [{\"quad\": {\"x2\": 401, \"y3\": 462, \"x3\": 402, \"y4\": 478, \"x1\": 64, \"y1\": 464, \"x4\": 68, \"y2\": 448}, \"text\": \"-\"}]], \"dontcare\": []}"
},
"source": {
"dataset": "naver-clova-ix/cord-v2",
"globalRowIndex": 80,
"repositoryRevision": "7f0115a4b758a71d6473b8d085751692da2fef98",
"rowGroup": 0,
"rowIndex": 80,
"split": "test",
"upstreamId": "80"
}
}