{"id":2347,"date":"2026-08-31T02:20:41","date_gmt":"2026-08-31T02:20:41","guid":{"rendered":"https:\/\/scanabull.com\/?p=2347"},"modified":"2026-09-02T19:24:35","modified_gmt":"2026-09-02T19:24:35","slug":"scanabull-tech","status":"publish","type":"post","link":"https:\/\/scanabull.com\/index.php\/2026\/08\/31\/scanabull-tech\/","title":{"rendered":"Scanabull Tech"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The Scanabull weigh app uses 3D imagery to infer an image from an iPhone Pro. But an iPhone Pro doesn&#8217;t actually give you a true 3D image. In order to pack a LiDAR camera into such a small space, the iPhone actually interpolates most of its points from 50 true LiDAR points, and uses Apple ML to guess the position of the rest taking advantage of colour, previous point position and neighbouring points. So what does an iPhone image look like?<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"520\" height=\"350\" src=\"https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-3.png\" alt=\"\" class=\"wp-image-2353\" srcset=\"https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-3.png 520w, https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-3-300x202.png 300w\" sizes=\"(max-width: 520px) 100vw, 520px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Here&#8217;s an example. The image shown is segmented from an iPhone point cloud. In order to get a weight from this image, we don&#8217;t stop at a single image. We take many images:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"394\" src=\"https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-4-1024x394.png\" alt=\"\" class=\"wp-image-2354\" srcset=\"https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-4-1024x394.png 1024w, https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-4-300x115.png 300w, https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-4-766x295.png 766w, https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-4.png 1343w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">And together, the images with the help of an algorithm tell as the animal weight. Note the red dots &#8211; these are rejected images. The iPhone pumps out the occasional bit of rubbish, like the image below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"561\" height=\"410\" src=\"https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-5.png\" alt=\"\" class=\"wp-image-2356\" srcset=\"https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-5.png 561w, https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-5-300x219.png 300w\" sizes=\"(max-width: 561px) 100vw, 561px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We identify these, and remove them from the prediction.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In order to create models that work on a vast range of cattle and weight ranges, we have people going daily on to farms who gather data, and validate how our models are doing. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For example:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"927\" height=\"565\" src=\"https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-6.png\" alt=\"\" class=\"wp-image-2358\" srcset=\"https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-6.png 927w, https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-6-300x183.png 300w, https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-6-768x468.png 768w\" sizes=\"(max-width: 927px) 100vw, 927px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This graph shows scale weights (x axis) vs predicted weight (y axis) for cattle that our system has not seen before. Each dot represents an individual animal that has been weighed on farm. In this case we use the Scanabull weigh app to measure the cattle immediately after they exit the cattle crush. In this dataset, from a particular farm, and on September 2, although the mean individual accuracy compared to scale weights is 94.3%, the predicted average for the mob is 97.1% compared to the average for the mob using scale weights. This gives us a reasonable estimate for how the mob is doing. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And here are the mob predictions for September 2026 (so far), ranging from 97% to 99% accurate when compared to scale weights. Each dot represents the mean accuracy of a mob of cattle, as compared to scale weights:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"921\" height=\"451\" src=\"https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-7.png\" alt=\"\" class=\"wp-image-2360\" srcset=\"https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-7.png 921w, https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-7-300x147.png 300w, https:\/\/scanabull.com\/wp-content\/uploads\/2026\/08\/image-7-768x376.png 768w\" sizes=\"(max-width: 921px) 100vw, 921px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;re not there yet, as we get a few outlier individuals each time we go on farm and validate our system, as seen in the graph above. We also get occasional outlier mobs i.e. everything is off &#8211; maybe this is some data the system hasn&#8217;t seen before. Going forward, we aim to be 96% accurate on individual cattle (on average), and 98% accurate for the mob, and eliminate as many of these outliers as possible.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Scanabull weigh app uses 3D imagery to infer an image from an iPhone Pro. But an iPhone Pro doesn&#8217;t [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[12],"tags":[],"class_list":["post-2347","post","type-post","status-publish","format-standard","hentry","category-blog"],"_links":{"self":[{"href":"https:\/\/scanabull.com\/index.php\/wp-json\/wp\/v2\/posts\/2347","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scanabull.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scanabull.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scanabull.com\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/scanabull.com\/index.php\/wp-json\/wp\/v2\/comments?post=2347"}],"version-history":[{"count":11,"href":"https:\/\/scanabull.com\/index.php\/wp-json\/wp\/v2\/posts\/2347\/revisions"}],"predecessor-version":[{"id":2366,"href":"https:\/\/scanabull.com\/index.php\/wp-json\/wp\/v2\/posts\/2347\/revisions\/2366"}],"wp:attachment":[{"href":"https:\/\/scanabull.com\/index.php\/wp-json\/wp\/v2\/media?parent=2347"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scanabull.com\/index.php\/wp-json\/wp\/v2\/categories?post=2347"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scanabull.com\/index.php\/wp-json\/wp\/v2\/tags?post=2347"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}